Skip to content
Stephen Balogh edited this page May 16, 2018 · 4 revisions

GeoBlacklight deployment Wiki

Current status

This repo contains the production code for NYU's Spatial Data Repository instance of GeoBlacklight 0.12.1.

Prior to this repo, changes were being tracked (here).


Notable changes to core GeoBlacklight application

WMS rewriting to accomodate EZproxy-routed traffic

Exemplified here. This checks to see if user is logged in via NYU, and if the layer being requested is set to Restricted; when these conditions are met, the WMS endpoint URL for that layer is swapped with the EZproxy version of the URL. To accommodate EZproxy load balancing, login?url= is used, which will redirect to the port allocated at any particular moment for traffic from GeoServer. Note that EZproxy is routing HTTPS traffic from maps-restricted, but that the initial login url for EZproxy uses HTTP; this may cause your browser to complain on the first record loaded, but after the EZproxy connection is made, all traffic should flow via HTTPS.

As an example of how the rewriting works, consider a record for an NYU item that has "dc_rights_s":"Restricted"

  • The WMS endpoint specified in the dct_references_s object of the original record is: https://maps-restricted.geo.nyu.edu/geoserver/sdr/wms
  • If someone is logged in such that GeoBlacklight recognizes that they are from NYU, this URL will be replaced with: https://ezproxy.library.nyu.edu/login?url=https://maps-restricted.geo.nyu.edu/geoserver/sdr/wms?
  • This URL rewriting has to occur in a way that does not affect the XHR request made by the map feature-inspection tool, since that request is sent by the Rails server itself (and not from the user's browser); because the Rails server will not have an EZproxy session, it needs to send traffic to the unaltered URL (accordingly, we use this code to essentially go back to the original URL for the WMS feature inspector)
UHD / "Retina" display support in Leaflet
  • This has now been pushed into GeoBlacklight master. See here.
IIIF generated JPG download support
  • This has now been pushed into GeoBlacklight master. See here.
Bux fix for CartoDB One-Click API
  • This has now been pushed into GeoBlacklight master. See here.
NYU branding and language changes

All of this is done by hand so far. SCSS variables, images, stylesheet modifications can all be found in the repo.

Addition of 'local constants' to refer to references

The core GeoBlacklight application contains a hash table of URI constants that allow record references to be used. Since we wanted to expand the functionality of GeoBlacklight for a couple of our use-cases, I added in an initializer that merges local URI key/value pairs (specified in the Settings yaml) into the above URI hash table. This powers the ability to directly link to a codebook or piece of documentation, as well as to do some simple item relation modeling.