From 0d8062a52e87eed419f42682db404a28cca50e2d Mon Sep 17 00:00:00 2001 From: Dan Wells Date: Fri, 1 Dec 2017 16:53:38 -0500 Subject: [PATCH] Bumping version numbers, adding Upgrade Script and Changelog Signed-off-by: Dan Wells --- ChangeLog | 2542 +++++++++++++++++++- Open-ILS/src/perlmods/lib/OpenILS/Application.pm | 2 +- Open-ILS/src/sql/Pg/002.schema.config.sql | 1 + .../Pg/version-upgrade/3.0.1-3.0.2-upgrade-db.sql | 474 ++++ .../staff_client/chrome/content/main/about.html | 2 +- .../xul/staff_client/defaults/preferences/prefs.js | 2 +- Open-ILS/xul/staff_client/windowssetup.nsi | 2 +- README | 692 +++++- configure.ac | 4 +- docs/installation/server_upgrade.adoc | 30 +- 10 files changed, 3726 insertions(+), 25 deletions(-) create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/3.0.1-3.0.2-upgrade-db.sql mode change 120000 => 100644 README diff --git a/ChangeLog b/ChangeLog index 1f72b2c73e..f2ee4982c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,2539 @@ -Evergreen doesn't keep a GNU-style ChangeLog except in release tarballs. -Those seeking a change log are encouraged to run 'git log -v', or read -it online at: http://git.evergreen-ils.org/?p=Evergreen.git;a=log +commit 257a0847f09c63ac87347c13ca4704d99d606a19 +Author: Dan Wells +Date: Fri Dec 1 16:29:24 2017 -0500 + + Translation updates - po files + + Signed-off-by: Dan Wells + +3 3 build/i18n/po/AutoFieldWidget.js/ar-JO.po +3 3 build/i18n/po/AutoFieldWidget.js/cs-CZ.po +3 3 build/i18n/po/AutoFieldWidget.js/de-DE.po +3 3 build/i18n/po/AutoFieldWidget.js/en-CA.po +3 3 build/i18n/po/AutoFieldWidget.js/en-GB.po +3 3 build/i18n/po/AutoFieldWidget.js/es-ES.po +3 3 build/i18n/po/AutoFieldWidget.js/fi-FI.po +3 3 build/i18n/po/AutoFieldWidget.js/fr-CA.po +3 3 build/i18n/po/AutoFieldWidget.js/he-IL.po +3 3 build/i18n/po/AutoFieldWidget.js/hu-HU.po +3 3 build/i18n/po/AutoFieldWidget.js/hy-AM.po +3 3 build/i18n/po/AutoFieldWidget.js/oc-FR.po +3 3 build/i18n/po/AutoFieldWidget.js/pt-BR.po +3 3 build/i18n/po/AutoFieldWidget.js/ru-RU.po +3 3 build/i18n/po/AutoFieldWidget.js/sv-SE.po +3 3 build/i18n/po/AutoFieldWidget.js/tr-TR.po +3 3 build/i18n/po/FlattenerGrid.js/ar-JO.po +3 3 build/i18n/po/FlattenerGrid.js/cs-CZ.po +3 3 build/i18n/po/FlattenerGrid.js/de-DE.po +3 3 build/i18n/po/FlattenerGrid.js/en-CA.po +3 3 build/i18n/po/FlattenerGrid.js/es-ES.po +3 3 build/i18n/po/FlattenerGrid.js/fi-FI.po +3 3 build/i18n/po/FlattenerGrid.js/fr-CA.po +3 3 build/i18n/po/FlattenerGrid.js/hy-AM.po +3 3 build/i18n/po/PCrudFilterPane.js/ar-JO.po +3 3 build/i18n/po/PCrudFilterPane.js/cs-CZ.po +3 3 build/i18n/po/PCrudFilterPane.js/de-DE.po +3 3 build/i18n/po/PCrudFilterPane.js/es-ES.po +3 3 build/i18n/po/PCrudFilterPane.js/fi-FI.po +3 3 build/i18n/po/PCrudFilterPane.js/hy-AM.po +3 3 build/i18n/po/Searcher.js/ar-JO.po +3 3 build/i18n/po/Searcher.js/cs-CZ.po +3 3 build/i18n/po/Searcher.js/de-DE.po +3 3 build/i18n/po/Searcher.js/en-CA.po +3 3 build/i18n/po/Searcher.js/en-GB.po +3 3 build/i18n/po/Searcher.js/es-ES.po +3 3 build/i18n/po/Searcher.js/fi-FI.po +3 3 build/i18n/po/Searcher.js/fr-CA.po +7 7 build/i18n/po/Searcher.js/hy-AM.po +3 3 build/i18n/po/Searcher.js/oc-FR.po +3 3 build/i18n/po/Searcher.js/pt-BR.po +3 3 build/i18n/po/Searcher.js/ru-RU.po +3 3 build/i18n/po/TranslatorPopup.js/ar-JO.po +3 3 build/i18n/po/TranslatorPopup.js/cs-CZ.po +3 3 build/i18n/po/TranslatorPopup.js/de-DE.po +3 3 build/i18n/po/TranslatorPopup.js/en-CA.po +3 3 build/i18n/po/TranslatorPopup.js/en-GB.po +3 3 build/i18n/po/TranslatorPopup.js/es-ES.po +3 3 build/i18n/po/TranslatorPopup.js/fi-FI.po +3 3 build/i18n/po/TranslatorPopup.js/fr-CA.po +3 3 build/i18n/po/TranslatorPopup.js/he-IL.po +3 3 build/i18n/po/TranslatorPopup.js/hu-HU.po +3 3 build/i18n/po/TranslatorPopup.js/hy-AM.po +3 3 build/i18n/po/TranslatorPopup.js/oc-FR.po +3 3 build/i18n/po/TranslatorPopup.js/pt-BR.po +3 3 build/i18n/po/TranslatorPopup.js/ru-RU.po +3 3 build/i18n/po/TranslatorPopup.js/sv-SE.po +3 3 build/i18n/po/TranslatorPopup.js/tr-TR.po +3 3 build/i18n/po/URLVerify.js/ar-JO.po +3 3 build/i18n/po/URLVerify.js/cs-CZ.po +3 3 build/i18n/po/URLVerify.js/de-DE.po +3 3 build/i18n/po/URLVerify.js/en-GB.po +3 3 build/i18n/po/URLVerify.js/es-ES.po +3 3 build/i18n/po/URLVerify.js/hy-AM.po +3 3 build/i18n/po/URLVerify.js/pt-BR.po +3 3 build/i18n/po/User.js/ar-JO.po +3 3 build/i18n/po/User.js/cs-CZ.po +3 3 build/i18n/po/User.js/de-DE.po +3 3 build/i18n/po/User.js/en-CA.po +3 3 build/i18n/po/User.js/en-GB.po +3 3 build/i18n/po/User.js/es-ES.po +3 3 build/i18n/po/User.js/fi-FI.po +3 3 build/i18n/po/User.js/fr-CA.po +3 3 build/i18n/po/User.js/he-IL.po +3 3 build/i18n/po/User.js/hu-HU.po +3 3 build/i18n/po/User.js/hy-AM.po +3 3 build/i18n/po/User.js/oc-FR.po +3 3 build/i18n/po/User.js/pt-BR.po +3 3 build/i18n/po/User.js/ru-RU.po +3 3 build/i18n/po/User.js/sv-SE.po +3 3 build/i18n/po/User.js/tr-TR.po +3 3 build/i18n/po/XULTermLoader.js/ar-JO.po +3 3 build/i18n/po/XULTermLoader.js/cs-CZ.po +3 3 build/i18n/po/XULTermLoader.js/de-DE.po +3 3 build/i18n/po/XULTermLoader.js/en-CA.po +3 3 build/i18n/po/XULTermLoader.js/en-GB.po +3 3 build/i18n/po/XULTermLoader.js/es-ES.po +3 3 build/i18n/po/XULTermLoader.js/fi-FI.po +3 3 build/i18n/po/XULTermLoader.js/fr-CA.po +3 3 build/i18n/po/XULTermLoader.js/he-IL.po +3 3 build/i18n/po/XULTermLoader.js/hu-HU.po +3 3 build/i18n/po/XULTermLoader.js/hy-AM.po +3 3 build/i18n/po/XULTermLoader.js/oc-FR.po +3 3 build/i18n/po/XULTermLoader.js/pt-BR.po +3 3 build/i18n/po/XULTermLoader.js/ru-RU.po +3 3 build/i18n/po/XULTermLoader.js/sv-SE.po +3 3 build/i18n/po/XULTermLoader.js/tr-TR.po +3 3 build/i18n/po/acq.js/ar-JO.po +3 43 build/i18n/po/acq.js/cs-CZ.po +3 3 build/i18n/po/acq.js/de-DE.po +3 44 build/i18n/po/acq.js/en-CA.po +3 44 build/i18n/po/acq.js/en-GB.po +3 46 build/i18n/po/acq.js/es-ES.po +3 17 build/i18n/po/acq.js/fi-FI.po +3 50 build/i18n/po/acq.js/fr-CA.po +3 3 build/i18n/po/acq.js/he-IL.po +3 3 build/i18n/po/acq.js/hu-HU.po +11 50 build/i18n/po/acq.js/hy-AM.po +3 3 build/i18n/po/acq.js/oc-FR.po +3 46 build/i18n/po/acq.js/pt-BR.po +3 3 build/i18n/po/acq.js/ru-RU.po +3 3 build/i18n/po/acq.js/sv-SE.po +3 3 build/i18n/po/acq.js/tr-TR.po +4 4 build/i18n/po/acq/ar-JO.po +3 3 build/i18n/po/acq/cs-CZ.po +4 4 build/i18n/po/acq/de-DE.po +4 4 build/i18n/po/acq/es-ES.po +4 4 build/i18n/po/acq/hy-AM.po +4 4 build/i18n/po/acq/ru-RU.po +4 4 build/i18n/po/actor/ar-JO.po +4 4 build/i18n/po/actor/cs-CZ.po +4 4 build/i18n/po/actor/de-DE.po +4 4 build/i18n/po/actor/es-ES.po +4 4 build/i18n/po/actor/hy-AM.po +3 3 build/i18n/po/admin.properties/ar-JO.po +2 2 build/i18n/po/admin.properties/cs-CZ.po +3 3 build/i18n/po/admin.properties/de-DE.po +3 3 build/i18n/po/admin.properties/en-CA.po +3 3 build/i18n/po/admin.properties/en-GB.po +3 3 build/i18n/po/admin.properties/es-ES.po +3 3 build/i18n/po/admin.properties/fi-FI.po +3 3 build/i18n/po/admin.properties/fr-CA.po +3 3 build/i18n/po/admin.properties/he-IL.po +3 3 build/i18n/po/admin.properties/hu-HU.po +3 3 build/i18n/po/admin.properties/hy-AM.po +3 3 build/i18n/po/admin.properties/oc-FR.po +3 3 build/i18n/po/admin.properties/pt-BR.po +3 3 build/i18n/po/admin.properties/ru-RU.po +3 3 build/i18n/po/admin.properties/sv-SE.po +3 3 build/i18n/po/admin.properties/tr-TR.po +3 3 build/i18n/po/auth.properties/ar-JO.po +3 3 build/i18n/po/auth.properties/cs-CZ.po +3 3 build/i18n/po/auth.properties/de-DE.po +3 3 build/i18n/po/auth.properties/en-CA.po +3 3 build/i18n/po/auth.properties/en-GB.po +3 3 build/i18n/po/auth.properties/es-ES.po +3 3 build/i18n/po/auth.properties/fi-FI.po +3 3 build/i18n/po/auth.properties/fr-CA.po +3 3 build/i18n/po/auth.properties/he-IL.po +3 3 build/i18n/po/auth.properties/hu-HU.po +3 3 build/i18n/po/auth.properties/hy-AM.po +3 3 build/i18n/po/auth.properties/oc-FR.po +3 3 build/i18n/po/auth.properties/pt-BR.po +3 3 build/i18n/po/auth.properties/ru-RU.po +3 3 build/i18n/po/auth.properties/sv-SE.po +3 3 build/i18n/po/auth.properties/tr-TR.po +3 3 build/i18n/po/authority.js/ar-JO.po +3 3 build/i18n/po/authority.js/cs-CZ.po +3 3 build/i18n/po/authority.js/de-DE.po +3 3 build/i18n/po/authority.js/en-CA.po +3 3 build/i18n/po/authority.js/en-GB.po +3 3 build/i18n/po/authority.js/es-ES.po +3 3 build/i18n/po/authority.js/fi-FI.po +3 3 build/i18n/po/authority.js/fr-CA.po +3 3 build/i18n/po/authority.js/hy-AM.po +3 3 build/i18n/po/authority.js/oc-FR.po +3 3 build/i18n/po/authority.js/pt-BR.po +3 3 build/i18n/po/authority.js/ru-RU.po +3 3 build/i18n/po/authority.js/tr-TR.po +4 4 build/i18n/po/booking/ar-JO.po +4 4 build/i18n/po/booking/cs-CZ.po +4 4 build/i18n/po/booking/de-DE.po +4 4 build/i18n/po/booking/en-CA.po +4 4 build/i18n/po/booking/en-GB.po +4 4 build/i18n/po/booking/es-ES.po +4 4 build/i18n/po/booking/hy-AM.po +3 3 build/i18n/po/capture.js/ar-JO.po +3 3 build/i18n/po/capture.js/cs-CZ.po +3 3 build/i18n/po/capture.js/de-DE.po +3 3 build/i18n/po/capture.js/en-CA.po +3 3 build/i18n/po/capture.js/en-GB.po +3 3 build/i18n/po/capture.js/es-ES.po +3 3 build/i18n/po/capture.js/fi-FI.po +3 3 build/i18n/po/capture.js/fr-CA.po +3 3 build/i18n/po/capture.js/he-IL.po +3 3 build/i18n/po/capture.js/hu-HU.po +11 11 build/i18n/po/capture.js/hy-AM.po +3 3 build/i18n/po/capture.js/oc-FR.po +3 3 build/i18n/po/capture.js/pt-BR.po +3 3 build/i18n/po/capture.js/ru-RU.po +3 3 build/i18n/po/capture.js/sv-SE.po +3 3 build/i18n/po/capture.js/tr-TR.po +2 5 build/i18n/po/cat.properties/ar-JO.po +3 62 build/i18n/po/cat.properties/cs-CZ.po +3 34 build/i18n/po/cat.properties/de-DE.po +3 33 build/i18n/po/cat.properties/en-CA.po +3 62 build/i18n/po/cat.properties/en-GB.po +3 60 build/i18n/po/cat.properties/es-ES.po +3 14 build/i18n/po/cat.properties/fi-FI.po +3 63 build/i18n/po/cat.properties/fr-CA.po +3 3 build/i18n/po/cat.properties/he-IL.po +3 3 build/i18n/po/cat.properties/hu-HU.po +3 60 build/i18n/po/cat.properties/hy-AM.po +3 11 build/i18n/po/cat.properties/oc-FR.po +3 63 build/i18n/po/cat.properties/pt-BR.po +3 55 build/i18n/po/cat.properties/ru-RU.po +3 3 build/i18n/po/cat.properties/sv-SE.po +3 3 build/i18n/po/cat.properties/tr-TR.po +4 4 build/i18n/po/cat/ar-JO.po +4 4 build/i18n/po/cat/cs-CZ.po +4 4 build/i18n/po/cat/de-DE.po +4 4 build/i18n/po/cat/en-CA.po +4 4 build/i18n/po/cat/en-GB.po +4 4 build/i18n/po/cat/es-ES.po +4 4 build/i18n/po/cat/fr-CA.po +4 4 build/i18n/po/cat/hy-AM.po +4 4 build/i18n/po/cat/pt-BR.po +4 4 build/i18n/po/cat/ru-RU.po +2 20 build/i18n/po/circ.properties/ar-JO.po +3 42 build/i18n/po/circ.properties/cs-CZ.po +3 3 build/i18n/po/circ.properties/de-DE.po +3 41 build/i18n/po/circ.properties/en-CA.po +3 41 build/i18n/po/circ.properties/en-GB.po +3 43 build/i18n/po/circ.properties/es-ES.po +3 30 build/i18n/po/circ.properties/fi-FI.po +3 44 build/i18n/po/circ.properties/fr-CA.po +3 3 build/i18n/po/circ.properties/he-IL.po +3 3 build/i18n/po/circ.properties/hu-HU.po +3 39 build/i18n/po/circ.properties/hy-AM.po +3 3 build/i18n/po/circ.properties/oc-FR.po +3 41 build/i18n/po/circ.properties/pt-BR.po +3 42 build/i18n/po/circ.properties/ru-RU.po +3 3 build/i18n/po/circ.properties/sv-SE.po +3 3 build/i18n/po/circ.properties/tr-TR.po +4 4 build/i18n/po/circ/ar-JO.po +4 4 build/i18n/po/circ/cs-CZ.po +4 4 build/i18n/po/circ/de-DE.po +4 4 build/i18n/po/circ/es-ES.po +4 4 build/i18n/po/circ/hy-AM.po +4 4 build/i18n/po/circ/ru-RU.po +3 3 build/i18n/po/common.properties/ar-JO.po +3 10 build/i18n/po/common.properties/cs-CZ.po +3 3 build/i18n/po/common.properties/de-DE.po +3 9 build/i18n/po/common.properties/en-CA.po +3 9 build/i18n/po/common.properties/en-GB.po +3 9 build/i18n/po/common.properties/es-ES.po +3 3 build/i18n/po/common.properties/fi-FI.po +3 9 build/i18n/po/common.properties/fr-CA.po +3 3 build/i18n/po/common.properties/he-IL.po +3 3 build/i18n/po/common.properties/hu-HU.po +19 25 build/i18n/po/common.properties/hy-AM.po +3 3 build/i18n/po/common.properties/oc-FR.po +3 9 build/i18n/po/common.properties/pt-BR.po +3 9 build/i18n/po/common.properties/ru-RU.po +3 3 build/i18n/po/common.properties/sv-SE.po +3 3 build/i18n/po/common.properties/tr-TR.po +3 3 build/i18n/po/conify.dtd/ar-JO.po +3 6 build/i18n/po/conify.dtd/cs-CZ.po +3 3 build/i18n/po/conify.dtd/de-DE.po +3 3 build/i18n/po/conify.dtd/en-CA.po +3 6 build/i18n/po/conify.dtd/en-GB.po +3 6 build/i18n/po/conify.dtd/es-ES.po +3 3 build/i18n/po/conify.dtd/fi-FI.po +3 6 build/i18n/po/conify.dtd/fr-CA.po +3 3 build/i18n/po/conify.dtd/he-IL.po +3 3 build/i18n/po/conify.dtd/hu-HU.po +3 6 build/i18n/po/conify.dtd/hy-AM.po +3 3 build/i18n/po/conify.dtd/oc-FR.po +3 6 build/i18n/po/conify.dtd/pt-BR.po +3 6 build/i18n/po/conify.dtd/ru-RU.po +3 3 build/i18n/po/conify.dtd/sv-SE.po +3 3 build/i18n/po/conify.dtd/tr-TR.po +3 3 build/i18n/po/conify.js/ar-JO.po +3 3 build/i18n/po/conify.js/cs-CZ.po +3 3 build/i18n/po/conify.js/de-DE.po +3 3 build/i18n/po/conify.js/en-CA.po +3 3 build/i18n/po/conify.js/en-GB.po +3 3 build/i18n/po/conify.js/es-ES.po +3 3 build/i18n/po/conify.js/fi-FI.po +3 3 build/i18n/po/conify.js/fr-CA.po +3 3 build/i18n/po/conify.js/he-IL.po +3 3 build/i18n/po/conify.js/hu-HU.po +3 3 build/i18n/po/conify.js/hy-AM.po +3 3 build/i18n/po/conify.js/oc-FR.po +3 3 build/i18n/po/conify.js/pt-BR.po +3 3 build/i18n/po/conify.js/ru-RU.po +3 3 build/i18n/po/conify.js/sv-SE.po +3 3 build/i18n/po/conify.js/tr-TR.po +4 4 build/i18n/po/conify/ar-JO.po +3 3 build/i18n/po/conify/cs-CZ.po +4 4 build/i18n/po/conify/es-ES.po +4 4 build/i18n/po/conify/hy-AM.po +3141 3186 build/i18n/po/db.seed/ar-JO.po +3142 3293 build/i18n/po/db.seed/cs-CZ.po +3 14 build/i18n/po/db.seed/de-DE.po +3 130 build/i18n/po/db.seed/en-CA.po +3 130 build/i18n/po/db.seed/en-GB.po +3 125 build/i18n/po/db.seed/es-ES.po +3 100 build/i18n/po/db.seed/fi-FI.po +3 133 build/i18n/po/db.seed/fr-CA.po +3 3 build/i18n/po/db.seed/he-IL.po +3 3 build/i18n/po/db.seed/hu-HU.po +11 172 build/i18n/po/db.seed/hy-AM.po +3 18 build/i18n/po/db.seed/oc-FR.po +3 92 build/i18n/po/db.seed/pt-BR.po +3 81 build/i18n/po/db.seed/ru-RU.po +3 3 build/i18n/po/db.seed/sv-SE.po +3 6 build/i18n/po/db.seed/tr-TR.po +2606 2543 build/i18n/po/fm_IDL.dtd/ar-JO.po +2559 2526 build/i18n/po/fm_IDL.dtd/cs-CZ.po +1222 1203 build/i18n/po/fm_IDL.dtd/de-DE.po +1225 1244 build/i18n/po/fm_IDL.dtd/en-CA.po +1225 1247 build/i18n/po/fm_IDL.dtd/en-GB.po +1226 1210 build/i18n/po/fm_IDL.dtd/es-ES.po +1226 1222 build/i18n/po/fm_IDL.dtd/fi-FI.po +1222 1200 build/i18n/po/fm_IDL.dtd/fr-CA.po +1222 1200 build/i18n/po/fm_IDL.dtd/he-IL.po +1222 1200 build/i18n/po/fm_IDL.dtd/hu-HU.po +1261 1282 build/i18n/po/fm_IDL.dtd/hy-AM.po +1222 1200 build/i18n/po/fm_IDL.dtd/oc-FR.po +1224 1232 build/i18n/po/fm_IDL.dtd/pt-BR.po +1229 1243 build/i18n/po/fm_IDL.dtd/ru-RU.po +1222 1200 build/i18n/po/fm_IDL.dtd/sv-SE.po +1222 1200 build/i18n/po/fm_IDL.dtd/tr-TR.po +2 10 build/i18n/po/ils_events.xml/ar-JO.po +3 31 build/i18n/po/ils_events.xml/cs-CZ.po +3 3 build/i18n/po/ils_events.xml/de-DE.po +3 32 build/i18n/po/ils_events.xml/en-CA.po +3 32 build/i18n/po/ils_events.xml/en-GB.po +7 16 build/i18n/po/ils_events.xml/es-ES.po +3 24 build/i18n/po/ils_events.xml/fi-FI.po +3 33 build/i18n/po/ils_events.xml/fr-CA.po +3 3 build/i18n/po/ils_events.xml/he-IL.po +3 3 build/i18n/po/ils_events.xml/hu-HU.po +3 30 build/i18n/po/ils_events.xml/hy-AM.po +3 3 build/i18n/po/ils_events.xml/oc-FR.po +3 23 build/i18n/po/ils_events.xml/pt-BR.po +3 23 build/i18n/po/ils_events.xml/ru-RU.po +3 3 build/i18n/po/ils_events.xml/sv-SE.po +3 3 build/i18n/po/ils_events.xml/tr-TR.po +4 4 build/i18n/po/kpac/ar-JO.po +4 4 build/i18n/po/kpac/cs-CZ.po +4 4 build/i18n/po/kpac/de-DE.po +4 4 build/i18n/po/kpac/es-ES.po +4 4 build/i18n/po/kpac/hy-AM.po +2 55 build/i18n/po/lang.dtd/ar-JO.po +5 859 build/i18n/po/lang.dtd/cs-CZ.po +3 309 build/i18n/po/lang.dtd/de-DE.po +3 815 build/i18n/po/lang.dtd/en-CA.po +3 863 build/i18n/po/lang.dtd/en-GB.po +3 278 build/i18n/po/lang.dtd/es-ES.po +3 513 build/i18n/po/lang.dtd/fi-FI.po +3 775 build/i18n/po/lang.dtd/fr-CA.po +3 3 build/i18n/po/lang.dtd/he-IL.po +3 3 build/i18n/po/lang.dtd/hu-HU.po +71 929 build/i18n/po/lang.dtd/hy-AM.po +3 12 build/i18n/po/lang.dtd/oc-FR.po +3 781 build/i18n/po/lang.dtd/pt-BR.po +3 774 build/i18n/po/lang.dtd/ru-RU.po +3 3 build/i18n/po/lang.dtd/sv-SE.po +3 18 build/i18n/po/lang.dtd/tr-TR.po +3 3 build/i18n/po/match_set.js/ar-JO.po +3 3 build/i18n/po/match_set.js/cs-CZ.po +3 3 build/i18n/po/match_set.js/en-GB.po +3 3 build/i18n/po/match_set.js/es-ES.po +3 3 build/i18n/po/match_set.js/fr-CA.po +3 3 build/i18n/po/match_set.js/hy-AM.po +7 126 build/i18n/po/multiclass_search_help.html/ar-JO.po +13 133 build/i18n/po/multiclass_search_help.html/cs-CZ.po +7 131 build/i18n/po/multiclass_search_help.html/de-DE.po +13 131 build/i18n/po/multiclass_search_help.html/en-CA.po +7 127 build/i18n/po/multiclass_search_help.html/en-GB.po +7 131 build/i18n/po/multiclass_search_help.html/es-ES.po +6 120 build/i18n/po/multiclass_search_help.html/fi-FI.po +13 135 build/i18n/po/multiclass_search_help.html/fr-CA.po +12 121 build/i18n/po/multiclass_search_help.html/he-IL.po +7 121 build/i18n/po/multiclass_search_help.html/hu-HU.po +13 128 build/i18n/po/multiclass_search_help.html/hy-AM.po +7 123 build/i18n/po/multiclass_search_help.html/oc-FR.po +7 133 build/i18n/po/multiclass_search_help.html/pt-BR.po +13 130 build/i18n/po/multiclass_search_help.html/ru-RU.po +12 121 build/i18n/po/multiclass_search_help.html/sv-SE.po +7 121 build/i18n/po/multiclass_search_help.html/tr-TR.po +3 3 build/i18n/po/offline.properties/ar-JO.po +3 9 build/i18n/po/offline.properties/cs-CZ.po +3 12 build/i18n/po/offline.properties/de-DE.po +3 12 build/i18n/po/offline.properties/en-CA.po +3 12 build/i18n/po/offline.properties/en-GB.po +3 9 build/i18n/po/offline.properties/es-ES.po +3 3 build/i18n/po/offline.properties/fi-FI.po +3 9 build/i18n/po/offline.properties/fr-CA.po +3 3 build/i18n/po/offline.properties/he-IL.po +3 3 build/i18n/po/offline.properties/hu-HU.po +13 22 build/i18n/po/offline.properties/hy-AM.po +3 3 build/i18n/po/offline.properties/oc-FR.po +3 12 build/i18n/po/offline.properties/pt-BR.po +3 12 build/i18n/po/offline.properties/ru-RU.po +3 3 build/i18n/po/offline.properties/sv-SE.po +3 9 build/i18n/po/offline.properties/tr-TR.po +3 3 build/i18n/po/opac.dtd/ar-JO.po +3 43 build/i18n/po/opac.dtd/cs-CZ.po +3 46 build/i18n/po/opac.dtd/de-DE.po +3 42 build/i18n/po/opac.dtd/en-CA.po +3 42 build/i18n/po/opac.dtd/en-GB.po +3 48 build/i18n/po/opac.dtd/es-ES.po +3 11 build/i18n/po/opac.dtd/fi-FI.po +3 47 build/i18n/po/opac.dtd/fr-CA.po +3 3 build/i18n/po/opac.dtd/he-IL.po +3 3 build/i18n/po/opac.dtd/hu-HU.po +34 74 build/i18n/po/opac.dtd/hy-AM.po +3 3 build/i18n/po/opac.dtd/oc-FR.po +3 43 build/i18n/po/opac.dtd/pt-BR.po +3 40 build/i18n/po/opac.dtd/ru-RU.po +3 3 build/i18n/po/opac.dtd/sv-SE.po +3 3 build/i18n/po/opac.dtd/tr-TR.po +3 3 build/i18n/po/opac.js/ar-JO.po +3 6 build/i18n/po/opac.js/cs-CZ.po +3 6 build/i18n/po/opac.js/de-DE.po +3 6 build/i18n/po/opac.js/en-CA.po +3 6 build/i18n/po/opac.js/en-GB.po +3 6 build/i18n/po/opac.js/es-ES.po +3 3 build/i18n/po/opac.js/fi-FI.po +3 6 build/i18n/po/opac.js/fr-CA.po +3 3 build/i18n/po/opac.js/he-IL.po +3 3 build/i18n/po/opac.js/hu-HU.po +3 6 build/i18n/po/opac.js/hy-AM.po +3 3 build/i18n/po/opac.js/oc-FR.po +3 6 build/i18n/po/opac.js/pt-BR.po +3 6 build/i18n/po/opac.js/ru-RU.po +3 3 build/i18n/po/opac.js/sv-SE.po +3 6 build/i18n/po/opac.js/tr-TR.po +3 3 build/i18n/po/patron.properties/ar-JO.po +3 25 build/i18n/po/patron.properties/cs-CZ.po +3 18 build/i18n/po/patron.properties/de-DE.po +3 25 build/i18n/po/patron.properties/en-CA.po +3 25 build/i18n/po/patron.properties/en-GB.po +3 10 build/i18n/po/patron.properties/es-ES.po +3 22 build/i18n/po/patron.properties/fi-FI.po +3 26 build/i18n/po/patron.properties/fr-CA.po +3 3 build/i18n/po/patron.properties/he-IL.po +3 3 build/i18n/po/patron.properties/hu-HU.po +7 29 build/i18n/po/patron.properties/hy-AM.po +3 7 build/i18n/po/patron.properties/oc-FR.po +3 22 build/i18n/po/patron.properties/pt-BR.po +3 18 build/i18n/po/patron.properties/ru-RU.po +3 3 build/i18n/po/patron.properties/sv-SE.po +3 6 build/i18n/po/patron.properties/tr-TR.po +3 3 build/i18n/po/pickup_and_return.js/ar-JO.po +3 3 build/i18n/po/pickup_and_return.js/cs-CZ.po +3 3 build/i18n/po/pickup_and_return.js/de-DE.po +3 3 build/i18n/po/pickup_and_return.js/en-CA.po +3 3 build/i18n/po/pickup_and_return.js/en-GB.po +3 3 build/i18n/po/pickup_and_return.js/es-ES.po +3 3 build/i18n/po/pickup_and_return.js/fi-FI.po +3 3 build/i18n/po/pickup_and_return.js/fr-CA.po +3 3 build/i18n/po/pickup_and_return.js/he-IL.po +3 3 build/i18n/po/pickup_and_return.js/hu-HU.po +3 3 build/i18n/po/pickup_and_return.js/hy-AM.po +3 3 build/i18n/po/pickup_and_return.js/oc-FR.po +3 3 build/i18n/po/pickup_and_return.js/pt-BR.po +3 3 build/i18n/po/pickup_and_return.js/ru-RU.po +3 3 build/i18n/po/pickup_and_return.js/sv-SE.po +3 3 build/i18n/po/pickup_and_return.js/tr-TR.po +3 3 build/i18n/po/pull_list.js/ar-JO.po +3 3 build/i18n/po/pull_list.js/cs-CZ.po +3 3 build/i18n/po/pull_list.js/de-DE.po +3 3 build/i18n/po/pull_list.js/en-CA.po +3 3 build/i18n/po/pull_list.js/en-GB.po +3 3 build/i18n/po/pull_list.js/es-ES.po +3 3 build/i18n/po/pull_list.js/fi-FI.po +3 3 build/i18n/po/pull_list.js/fr-CA.po +3 3 build/i18n/po/pull_list.js/he-IL.po +3 3 build/i18n/po/pull_list.js/hu-HU.po +3 3 build/i18n/po/pull_list.js/hy-AM.po +3 3 build/i18n/po/pull_list.js/oc-FR.po +3 3 build/i18n/po/pull_list.js/pt-BR.po +3 3 build/i18n/po/pull_list.js/ru-RU.po +3 3 build/i18n/po/pull_list.js/sv-SE.po +3 3 build/i18n/po/pull_list.js/tr-TR.po +3 3 build/i18n/po/register.js/ar-JO.po +3 8 build/i18n/po/register.js/cs-CZ.po +3 8 build/i18n/po/register.js/de-DE.po +3 8 build/i18n/po/register.js/en-CA.po +3 8 build/i18n/po/register.js/en-GB.po +3 9 build/i18n/po/register.js/es-ES.po +3 8 build/i18n/po/register.js/fi-FI.po +3 8 build/i18n/po/register.js/fr-CA.po +3 3 build/i18n/po/register.js/he-IL.po +3 3 build/i18n/po/register.js/hu-HU.po +3 8 build/i18n/po/register.js/hy-AM.po +3 8 build/i18n/po/register.js/oc-FR.po +3 9 build/i18n/po/register.js/pt-BR.po +3 8 build/i18n/po/register.js/ru-RU.po +3 3 build/i18n/po/register.js/sv-SE.po +3 3 build/i18n/po/register.js/tr-TR.po +2 2 build/i18n/po/reports.dtd/ar-JO.po +3 20 build/i18n/po/reports.dtd/cs-CZ.po +3 6 build/i18n/po/reports.dtd/de-DE.po +3 20 build/i18n/po/reports.dtd/en-CA.po +3 20 build/i18n/po/reports.dtd/en-GB.po +3 20 build/i18n/po/reports.dtd/es-ES.po +3 20 build/i18n/po/reports.dtd/fi-FI.po +3 20 build/i18n/po/reports.dtd/fr-CA.po +3 3 build/i18n/po/reports.dtd/he-IL.po +3 3 build/i18n/po/reports.dtd/hu-HU.po +11 28 build/i18n/po/reports.dtd/hy-AM.po +3 3 build/i18n/po/reports.dtd/oc-FR.po +3 20 build/i18n/po/reports.dtd/pt-BR.po +3 20 build/i18n/po/reports.dtd/ru-RU.po +3 3 build/i18n/po/reports.dtd/sv-SE.po +3 3 build/i18n/po/reports.dtd/tr-TR.po +3 3 build/i18n/po/reports.js/ar-JO.po +3 3 build/i18n/po/reports.js/cs-CZ.po +3 3 build/i18n/po/reports.js/de-DE.po +3 3 build/i18n/po/reports.js/en-CA.po +3 3 build/i18n/po/reports.js/en-GB.po +3 3 build/i18n/po/reports.js/es-ES.po +3 3 build/i18n/po/reports.js/fi-FI.po +3 3 build/i18n/po/reports.js/fr-CA.po +3 3 build/i18n/po/reports.js/he-IL.po +3 3 build/i18n/po/reports.js/hu-HU.po +3 3 build/i18n/po/reports.js/hy-AM.po +3 3 build/i18n/po/reports.js/oc-FR.po +3 3 build/i18n/po/reports.js/pt-BR.po +3 3 build/i18n/po/reports.js/ru-RU.po +3 3 build/i18n/po/reports.js/sv-SE.po +3 3 build/i18n/po/reports.js/tr-TR.po +3 3 build/i18n/po/reservation.js/ar-JO.po +3 3 build/i18n/po/reservation.js/cs-CZ.po +3 3 build/i18n/po/reservation.js/de-DE.po +3 3 build/i18n/po/reservation.js/en-CA.po +3 3 build/i18n/po/reservation.js/en-GB.po +3 3 build/i18n/po/reservation.js/es-ES.po +3 3 build/i18n/po/reservation.js/fi-FI.po +3 3 build/i18n/po/reservation.js/fr-CA.po +3 3 build/i18n/po/reservation.js/he-IL.po +3 3 build/i18n/po/reservation.js/hu-HU.po +3 3 build/i18n/po/reservation.js/hy-AM.po +3 3 build/i18n/po/reservation.js/oc-FR.po +3 3 build/i18n/po/reservation.js/pt-BR.po +3 3 build/i18n/po/reservation.js/ru-RU.po +3 3 build/i18n/po/reservation.js/sv-SE.po +3 3 build/i18n/po/reservation.js/tr-TR.po +3 3 build/i18n/po/selfcheck.js/ar-JO.po +3 18 build/i18n/po/selfcheck.js/cs-CZ.po +3 3 build/i18n/po/selfcheck.js/de-DE.po +3 18 build/i18n/po/selfcheck.js/en-CA.po +3 18 build/i18n/po/selfcheck.js/en-GB.po +3 9 build/i18n/po/selfcheck.js/es-ES.po +3 18 build/i18n/po/selfcheck.js/fi-FI.po +3 18 build/i18n/po/selfcheck.js/fr-CA.po +3 3 build/i18n/po/selfcheck.js/he-IL.po +3 3 build/i18n/po/selfcheck.js/hu-HU.po +3 18 build/i18n/po/selfcheck.js/hy-AM.po +3 6 build/i18n/po/selfcheck.js/oc-FR.po +3 18 build/i18n/po/selfcheck.js/pt-BR.po +3 3 build/i18n/po/selfcheck.js/ru-RU.po +3 3 build/i18n/po/selfcheck.js/sv-SE.po +3 3 build/i18n/po/selfcheck.js/tr-TR.po +3 3 build/i18n/po/serial.js/ar-JO.po +3 3 build/i18n/po/serial.js/cs-CZ.po +3 3 build/i18n/po/serial.js/de-DE.po +3 3 build/i18n/po/serial.js/en-GB.po +3 3 build/i18n/po/serial.js/es-ES.po +3 3 build/i18n/po/serial.js/hy-AM.po +3 3 build/i18n/po/serial.properties/ar-JO.po +3 3 build/i18n/po/serial.properties/cs-CZ.po +3 3 build/i18n/po/serial.properties/de-DE.po +3 3 build/i18n/po/serial.properties/en-CA.po +3 14 build/i18n/po/serial.properties/en-GB.po +3 3 build/i18n/po/serial.properties/es-ES.po +3 3 build/i18n/po/serial.properties/fi-FI.po +3 3 build/i18n/po/serial.properties/fr-CA.po +11 22 build/i18n/po/serial.properties/hy-AM.po +3 3 build/i18n/po/serial.properties/oc-FR.po +3 3 build/i18n/po/serial.properties/pt-BR.po +3 3 build/i18n/po/serial.properties/tr-TR.po +4 4 build/i18n/po/serial/ar-JO.po +4 4 build/i18n/po/serial/cs-CZ.po +4 4 build/i18n/po/serial/es-ES.po +4 4 build/i18n/po/serial/hy-AM.po +199 293 build/i18n/po/tpac/ar-JO.po +200 296 build/i18n/po/tpac/cs-CZ.po +200 215 build/i18n/po/tpac/de-DE.po +200 291 build/i18n/po/tpac/en-CA.po +200 291 build/i18n/po/tpac/en-GB.po +218 314 build/i18n/po/tpac/es-ES.po +200 293 build/i18n/po/tpac/fi-FI.po +200 297 build/i18n/po/tpac/fr-CA.po +200 200 build/i18n/po/tpac/he-IL.po +200 200 build/i18n/po/tpac/hu-HU.po +199 294 build/i18n/po/tpac/hy-AM.po +200 239 build/i18n/po/tpac/oc-FR.po +200 292 build/i18n/po/tpac/pt-BR.po +200 206 build/i18n/po/tpac/ru-RU.po +200 200 build/i18n/po/tpac/sv-SE.po +200 212 build/i18n/po/tpac/tr-TR.po +4 4 build/i18n/po/urlverify/ar-JO.po +4 4 build/i18n/po/urlverify/cs-CZ.po +4 4 build/i18n/po/urlverify/de-DE.po +4 4 build/i18n/po/urlverify/es-ES.po +4 4 build/i18n/po/urlverify/hy-AM.po +3 3 build/i18n/po/vandelay.js/ar-JO.po +3 3 build/i18n/po/vandelay.js/cs-CZ.po +3 3 build/i18n/po/vandelay.js/en-CA.po +3 3 build/i18n/po/vandelay.js/en-GB.po +3 3 build/i18n/po/vandelay.js/es-ES.po +3 3 build/i18n/po/vandelay.js/hy-AM.po +3 3 build/i18n/po/vandelay.js/pt-BR.po +4 4 build/i18n/po/vandelay/ar-JO.po +4 4 build/i18n/po/vandelay/cs-CZ.po +4 4 build/i18n/po/vandelay/de-DE.po +4 4 build/i18n/po/vandelay/es-ES.po +4 4 build/i18n/po/vandelay/hy-AM.po +1168 982 build/i18n/po/webstaff/ar-JO.po +866 692 build/i18n/po/webstaff/cs-CZ.po +849 691 build/i18n/po/webstaff/es-ES.po +846 655 build/i18n/po/webstaff/hy-AM.po +843 655 build/i18n/po/webstaff/ru-RU.po + +commit 7b438dba68e2a77ee355dbdb11499f56eb4d4ea8 +Author: Dan Wells +Date: Mon Feb 24 12:09:57 2014 -0500 + + Bump OpenILS.pm version + + Signed-off-by: Dan Wells + +1 1 Open-ILS/src/perlmods/lib/OpenILS.pm + +commit 1574d379cf3d524565cf671da9cc491a1add2d4e +Author: Galen Charlton +Date: Thu Nov 30 11:24:25 2017 -0500 + + release notes for Evergreen 2.12.8 + + Signed-off-by: Galen Charlton + +56 0 docs/RELEASE_NOTES_2_12.adoc + +commit d37e4b25e1122c3a83eec77da168675120b56412 +Author: Galen Charlton +Date: Thu Nov 30 11:16:39 2017 -0500 + + 3.0.2 release notes + + Signed-off-by: Galen Charlton + +115 0 docs/RELEASE_NOTES_3_0.adoc + +commit 10e2915f642e8dda837b2abea1df0f37463f6d6b +Author: Galen Charlton +Date: Fri Sep 15 14:38:18 2017 -0400 + + LP#1178802: force ceiling dates to be end of day + + This patch ensures that when a hard due date (or hard due date value) + is created or edited, the ceiling date is set to the end of that day. + + This fixes a problem where a ceiling date would not be applied for + loans checked out earlier on the ceiling date itself. + + This patch intentionally does not touch existing hard due date + values. It also does not use the database or middle layer to coerce + the ceiling dates to end of day to leave upon the possiblity that + an Angular version of the hard due date editor will allow operators + to set both date and time. (Note that Dojo does not readily have a + combined date/time picker.) + + To test + ------- + [1] Apply the patch, then in the hard due date editor, verify that + when creating a hard due date _value_, the date gets saved as + ending at 23:59:59 in the local time zone. + [2] Similarly, verify that when editing an existing hard due date value, + the date gets saved as ending at 23:59:59. + [3] Repeat steps 1 and 2, but this time for hard due dates. + + Signed-off-by: Galen Charlton + Signed-off-by: Michele Morgan + Signed-off-by: Galen Charlton + +21 0 Open-ILS/src/templates/conify/global/config/hard_due_date.tt2 +20 0 Open-ILS/src/templates/conify/global/config/hard_due_date_values.tt2 + +commit 70add5a0977f2b5b24f1f19a53ba79c7494a8207 +Author: Mike Rylander +Date: Mon Nov 27 13:06:56 2017 -0500 + + LP#1734737: Display originating template UI + + Until the (planned for 3.1) ability to clone XUL-created reports in the web + staff client is completed, it would be useful to at least display to the user + the origin UI in which a template was created. This will allow staff to, for + the immediate term, decide which UI they should use to deal with a particular + template, re cloning etc. + + Signed-off-by: Mike Rylander + Signed-off-by: Chris Sharp + Signed-off-by: Galen Charlton + +8 0 Open-ILS/web/opac/common/js/fm_table_conf.js + +commit 7bc308ffa2b6a1599b1f91ef55f4adf6d4ba44e4 +Author: Ben Shum +Date: Wed Nov 29 16:36:05 2017 -0500 + + Docs: fix list item index in basic_holds.adoc + + Signed-off-by: Ben Shum + +13 13 docs/circulation/basic_holds.adoc + +commit 776bf349fa1e3d7423e19f63ec07cf7096b863c6 +Author: Alex Cautley +Date: Thu Nov 16 23:03:11 2017 +0000 + + lp1705133 view holds patron info redaction + + Removed extra or sensitive patron information from patron and record + hold grid + + Signed-off-by: Alex Cautley + + Changes to be committed: + modified: Open-ILS/src/templates/staff/cat/catalog/t_holds.tt2 + modified: Open-ILS/src/templates/staff/circ/patron/t_holds_list.tt2 + + Signed-off-by: Kathy Lussier + +9 5 Open-ILS/src/templates/staff/cat/catalog/t_holds.tt2 +8 8 Open-ILS/src/templates/staff/circ/patron/t_holds_list.tt2 + +commit 86bc1eda9fa0cce7208989656bfb9c93a5fa7b62 +Author: Dan Scott +Date: Wed Nov 29 15:31:26 2017 -0500 + + 2nd level of bullets requires '**' + + The Asciidoc for this file had two levels of indentations for the + intended bulleted list, but bullet indentation levels are set by + the number of asterisks: + + * = 1st level + ** = 2nd level + + Signed-off-by: Dan Scott + +30 30 docs/development/data_unapi.adoc + +commit dfc195b9e98d35187bfd23812c7826f1973a6ec8 +Author: Jason Boyer +Date: Thu Aug 31 22:06:31 2017 -0400 + + LP1714390:Remove acp Editor Formatting Frustration + + In bug 1713064 I added a directive to make it possible to use + a String as a Model in an Input tag with type Number. Unfortunately + there was also a formatting function in that branch that works well + sometimes but is far more frustrating than it is helpful for enough + workflows that it should be removed. + + Signed-off-by: Jason Boyer + Signed-off-by: Kathy Lussier + +3 3 Open-ILS/src/templates/staff/cat/volcopy/t_attr_edit.tt2 +0 13 Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js + +commit 2b943b5910694bacdd6f6eba02c3329c24860e91 +Author: Chris Sharp +Date: Tue Nov 28 13:42:26 2017 -0500 + + LP#1734963: Teach copy template converter about older templates. + + The XUL-to-web-client copy template converter created to fix + bug 1691269 needs a little help when the value stored is a + number rather than a string. + + Thanks to Jeff Godin for troubleshooting help and Mike + Rylander for the suggested solution. + + Signed-off-by: Chris Sharp + Signed-off-by: Jeff Godin + +1 1 Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js + +commit baf8de07be4366d31ca6a246643ed52d4fd81ec2 +Author: Mike Rylander +Date: Mon Nov 27 13:53:40 2017 -0500 + + Stamping upgrade script for xul-to-web copy template translation + + Signed-off-by: Mike Rylander + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +8 0 Open-ILS/src/sql/Pg/upgrade/1084.schema.webstaff.cat.copy.templates.sql +0 8 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.webstaff.cat.copy.templates.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/1084.schema.webstaff.cat.copy.templates.sql + delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.webstaff.cat.copy.templates.sql + +commit e0d1a525c9831d820471cf2282f45d5f2fa2c7e7 +Author: Galen Charlton +Date: Mon Nov 27 13:24:39 2017 -0500 + + LP#1691269: (follow-up) fix whitespace to match local style + + Signed-off-by: Galen Charlton + Signed-off-by: Mike Rylander + +110 109 Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js + +commit c88bcc3a6ccdd7bb92dfb71680f5ecca71ed9446 +Author: Galen Charlton +Date: Mon Nov 27 13:17:29 2017 -0500 + + LP#1691269: add unit test for convert_xul_templates + + Signed-off-by: Galen Charlton + Signed-off-by: Mike Rylander + +21 0 Open-ILS/web/js/ui/default/staff/test/unit/egVolCopy.js + create mode 100644 Open-ILS/web/js/ui/default/staff/test/unit/egVolCopy.js + +commit b263155b9d8f8fbd532cc9dfc952caf5d6e5c001 +Author: Galen Charlton +Date: Mon Nov 27 12:46:33 2017 -0500 + + LP#1691269: include volume fields in converted copy templates + + This patch insures that call number prefix, suffix, and classification + scheme from copy templates created in the XUL unified copy editor are + brought over to web staff copy templates. + + Note that in order to successfully test the call number portion of + converted copy templates in the web staff client, the volume/copy editor + default "Allow Call Number attributes in Copy Templates" should be + turned on. + + Signed-off-by: Galen Charlton + Signed-off-by: Mike Rylander + +21 10 Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js + +commit e07b62946b9029bef7c836e7e906542349df588c +Author: Galen Charlton +Date: Mon Nov 27 11:08:23 2017 -0500 + + LP#1691269: (follow-up) include new cust in seed data + + Also s/Copier/Copy/. + + Signed-off-by: Galen Charlton + Signed-off-by: Mike Rylander + +6 0 Open-ILS/src/sql/Pg/950.data.seed-values.sql +1 1 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.webstaff.cat.copy.templates.sql + +commit 8f2c36e485a75574f12fb9b215b76468089a2aed +Author: Jason Boyer +Date: Sun Oct 22 15:42:02 2017 -0400 + + LP1691269: Webstaff Copy Editor Templates + + This branch will translate and transfer your XUL client templates + the first time you load the web client copy editor. From that point + on the two diverge with no further connection to each other. + + This branch also allows your copy templates to travel with you + between browsers, machines, and so on, while still allowing users + that share a browser but not usernames to have their own templates. + + Signed-off-by: Jason Boyer + Signed-off-by: Cesar Velez + Signed-off-by: Galen Charlton + Signed-off-by: Mike Rylander + +8 0 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.webstaff.cat.copy.templates.sql +113 12 Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.webstaff.cat.copy.templates.sql + +commit 582fd4dfb03a5843fcb21b6201668799f7fdc1b8 +Author: Jason Stephenson +Date: Thu Jun 15 14:11:41 2017 -0400 + + LP 1698176: Return undef with die event in Actor.pm _add_patron function. + + If the CStoreEditor create_actor_user call fails in the _add_patron + helper function in OpenILS/Application/Actor.pm, the CStorEditor's + die_event is returned as a scalar value. The caller expects a list + return with two values: the user object in index 0 and the event, if + any, in index 1. + + Returning just the event causes the caller to use the event as if it + were the user object. This leads to a different error message later + in the code: Can't call method "billing_address" on unblessed + reference at /path/to/perlib/OpenILS/Application/Actor.pm line 743. + + This commit changes the return value in the event of a database insert + failure to be the two member list as expected by the caller with undef + in index 0 and the die_event in index 1. This returns the proper + error message to the client. + + Signed-off-by: Jason Stephenson + Signed-off-by: Cesar Velez + +1 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm + +commit 1566db97d03d7662d606e5b982b523ccd7db3e3a +Author: Jeff Godin +Date: Tue Nov 7 16:29:03 2017 -0500 + + LP#1671150 Document unaccented name index fix + + Release notes for evergreen.unaccent_and_squash function (and + dependent indexes) fix. + + Signed-off-by: Jeff Godin + Signed-off-by: Jason Stephenson + +27 0 docs/RELEASE_NOTES_NEXT/patron_name_username_index_fixes.adoc + create mode 100644 docs/RELEASE_NOTES_NEXT/patron_name_username_index_fixes.adoc + +commit 32106cae037a5150fa0a66b2349c1558cbb7936c +Author: Jason Stephenson +Date: Fri Nov 17 15:15:15 2017 -0500 + + LP#1671150 Stamp database upgrade script. + + Signed-off-by: Jason Stephenson + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +31 0 Open-ILS/src/sql/Pg/upgrade/1083.scema.qualify_unaccent_refs.sql +0 32 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.qualify_unaccent_refs.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/1083.scema.qualify_unaccent_refs.sql + delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.qualify_unaccent_refs.sql + +commit f2ef1a495a9646978b014457f9e15e1be44d5a18 +Author: Jeff Godin +Date: Thu Jun 22 20:03:29 2017 -0400 + + LP#1671150 fix unqualified unaccent call + + Fix index creation failures when using pg_restore by qualifying the + unaccent() function call in evergreen.unaccent_and_squash() + + Signed-off-by: Jeff Godin + Signed-off-by: Jason Stephenson + +1 1 Open-ILS/src/sql/Pg/000.functions.general.sql +32 0 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.qualify_unaccent_refs.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.qualify_unaccent_refs.sql + +commit 1ff3db58f4ba577b4a57f56f2624d475a73c2a5c +Author: Kathy Lussier +Date: Fri Nov 17 12:40:43 2017 -0500 + + LP#1708489: Adjust sample holds status + + Changed the sample holds status to a status that would show up on a real-world holds + shelf. + + Signed-off-by: Kathy Lussier + +1 1 Open-ILS/web/js/ui/default/staff/admin/workstation/app.js + +commit 0ceb9a7b96218cbee0c55e4f9cac4d4bebb380d1 +Author: Kyle Huckins +Date: Tue Oct 24 18:12:31 2017 +0000 + + LP#1708489 Hold Shelf Print Template Additions + + - Add Hold Status and Shelf Expiry Date to Hold Shelf Print + Template + + Signed-off-by: Kyle Huckins + + Changes to be committed: + modified: Open-ILS/src/templates/staff/share/print_templates/t_hold_shelf_list.tt2 + modified: Open-ILS/web/js/ui/default/staff/admin/workstation/app.js + + Signed-off-by: Kathy Lussier + +6 0 Open-ILS/src/templates/staff/share/print_templates/t_hold_shelf_list.tt2 +8 4 Open-ILS/web/js/ui/default/staff/admin/workstation/app.js + +commit e36fb5f86df30d9328838e4f57c9514ab19bd0f9 +Author: Kathy Lussier +Date: Fri Nov 17 12:11:12 2017 -0500 + + LP#1708487: Update helper text in print template + + Update the helper text for title and barcode for bills printer templates to + include xact. + + Signed-off-by: Kathy Lussier + +3 3 Open-ILS/src/templates/staff/share/print_templates/t_bills_current.tt2 +3 3 Open-ILS/src/templates/staff/share/print_templates/t_bills_historical.tt2 + +commit b181904f2b448a67e1fc03ea06876092beb77baf +Author: Kyle Huckins +Date: Mon Oct 30 15:55:24 2017 +0000 + + LP#1708487 Add Title and Barcode to Bill Print Templates + + - Add additional documentation to Bills, Current; Bills, Payment; and Bills, + Historical print templates. + - Convert xacts to objects containing all required information for print + templates + + Signed-off-by: Kyle Huckins + + Changes to be committed: + modified: Open-ILS/src/templates/staff/share/print_templates/t_bill_payment.tt2 + modified: Open-ILS/src/templates/staff/share/print_templates/t_bills_current.tt2 + modified: Open-ILS/src/templates/staff/share/print_templates/t_bills_historical.tt2 + modified: Open-ILS/web/js/ui/default/staff/circ/patron/bills.js + + Signed-off-by: Kathy Lussier + +3 0 Open-ILS/src/templates/staff/share/print_templates/t_bill_payment.tt2 +2 1 Open-ILS/src/templates/staff/share/print_templates/t_bills_current.tt2 +2 0 Open-ILS/src/templates/staff/share/print_templates/t_bills_historical.tt2 +46 6 Open-ILS/web/js/ui/default/staff/circ/patron/bills.js + +commit 778bf4788ea7ef9ab328fcd8f8a424289ec51a7a +Author: Kyle Huckins +Date: Thu Nov 16 23:54:48 2017 +0000 + + lp1646210 Call Number Affixes Waiting for Copy bugfix + + -Checks for a volume in hold data, preventing broken grids in cases + where a hold is waiting for copy + + Signed-off-by: Kyle Huckins + + Changes to be committed: + modified: Open-ILS/web/js/ui/default/staff/circ/services/holds.js + + Signed-off-by: Kathy Lussier + +10 8 Open-ILS/web/js/ui/default/staff/circ/services/holds.js + +commit 848811a6886152c9ba499646da4be59feb9c7ecd +Author: Jane Sandberg +Date: Fri Nov 17 06:04:21 2017 -0800 + + Docs: updating SIP docs + + Signed-off-by: Jane Sandberg + +50 0 docs/admin/sip_privacy.adoc +32 3 docs/admin/sip_server.adoc +6 0 docs/root.adoc +2 0 docs/root_integrations.adoc + create mode 100644 docs/admin/sip_privacy.adoc + +commit 6f7e36dcb45fa088483f4ff6a4dc8217b0204dd9 +Author: Jane Sandberg +Date: Thu Nov 16 21:25:21 2017 -0800 + + Docs: Set Per-OU Limits on Allowed Payment Amounts + + Signed-off-by: Jane Sandberg + +22 0 docs/admin/allowed_payments.adoc +6 0 docs/root_staff_client_admin.adoc + create mode 100644 docs/admin/allowed_payments.adoc + +commit 2d9249978032e6d0e1f8a56180a33deb02dd20ec +Author: Jane Sandberg +Date: Thu Nov 16 20:29:11 2017 -0800 + + Docs: search scope info + + Signed-off-by: Jane Sandberg + +20 0 docs/admin/search_interface.adoc + +commit 153b577a88109fcbc4b35cf09808f62bc8c2febb +Author: Jane Sandberg +Date: Thu Nov 16 20:11:20 2017 -0800 + + Docs: making tt2 docs more modular + + Signed-off-by: Jane Sandberg + +100 0 docs/admin/search_interface.adoc +0 97 docs/admin_initial_setup/designing_your_catalog.adoc +2 0 docs/root_command_line_admin.adoc + create mode 100644 docs/admin/search_interface.adoc + +commit a40ec493b098f9cd848902079cbdf6dd90232fc8 +Author: Angela Kilsdonk +Date: Thu Nov 16 07:35:34 2017 -0800 + + Docs: Asciidoc fixes + + Fixed capitalization for image file formats. + + Signed-off-by: Angela Kilsdonk + Signed-off-by: Angela Kilsdonk + +3 2 docs/cataloging/copy_tags_cataloging.adoc +1 1 docs/circulation/circulation_patron_records_web_client.adoc + +commit 2413862777a384bb0493d5c18b65182fb99a1b61 +Author: Angela Kilsdonk +Date: Thu Nov 9 15:30:45 2017 -0800 + + Docs: User Buckets + + Documentation for user buckets. + + Signed-off-by: Angela Kilsdonk + Signed-off-by: Angela Kilsdonk + +154 0 docs/circulation/circulation_patron_records_web_client.adoc +- - docs/media/userbucket1.PNG +- - docs/media/userbucket10.png +- - docs/media/userbucket11.PNG +- - docs/media/userbucket12.PNG +- - docs/media/userbucket2.PNG +- - docs/media/userbucket3.PNG +- - docs/media/userbucket4.PNG +- - docs/media/userbucket5.PNG +- - docs/media/userbucket6.png +- - docs/media/userbucket7.PNG +- - docs/media/userbucket8.PNG +- - docs/media/userbucket9.PNG + create mode 100644 docs/media/userbucket1.PNG + create mode 100644 docs/media/userbucket10.png + create mode 100644 docs/media/userbucket11.PNG + create mode 100644 docs/media/userbucket12.PNG + create mode 100644 docs/media/userbucket2.PNG + create mode 100644 docs/media/userbucket3.PNG + create mode 100644 docs/media/userbucket4.PNG + create mode 100644 docs/media/userbucket5.PNG + create mode 100644 docs/media/userbucket6.png + create mode 100644 docs/media/userbucket7.PNG + create mode 100644 docs/media/userbucket8.PNG + create mode 100644 docs/media/userbucket9.PNG + +commit af1b87a2bffa05c87030b09acdbb83873d5dc79a +Author: Angela Kilsdonk +Date: Thu Nov 9 14:27:13 2017 -0800 + + Docs: Copy Tags/Digital Bookplates + + Documentation for the copy tags feature. + + Signed-off-by: Angela Kilsdonk + +75 0 docs/admin/copy_tags_admin.adoc +93 0 docs/cataloging/copy_tags_cataloging.adoc +- - docs/media/copytags1.PNG +- - docs/media/copytags10.png +- - docs/media/copytags11.png +- - docs/media/copytags2.PNG +- - docs/media/copytags3.PNG +- - docs/media/copytags4.PNG +- - docs/media/copytags5.PNG +- - docs/media/copytags6.png +- - docs/media/copytags7.PNG +- - docs/media/copytags8.PNG +- - docs/media/copytags9.PNG +3 0 docs/root.adoc +1 0 docs/root_cataloging.adoc +2 0 docs/root_staff_client_admin.adoc + create mode 100644 docs/admin/copy_tags_admin.adoc + create mode 100644 docs/cataloging/copy_tags_cataloging.adoc + create mode 100644 docs/media/copytags1.PNG + create mode 100644 docs/media/copytags10.png + create mode 100644 docs/media/copytags11.png + create mode 100644 docs/media/copytags2.PNG + create mode 100644 docs/media/copytags3.PNG + create mode 100644 docs/media/copytags4.PNG + create mode 100644 docs/media/copytags5.PNG + create mode 100644 docs/media/copytags6.png + create mode 100644 docs/media/copytags7.PNG + create mode 100644 docs/media/copytags8.PNG + create mode 100644 docs/media/copytags9.PNG + +commit 095b58d29d286ddf69e81f848ec8ba5ebfa1c083 +Author: Angela Kilsdonk +Date: Thu Nov 9 14:00:05 2017 -0800 + + Docs: Patron Search to Place Hold + + Patron search functionality while placing a hold in the staff client. Docs written by Mary Jinglewski. + + Signed-off-by: Angela Kilsdonk + Signed-off-by: Angela Kilsdonk + +37 0 docs/circulation/basic_holds.adoc +- - docs/media/PlaceHold-0.JPG +- - docs/media/PlaceHold-1.JPG +- - docs/media/PlaceHold-2.JPG +- - docs/media/PlaceHold-3.JPG +- - docs/media/PlaceHold-4.JPG +- - docs/media/PlaceHold-5.JPG +- - docs/media/PlaceHold-6.JPG + create mode 100644 docs/media/PlaceHold-0.JPG + create mode 100644 docs/media/PlaceHold-1.JPG + create mode 100644 docs/media/PlaceHold-2.JPG + create mode 100644 docs/media/PlaceHold-3.JPG + create mode 100644 docs/media/PlaceHold-4.JPG + create mode 100644 docs/media/PlaceHold-5.JPG + create mode 100644 docs/media/PlaceHold-6.JPG + +commit 599a1135d0ce8a5af3d3f03ce41157b386cb76ae +Author: Angela Kilsdonk +Date: Thu Nov 9 13:31:21 2017 -0800 + + Docs: Serials Module 3.0 + + Documentation for the Serials module in Evergreen 3.0 + + Signed-off-by: Angela Kilsdonk + Signed-off-by: Angela Kilsdonk + +- - docs/media/serials_ct1.PNG +- - docs/media/serials_extra1.PNG +- - docs/media/serials_extra2.PNG +- - docs/media/serials_mfhd1.PNG +- - docs/media/serials_mfhd2.PNG +- - docs/media/serials_mfhd3.PNG +- - docs/media/serials_mfhd4.PNG +- - docs/media/serials_mfhd5.PNG +- - docs/media/serials_mfhd6.PNG +- - docs/media/serials_routing1.PNG +- - docs/media/serials_sub0.PNG +- - docs/media/serials_sub1.PNG +- - docs/media/serials_sub10.PNG +- - docs/media/serials_sub11.PNG +- - docs/media/serials_sub2.PNG +- - docs/media/serials_sub3.PNG +- - docs/media/serials_sub4.PNG +- - docs/media/serials_sub5.PNG +- - docs/media/serials_sub6.PNG +- - docs/media/serials_sub7.PNG +- - docs/media/serials_sub8.PNG +- - docs/media/serials_sub9.PNG +- - docs/media/serials_wizard1.PNG +- - docs/media/serials_wizard2.PNG +- - docs/media/serials_wizard3.PNG +- - docs/media/serials_wizard4.PNG +- - docs/media/serials_wizard5.PNG +- - docs/media/serials_wizard6.PNG +6 6 docs/root.adoc +8 8 docs/root_serials.adoc +1 29 docs/serials/A-intro.adoc +0 41 docs/serials/B-copy_template.adoc +151 0 docs/serials/B-serials_admin.adoc +142 0 docs/serials/C-serials_workflow.adoc +0 218 docs/serials/C-subscription-SCV.adoc +88 0 docs/serials/D-Receiving.adoc +0 216 docs/serials/D-subscription-ASCV.adoc +0 19 docs/serials/E-edit_subscriptions.adoc +19 0 docs/serials/E-routing_lists.adoc +0 102 docs/serials/F-Receiving.adoc +36 0 docs/serials/F-Special_issue.adoc +0 9 docs/serials/G-Special_issue.adoc +10 0 docs/serials/G-binding.adoc +29 13 docs/serials/H-holdings_statements.adoc + create mode 100644 docs/media/serials_ct1.PNG + create mode 100644 docs/media/serials_extra1.PNG + create mode 100644 docs/media/serials_extra2.PNG + create mode 100644 docs/media/serials_mfhd1.PNG + create mode 100644 docs/media/serials_mfhd2.PNG + create mode 100644 docs/media/serials_mfhd3.PNG + create mode 100644 docs/media/serials_mfhd4.PNG + create mode 100644 docs/media/serials_mfhd5.PNG + create mode 100644 docs/media/serials_mfhd6.PNG + create mode 100644 docs/media/serials_routing1.PNG + create mode 100644 docs/media/serials_sub0.PNG + create mode 100644 docs/media/serials_sub1.PNG + create mode 100644 docs/media/serials_sub10.PNG + create mode 100644 docs/media/serials_sub11.PNG + create mode 100644 docs/media/serials_sub2.PNG + create mode 100644 docs/media/serials_sub3.PNG + create mode 100644 docs/media/serials_sub4.PNG + create mode 100644 docs/media/serials_sub5.PNG + create mode 100644 docs/media/serials_sub6.PNG + create mode 100644 docs/media/serials_sub7.PNG + create mode 100644 docs/media/serials_sub8.PNG + create mode 100644 docs/media/serials_sub9.PNG + create mode 100644 docs/media/serials_wizard1.PNG + create mode 100644 docs/media/serials_wizard2.PNG + create mode 100644 docs/media/serials_wizard3.PNG + create mode 100644 docs/media/serials_wizard4.PNG + create mode 100644 docs/media/serials_wizard5.PNG + create mode 100644 docs/media/serials_wizard6.PNG + delete mode 100644 docs/serials/B-copy_template.adoc + create mode 100644 docs/serials/B-serials_admin.adoc + create mode 100644 docs/serials/C-serials_workflow.adoc + delete mode 100644 docs/serials/C-subscription-SCV.adoc + create mode 100644 docs/serials/D-Receiving.adoc + delete mode 100644 docs/serials/D-subscription-ASCV.adoc + delete mode 100644 docs/serials/E-edit_subscriptions.adoc + create mode 100644 docs/serials/E-routing_lists.adoc + delete mode 100644 docs/serials/F-Receiving.adoc + create mode 100644 docs/serials/F-Special_issue.adoc + delete mode 100644 docs/serials/G-Special_issue.adoc + create mode 100644 docs/serials/G-binding.adoc + +commit 5da69824b881808bc6540baa41b8fa9605ddb20e +Author: Jane Sandberg +Date: Sun Nov 12 10:28:01 2017 -0800 + + Docs: small fixes to closed dates editor + + Signed-off-by: Jane Sandberg + +11 3 docs/admin/closed_dates.adoc + +commit c87d248a028bb8f6d0722a87b8ef165b9a130e7d +Author: Galen Charlton +Date: Fri Nov 10 16:43:29 2017 -0500 + + LP#1723498: fix display of count of duplicate patrons + + This patch fixes an issue where the patron registration + form's alert for duplicate phone numbers did not display + the count of matching records. (This was caused by code + that was expecting a string to be passed by reference + when it's passed by value in JavaScript). + + Signed-off-by: Galen Charlton + +3 3 Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 + +commit abfdec795107c01cd96273f8a279eea5603d00c9 +Author: Bill Erickson +Date: Thu Nov 9 10:46:50 2017 -0500 + + LP#1723498 Patron reg/edit dupe search repairs + + Avoid clobbering duplicate patron search links by managing search URLs + individually by search type and displaying a search link per search + type. + + This change includes an improvement over the XUL version in that a link + will be displayed per matching phone number so each can be searched, + instead of only searching the most recently entered phone number. + + Signed-off-by: Bill Erickson + Signed-off-by: Terra McCanna + Signed-off-by: Galen Charlton + +18 6 Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 +9 3 Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js + +commit 14a567ab209c4d7e95dcde5b334fd8a71fba23bf +Author: Bill Erickson +Date: Thu Nov 9 11:39:12 2017 -0500 + + LP#1731496 Avoid PhantomJS BroadcastChannel failure + + Avoid attempts to create BroadcastChannel objects in contexts where the + object does not exist. Specifically, allow PhantomJS to run unit tesst + without dying on: + + ReferenceError: Can't find variable: BroadcastChannel + + Signed-off-by: Bill Erickson + Signed-off-by: Chris Sharp + +4 1 Open-ILS/web/js/ui/default/staff/services/auth.js + +commit f26c0af05900f3457a69b23dffb5ccfe3630f4cc +Author: Jane Sandberg +Date: Thu Nov 9 10:54:19 2017 -0600 + + Docs: Re-adding the library settings for patron self-registration + + Signed-off-by: Jane Sandberg + +52 0 docs/admin/patron_self_registration.adoc +2 0 docs/root.adoc +2 0 docs/root_staff_client_admin.adoc + create mode 100644 docs/admin/patron_self_registration.adoc + +commit 1ac9976fa102b2505e18bbeb4e999e4aab5be5ef +Author: Galen Charlton +Date: Tue Nov 7 13:41:55 2017 -0500 + + LP#1708488: adjust how patron financial summary is exposed to checkout receipts + + This patch builds on the previous patch by grabbing the patron's + financial summary from the patron stats values. The "patron_money" + template value is no longer associated with a particular loan, meaning + that you can do things like this: + + You owe the library ${{patron_money.balance_owed}} + + The additional values include + + * patron_money.balance_owed - current balance + * patron_money.total_paid - payments made on outstanding fines/fees + * patron_money.total_owed - total of outstanding fines/fees + + Signed-off-by: Galen Charlton + Signed-off-by: Terra McCanna + Signed-off-by: Galen Charlton + +6 1 Open-ILS/src/templates/staff/share/print_templates/t_checkout.tt2 +7 6 Open-ILS/web/js/ui/default/staff/admin/workstation/app.js +2 1 Open-ILS/web/js/ui/default/staff/circ/patron/checkout.js + +commit d6e3f5ffa59106c84ed86565c11b9c314af59ca1 +Author: Kyle Huckins +Date: Fri Oct 27 16:24:04 2017 +0000 + + LP#1708488 Checkout Print Template Balance Owed + + Add Patron's money summary to Circulations in Checkout print template. + + Signed-off-by: Kyle Huckins + Signed-off-by: Terra McCanna + Signed-off-by: Galen Charlton + +1 0 Open-ILS/src/templates/staff/share/print_templates/t_checkout.tt2 +6 1 Open-ILS/web/js/ui/default/staff/admin/workstation/app.js +1 0 Open-ILS/web/js/ui/default/staff/circ/patron/checkout.js + +commit ac0051ddd72aed9dd0235cca4690648406205df8 +Author: Jane Sandberg +Date: Thu Nov 9 10:20:24 2017 -0600 + + Docs: adding introduction section to webclient offline docs + + Signed-off-by: Jane Sandberg + +3 0 docs/circulation/offline_circ_webclient.adoc + +commit 6120ed55b4f9939e8a210980a46af1dd3bba87ce +Author: Galen Charlton +Date: Thu Nov 9 11:17:44 2017 -0500 + + LP#1731281: stamp database update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +7 0 Open-ILS/src/sql/Pg/upgrade/1082.data.lp1731281-acvac-cleanup.sql +0 7 Open-ILS/src/sql/Pg/upgrade/XXXX.data.lp1731281-acvac-cleanup.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/1082.data.lp1731281-acvac-cleanup.sql + delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.lp1731281-acvac-cleanup.sql + +commit 1bff2b42413d1fb771fed1d4d1dca920d76b5a3a +Author: Jason Boyer +Date: Thu Nov 9 09:55:42 2017 -0500 + + LP1731281: Remove Deleted Items From acvac Table + + The script that created the acvac table accidentally + included entries for deleted items which leads to confusion + when titles the library no longer owns are displayed as + available again, even though no copies appear on the record + detail page. This upgrade script removes any that are left + there. + + Signed-off-by: Jason Boyer + Signed-off-by: Galen Charlton + +7 0 Open-ILS/src/sql/Pg/upgrade/XXXX.data.lp1731281-acvac-cleanup.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.lp1731281-acvac-cleanup.sql + +commit c015ef10b2392d5125a31edeb9be5aa8c3a11b57 +Author: Jane Sandberg +Date: Thu Nov 9 10:16:09 2017 -0600 + + Docs: adding offline circ webclient docs to circ manual + + Signed-off-by: Jane Sandberg + +1 1 docs/root_circulation.adoc + +commit ddc2021006cce2123085eab352d878fe1e812469 +Author: Galen Charlton +Date: Thu Nov 9 10:44:17 2017 -0500 + + LP#1724223: stamp schema update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +24 0 Open-ILS/src/sql/Pg/upgrade/1081.schema.lp1724223-re-inherited.sql +0 24 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1724223-re-inherited.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/1081.schema.lp1724223-re-inherited.sql + delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1724223-re-inherited.sql + +commit 46924dd20a681e1fb91ad90f39bc0ef74e5dfa05 +Author: Galen Charlton +Date: Thu Nov 9 10:37:52 2017 -0500 + + LP#1724223: tweak upgrade script + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1724223-re-inherited.sql + +commit ab7e59152a2e6f00a3e7af477ac268e3dc97da8b +Author: Jason Boyer +Date: Tue Oct 17 22:10:46 2017 -0500 + + LP1724223: Fix inherited FKEY triggers + + When running these triggers on TG_OP=DELETE they + always fail and prevent the delete. Skipping the + triggers on DELETE allows things to continue as + usual. + + To test + ------- + Verify that after applying the patch that you can remove + notes and copy tags from copies and copies from buckets + and Vandely import queues. + + Signed-off-by: Jason Boyer + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/070.schema.container.sql +3 3 Open-ILS/src/sql/Pg/800.fkeys.sql +24 0 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1724223-re-inherited.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1724223-re-inherited.sql + +commit 290a5f7eff55eb5e0addf26399e3efac5725c628 +Author: Bill Erickson +Date: Thu Oct 19 14:46:01 2017 -0400 + + LP#1724915 Webstaff auth timeout works w/ multiple tabs + + Adds a new API parameter to open-ils.session.retrieve which allows the + session to be fetched without extending the auth session timeout. + + Teach the browser client to use the new API. + + Teach the browser client to notify all webstaff tabs when a logout event + has occurred, so every tab can immediately log out. + + To test + ------- + [0] Apply the patch. + [1] Log in the web staff client, then open a new window/tab + and navigate to the web staff client. + [2] Log out of the web staff client in one window. Verify that + the second window automatically refreshes and goes to the + login page. + [3] Set a low staff idle timeout (optional). + [4] Repeat step 1, then wait for the timeout. Verify that the + staff client is logged out in both windows. + + Signed-off-by: Bill Erickson + Signed-off-by: Galen Charlton + Signed-off-by: Mike Rylander + +17 4 Open-ILS/src/c-apps/oils_auth.c +30 7 Open-ILS/web/js/ui/default/staff/services/auth.js +7 2 Open-ILS/web/js/ui/default/staff/services/startup.js + +commit fdc827c5deb07da51c3668d923b466759050d519 +Author: Cesar Velez +Date: Fri Oct 6 17:57:45 2017 -0400 + + LP#1710731 - fix webstaff hold slip and other templates missing call number + + Added call number to various dialogs and printtemplates + that lacked them. + + Signed-off by: Cesar Velez + +4 0 Open-ILS/src/templates/staff/circ/share/t_hold_shelf_dialog.tt2 +4 0 Open-ILS/src/templates/staff/circ/share/t_transit_dialog.tt2 +3 0 Open-ILS/src/templates/staff/share/print_templates/t_hold_shelf_slip.tt2 +7 2 Open-ILS/web/js/ui/default/staff/circ/services/circ.js + +commit 01251ff4d3b410e98e3a2e5e50d24d610c1b1bdb +Author: Remington Steed +Date: Wed Nov 8 16:39:27 2017 -0500 + + Docs: Improve warning format in ebook api section + + Signed-off-by: Remington Steed + +1 2 docs/admin/ebook_api.adoc + +commit 98d223150bc83f498bc40ffbc1322ce659fa932d +Author: Mike Rylander +Date: Wed Oct 18 16:52:31 2017 -0400 + + LP#1527731: Allow specified join order + + With this commit we now support user-defined join order in cstore and friends. + Previously, because the join structure of oils_sql beyond the specification of + a single table was only allowed to be represented as a JSON object, it was + subject to potential hash key reordering -- thanks, Perl. By supporting an + intervening array layer, one can now specify the exact join order of the + tables in a join tree. + + For example, given the following JSON object passing through a modern Perl 5 + interpreter as a nested hash: + + {select : {acp:['id'], + acn:['record'], + acpl:['name'] + }, + from : {acp: + {acn:{filter:{record:12345}}, + acpl:null + } + } + } + + the FROM clause of the query may end up as: + + FROM acp + JOIN acn ON (acp.call_number = acn.id AND acn.record = 12345) + JOIN acpl ON (acp.location = acpl.id) + + Or as: + + FROM acp + JOIN acpl ON (acp.location = acpl.id) + JOIN acn ON (acp.call_number = acn.id AND acn.record = 12345) + + In some situations, the join order will matter either to the semantics of the + query plan, or to its performance. The following example of the newly + supported syntax illustrates how to specify join order: + + {select : {acp:['id'], + acn:['record'], + acpl:['name'] + }, + from : {acp:[ + {acn:{filter:{record:12345}}}, + 'acpl' + ]} + } + + And the only FROM clause the can be generated is: + + FROM acp + JOIN acn ON (acp.call_number = acn.id AND acn.record = 12345) + JOIN acpl ON (acp.location = acpl.id) + + Why is this important + --------------------- + While Postgres' planner is very smart, a join tree with many tables may create + a plan search space that is simply too large to be tested effeciently. In such + cases, Postgres will do its best to find a good plan for the query using its + GEQO algorithm. Often, a DBA or developer has enough understanding of the + expected relative data sizes involved to give Postgres a leg up by specifying + a join order that improves the planner's chances of generating an optimal plan. + + Signed-off-by: Mike Rylander + Signed-off-by: Jason Stephenson + Signed-off-by: Galen Charlton + +270 208 Open-ILS/src/c-apps/oils_sql.c +23 23 Open-ILS/src/perlmods/lib/OpenILS/Application/AppUtils.pm +2 2 Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm + +commit 7cdcc656f8bb85e200872cf5579780d9106a543b +Author: Kyle Huckins +Date: Tue Oct 17 20:11:25 2017 +0000 + + LP#1646210 Add CN Affixes to Grids WIP + + Adds Call Number Suffixes and Prefixes to the following grids: + - Copy Buckets + - Pending Copy Buckets + - Checkin/Capture Holds + - Patron Holds + - Patron Checkout + - Patron Items Out + - Patron Bill History + - Holds Shelf + - Renew Items + - In-House Uses + - Bib Record View Holds + - Patron Bill History + - Transit List + - Copy Editor + + Signed-off-by: Kyle Huckins + + Changes to be committed: + modified: Open-ILS/src/templates/staff/cat/bucket/copy/t_pending.tt2 + modified: Open-ILS/src/templates/staff/cat/bucket/copy/t_view.tt2 + modified: Open-ILS/src/templates/staff/cat/catalog/t_holds.tt2 + modified: Open-ILS/src/templates/staff/cat/volcopy/t_edit.tt2 + modified: Open-ILS/src/templates/staff/circ/checkin/t_checkin_table.tt2 + modified: Open-ILS/src/templates/staff/circ/holds/t_shelf_list.tt2 + modified: Open-ILS/src/templates/staff/circ/in_house_use/index.tt2 + modified: Open-ILS/src/templates/staff/circ/patron/t_bill_history_xacts.tt2 + modified: Open-ILS/src/templates/staff/circ/patron/t_checkout.tt2 + modified: Open-ILS/src/templates/staff/circ/patron/t_holds_list.tt2 + modified: Open-ILS/src/templates/staff/circ/patron/t_items_out.tt2 + modified: Open-ILS/src/templates/staff/circ/renew/t_renew.tt2 + modified: Open-ILS/src/templates/staff/circ/transits/t_list.tt2 + modified: Open-ILS/web/js/ui/default/staff/circ/in_house_use/app.js + modified: Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js + modified: Open-ILS/web/js/ui/default/staff/circ/services/circ.js + modified: Open-ILS/web/js/ui/default/staff/circ/services/holds.js + modified: Open-ILS/web/js/ui/default/staff/circ/transits/list.js + + Signed-off-by: Kathy Lussier + +2 0 Open-ILS/src/templates/staff/cat/bucket/copy/t_pending.tt2 +2 0 Open-ILS/src/templates/staff/cat/bucket/copy/t_view.tt2 +2 0 Open-ILS/src/templates/staff/cat/catalog/t_holds.tt2 +2 0 Open-ILS/src/templates/staff/cat/volcopy/t_edit.tt2 +2 0 Open-ILS/src/templates/staff/circ/checkin/t_checkin_table.tt2 +2 0 Open-ILS/src/templates/staff/circ/holds/t_shelf_list.tt2 +2 0 Open-ILS/src/templates/staff/circ/in_house_use/index.tt2 +2 0 Open-ILS/src/templates/staff/circ/patron/t_bill_history_xacts.tt2 +2 0 Open-ILS/src/templates/staff/circ/patron/t_checkout.tt2 +2 0 Open-ILS/src/templates/staff/circ/patron/t_holds_list.tt2 +2 0 Open-ILS/src/templates/staff/circ/patron/t_items_out.tt2 +7 1 Open-ILS/src/templates/staff/circ/renew/t_renew.tt2 +2 0 Open-ILS/src/templates/staff/circ/transits/t_list.tt2 +1 1 Open-ILS/web/js/ui/default/staff/circ/in_house_use/app.js +1 1 Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js +8 0 Open-ILS/web/js/ui/default/staff/circ/services/circ.js +11 0 Open-ILS/web/js/ui/default/staff/circ/services/holds.js +1 1 Open-ILS/web/js/ui/default/staff/circ/transits/list.js + +commit b3e19ebb87f7da4357d730f561e8e107d762fe97 +Author: Kathy Lussier +Date: Mon Sep 25 10:29:56 2017 -0400 + + LP#1672435: Make BR4's sample theses copy location holdable + + All of the part copies in the sample dataset live in a non-holdable + copy location, usually BR4's Theses location. This commit makes + that copy location holdable so that we can better test part holds + out of the box. + + Signed-off-by: Kathy Lussier + Signed-off-by: Ben Shum + +1 1 Open-ILS/tests/datasets/sql/assets_extras.sql + +commit 938c5eab51d1223076e9a6bb667d2bf63f7be8db +Author: Mike Rylander +Date: Wed Nov 1 18:22:21 2017 -0400 + + LP#1704396: reset the facet alarm timer + + When using alarm() one must reset the timer via alarm(0) or incur the wrath + of the spurious signal. + + Signed-off-by: Mike Rylander + Signed-off-by: Jason Stephenson + +3 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm + +commit 2e1fd6c8e3354e504ba830d6c02f94a8c87fe50d +Author: Remington Steed +Date: Wed Nov 8 11:57:16 2017 -0500 + + Docs: Improve adoc list syntax in badges section + + This commit fixes some minor formatting issues with the numbered list, + and improves readability of the AsciiDoc file. + + Signed-off-by: Remington Steed + +25 24 docs/admin/popularity_badges_web_client.adoc + +commit cc7f12d51ce534ea03998804dcbb49582869873f +Author: Remington Steed +Date: Wed Nov 8 11:56:42 2017 -0500 + + Docs: Fix two AsciiDoc syntax warnings + + A recent commit removed a docs file and integrated the content into the + 3.0 release notes and the ebook_api.adoc file. This commit cleans up + two small problems left over from that commit: + + - Remove the reference to the deleted file + - Fix the warning block syntax in ebook_api.adoc + + Signed-off-by: Remington Steed + +0 2 docs/admin/ebook_api.adoc +0 2 docs/root_opac.adoc + +commit f6798096d00440661d752865efb357ad4457efa0 +Author: Galen Charlton +Date: Wed Nov 8 11:09:21 2017 -0500 + + LP#1724885: (follow-up) fix whitespace + + Signed-off-by: Galen Charlton + +12 12 Open-ILS/web/js/ui/default/staff/cat/z3950/app.js + +commit 9cb39ee97bea0fd133b439a0695c17109caf403f +Author: Chris Sharp +Date: Tue Nov 7 15:41:26 2017 -0500 + + LP#1724885 - Alert when TCN value already exists on bib import. + + To test + ------- + [1] Ensure that the global flag 'cat.bib.use_id_for_tcn' is off. + [2] Import a record via Z39.50 in the web staff client. + [3] Repeat the Z39.50 search and attempt to import the record again. + Note that the import will fail silently (with error messages + in the browser console). + [4] Apply the patch and repeat step 3. This time, an alert modal + will appear pointing out that the TCN is already in use. + + Signed-off-by: Chris Sharp + Signed-off-by: Galen Charlton + +2 0 Open-ILS/src/templates/staff/cat/share/z3950_strings.tt2 +14 2 Open-ILS/web/js/ui/default/staff/cat/z3950/app.js + +commit 56c500fc119b8dc663048b61ff6503ec6622ac9d +Author: Mike Rylander +Date: Thu Oct 5 16:25:40 2017 -0400 + + LP#1721636: UpUp needs to know about i18n.js for offline mode + + Any resource that is loaded globally, which mostly means stuff in base.tt2 + and base_js.tt2, needs to be added to the UpUp resource list so that offline + mode will function in the face of a cache clearing event. + + Signed-off-by: Mike Rylander + Signed-off-by: Galen Charlton + +14 0 Open-ILS/src/templates/staff/base_js.tt2 + +commit 6f748da77ea90323f8440fe702b60d6888021412 +Author: Galen Charlton +Date: Wed Nov 8 10:22:34 2017 -0500 + + LP#1721304: POT sync + + Done because, per LP#1686832, changes to strings in fm_IDL.xml + require one lest users of translations experience breakage. + + Signed-off-by: Galen Charlton + +1219 1197 build/i18n/po/fm_IDL.dtd/fm_IDL.dtd.pot +251 189 build/i18n/po/webstaff/webstaff.pot + +commit 5cf3a8329f4deedd457101dc8544194a00939517 +Author: Cesar Velez +Date: Thu Oct 5 17:20:29 2017 +0100 + + LP#1721304 - Add labels for config.standing_penalty in IDL xml + + This will fix ugly grid headers in web staff client on the + Patron | Message page. + + Signed-off by: Cesar Velez + Signed-off-by: Galen Charlton + + Signed-off-by: Galen Charlton + +7 7 Open-ILS/examples/fm_IDL.xml + +commit 6a31ee55a0509b28662a5793f625b6fd30d5bedd +Author: Jason Boyer +Date: Wed Oct 18 22:05:05 2017 -0500 + + LP1724725: Handle ident_type2 in Web Staff User Editor + + While it was fairly harmless to not be able to set an ident_type2 + value in the webstaff editor, the way things worked out if a user + had one set from the XUL client or direct manipulation an attempt + to save such a user would crash the cstore backend. + + To test + ------- + [1] Use the patron editor to edit a patron that has a value set + for ident_value2. Save a change, but note that nothing is + displayed and that eventually an open-ils.cstore error is + reported in the browser console. + [2] Apply the patch and repeat step 1. This time, the patron + editor will display the secondary identification type field + and allow you to save changes to the record. + + Signed-off-by: Jason Boyer + Signed-off-by: Galen Charlton + +15 0 Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 +4 0 Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js + +commit 52156bddd6bfcdd6b97a1a3123580a252793f59e +Author: Galen Charlton +Date: Tue Nov 7 17:01:02 2017 -0500 + + LP#1724246: stamp schema update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +148 0 Open-ILS/src/sql/Pg/upgrade/1080.schema.lp1724246_cache_copy_visibility.sql +0 146 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1724246_cache_copy_visibility.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/1080.schema.lp1724246_cache_copy_visibility.sql + delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1724246_cache_copy_visibility.sql + +commit 06e484e691bb4b22194c9654ada63c5083072f14 +Author: Galen Charlton +Date: Tue Nov 7 16:29:48 2017 -0500 + + LP#1724246: sync schema update script + + Signed-off-by: Galen Charlton + +11 5 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1724246_cache_copy_visibility.sql + +commit 43f88a0d3117acb8432ebcadc8976991f6fcd349 +Author: Jason Boyer +Date: Tue Oct 17 22:30:11 2017 -0500 + + LP1724246: asset.cache_copy_visibility fix + + When removing peer bib copy maps the visibility + cache wasn't updated correctly. This readjusts + the cache trigger to correct that. + + Signed-off-by: Jason Boyer + Signed-off-by: Mike Rylander + Signed-off-by: Galen Charlton + +140 0 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1724246_cache_copy_visibility.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1724246_cache_copy_visibility.sql + +commit 522304560e1c90918985e6229a1de86e29406565 +Author: Mike Rylander +Date: Tue Nov 7 11:09:07 2017 -0500 + + LP#1723977: Move no-LURIs test to be a peer of no-copies test + + The correct place to test the no-LURIs condition is as a peer to the + no-copies test, when searching in staff mode. We therefore move that + test with this commit. + + In addition, the bib attribute vector may be null, in the case of a + record with no bib source or LURI. When testing emptiness we need to + ask if the field IS NULL rather than just testing its contents. + + Signed-off-by: Mike Rylander + Signed-off-by: Jason Boyer + Signed-off-by: Galen Charlton + +4 4 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm +1 1 Open-ILS/src/sql/Pg/300.schema.staged_search.sql + +commit f98fd95bfcb2e9e3eab1d5091859e336131e1132 +Author: blake +Date: Tue Nov 7 10:14:32 2017 -0600 + + LP#1730692: fix two references to asset.copy_vis_attr_cache + + Corrected the table references in metabib.pm and site_generator. + + To test + ------- + [1] Apply the patch. + [2] Verify that sitemap_generator no longer crashes. + [3] Verify that open-ils.storage.ordered.metabib.metarecord.records can be + called without crashing. + + Signed-off-by: blake + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm +1 1 Open-ILS/src/support-scripts/sitemap_generator + +commit 41a370aa566e27045e70a3acca4eba6025ec5cf7 +Author: Galen Charlton +Date: Tue Nov 7 15:41:59 2017 -0500 + + LP#1145213: add schema update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +263 0 Open-ILS/src/sql/Pg/upgrade/1079.schema.fix_asset_merge.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/1079.schema.fix_asset_merge.sql + +commit 63dde301468c398d384a6bab648c5cfaf901e854 +Author: Galen Charlton +Date: Tue Nov 7 15:21:57 2017 -0500 + + LP#1145213: fix some typos + + Signed-off-by: Galen Charlton + +2 2 Open-ILS/src/sql/Pg/t/lp1145213_test_func_asset.merge_record_assets.pg + +commit a089d2bd27d76f52350c8b027920fd480c8eb975 +Author: Cesar Velez +Date: Fri Sep 1 10:29:36 2017 -0400 + + LP#1145213: add pgTAP test + + This tests the changes to the asset.merge_record_assets() function. + + Signed-off-by: Cesar Velez + Signed-off-by: Galen Charlton + +94 0 Open-ILS/src/sql/Pg/t/lp1145213_test_func_asset.merge_record_assets.pg + create mode 100644 Open-ILS/src/sql/Pg/t/lp1145213_test_func_asset.merge_record_assets.pg + +commit 4dc6e0546ed3f0d7d47018292de21411db009d95 +Author: Rogan Hamby +Date: Wed Aug 9 08:50:41 2017 -0400 + + LP#1145213: improvements to record merge + + This patch checks for suffix and prefix of call number before merging + assets and ensures that unused call number records are marked + deleted. + + To test: + + [0] Apply the patch. + [1] Attempt a record merge where each record has a volumes with the + same call number label and owning library but different + affixes. Verify that the volumes and their associated copies + are not merged onto the same volume.. + [2] Attempt a merge with records having matching volumes. Verify + that the copies are moved to one volume and that the other is + marked deleted. + + Signed-off-by: Rogan Hamby + Signed-off-by: Cesar Velez + Signed-off-by: Galen Charlton + +4 0 Open-ILS/src/sql/Pg/999.functions.global.sql + +commit c181ce7f9a1fbf52181b29d4ce14480188314df3 +Author: Galen Charlton +Date: Tue Nov 7 14:33:16 2017 -0500 + + LP#1671635: escape some values to avoid XSS + + Signed-off-by: Galen Charlton + +3 3 Open-ILS/src/templates/opac/parts/place_hold.tt2 + +commit b3cfaab881d557afb0c1eae818e0eef4345ff188 +Author: Kathy Lussier +Date: Fri Sep 22 15:18:12 2017 -0400 + + LP#1671635: Maintain search parameters throughout place hold process + + Add hidden fields to the Place Hold form for the search query, type + and locg fields so that they will appear correctly in the search bar + on the holds confirmation page. This commit also keeps the query + parameter in the URL after clicking the Place Hold link from the search + results page. + + Test Plan: + Log into the public catalog and perform a search that is limited to a library + that differs from the user's preferred search library and using a search type + that is not keyword (e.g. title or author). Place a hold on any title from + either the search results or record page. After submitting the form, look + at the search parameters in the search bar on the hold confirmation page. + + Pre-patch, the query terms will not appear, the search type will revert back + to the default of keyword, and the search library will be the user's preferred + search library. + + Post-patch, the query parameters will be maintained in the search bar. + + Signed-off-by: Kathy Lussier + Signed-off-by: Cesar Velez + Signed-off-by: Galen Charlton + +6 0 Open-ILS/src/templates/opac/parts/place_hold.tt2 +1 1 Open-ILS/src/templates/opac/parts/result/table.tt2 + +commit 1602272de7f933446b8acfb8e1f227da0a2cadaf +Author: Jeff Davis +Date: Fri Oct 6 11:15:05 2017 -0700 + + LP#1706147: handle multiple matches on patron barcode completion in web client + + To test: + + 1. Add a barcode completion rule for BR1, applying to users and set to + active, where "BR1" is the prefix. + + 2. Create a user with barcode "BR100001" and home library BR1. + + 3. Create another user with barcode "00001". + + 4. Login to the web client with BR1 as your working location. Go to + "Check Out Item" and enter barcode "00001". EG will retrieve one of + the two accounts you created; it ought to present a dialog that + allows you to choose between BR00001 and 00001 (or none of the above). + + Signed-off-by: Jeff Davis + Signed-off-by: Cesar Velez + Signed-off-by: Galen Charlton + +110 55 Open-ILS/web/js/ui/default/staff/circ/patron/app.js + +commit 937eb0c692a9cdcf3f0d3cc64b84d06ca659bb50 +Author: Bill Erickson +Date: Mon Oct 30 11:36:29 2017 -0400 + + LP#1728122 Webstaff survey display avoids deep fleshing + + Avoid collecting survey/question/answer data via deep pcrud fleshing. + Opt instead to organize the data locally using the values fleshed + directly on the response object. + + Additional fixes included: + + 1. Avoid displaying survey responses for out-of-scope surveys. + 2. Format survey response dates using the configured date format instead + of display a bare ISO date. + + Signed-off-by: Bill Erickson + Signed-off-by: Chris Sharp + Signed-off-by: Galen Charlton + +18 11 Open-ILS/src/templates/staff/circ/patron/t_surveys.tt2 +43 14 Open-ILS/web/js/ui/default/staff/circ/patron/app.js + +commit f4c1c11c69f2409211a85082c02a470eb1c7c807 +Author: Cesar Velez +Date: Thu Nov 2 15:39:38 2017 -0400 + + LP#1722899 - Fix bug due undefined pay note value + + Prevent error due to null or undefined pay_note.value + + Signed-off by: Cesar Velez + Signed-off-by: Galen Charlton + + Signed-off-by: Galen Charlton + +2 1 Open-ILS/web/js/ui/default/staff/circ/patron/bills.js + +commit 2288a231e075d1046a08ebacba43bbe340471947 +Author: Cesar Velez +Date: Fri Oct 13 13:23:22 2017 -0400 + + LP#1722899 - Fix issues with Patron Bill payment annotation dialog/modal + + The annotation modal's result was not actually being returned, so I fixed + ui.js's egPromptDialog. + + Signed-off by: Cesar Velez + Signed-off-by: Galen Charlton + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/web/js/ui/default/staff/circ/patron/bills.js +3 3 Open-ILS/web/js/ui/default/staff/services/ui.js + +commit 8fd07d2747a5aaae7777c1efe1abceda97170d75 +Author: Cesar Velez +Date: Fri Oct 20 16:57:23 2017 -0400 + + LP#1679246 - add display-none css rule to eg-grid-field + + This will fix the extraneous text created from any + eg-grid-field that has non IDL paths or text data. + Ex: a virtual/computed column, ie {{usr}}@{{org}} + + Signed-off by: Cesar Velez + Signed-off-by: Galen Charlton + + Signed-off-by: Galen Charlton + +4 0 Open-ILS/src/templates/staff/css/style.css.tt2 + +commit 4d7e6d87198ec61e47996d094b4ef8198c2c2184 +Author: Galen Charlton +Date: Tue Nov 7 10:59:09 2017 -0500 + + LP#1679246: (follow-up) restore local whitespace consistency + + Signed-off-by: Galen Charlton + +4 4 Open-ILS/examples/fm_IDL.xml +30 30 Open-ILS/src/templates/staff/circ/patron/t_xact_details.tt2 + +commit 6c636ba5bb2574fd57b6cd4c0c3f6fa740044cb0 +Author: Skye Howard +Date: Tue Oct 10 20:58:45 2017 +0000 + + LP#1679246: Patron billing add staff user + + Added column to match XUL client of 'Accepting User' to display + username(barcode) @ home org unit + + Signed-off-by: Alex Cautley + + modified: Open-ILS/examples/fm_IDL.xml + modified: Open-ILS/src/templates/staff/circ/patron/t_xact_details.tt2 + + Signed-off-by: Cesar Velez + Signed-off-by: Galen Charlton + +8 1 Open-ILS/examples/fm_IDL.xml +29 11 Open-ILS/src/templates/staff/circ/patron/t_xact_details.tt2 + +commit 6c261cc415128c68d887e043bc1de0b1c8f20512 +Author: Jane Sandberg +Date: Sun Nov 5 05:38:32 2017 -0800 + + Docs: adding security chapter from Evergreen in Action + + Signed-off-by: Jane Sandberg + +35 0 docs/admin/security.adoc +2 0 docs/root_command_line_admin.adoc + create mode 100644 docs/admin/security.adoc + +commit 75fd916d6cb5613016abe1e93c75278db0a2c84d +Author: Jane Sandberg +Date: Sun Nov 5 05:18:19 2017 -0800 + + Docs: front matter about web client in every relevant manual + + Signed-off-by: Jane Sandberg + +8 0 docs/root_acquisitions.adoc +7 0 docs/root_cataloging.adoc +8 0 docs/root_circulation.adoc +8 0 docs/root_serials.adoc +3 2 docs/root_staff_client_admin.adoc +33 0 docs/shared/workstation_settings.adoc + create mode 100644 docs/shared/workstation_settings.adoc + +commit 1dde44abfc7362ab0e48e7fdb5c74d6c40fcd261 +Author: Jane Sandberg +Date: Sun Nov 5 04:53:23 2017 -0800 + + Docs: adding web client login instructions to cataloging manual + + Signed-off-by: Jane Sandberg + +3 0 docs/root_cataloging.adoc + +commit 04fca7db87e61bed1870815a8ae0cac0f23b1a77 +Author: Jane Sandberg +Date: Sun Nov 5 04:47:23 2017 -0800 + + Docs: making public catalog docs more modular + + Signed-off-by: Jane Sandberg + +272 0 docs/opac/my_account.adoc +55 0 docs/opac/search_url.adoc +1 328 docs/opac/using_the_public_access_catalog.adoc +4 0 docs/root_opac.adoc + create mode 100644 docs/opac/my_account.adoc + create mode 100644 docs/opac/search_url.adoc + +commit b87705b35ebfc9b2f5499e4e9865d31a1858605e +Author: Jane Sandberg +Date: Sun Nov 5 04:07:52 2017 -0800 + + Docs: documenting the web client copy templates + + Signed-off-by: Jane Sandberg + +29 0 docs/cataloging/holdings_templates.adoc +2 0 docs/root_cataloging.adoc + create mode 100644 docs/cataloging/holdings_templates.adoc + +commit a32f4ab0196ee2b16384915aeb2eb2a913ec2ccf +Author: Jane Sandberg +Date: Sun Nov 5 03:41:39 2017 -0800 + + Docs: mass replacing Admin menu with Administration menu + + Signed-off-by: Jane Sandberg + +1 1 docs/acquisitions/selection_lists_po.adoc +1 1 docs/acquisitions/vandelay_acquisitions_integration.adoc +4 4 docs/admin/Best_Hold_Selection_Sort_Order.adoc +1 1 docs/admin/MARC_Import_Remove_Fields.adoc +1 1 docs/admin/MARC_RAD_MVF_CRA.adoc +1 1 docs/admin/Org_Unit_Proximity_Adjustments.adoc +3 3 docs/admin/SMS_messaging.adoc +29 29 docs/admin/acquisitions_admin.adoc +2 2 docs/admin/actiontriggers.adoc +2 2 docs/admin/age_hold_protection.adoc +8 8 docs/admin/authorities.adoc +2 2 docs/admin/circulation_limit_groups.adoc +2 2 docs/admin/cn_prefixes_and_suffixes.adoc +1 1 docs/admin/hold_driven_recalls.adoc +2 2 docs/admin/lsa-address_alert.adoc +2 2 docs/admin/lsa-barcode_completion.adoc +1 1 docs/admin/lsa-statcat.adoc +2 2 docs/admin/lsa-work_log.adoc +1 1 docs/admin/recent_staff_searches.adoc +3 3 docs/admin/restrict_Z39.50_sources_by_perm_group.adoc +1 1 docs/admin/staff_client-button_bar_toolbar.adoc +1 1 docs/admin/staff_client-recent_searches.adoc +1 1 docs/admin/user_activity_type.adoc +4 4 docs/admin/workstation_admin.adoc +2 2 docs/admin/workstation_admin_receipt_template_editor.adoc +2 2 docs/cataloging/z39.50_search_enhancements.adoc +1 1 docs/circulation/advanced_holds.adoc +1 1 docs/circulation/circulating_items.adoc +4 4 docs/circulation/circulation_patron_records.adoc +1 1 docs/opac/catalog_browse.adoc +3 3 docs/opac/linked_libraries.adoc +1 1 docs/reports/reporter_view_output.adoc +5 5 docs/serials/B-copy_template.adoc +1 1 docs/serials/D-subscription-ASCV.adoc +2 2 docs/serials/F-Receiving.adoc +1 1 docs/serials/Group_Serials_Issues_in_the_OPAC_2.2.adoc + +commit 72c6868b86ba439b2f7027d8a4cc0e6f3c831136 +Author: Jane Sandberg +Date: Sun Nov 5 02:29:52 2017 -0800 + + Docs: updating booking admin for the Web client + + Signed-off-by: Jane Sandberg + +9 9 docs/admin/booking-admin.adoc +- - docs/media/booking-create-resourcetype_webclient-1.png +2 2 docs/root_staff_client_admin.adoc + create mode 100644 docs/media/booking-create-resourcetype_webclient-1.png + +commit 881a21195391c84c45a08524c9a67019ab757526 +Author: Jane Sandberg +Date: Thu Nov 2 16:34:31 2017 -0700 + + Docs: Fixing menu refs on booking docs + + Signed-off-by: Jane Sandberg + +9 9 docs/admin/booking-admin.adoc + +commit b59d75f458a60ad49e96a0316104308867d9a319 +Author: Jane Sandberg +Date: Thu Nov 2 16:04:28 2017 -0700 + + Docs: replacing Admin menu with Administration menu + + Signed-off-by: Jane Sandberg + +3 1 docs/admin/authentication_proxy.adoc +2 2 docs/admin/auto_suggest_search.adoc +15 15 docs/admin_initial_setup/borrowing_items.adoc +2 2 docs/admin_initial_setup/designing_your_catalog.adoc +2 2 docs/admin_initial_setup/hard_due_dates.adoc +15 15 docs/admin_initial_setup/ordering_materials.adoc +3 3 docs/installation/edi_setup.adoc + +commit 3e536b33ffcbf42653a637a5cf6cae7664b8be1a +Author: Jeanette Lundgren +Date: Thu Oct 26 14:09:40 2017 -0400 + + Docs: merging aged_circs.adoc + + Signed-off-by: Jane Sandberg + +73 6 docs/admin/aged_circs.adoc + +commit 5316127667154d1835e8c2f165d4a11ed8ec0dc8 +Author: Remington Steed +Date: Thu Oct 26 14:37:50 2017 -0400 + + Docs: Fix AsciiDoc header syntax bug + + This docs section header was renamed, but the underline needs to be + changed to match. + + Signed-off-by: Remington Steed + +1 1 docs/admin_initial_setup/borrowing_items.adoc + +commit 761b7e2a1c6405be9b87f1077b1939167fe6a83c +Author: Remington Steed +Date: Wed Oct 25 10:53:44 2017 -0400 + + Docs: Remove duplicate lines from root.adoc + + In the previous commit to root.adoc (7ecad6eb) a chunk of lines were + accidentally duplicated. This commit removes the duplicate lines. I + confirmed that this change allows the PDF to build successfully. + + Signed-off-by: Remington Steed + +0 49 docs/root.adoc + +commit e2d85e17991b8d75c62ea388771a0f0d1abafd01 +Author: Bill Erickson +Date: Thu Oct 12 11:27:27 2017 -0400 + + LP#1656036 Webstaff dynamic page titles + + Support page/tab titles applied by page controllers. Each title is + composed of 2 optional components, a dynamic component and a context + component. + + The dynamic component may be interpolated with real-time data (e.g. a + patron's name) and the context is generally a page or tab-level value + (e.g. Checkout). + + For example: "Smith, Jane - Checkout" + + Apply a title within a controller like so: + + egCore.strings.setPageTitle( + egCore.strings.MY_DYNAMIC_TEMPLATE, + egCore.strings.MY_CONTEXT_STRING, + {foo : 'foo', bar : 'bar'} + ); + + If no values are set, the default template-level title is applied. + + Signed-off-by: Bill Erickson + Signed-off-by: Jason Boyer + Signed-off-by: Kathy Lussier + + Conflicts: + Open-ILS/src/templates/staff/base_js.tt2 + Open-ILS/web/js/ui/default/staff/circ/patron/app.js + +3 1 Open-ILS/src/templates/staff/base.tt2 +2 0 Open-ILS/src/templates/staff/base_js.tt2 +2 0 Open-ILS/src/templates/staff/cat/catalog/index.tt2 +10 0 Open-ILS/src/templates/staff/circ/patron/index.tt2 +20 0 Open-ILS/web/js/ui/default/staff/cat/catalog/app.js +15 0 Open-ILS/web/js/ui/default/staff/circ/patron/app.js +46 3 Open-ILS/web/js/ui/default/staff/services/strings.js + +commit e488506029c432d59a7d8a1fe8e426013cff0728 +Author: Cesar Velez +Date: Thu Sep 28 10:48:58 2017 -0400 + + LP#1715423 - fix issues with the display of IDs in patron summary pane + + The Patron summary pane was not properly displaying the values + for the primary ID and secondary ID. Also added the type name of + the ID in next to primary ID label. + + Signed-off by: Cesar Velez + + Signed-off-by: Kathy Lussier + +3 3 Open-ILS/src/templates/staff/circ/patron/t_summary.tt2 +5 1 Open-ILS/web/js/ui/default/staff/circ/patron/app.js + +commit 91e1fab8fde212a0d401dc2236b18187207815fa +Author: Dan Wells +Date: Thu Oct 19 16:38:18 2017 -0400 + + Forward-port 3.0.1 upgrade script + + Signed-off-by: Dan Wells + +28 0 Open-ILS/src/sql/Pg/version-upgrade/3.0.0-3.0.1-upgrade-db.sql + create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/3.0.0-3.0.1-upgrade-db.sql + +commit d86f60c0e62d3f9f3faef5cb038a91b759f575ab +Author: Remington Steed +Date: Wed Sep 27 11:43:00 2017 -0400 + + Docs: Two small improvements to offline circ docs + + This commit removes a backslash before a hyperlink which is only a + feature of asciidoctor (used by GitHub to prevent auto-formatting a + link), and thus only appears as an extra backslash for us. + + This also adds "code" formatting to another permission name. + + Signed-off-by: Remington Steed + +2 2 docs/circulation/offline_circ_webclient.adoc + +commit cb9f62937a2d051b1ac622f85da6859c4ba07446 +Author: abneiman +Date: Wed Aug 30 16:46:55 2017 -0400 + + Docs: offline_circ_webclient.adoc + + Documentation for the web client version of Offline Circulation, + provided by Andrea Neiman, replacing the XUL version. + + This commit includes images provided by Andrea that weren't included in + her GitHub branch. It also changes the filenames in the asciidoc to + match. + + Signed-off-by: Remington Steed + +217 0 docs/circulation/offline_circ_webclient.adoc +- - docs/media/offline_checkin.png +- - docs/media/offline_checkout.png +- - docs/media/offline_clear_pending.png +- - docs/media/offline_exceptions.png +- - docs/media/offline_homepage_loggedin.png +- - docs/media/offline_homepage_loggedout.png +- - docs/media/offline_inhouse.png +- - docs/media/offline_logout_warning.png +- - docs/media/offline_patron_blocked.png +- - docs/media/offline_patron_registration.png +- - docs/media/offline_pending_xacts.png +- - docs/media/offline_processing_complete.png +- - docs/media/offline_renew.png +- - docs/media/offline_session_list.png +- - docs/media/offline_unprocessed.png +1 1 docs/root.adoc + create mode 100644 docs/circulation/offline_circ_webclient.adoc + create mode 100644 docs/media/offline_checkin.png + create mode 100644 docs/media/offline_checkout.png + create mode 100644 docs/media/offline_clear_pending.png + create mode 100644 docs/media/offline_exceptions.png + create mode 100644 docs/media/offline_homepage_loggedin.png + create mode 100644 docs/media/offline_homepage_loggedout.png + create mode 100644 docs/media/offline_inhouse.png + create mode 100644 docs/media/offline_logout_warning.png + create mode 100644 docs/media/offline_patron_blocked.png + create mode 100644 docs/media/offline_patron_registration.png + create mode 100644 docs/media/offline_pending_xacts.png + create mode 100644 docs/media/offline_processing_complete.png + create mode 100644 docs/media/offline_renew.png + create mode 100644 docs/media/offline_session_list.png + create mode 100644 docs/media/offline_unprocessed.png diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application.pm index d750216454..be506e7730 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application.pm @@ -7,7 +7,7 @@ use OpenILS::Utils::Fieldmapper; sub ils_version { # version format is "x-y-z", for example "2-0-0" for Evergreen 2.0.0 # For branches, format is "x-y" - return "HEAD"; + return "3-0-2"; } __PACKAGE__->register_method( diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 93c8ef3963..5e64b27559 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -93,6 +93,7 @@ CREATE TRIGGER no_overlapping_deps FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates'); INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1084', :eg_version); -- jboyer/gmcharlt/miker +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.0.2', :eg_version); CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/version-upgrade/3.0.1-3.0.2-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/3.0.1-3.0.2-upgrade-db.sql new file mode 100644 index 0000000000..7c30ed70fc --- /dev/null +++ b/Open-ILS/src/sql/Pg/version-upgrade/3.0.1-3.0.2-upgrade-db.sql @@ -0,0 +1,474 @@ +--Upgrade Script for 3.0.1 to 3.0.2 +\set eg_version '''3.0.2''' +BEGIN; +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.0.2', :eg_version); + +SELECT evergreen.upgrade_deps_block_check('1079', :eg_version); -- rhamby/cesardv/gmcharlt + +CREATE OR REPLACE FUNCTION asset.merge_record_assets( target_record BIGINT, source_record BIGINT ) RETURNS INT AS $func$ +DECLARE + moved_objects INT := 0; + source_cn asset.call_number%ROWTYPE; + target_cn asset.call_number%ROWTYPE; + metarec metabib.metarecord%ROWTYPE; + hold action.hold_request%ROWTYPE; + ser_rec serial.record_entry%ROWTYPE; + ser_sub serial.subscription%ROWTYPE; + acq_lineitem acq.lineitem%ROWTYPE; + acq_request acq.user_request%ROWTYPE; + booking booking.resource_type%ROWTYPE; + source_part biblio.monograph_part%ROWTYPE; + target_part biblio.monograph_part%ROWTYPE; + multi_home biblio.peer_bib_copy_map%ROWTYPE; + uri_count INT := 0; + counter INT := 0; + uri_datafield TEXT; + uri_text TEXT := ''; +BEGIN + + -- move any 856 entries on records that have at least one MARC-mapped URI entry + SELECT INTO uri_count COUNT(*) + FROM asset.uri_call_number_map m + JOIN asset.call_number cn ON (m.call_number = cn.id) + WHERE cn.record = source_record; + + IF uri_count > 0 THEN + + -- This returns more nodes than you might expect: + -- 7 instead of 1 for an 856 with $u $y $9 + SELECT COUNT(*) INTO counter + FROM oils_xpath_table( + 'id', + 'marc', + 'biblio.record_entry', + '//*[@tag="856"]', + 'id=' || source_record + ) as t(i int,c text); + + FOR i IN 1 .. counter LOOP + SELECT '' || + STRING_AGG( + '' || + regexp_replace( + regexp_replace( + regexp_replace(data,'&','&','g'), + '>', '>', 'g' + ), + '<', '<', 'g' + ) || '', '' + ) || '' INTO uri_datafield + FROM oils_xpath_table( + 'id', + 'marc', + 'biblio.record_entry', + '//*[@tag="856"][position()=' || i || ']/@ind1|' || + '//*[@tag="856"][position()=' || i || ']/@ind2|' || + '//*[@tag="856"][position()=' || i || ']/*/@code|' || + '//*[@tag="856"][position()=' || i || ']/*[@code]', + 'id=' || source_record + ) as t(id int,ind1 text, ind2 text,subfield text,data text); + + -- As most of the results will be NULL, protect against NULLifying + -- the valid content that we do generate + uri_text := uri_text || COALESCE(uri_datafield, ''); + END LOOP; + + IF uri_text <> '' THEN + UPDATE biblio.record_entry + SET marc = regexp_replace(marc,'(]*record>)', uri_text || E'\\1') + WHERE id = target_record; + END IF; + + END IF; + + -- Find and move metarecords to the target record + SELECT INTO metarec * + FROM metabib.metarecord + WHERE master_record = source_record; + + IF FOUND THEN + UPDATE metabib.metarecord + SET master_record = target_record, + mods = NULL + WHERE id = metarec.id; + + moved_objects := moved_objects + 1; + END IF; + + -- Find call numbers attached to the source ... + FOR source_cn IN SELECT * FROM asset.call_number WHERE record = source_record LOOP + + SELECT INTO target_cn * + FROM asset.call_number + WHERE label = source_cn.label + AND prefix = source_cn.prefix + AND suffix = source_cn.suffix + AND owning_lib = source_cn.owning_lib + AND record = target_record + AND NOT deleted; + + -- ... and if there's a conflicting one on the target ... + IF FOUND THEN + + -- ... move the copies to that, and ... + UPDATE asset.copy + SET call_number = target_cn.id + WHERE call_number = source_cn.id; + + -- ... move V holds to the move-target call number + FOR hold IN SELECT * FROM action.hold_request WHERE target = source_cn.id AND hold_type = 'V' LOOP + + UPDATE action.hold_request + SET target = target_cn.id + WHERE id = hold.id; + + moved_objects := moved_objects + 1; + END LOOP; + + UPDATE asset.call_number SET deleted = TRUE WHERE id = source_cn.id; + + -- ... if not ... + ELSE + -- ... just move the call number to the target record + UPDATE asset.call_number + SET record = target_record + WHERE id = source_cn.id; + END IF; + + moved_objects := moved_objects + 1; + END LOOP; + + -- Find T holds targeting the source record ... + FOR hold IN SELECT * FROM action.hold_request WHERE target = source_record AND hold_type = 'T' LOOP + + -- ... and move them to the target record + UPDATE action.hold_request + SET target = target_record + WHERE id = hold.id; + + moved_objects := moved_objects + 1; + END LOOP; + + -- Find serial records targeting the source record ... + FOR ser_rec IN SELECT * FROM serial.record_entry WHERE record = source_record LOOP + -- ... and move them to the target record + UPDATE serial.record_entry + SET record = target_record + WHERE id = ser_rec.id; + + moved_objects := moved_objects + 1; + END LOOP; + + -- Find serial subscriptions targeting the source record ... + FOR ser_sub IN SELECT * FROM serial.subscription WHERE record_entry = source_record LOOP + -- ... and move them to the target record + UPDATE serial.subscription + SET record_entry = target_record + WHERE id = ser_sub.id; + + moved_objects := moved_objects + 1; + END LOOP; + + -- Find booking resource types targeting the source record ... + FOR booking IN SELECT * FROM booking.resource_type WHERE record = source_record LOOP + -- ... and move them to the target record + UPDATE booking.resource_type + SET record = target_record + WHERE id = booking.id; + + moved_objects := moved_objects + 1; + END LOOP; + + -- Find acq lineitems targeting the source record ... + FOR acq_lineitem IN SELECT * FROM acq.lineitem WHERE eg_bib_id = source_record LOOP + -- ... and move them to the target record + UPDATE acq.lineitem + SET eg_bib_id = target_record + WHERE id = acq_lineitem.id; + + moved_objects := moved_objects + 1; + END LOOP; + + -- Find acq user purchase requests targeting the source record ... + FOR acq_request IN SELECT * FROM acq.user_request WHERE eg_bib = source_record LOOP + -- ... and move them to the target record + UPDATE acq.user_request + SET eg_bib = target_record + WHERE id = acq_request.id; + + moved_objects := moved_objects + 1; + END LOOP; + + -- Find parts attached to the source ... + FOR source_part IN SELECT * FROM biblio.monograph_part WHERE record = source_record LOOP + + SELECT INTO target_part * + FROM biblio.monograph_part + WHERE label = source_part.label + AND record = target_record; + + -- ... and if there's a conflicting one on the target ... + IF FOUND THEN + + -- ... move the copy-part maps to that, and ... + UPDATE asset.copy_part_map + SET part = target_part.id + WHERE part = source_part.id; + + -- ... move P holds to the move-target part + FOR hold IN SELECT * FROM action.hold_request WHERE target = source_part.id AND hold_type = 'P' LOOP + + UPDATE action.hold_request + SET target = target_part.id + WHERE id = hold.id; + + moved_objects := moved_objects + 1; + END LOOP; + + -- ... if not ... + ELSE + -- ... just move the part to the target record + UPDATE biblio.monograph_part + SET record = target_record + WHERE id = source_part.id; + END IF; + + moved_objects := moved_objects + 1; + END LOOP; + + -- Find multi_home items attached to the source ... + FOR multi_home IN SELECT * FROM biblio.peer_bib_copy_map WHERE peer_record = source_record LOOP + -- ... and move them to the target record + UPDATE biblio.peer_bib_copy_map + SET peer_record = target_record + WHERE id = multi_home.id; + + moved_objects := moved_objects + 1; + END LOOP; + + -- And delete mappings where the item's home bib was merged with the peer bib + DELETE FROM biblio.peer_bib_copy_map WHERE peer_record = ( + SELECT (SELECT record FROM asset.call_number WHERE id = call_number) + FROM asset.copy WHERE id = target_copy + ); + + -- Finally, "delete" the source record + DELETE FROM biblio.record_entry WHERE id = source_record; + + -- That's all, folks! + RETURN moved_objects; +END; +$func$ LANGUAGE plpgsql; + + +SELECT evergreen.upgrade_deps_block_check('1080', :eg_version); -- miker/jboyer/gmcharlt + +CREATE OR REPLACE FUNCTION asset.cache_copy_visibility () RETURNS TRIGGER as $func$ +DECLARE + ocn asset.call_number%ROWTYPE; + ncn asset.call_number%ROWTYPE; + cid BIGINT; +BEGIN + + IF TG_TABLE_NAME = 'peer_bib_copy_map' THEN -- Only needs ON INSERT OR DELETE, so handle separately + IF TG_OP = 'INSERT' THEN + INSERT INTO asset.copy_vis_attr_cache (record, target_copy, vis_attr_vector) VALUES ( + NEW.peer_record, + NEW.target_copy, + asset.calculate_copy_visibility_attribute_set(NEW.target_copy) + ); + + RETURN NEW; + ELSIF TG_OP = 'DELETE' THEN + DELETE FROM asset.copy_vis_attr_cache + WHERE record = OLD.peer_record AND target_copy = OLD.target_copy; + + RETURN OLD; + END IF; + END IF; + + IF TG_OP = 'INSERT' THEN -- Handles ON INSERT. ON UPDATE is below. + IF TG_TABLE_NAME IN ('copy', 'unit') THEN + SELECT * INTO ncn FROM asset.call_number cn WHERE id = NEW.call_number; + INSERT INTO asset.copy_vis_attr_cache (record, target_copy, vis_attr_vector) VALUES ( + ncn.record, + NEW.id, + asset.calculate_copy_visibility_attribute_set(NEW.id) + ); + ELSIF TG_TABLE_NAME = 'record_entry' THEN + NEW.vis_attr_vector := biblio.calculate_bib_visibility_attribute_set(NEW.id); + END IF; + + RETURN NEW; + END IF; + + -- handle items first, since with circulation activity + -- their statuses change frequently + IF TG_TABLE_NAME IN ('copy', 'unit') THEN -- This handles ON UPDATE OR DELETE. ON INSERT above + + IF TG_OP = 'DELETE' THEN -- Shouldn't get here, normally + DELETE FROM asset.copy_vis_attr_cache WHERE target_copy = OLD.id; + RETURN OLD; + END IF; + + SELECT * INTO ncn FROM asset.call_number cn WHERE id = NEW.call_number; + + IF OLD.deleted <> NEW.deleted THEN + IF NEW.deleted THEN + DELETE FROM asset.copy_vis_attr_cache WHERE target_copy = OLD.id; + ELSE + INSERT INTO asset.copy_vis_attr_cache (record, target_copy, vis_attr_vector) VALUES ( + ncn.record, + NEW.id, + asset.calculate_copy_visibility_attribute_set(NEW.id) + ); + END IF; + + RETURN NEW; + ELSIF OLD.call_number <> NEW.call_number THEN + SELECT * INTO ocn FROM asset.call_number cn WHERE id = OLD.call_number; + + IF ncn.record <> ocn.record THEN + UPDATE biblio.record_entry + SET vis_attr_vector = biblio.calculate_bib_visibility_attribute_set(ncn.record) + WHERE id = ocn.record; + + -- We have to use a record-specific WHERE clause + -- to avoid modifying the entries for peer-bib copies. + UPDATE asset.copy_vis_attr_cache + SET target_copy = NEW.id, + record = ncn.record + WHERE target_copy = OLD.id + AND record = ocn.record; + END IF; + END IF; + + IF OLD.location <> NEW.location OR + OLD.status <> NEW.status OR + OLD.opac_visible <> NEW.opac_visible OR + OLD.circ_lib <> NEW.circ_lib + THEN + -- Any of these could change visibility, but + -- we'll save some queries and not try to calculate + -- the change directly. We want to update peer-bib + -- entries in this case, unlike above. + UPDATE asset.copy_vis_attr_cache + SET target_copy = NEW.id, + vis_attr_vector = asset.calculate_copy_visibility_attribute_set(NEW.id) + WHERE target_copy = OLD.id; + + END IF; + + ELSIF TG_TABLE_NAME = 'call_number' THEN -- Only ON UPDATE. Copy handler will deal with ON INSERT OR DELETE. + + IF OLD.record <> NEW.record THEN + IF NEW.label = '##URI##' THEN + UPDATE biblio.record_entry + SET vis_attr_vector = biblio.calculate_bib_visibility_attribute_set(OLD.record) + WHERE id = OLD.record; + + UPDATE biblio.record_entry + SET vis_attr_vector = biblio.calculate_bib_visibility_attribute_set(NEW.record) + WHERE id = NEW.record; + END IF; + + UPDATE asset.copy_vis_attr_cache + SET record = NEW.record, + vis_attr_vector = asset.calculate_copy_visibility_attribute_set(target_copy) + WHERE target_copy IN (SELECT id FROM asset.copy WHERE call_number = NEW.id) + AND record = OLD.record; + + ELSIF OLD.owning_lib <> NEW.owning_lib THEN + UPDATE asset.copy_vis_attr_cache + SET vis_attr_vector = asset.calculate_copy_visibility_attribute_set(target_copy) + WHERE target_copy IN (SELECT id FROM asset.copy WHERE call_number = NEW.id) + AND record = NEW.record; + + IF NEW.label = '##URI##' THEN + UPDATE biblio.record_entry + SET vis_attr_vector = biblio.calculate_bib_visibility_attribute_set(OLD.record) + WHERE id = OLD.record; + END IF; + END IF; + + ELSIF TG_TABLE_NAME = 'record_entry' THEN -- Only handles ON UPDATE OR DELETE + + IF TG_OP = 'DELETE' THEN -- Shouldn't get here, normally + DELETE FROM asset.copy_vis_attr_cache WHERE record = OLD.id; + RETURN OLD; + ELSIF OLD.source <> NEW.source THEN + NEW.vis_attr_vector := biblio.calculate_bib_visibility_attribute_set(NEW.id); + END IF; + + END IF; + + RETURN NEW; +END; +$func$ LANGUAGE PLPGSQL; + + +SELECT evergreen.upgrade_deps_block_check('1081', :eg_version); -- jboyer/gmcharlt + +DROP TRIGGER IF EXISTS inherit_copy_bucket_item_target_copy_fkey ON container.copy_bucket_item; +DROP TRIGGER IF EXISTS inherit_import_item_imported_as_fkey ON vandelay.import_item; +DROP TRIGGER IF EXISTS inherit_asset_copy_note_copy_fkey ON asset.copy_note; +DROP TRIGGER IF EXISTS inherit_asset_copy_tag_copy_map_copy_fkey ON asset.copy_tag_copy_map; + +CREATE CONSTRAINT TRIGGER inherit_copy_bucket_item_target_copy_fkey + AFTER UPDATE OR INSERT ON container.copy_bucket_item + DEFERRABLE FOR EACH ROW EXECUTE PROCEDURE evergreen.container_copy_bucket_item_target_copy_inh_fkey(); +CREATE CONSTRAINT TRIGGER inherit_import_item_imported_as_fkey + AFTER UPDATE OR INSERT ON vandelay.import_item + DEFERRABLE FOR EACH ROW EXECUTE PROCEDURE evergreen.vandelay_import_item_imported_as_inh_fkey(); +CREATE CONSTRAINT TRIGGER inherit_asset_copy_note_copy_fkey + AFTER UPDATE OR INSERT ON asset.copy_note + DEFERRABLE FOR EACH ROW EXECUTE PROCEDURE evergreen.asset_copy_note_owning_copy_inh_fkey(); +CREATE CONSTRAINT TRIGGER inherit_asset_copy_tag_copy_map_copy_fkey + AFTER UPDATE OR INSERT ON asset.copy_tag_copy_map + DEFERRABLE FOR EACH ROW EXECUTE PROCEDURE evergreen.asset_copy_tag_copy_map_copy_inh_fkey(); + + + +SELECT evergreen.upgrade_deps_block_check('1082', :eg_version); -- jboyer/gmcharlt + +DELETE FROM asset.copy_vis_attr_cache WHERE target_copy IN (SELECT id FROM asset.copy WHERE deleted); + +-- Evergreen DB patch XXXX.schema.qualify_unaccent_refs.sql +-- +-- LP#1671150 Fix unaccent() function call in evergreen.unaccent_and_squash() +-- + + +-- check whether patch can be applied +SELECT evergreen.upgrade_deps_block_check('1083', :eg_version); + +CREATE OR REPLACE FUNCTION evergreen.unaccent_and_squash ( IN arg text) RETURNS text + IMMUTABLE STRICT AS $$ + BEGIN + RETURN evergreen.lowercase(public.unaccent('public.unaccent', regexp_replace(arg, '[\s[:punct:]]','','g'))); + END; +$$ LANGUAGE PLPGSQL; + +-- Drop indexes if present, so that we can re-create them +DROP INDEX IF EXISTS actor.actor_usr_first_given_name_unaccent_idx; +DROP INDEX IF EXISTS actor.actor_usr_second_given_name_unaccent_idx; +DROP INDEX IF EXISTS actor.actor_usr_family_name_unaccent_idx; +DROP INDEX IF EXISTS actor.actor_usr_usrname_unaccent_idx; + +-- Create (or re-create) indexes -- they may be missing if pg_restore failed to create +-- them due to the previously unqualified call to unaccent() +CREATE INDEX actor_usr_first_given_name_unaccent_idx ON actor.usr (evergreen.unaccent_and_squash(first_given_name)); +CREATE INDEX actor_usr_second_given_name_unaccent_idx ON actor.usr (evergreen.unaccent_and_squash(second_given_name)); +CREATE INDEX actor_usr_family_name_unaccent_idx ON actor.usr (evergreen.unaccent_and_squash(family_name)); +CREATE INDEX actor_usr_usrname_unaccent_idx ON actor.usr (evergreen.unaccent_and_squash(usrname)); + + +SELECT evergreen.upgrade_deps_block_check('1084', :eg_version); + +INSERT INTO config.usr_setting_type (name, label, description, datatype) + VALUES ('webstaff.cat.copy.templates', 'Web Client Copy Editor Templates', 'Web Client Copy Editor Templates', 'object'); + +COMMIT; diff --git a/Open-ILS/xul/staff_client/chrome/content/main/about.html b/Open-ILS/xul/staff_client/chrome/content/main/about.html index b2b87b683f..7d88c4ad4b 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/about.html +++ b/Open-ILS/xul/staff_client/chrome/content/main/about.html @@ -1,7 +1,7 @@

Evergreen

Target Server ID:

-

$HeadURL$

+

http://git.evergreen-ils.org/?p=Evergreen.git;a=shortlog;h=refs/heads/tags/rel_3_0_2

What is Evergreen?

diff --git a/Open-ILS/xul/staff_client/defaults/preferences/prefs.js b/Open-ILS/xul/staff_client/defaults/preferences/prefs.js index 0613a13ddf..31ef61397c 100644 --- a/Open-ILS/xul/staff_client/defaults/preferences/prefs.js +++ b/Open-ILS/xul/staff_client/defaults/preferences/prefs.js @@ -11,7 +11,7 @@ pref("toolkit.singletonWindowType", "eg_main"); pref("open-ils.enable_join_tabs", true); // We'll use this one to help brand some build information into the client, and rely on subversion keywords -pref("open-ils.repository.headURL","$HeadURL$"); +pref("open-ils.repository.headURL","http://git.evergreen-ils.org/?p=Evergreen.git;a=shortlog;h=refs/heads/tags/rel_3_0_2"); pref("open-ils.repository.author","$Author$"); pref("open-ils.repository.revision","$Revision$"); pref("open-ils.repository.date","$Date$"); diff --git a/Open-ILS/xul/staff_client/windowssetup.nsi b/Open-ILS/xul/staff_client/windowssetup.nsi index a9543579a8..93eb47ab3b 100644 --- a/Open-ILS/xul/staff_client/windowssetup.nsi +++ b/Open-ILS/xul/staff_client/windowssetup.nsi @@ -3,7 +3,7 @@ ; HM NIS Edit Wizard helper defines ; Old versions of makensis don't like this, moved to Makefile ;!define /file PRODUCT_VERSION "client/VERSION" -!define PRODUCT_TAG "Master" +!define PRODUCT_TAG "3.0" !define PRODUCT_INSTALL_TAG "${PRODUCT_TAG}" !define UI_IMAGESET "beta" ;!define UI_IMAGESET "release" diff --git a/README b/README deleted file mode 120000 index 1ee2103e6f..0000000000 --- a/README +++ /dev/null @@ -1 +0,0 @@ -docs/installation/server_installation.adoc \ No newline at end of file diff --git a/README b/README new file mode 100644 index 0000000000..5f7eb0473f --- /dev/null +++ b/README @@ -0,0 +1,691 @@ +Installing the Evergreen server +=============================== +:toc: +:numbered: + +Preamble: referenced user accounts +---------------------------------- + +In subsequent sections, we will refer to a number of different accounts, as +follows: + + * Linux user accounts: + ** The *user* Linux account is the account that you use to log onto the + Linux system as a regular user. + ** The *root* Linux account is an account that has system administrator + privileges. On Debian you can switch to this account from + your *user* account by issuing the `su -` command and entering the + password for the *root* account when prompted. On Ubuntu you can switch + to this account from your *user* account using the `sudo su -` command + and entering the password for your *user* account when prompted. + ** The *opensrf* Linux account is an account that you create when installing + OpenSRF. You can switch to this account from the *root* account by + issuing the `su - opensrf` command. + ** The *postgres* Linux account is created automatically when you install + the PostgreSQL database server. You can switch to this account from the + *root* account by issuing the `su - postgres` command. + * PostgreSQL user accounts: + ** The *evergreen* PostgreSQL account is a superuser account that you will + create to connect to the PostgreSQL database server. + * Evergreen administrator account: + ** The *egadmin* Evergreen account is an administrator account for + Evergreen that you will use to test connectivity and configure your + Evergreen instance. + +Preamble: developer instructions +-------------------------------- + +[NOTE] +Skip this section if you are using an official release tarball downloaded +from http://evergreen-ils.org/egdownloads + +Developers working directly with the source code from the Git repository, +rather than an official release tarball, must perform one step before they +can proceed with the `./configure` step. + +As the *user* Linux account, issue the following command in the Evergreen +source directory to generate the configure script and Makefiles: + +[source, bash] +------------------------------------------------------------------------------ +autoreconf -i +------------------------------------------------------------------------------ + +Installing prerequisites +------------------------ + + * **PostgreSQL**: The minimum supported version is 9.4. + * **Linux**: Evergreen has been tested on Debian Stretch (9), + Debian Jessie (8), Debian Wheezy (7), Ubuntu Xenial Xerus (16.04), + and Ubuntu Trusty Tahr (14.04). + If you are running an older version of these distributions, you may want + to upgrade before upgrading Evergreen. For instructions on upgrading these + distributions, visit the Debian or Ubuntu websites. + * **OpenSRF**: The minimum supported version of OpenSRF is 3.0.0. + + +Evergreen has a number of prerequisite packages that must be installed +before you can successfully configure, compile, and install Evergreen. + +1. Begin by installing the most recent version of OpenSRF (3.0.0 or later). + You can download OpenSRF releases from http://evergreen-ils.org/opensrf-downloads/ +2. On some distributions, it is necessary to install PostgreSQL 9.4+ from external + repositories. ++ + * Debian (Wheezy) and Ubuntu (Trusty) comes with older versions of + PostgreSQL, so steps are taken to automatically utilize the + PostgreSQL community's apt sources. + (For complete details, see: https://wiki.postgresql.org/wiki/Apt) + * Debian (Jessie/Stretch) and Ubuntu (Xenial) comes with PostgreSQL 9.4+, + so no additional steps are required. ++ +3. Issue the following commands as the *root* Linux account to install + prerequisites using the `Makefile.install` prerequisite installer, + substituting `debian-stretch`, `debian-jessie`, `debian-wheezy`, + `ubuntu-xenial`, or `ubuntu-trusty` for below: ++ +[source, bash] +------------------------------------------------------------------------------ +make -f Open-ILS/src/extras/Makefile.install +------------------------------------------------------------------------------ ++ +4. Add the libdbi-libdbd libraries to the system dynamic library path by + issuing the following commands as the *root* Linux account: ++ +[NOTE] +You should skip this step if installing on Ubuntu Trusty/Xenial or Debian Jessie/Stretch. The Ubuntu +and Debian Jessie/Stretch targets use libdbd-pgsql from packages. ++ +.Debian Wheezy +[source, bash] +------------------------------------------------------------------------------ +echo "/usr/local/lib/dbd" > /etc/ld.so.conf.d/eg.conf +ldconfig +------------------------------------------------------------------------------ + +5. OPTIONAL: Developer additions ++ +To perform certain developer tasks from a Git source code checkout, +additional packages may be required. As the *root* Linux account: ++ + * To install packages needed for retrieving and managing web dependencies, + use the -developer Makefile.install target. Currently, + this is only needed for building and installing the (preview) browser + staff client. ++ +[source, bash] +------------------------------------------------------------------------------ +make -f Open-ILS/src/extras/Makefile.install -developer +------------------------------------------------------------------------------ ++ + * To install packages required for building Evergreen translations, use + the -translator Makefile.install target. ++ +[source, bash] +------------------------------------------------------------------------------ +make -f Open-ILS/src/extras/Makefile.install -translator +------------------------------------------------------------------------------ ++ + * To install packages required for building Evergreen release bundles, use + the -packager Makefile.install target. ++ +[source, bash] +------------------------------------------------------------------------------ +make -f Open-ILS/src/extras/Makefile.install -packager +------------------------------------------------------------------------------ + +Extra steps for web staff client +-------------------------------- + +[NOTE] +Skip this entire section if you are using an official release tarball downloaded +from http://evergreen-ils.org/downloads + +Install dependencies for web staff client +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +[NOTE] +You may skip this section if you have installed the previously described +'Optional: Developer Additions'. You will still need to do the following +steps in <>. + +1. Install the long-term stability (LTS) release of +https://nodejs.org[Node.js]. Add the Node.js `/bin` directory to your +environment variable `PATH`. ++ +2. Install Grunt CLI ++ +[source,sh] +------------------------------------------------------------------------------ +% sudo npm install -g grunt-cli +------------------------------------------------------------------------------ + +[[install_files_for_web_staff_client]] +Install files for web staff client +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. Building, Testing, Minification: The remaining steps all take place within + the staff JS web root: ++ +[source,sh] +------------------------------------------------------------------------------ +cd $EVERGREEN_ROOT/Open-ILS/web/js/ui/default/staff/ +------------------------------------------------------------------------------ ++ +2. Install Project-local Dependencies. npm inspects the 'package.json' file + for dependencies and fetches them from the Node package network. ++ +[source,sh] +------------------------------------------------------------------------------ +npm install # fetch JS dependencies +------------------------------------------------------------------------------ ++ +3. Run the build script. ++ +[source,sh] +------------------------------------------------------------------------------ +# build, run tests, concat+minify +grunt all +------------------------------------------------------------------------------ + + +Configuration and compilation instructions +------------------------------------------ + +For the time being, we are still installing everything in the `/openils/` +directory. From the Evergreen source directory, issue the following commands as +the *user* Linux account to configure and build Evergreen: + +[source, bash] +------------------------------------------------------------------------------ +PATH=/openils/bin:$PATH ./configure --prefix=/openils --sysconfdir=/openils/conf +make +------------------------------------------------------------------------------ + +These instructions assume that you have also installed OpenSRF under `/openils/`. +If not, please adjust PATH as needed so that the Evergreen `configure` script +can find `osrf_config`. + +Installation instructions +------------------------- + +1. Once you have configured and compiled Evergreen, issue the following + command as the *root* Linux account to install Evergreen, build the server + portion of the staff client, and copy example configuration files to + `/openils/conf`. + Change the value of the `STAFF_CLIENT_STAMP_ID` variable to match the version + of the staff client that you will use to connect to the Evergreen server. ++ +[source, bash] +------------------------------------------------------------------------------ +make STAFF_CLIENT_STAMP_ID=rel_3_0_2 install +------------------------------------------------------------------------------ ++ +2. The server portion of the staff client expects `http://hostname/xul/server` + to resolve. Issue the following commands as the *root* Linux account to + create a symbolic link pointing to the `server` subdirectory of the server + portion of the staff client that we just built using the staff client ID + 'rel_name': ++ +[source, bash] +------------------------------------------------------------------------------ +cd /openils/var/web/xul +ln -sf rel_name/server server +------------------------------------------------------------------------------ + +Change ownership of the Evergreen files +--------------------------------------- + +All files in the `/openils/` directory and subdirectories must be owned by the +`opensrf` user. Issue the following command as the *root* Linux account to +change the ownership on the files: + +[source, bash] +------------------------------------------------------------------------------ +chown -R opensrf:opensrf /openils +------------------------------------------------------------------------------ + +Run ldconfig +------------ + +On Debian Stretch, run the following command as the root user: + +[source, bash] +------------------------------------------------------------------------------ +ldconfig +------------------------------------------------------------------------------ + +Additional Instructions for Developers +-------------------------------------- + +[NOTE] +Skip this section if you are using an official release tarball downloaded +from http://evergreen-ils.org/egdownloads + +Developers working directly with the source code from the Git repository, +rather than an official release tarball, need to install the Dojo Toolkit +set of JavaScript libraries. The appropriate version of Dojo is included in +Evergreen release tarballs. Developers should install the Dojo 1.3.3 version +of Dojo by issuing the following commands as the *opensrf* Linux account: + +[source, bash] +------------------------------------------------------------------------------ +wget http://download.dojotoolkit.org/release-1.3.3/dojo-release-1.3.3.tar.gz +tar -C /openils/var/web/js -xzf dojo-release-1.3.3.tar.gz +cp -r /openils/var/web/js/dojo-release-1.3.3/* /openils/var/web/js/dojo/. +------------------------------------------------------------------------------ + + +Configure the Apache Web server +------------------------------- + +. Use the example configuration files in `Open-ILS/examples/apache/` (for +Apache versions below 2.4) or `Open-ILS/examples/apache_24/` (for Apache +versions 2.4 or greater) to configure your Web server for the Evergreen +catalog, staff client, Web services, and administration interfaces. Issue the +following commands as the *root* Linux account: ++ +.Debian Wheezy +[source,bash] +------------------------------------------------------------------------------ +cp Open-ILS/examples/apache/eg.conf /etc/apache2/sites-available/ +cp Open-ILS/examples/apache/eg_vhost.conf /etc/apache2/ +cp Open-ILS/examples/apache/eg_startup /etc/apache2/ +# Now set up SSL +mkdir /etc/apache2/ssl +cd /etc/apache2/ssl +------------------------------------------------------------------------------ ++ +.Ubuntu Trusty/Xenial and Debian Jessie/Stretch +[source,bash] +------------------------------------------------------------------------------------ +cp Open-ILS/examples/apache_24/eg_24.conf /etc/apache2/sites-available/eg.conf +cp Open-ILS/examples/apache_24/eg_vhost_24.conf /etc/apache2/eg_vhost.conf +cp Open-ILS/examples/apache/eg_startup /etc/apache2/ +# Now set up SSL +mkdir /etc/apache2/ssl +cd /etc/apache2/ssl +------------------------------------------------------------------------------------ ++ +. The `openssl` command cuts a new SSL key for your Apache server. For a +production server, you should purchase a signed SSL certificate, but you can +just use a self-signed certificate and accept the warnings in the staff client +and browser during testing and development. Create an SSL key for the Apache +server by issuing the following command as the *root* Linux account: ++ +[source,bash] +------------------------------------------------------------------------------ +openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key +------------------------------------------------------------------------------ ++ +. As the *root* Linux account, edit the `eg.conf` file that you copied into +place. + a. To enable access to the offline upload / execute interface from any + workstation on any network, make the following change (and note that + you *must* secure this for a production instance): + * (Apache 2.2): Replace `Allow from 10.0.0.0/8` with `Allow from all` + * (Apache 2.4): Replace `Require host 10.0.0.0/8` with `Require all granted` +. Change the user for the Apache server. + * (Debian and Ubuntu): As the *root* Linux account, edit + `/etc/apache2/envvars`. Change `export APACHE_RUN_USER=www-data` to + `export APACHE_RUN_USER=opensrf`. +. As the *root* Linux account, configure Apache with KeepAlive settings + appropriate for Evergreen. Higher values can improve the performance of a + single client by allowing multiple requests to be sent over the same TCP + connection, but increase the risk of using up all available Apache child + processes and memory. + * (Debian and Ubuntu): Edit `/etc/apache2/apache2.conf`. + a. Change `KeepAliveTimeout` to `1`. + b. Change `MaxKeepAliveRequests` to `100`. +. As the *root* Linux account, configure the prefork module to start and keep + enough Apache servers available to provide quick responses to clients without + running out of memory. The following settings are a good starting point for a + site that exposes the default Evergreen catalogue to the web: ++ +.Debian Wheezy (`/etc/apache2/apache2.conf`) +[source,bash] +------------------------------------------------------------------------------ + + StartServers 15 + MinSpareServers 5 + MaxSpareServers 15 + MaxClients 75 + MaxRequestsPerChild 500 + +------------------------------------------------------------------------------ ++ +.Ubuntu Trusty/Xenial, Debian Jessie/Stretch (`/etc/apache2/mods-available/mpm_prefork.conf`) +[source,bash] +------------------------------------------------------------------------------ + + StartServers 15 + MinSpareServers 5 + MaxSpareServers 15 + MaxRequestWorkers 75 + MaxConnectionsPerChild 500 + +------------------------------------------------------------------------------ ++ +. (Ubuntu Trusty/Xenial, Debian Jessie/Stretch) As the *root* user, + enable the mpm_prefork module: ++ +[source,bash] +------------------------------------------------------------------------------ +a2dismod mpm_event +a2enmod mpm_prefork +------------------------------------------------------------------------------ ++ +. (Debian Wheezy): As the *root* Linux account, enable the Evergreen site: ++ +[source,bash] +------------------------------------------------------------------------------ +a2dissite default # OPTIONAL: disable the default site (the "It Works" page) +a2ensite eg.conf +------------------------------------------------------------------------------ ++ +(Ubuntu Trusty/Xenial, Debian Jessie/Stretch): ++ +[source,bash] +------------------------------------------------------------------------------ +a2dissite 000-default # OPTIONAL: disable the default site (the "It Works" page) +a2ensite eg.conf +------------------------------------------------------------------------------ ++ +. (Debian and Ubuntu): As the *root* Linux account, enable Apache to write + to the lock directory; this is currently necessary because Apache + is running as the `opensrf` user: ++ +[source,bash] +------------------------------------------------------------------------------ +chown opensrf /var/lock/apache2 +------------------------------------------------------------------------------ + +Learn more about additional Apache options in the following sections: + + * <<_apache_rewrite_tricks,Apache Rewrite Tricks>> + * <<_apache_access_handler_perl_module,Apache Access Handler Perl Module>> + +Configure OpenSRF for the Evergreen application +----------------------------------------------- +There are a number of example OpenSRF configuration files in `/openils/conf/` +that you can use as a template for your Evergreen installation. Issue the +following commands as the *opensrf* Linux account: + +[source, bash] +------------------------------------------------------------------------------ +cp -b /openils/conf/opensrf_core.xml.example /openils/conf/opensrf_core.xml +cp -b /openils/conf/opensrf.xml.example /openils/conf/opensrf.xml +------------------------------------------------------------------------------ + +When you installed OpenSRF, you created four Jabber users on two +separate domains and edited the `opensrf_core.xml` file accordingly. Please +refer back to the OpenSRF README and, as the *opensrf* Linux account, edit the +Evergreen version of the `opensrf_core.xml` file using the same Jabber users +and domains as you used while installing and testing OpenSRF. + +[NOTE] +The `-b` flag tells the `cp` command to create a backup version of the +destination file. The backup version of the destination file has a tilde (`~`) +appended to the file name, so if you have forgotten the Jabber users and +domains, you can retrieve the settings from the backup version of the files. + +`eg_db_config`, described in <<_creating_the_evergreen_database,Creating the Evergreen +database>>, sets the database connection information in `opensrf.xml` for you. + +Configure action triggers for the Evergreen application +------------------------------------------------------- +_Action Triggers_ provide hooks for the system to perform actions when a given +event occurs; for example, to generate reminder or overdue notices, the +`checkout.due` hook is processed and events are triggered for potential actions +if there is no checkin time. + +To enable the default set of hooks, issue the following command as the +*opensrf* Linux account: + +[source, bash] +------------------------------------------------------------------------------ +cp -b /openils/conf/action_trigger_filters.json.example /openils/conf/action_trigger_filters.json +------------------------------------------------------------------------------ + +For more information about configuring and running action triggers, see +<<_processing_action_triggers,Notifications / Action Triggers>>. + +Creating the Evergreen database +------------------------------- + +Setting up the PostgreSQL server +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For production use, most libraries install the PostgreSQL database server on a +dedicated machine. Therefore, by default, the `Makefile.install` prerequisite +installer does *not* install the PostgreSQL 9 database server that is required +by every Evergreen system. You can install the packages required by Debian or +Ubuntu on the machine of your choice using the following commands as the +*root* Linux account: + +.(Debian / Ubuntu) Installing PostgreSQL server packages + +Each OS build target provides the postgres server installation packages +required for each operating system. To install Postgres server packages, +use the make target 'postgres-server-'. Choose the most appropriate +command below based on your operating system. + +[source, bash] +------------------------------------------------------------------------------ +make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-stretch +make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-jessie +make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-wheezy +make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-trusty +make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-xenial +------------------------------------------------------------------------------ + +For a standalone PostgreSQL server, install the following Perl modules for your +distribution as the *root* Linux account: + +.(Debian and Ubuntu) +No extra modules required for these distributions. + +You need to create a PostgreSQL superuser to create and access the database. +Issue the following command as the *postgres* Linux account to create a new +PostgreSQL superuser named `evergreen`. When prompted, enter the new user's +password: + +[source, bash] +------------------------------------------------------------------------------ +createuser -s -P evergreen +------------------------------------------------------------------------------ + +.Enabling connections to the PostgreSQL database + +Your PostgreSQL database may be configured by default to prevent connections, +for example, it might reject attempts to connect via TCP/IP or from other +servers. To enable TCP/IP connections from localhost, check your `pg_hba.conf` +file, found in the `/etc/postgresql/` directory on Debian and Ubuntu. +A simple way to enable TCP/IP +connections from localhost to all databases with password authentication, which +would be suitable for a test install of Evergreen on a single server, is to +ensure the file contains the following entries _before_ any "host ... ident" +entries: + +------------------------------------------------------------------------------ +host all all ::1/128 md5 +host all all 127.0.0.1/32 md5 +------------------------------------------------------------------------------ + +When you change the `pg_hba.conf` file, you will need to reload PostgreSQL to +make the changes take effect. For more information on configuring connectivity +to PostgreSQL, see +http://www.postgresql.org/docs/devel/static/auth-pg-hba-conf.html + +Creating the Evergreen database and schema +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Once you have created the *evergreen* PostgreSQL account, you also need to +create the database and schema, and configure your configuration files to point +at the database server. Issue the following command as the *root* Linux account +from inside the Evergreen source directory, replacing , , +, , and with the appropriate values for your +PostgreSQL database (where and are for the *evergreen* +PostgreSQL account you just created), and replace and +with the values you want for the *egadmin* Evergreen administrator account: + +[source, bash] +------------------------------------------------------------------------------ +perl Open-ILS/src/support-scripts/eg_db_config --update-config \ + --service all --create-database --create-schema --create-offline \ + --user --password --hostname --port \ + --database --admin-user --admin-pass +------------------------------------------------------------------------------ + +This creates the database and schema and configures all of the services in +your `/openils/conf/opensrf.xml` configuration file to point to that database. +It also creates the configuration files required by the Evergreen `cgi-bin` +administration scripts, and sets the user name and password for the *egadmin* +Evergreen administrator account to your requested values. + +You can get a complete set of options for `eg_db_config` by passing the +`--help` parameter. + +Loading sample data +~~~~~~~~~~~~~~~~~~~ +If you add the `--load-all-sample` parameter to the `eg_db_config` command, +a set of authority and bibliographic records, call numbers, copies, staff +and regular users, and transactions will be loaded into your target +database. This sample dataset is commonly referred to as the _concerto_ +sample data, and can be useful for testing out Evergreen functionality and +for creating problem reports that developers can easily recreate with their +own copy of the _concerto_ sample data. + +Creating the database on a remote server +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In a production instance of Evergreen, your PostgreSQL server should be +installed on a dedicated server. + +PostgreSQL 9.4 and later +^^^^^^^^^^^^^^^^^^^^^^^^ +To create the database instance on a remote database server running PostgreSQL +9.4 or later, simply use the `--create-database` flag on `eg_db_config`. + +Starting Evergreen +------------------ +1. As the *root* Linux account, start the `memcached` and `ejabberd` services +(if they aren't already running): ++ +[source, bash] +------------------------------------------------------------------------------ +/etc/init.d/ejabberd start +/etc/init.d/memcached start +------------------------------------------------------------------------------ ++ +2. As the *opensrf* Linux account, start Evergreen. The `-l` flag in the +following command is only necessary if you want to force Evergreen to treat the +hostname as `localhost`; if you configured `opensrf.xml` using the real +hostname of your machine as returned by `perl -ENet::Domain 'print +Net::Domain::hostfqdn() . "\n";'`, you should not use the `-l` flag. ++ +[source, bash] +------------------------------------------------------------------------------ +osrf_control -l --start-all +------------------------------------------------------------------------------ ++ + ** If you receive the error message `bash: osrf_control: command not found`, + then your environment variable `PATH` does not include the `/openils/bin` + directory; this should have been set in the *opensrf* Linux account's + `.bashrc` configuration file. To manually set the `PATH` variable, edit the + configuration file `~/.bashrc` as the *opensrf* Linux account and add the + following line: ++ +[source, bash] +------------------------------------------------------------------------------ +export PATH=$PATH:/openils/bin +------------------------------------------------------------------------------ ++ +3. As the *opensrf* Linux account, generate the Web files needed by the staff + client and catalogue and update the organization unit proximity (you need to do + this the first time you start Evergreen, and after that each time you change the library org unit configuration. +): ++ +[source, bash] +------------------------------------------------------------------------------ +autogen.sh +------------------------------------------------------------------------------ ++ +4. As the *root* Linux account, restart the Apache Web server: ++ +[source, bash] +------------------------------------------------------------------------------ +/etc/init.d/apache2 restart +------------------------------------------------------------------------------ ++ +If the Apache Web server was running when you started the OpenSRF services, you +might not be able to successfully log in to the OPAC or staff client until the +Apache Web server is restarted. + +Testing connections to Evergreen +-------------------------------- + +Once you have installed and started Evergreen, test your connection to +Evergreen via `srfsh`. As the *opensrf* Linux account, issue the following +commands to start `srfsh` and try to log onto the Evergreen server using the +*egadmin* Evergreen administrator user name and password that you set using the +`eg_db_config` command: + +[source, bash] +------------------------------------------------------------------------------ +/openils/bin/srfsh +srfsh% login +------------------------------------------------------------------------------ + +You should see a result like: + + Received Data: "250bf1518c7527a03249858687714376" + ------------------------------------ + Request Completed Successfully + Request Time in seconds: 0.045286 + ------------------------------------ + + Received Data: { + "ilsevent":0, + "textcode":"SUCCESS", + "desc":" ", + "pid":21616, + "stacktrace":"oils_auth.c:304", + "payload":{ + "authtoken":"e5f9827cc0f93b503a1cc66bee6bdd1a", + "authtime":420 + } + + } + + ------------------------------------ + Request Completed Successfully + Request Time in seconds: 1.336568 + ------------------------------------ +[[install-troubleshooting-1]] +If this does not work, it's time to do some troubleshooting. + + * As the *opensrf* Linux account, run the `settings-tester.pl` script to see + if it finds any system configuration problems. The script is found at + `Open-ILS/src/support-scripts/settings-tester.pl` in the Evergreen source + tree. + * Follow the steps in the http://evergreen-ils.org/dokuwiki/doku.php?id=troubleshooting:checking_for_errors[troubleshooting guide]. + * If you have faithfully followed the entire set of installation steps + listed here, you are probably extremely close to a working system. + Gather your configuration files and log files and contact the + http://evergreen-ils.org/communicate/mailing-lists/[Evergreen development +mailing list] for assistance before making any drastic changes to your system + configuration. + +Getting help +------------ + +Need help installing or using Evergreen? Join the mailing lists at +http://evergreen-ils.org/communicate/mailing-lists/ or contact us on the Freenode +IRC network on the #evergreen channel. + +License +------- +This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 +Unported License. To view a copy of this license, visit +http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative +Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. diff --git a/configure.ac b/configure.ac index dacb5a36b7..89b98c8458 100644 --- a/configure.ac +++ b/configure.ac @@ -20,8 +20,8 @@ export PATH=${PATH}:/usr/sbin AC_PREREQ(2.61) -AC_INIT(Open-ILS, trunk, open-ils-dev@list.georgialibraries.org) -AM_INIT_AUTOMAKE([OpenILS], [trunk]) +AC_INIT(Open-ILS, 3.0.2, open-ils-dev@list.georgialibraries.org) +AM_INIT_AUTOMAKE([OpenILS], [3.0.2]) AC_REVISION($Revision: 0.1 $) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_SUBDIRS([Open-ILS/xul/staff_client/external/libmar]) diff --git a/docs/installation/server_upgrade.adoc b/docs/installation/server_upgrade.adoc index c2b7a74ba3..303e7062f3 100644 --- a/docs/installation/server_upgrade.adoc +++ b/docs/installation/server_upgrade.adoc @@ -7,7 +7,7 @@ Software Prerequisites ~~~~~~~~~~~~~~~~~~~~~~ * **PostgreSQL**: The minimum supported version is 9.4. - * **Linux**: Evergreen 3.0.0 has been tested on Debian Stretch (9.0), + * **Linux**: Evergreen 3.0.2 has been tested on Debian Stretch (9.0), Debian Jessie (8.0), Debian Wheezy (7.0), Ubuntu Xenial Xerus (16.04), and Ubuntu Trusty Tahr (14.04). If you are running an older version of these distributions, you may want @@ -43,12 +43,12 @@ osrf_control --localhost --stop-all .. Back up the /openils directory. . Upgrade OpenSRF. Download and install the latest version of OpenSRF from the https://evergreen-ils.org/opensrf-downloads/[OpenSRF download page]. -. As the *opensrf* user, download and extract Evergreen 3.0.0: +. As the *opensrf* user, download and extract Evergreen 3.0.2: + [source, bash] ----------------------------------------------- -wget https://evergreen-ils.org/downloads/Evergreen-ILS-3.0.0.tar.gz -tar xzf Evergreen-ILS-3.0.0.tar.gz +wget https://evergreen-ils.org/downloads/Evergreen-ILS-3.0.2.tar.gz +tar xzf Evergreen-ILS-3.0.2.tar.gz ----------------------------------------------- + [NOTE] @@ -58,7 +58,7 @@ For the latest edition of Evergreen, check the https://evergreen-ils.org/egdownl + [source, bash] --------------------------------------------- -cd /home/opensrf/Evergreen-ILS-3.0.0 +cd /home/opensrf/Evergreen-ILS-3.0.2 --------------------------------------------- + On the next command, replace `[distribution]` with one of these values for your @@ -82,7 +82,7 @@ make -f Open-ILS/src/extras/Makefile.install [distribution] + [source, bash] ------------------------------------------------------------ -cd /home/opensrf/Evergreen-ILS-3.0.0 +cd /home/opensrf/Evergreen-ILS-3.0.2 PATH=/openils/bin:$PATH ./configure --prefix=/openils --sysconfdir=/openils/conf make ------------------------------------------------------------ @@ -93,8 +93,8 @@ These instructions assume that you have also installed OpenSRF under /openils/. + [source, bash] ------------------------------------------------------------ -cd /home/opensrf/Evergreen-ILS-3.0.0 -make STAFF_CLIENT_STAMP_ID=rel_3_0_0 install +cd /home/opensrf/Evergreen-ILS-3.0.2 +make STAFF_CLIENT_STAMP_ID=rel_3_0_2 install ------------------------------------------------------------ + . As the *root* user, change all files to be owned by the opensrf user and group: @@ -110,7 +110,7 @@ chown -R opensrf:opensrf /openils ----------------------------------------------------------- cd /openils/var/web/xul/ rm server -ln -sf rel_3_0_0/server server +ln -sf rel_3_0_2/server server ---------------------------------------------------------- + . As the *opensrf* user, update opensrf_core.xml and opensrf.xml by copying the @@ -130,7 +130,7 @@ Copying these configuration files will remove any customizations you have made t + [source, bash] ------------------------------------------------------------------------- -cd /home/opensrf/Evergreen-ILS-3.0.0 +cd /home/opensrf/Evergreen-ILS-3.0.2 perl Open-ILS/src/support-scripts/eg_db_config --update-config --service all \ --create-offline --database evergreen --host localhost --user evergreen --password evergreen ------------------------------------------------------------------------- @@ -154,21 +154,21 @@ The diff command can be used to show the differences between the distribution ve + [source, bash] ---------------------------------------------------------- -cp /home/opensrf/Evergreen-ILS-3.0.0/Open-ILS/examples/apache/eg_startup /etc/apache2/eg_startup +cp /home/opensrf/Evergreen-ILS-3.0.2/Open-ILS/examples/apache/eg_startup /etc/apache2/eg_startup ---------------------------------------------------------- + .. Update /etc/apache2/eg_vhost.conf by copying the example from Open-ILS/examples/apache/eg_vhost.conf. + [source, bash] ---------------------------------------------------------- -cp /home/opensrf/Evergreen-ILS-3.0.0/Open-ILS/examples/apache/eg_vhost.conf /etc/apache2/eg_vhost.conf +cp /home/opensrf/Evergreen-ILS-3.0.2/Open-ILS/examples/apache/eg_vhost.conf /etc/apache2/eg_vhost.conf ---------------------------------------------------------- + .. Update /etc/apache2/sites-available/eg.conf by copying the example from Open-ILS/examples/apache/eg.conf. + [source, bash] ---------------------------------------------------------- -cp /home/opensrf/Evergreen-ILS-3.0.0/Open-ILS/examples/apache/eg.conf /etc/apache2/sites-available/eg.conf +cp /home/opensrf/Evergreen-ILS-3.0.2/Open-ILS/examples/apache/eg.conf /etc/apache2/sites-available/eg.conf ---------------------------------------------------------- Upgrade the Evergreen database schema @@ -246,8 +246,8 @@ as a user with the ability to connect to the database server. [source, bash] ---------------------------------------------------------- -cd /home/opensrf/Evergreen-ILS-3.0.0/Open-ILS/src/sql/Pg -psql -U evergreen -h localhost -f version-upgrade/2.12.6-3.0.0-upgrade-db.sql evergreen +cd /home/opensrf/Evergreen-ILS-3.0.2/Open-ILS/src/sql/Pg +psql -U evergreen -h localhost -f version-upgrade/3.0.1-3.0.2-upgrade-db.sql evergreen ---------------------------------------------------------- [TIP] -- 2.11.0