EPRINTS GEOGRAPHIC LOCATION PLUGIN ------------------------------------ Authors: Simon Jennings (London School of Hygiene & Tropical Medicine) and Rory McNicholl (University of London Computer Centre/Cosector) FILES: The files for the maps plugin are part of the mapsRecollect epm submodule therefore all paths are relative to lib/epm/mapsRecollect of the eprints root directory * 99_locations_maps.js (cfg/static/javascript/auto/99_location_maps.js) * map.css (cfg/static/style/auto/maps.css) * maps.xml (cfg/lang/en/phrases/maps.xml) * mapView.pl (cgi/mapView.pl) * maps.pl (cfg/cfg.d/z_maps.pl) * map_surround.pm (cfg/plugins/EPrints/Plugin/Screen/Surround/map_surround.pm) DESCRIPTION: Submodule code is available from GitHub, http://github.com/spjenni/mapsRecollect. The location plugin has 2 main modules which are managed from the maps.pl local configuration file. The first module uses a unique field called in the recollect workflow to install a google map panel. The 99_location_maps.js then uses the mapDraw() function to add a google maps drawing manager and interface elements to the panel. It is important to note that the number of available locations to draw is selected using the number of available location compound inputs in the deposit form geolocation field. This number is configured in z_recollect_metadata_profile.pl, and it is recommended that the add input boxes switch is set to zero as the add more input boxes button Ajax call will not be detected by the drawMaps() function. Each location rectangle is managed as a location object that has all of the related geolocation data associated. The location label attached to each rectangle is also associated with each individual location object. Support functions use the module pattern for getting, setting and further plotting functionality. In the second module of the plugin a perl cgi plots location data and uses further JavaScript functionality to attach an infoWindow with a short citation and URL to the record landing page. ADMINISTRATION: Short citation can only can only be updated via the mapShow() function of 99_location_maps.pl. All metadata fields are available for the citation therefore HTML editing is needed to add or remove fields according to the EPrints field name. The number of markers to plot on the front map is set via the switch in z_maps.pl: $c->{eprints_loc_limit} = 300; Google maps will show slow performance with older machines and when onscreen marker numbers are over 5000. In the 99_location_gmap.js file the eprintsInterface variable can be set to show the compound field input boxes or switch them off if you wish the user to use just the map interface to update the map.