lp1863252 toward geosort
authorJason Etheridge <jason@EquinoxInitiative.org>
Thu, 3 Dec 2020 15:08:44 +0000 (10:08 -0500)
committerJason Etheridge <jason@EquinoxInitiative.org>
Fri, 19 Feb 2021 02:17:53 +0000 (21:17 -0500)
commit400b1bc0f702a1dc54f6d125a953650b78317ec8
tree96c07c94ca72f71335eeedb826badc1624b17b88
parent3c59a362647408da1cc3076a1a6f3a75d7f86bdc
lp1863252 toward geosort

From the release notes:

Sort Holdings by Geographical Proximity
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This functionality integrates 3rd party geographic lookup services to allow patrons
to enter an address on the record details page in the OPAC and sort the holdings
for that record based on proximity of their circulating libraries to the entered
address. To support this, latitude and longitude coordinates may be associated with
each org unit. Care is given to not log or leak patron provided addresses or the
context in which they are used.

squashed commits:

* actor.org_address
* config.geolocation_service
* config.global_flag
* opac.holdings_sort_by_geographic_proximity OUS
* opac.geographic_proximity_in_miles OUS
* opac.geographic_location_service_for_address
* permission.perm_list
* Geo.pm, opensrf*.xml, ils_events.xml
* Org Unit Configuration
* OPAC Record Details
* release notes
* remove base_url
* provide an open-ils.actor wrapper for open-ils.geo.retrieve_coordinates
* some error trapping
  This will throw the GEOCODING_LOCATION_NOT_FOUND event for a wider range of problems.
  With the Google service, you can test by providing a bad API key or sending the
  copyright symbol as an address to lookup.
* distribute permissions to stock perm groups
* prerequisite cpan modules
* live_t/ tests

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
24 files changed:
Open-ILS/examples/fm_IDL.xml
Open-ILS/examples/opensrf.xml.example
Open-ILS/examples/opensrf_core.xml.example
Open-ILS/src/eg2/src/app/staff/admin/server/admin-server-splash.component.html
Open-ILS/src/eg2/src/app/staff/admin/server/org-addr.component.html
Open-ILS/src/eg2/src/app/staff/admin/server/org-addr.component.ts
Open-ILS/src/extras/ils_events.xml
Open-ILS/src/extras/install/Makefile.debian-buster
Open-ILS/src/extras/install/Makefile.debian-jessie
Open-ILS/src/extras/install/Makefile.debian-stretch
Open-ILS/src/extras/install/Makefile.fedora
Open-ILS/src/extras/install/Makefile.ubuntu-bionic
Open-ILS/src/extras/install/Makefile.ubuntu-xenial
Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm
Open-ILS/src/perlmods/lib/OpenILS/Application/Geo.pm [new file with mode: 0644]
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
Open-ILS/src/perlmods/live_t/32-geosort.t [new file with mode: 0644]
Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/005.schema.actors.sql
Open-ILS/src/sql/Pg/800.fkeys.sql
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.geosort.sql [new file with mode: 0644]
Open-ILS/src/templates/opac/parts/record/copy_table.tt2
docs/RELEASE_NOTES_NEXT/OPAC/geographic_sorting.adoc [new file with mode: 0644]