From: Jason Stephenson Date: Fri, 29 Oct 2021 14:46:43 +0000 (-0400) Subject: Bumping version numbers, adding Upgrade Script and Changelog X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=19ebc75e712a431b7755198b324d0600501a5c02;p=working%2FEvergreen.git Bumping version numbers, adding Upgrade Script and Changelog Signed-off-by: Jason Stephenson --- diff --git a/ChangeLog b/ChangeLog index 1f72b2c73e..692562bbfa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,2508 @@ -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 6562900932cd2413f17351b3535fd581f76ee0ff +Author: Jason Stephenson +Date: Fri Oct 29 09:30:15 2021 -0400 + + Bumping Perl version string for 3.7.2 + + Signed-off-by: Jason Stephenson + +1 1 Open-ILS/src/perlmods/lib/OpenILS.pm + +commit e6d9f24ceba2a44034b263fa8353c9e8a4e73395 +Author: Jason Stephenson +Date: Fri Oct 29 09:13:48 2021 -0400 + + Translation updates - newpot + + Signed-off-by: Jason Stephenson + +198 126 build/i18n/po/bootstrap-opac/bootstrap-opac.pot +3083 3024 build/i18n/po/db.seed/db.seed.pot +92 92 build/i18n/po/fm_IDL.dtd/fm_IDL.dtd.pot +17 17 build/i18n/po/kpac/kpac.pot +30 26 build/i18n/po/tpac/tpac.pot +191 169 build/i18n/po/webstaff/webstaff.pot + +commit 5a3c8a5beea3e0a716688ecee3e847004be9355a +Author: Jason Stephenson +Date: Fri Oct 29 09:09:47 2021 -0400 + + Remove extraneous release notes documents + + Signed-off-by: Jason Stephenson + +0 17 docs/RELEASE_NOTES_NEXT/Cataloging/authority-full-rec-value-index.adoc +0 6 docs/RELEASE_NOTES_NEXT/Cataloging/bre_negative_one.adoc +0 14 docs/RELEASE_NOTES_NEXT/Client/splash_search_fix.adoc + delete mode 100644 docs/RELEASE_NOTES_NEXT/Cataloging/authority-full-rec-value-index.adoc + delete mode 100644 docs/RELEASE_NOTES_NEXT/Cataloging/bre_negative_one.adoc + delete mode 100644 docs/RELEASE_NOTES_NEXT/Client/splash_search_fix.adoc + +commit 645dbc689c40f14eb5a8e682660dec8cb25ccb29 +Author: Andrea Buntz Neiman +Date: Mon Oct 25 15:50:07 2021 -0400 + + Docs: corrections to Hold Groups Admin doc + + Signed-off-by: Andrea Buntz Neiman + +1 1 docs/modules/admin/pages/hold_groups_admin.adoc + +commit 0fd0a8014f2035dff15a848a2521fe9932f615c5 +Author: Andrea Buntz Neiman +Date: Mon Oct 25 15:41:11 2021 -0400 + + Docs: corrections to Library Groups Admin doc + + Signed-off-by: Andrea Buntz Neiman + +1 1 docs/modules/admin/pages/library_groups_admin.adoc + +commit f5f989e4d26ec6f920753cddb8df81028c34dd8e +Author: Jason Stephenson +Date: Mon Oct 25 13:16:18 2021 -0400 + + Docs: More 3.6.5 and 3.7.2 release notes cleanup + + Signed-off-by: Jason Stephenson + +6 5 docs/RELEASE_NOTES_3_6.adoc +6 4 docs/RELEASE_NOTES_3_7.adoc + +commit d085e78a07b4fb4afb03570de6493f0274f0837f +Author: Jason Stephenson +Date: Mon Oct 25 13:04:29 2021 -0400 + + Docs: Fix previous release notes addition + + Signed-off-by: Jason Stephenson + +1 1 docs/RELEASE_NOTES_3_6.adoc +1 1 docs/RELEASE_NOTES_3_7.adoc + +commit ef5dd79e8e7da917ea1d0dadb7f1c941b5568f7e +Author: Jason Stephenson +Date: Mon Oct 25 12:52:54 2021 -0400 + + Docs: Add an upgrade note to the 3.7.2 and 3.6.5 release notes + + Add a note mentioning that upgrading sites should make sure to run + autogen.sh to update the fm_IDL.xml files. + + Signed-off-by: Jason Stephenson + +2 0 docs/RELEASE_NOTES_3_6.adoc +2 0 docs/RELEASE_NOTES_3_7.adoc + +commit 676aaafb817cc58e17aacaf29665d1feeceabe21 +Author: Andrea Buntz Neiman +Date: Mon Oct 25 09:26:46 2021 -0400 + + Docs: updates to 3.7.2 and 3.6.5 release notes + + Signed-off-by: Andrea Buntz Neiman + Signed-off-by: Jason Stephenson + +6 0 docs/RELEASE_NOTES_3_6.adoc +9 0 docs/RELEASE_NOTES_3_7.adoc + +commit 60c4efb9151f5a454e012bab98de4260bf9d4485 +Author: Andrea Buntz Neiman +Date: Fri Oct 22 15:51:17 2021 -0400 + + docs: edit to 3.7.2 release notes + + Signed-off-by: Andrea Buntz Neiman + +0 5 docs/RELEASE_NOTES_3_7.adoc + +commit 0f45e6f2a8366619cf1936386ea45c32c71279df +Author: Andrea Buntz Neiman +Date: Fri Oct 22 15:45:50 2021 -0400 + + docs: release notes 3.6.5 + + Signed-off-by: Andrea Buntz Neiman + Signed-off-by: Michele Morgan + +157 0 docs/RELEASE_NOTES_3_6.adoc + +commit 42d0ee413445007ded6d27d33b103bffa0729885 +Author: Andrea Buntz Neiman +Date: Fri Oct 22 15:43:11 2021 -0400 + + docs: release notes 3.7.2 + + Signed-off-by: Andrea Buntz Neiman + +172 0 docs/RELEASE_NOTES_3_7.adoc + +commit efe8d20613f65c8a568f66f3cd2e334fe12e4341 +Author: Andrea Buntz Neiman +Date: Thu Oct 21 09:42:17 2021 -0400 + + docs: fixes to 3.7 report sources doc + + Signed-off-by: Andrea Buntz Neiman + +0 11 docs/modules/reports/pages/report_sources.adoc + +commit 88439b6aca0068cbe266c14650dc7583687ae9c0 +Author: Bill Erickson +Date: Tue Jul 27 15:09:45 2021 -0400 + + LP1903358 Staff catalog holds barcode realtime lookup + + Avoid requiring staff to send an Enter event (keyword / scanner) when + entering a patron barcode into the place holds form. Instead, look the + barcode up after a sufficient amount of time has passed. + + Signed-off-by: Bill Erickson + Signed-off-by: Ruth Frasur + Signed-off-by: Galen Charlton + +3 2 Open-ILS/src/eg2/src/app/staff/catalog/hold/hold.component.html +17 0 Open-ILS/src/eg2/src/app/staff/catalog/hold/hold.component.ts + +commit 759fd36124cd7eac9fdd4f81795b4a058480a5fc +Author: Galen Charlton +Date: Mon Oct 4 12:28:14 2021 -0400 + + LP#1826759: end DB update scripts with "COMMIT", not "END" + + The former is what tools like make_release are looking + for. + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/upgrade/1302.data.lp1826759_items_out_typo.sql + +commit c5d818c035e42a57caedfe9c443af1ff3ce71a80 +Author: Galen Charlton +Date: Mon Oct 4 10:52:35 2021 -0400 + + LP#1922567: stamp schema update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +1 1 Open-ILS/src/sql/Pg/upgrade/{XXXX.schema.authority-full-rec-value-index.sql => 1303.schema.authority-full-rec-value-index.sql} + rename Open-ILS/src/sql/Pg/upgrade/{XXXX.schema.authority-full-rec-value-index.sql => 1303.schema.authority-full-rec-value-index.sql} (83%) + +commit 38374b5a2add8172f1cebebf312ceaf0e5bf2a0d +Author: Jason Stephenson +Date: Tue Apr 6 07:43:52 2021 -0400 + + Lp 1922567: Limit authority.full_rec.value indexes + + Limit the authority_full_rec_value_index and + authority_full_rec_value_tpo_index indexes to the first 1024 + characters of a field or subfield in order to avoid database errors + when inserting or updating authorities with long fields. + + Include release note and regression test. + + Signed-off-by: Jason Stephenson + Signed-off-by: Jennifer Weston + Signed-off-by: Galen Charlton + +2 2 Open-ILS/src/sql/Pg/011.schema.authority.sql +21 0 Open-ILS/src/sql/Pg/t/regress/lp1922567-test-asset-full-rec-indexes.pg +12 0 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.authority-full-rec-value-index.sql +17 0 docs/RELEASE_NOTES_NEXT/Cataloging/authority-full-rec-value-index.adoc + create mode 100644 Open-ILS/src/sql/Pg/t/regress/lp1922567-test-asset-full-rec-indexes.pg + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.authority-full-rec-value-index.sql + create mode 100644 docs/RELEASE_NOTES_NEXT/Cataloging/authority-full-rec-value-index.adoc + +commit 2605a9e6f3bba5edf6616ca565170ab49b0811fe +Author: Jason Stephenson +Date: Mon Sep 27 13:39:41 2021 -0400 + + Lp 1826759: Stamping Upgrade Script + + Signed-off-by: Jason Stephenson + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +1 1 Open-ILS/src/sql/Pg/upgrade/{XXXX.data.lp1826759.items_out_typo.sql => 1302.data.lp1826759_items_out_typo.sql} + rename Open-ILS/src/sql/Pg/upgrade/{XXXX.data.lp1826759.items_out_typo.sql => 1302.data.lp1826759_items_out_typo.sql} (96%) + +commit 01b97d1a9fd9dd5c2918c92632b93a2f79a03329 +Author: Jason Stephenson +Date: Mon Sep 27 13:32:41 2021 -0400 + + Lp 1826759: Fix Database Upgrade Script + + Remove 2 extraneous updates, add a blank line between the remaining + updates, and add a placeholder the upgrade_deps_block_check(). + + Signed-off-by: Jason Stephenson + +4 10 Open-ILS/src/sql/Pg/upgrade/XXXX.data.lp1826759.items_out_typo.sql + +commit 422d61cdd34ca665456d664b8d4059d8e439efbd +Author: Shula Link +Date: Thu Mar 18 10:27:02 2021 -0400 + + Lp 1826759: Spelling correction: oustanding to outstanding + + Correct the spelling of "oustanding" to "outstanding" in the + descriptions of 3 config.org_unit_setting_type entries: + + * ui.circ.items_out.longoverdue + * ui.circ.items_out.lost + * ui.circ.items_out.claimsreturned + + Signed-off-by: Shula Link + Signed-off-by: Jason Stephenson + +3 3 Open-ILS/src/sql/Pg/950.data.seed-values.sql +56 0 Open-ILS/src/sql/Pg/upgrade/XXXX.data.lp1826759.items_out_typo.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.lp1826759.items_out_typo.sql + +commit b4b719009e03c8eb2a3a330f436a285b10934481 +Author: Jason Stephenson +Date: Tue Sep 7 14:37:54 2021 -0400 + + Lp 1942920: Show Legacy/Not Dated for Legacy Circs + + When legacy circ counts are displayed in the AngularJS client, the + year shows up as -1. This patch attempts to replace -1 with a + translatable string: "Legacy/Not Dated" as was used in the XUL staff + client. + + Signed-off-by: Jason Stephenson + Signed-off-by: Michele Morgan + +1 1 Open-ILS/src/templates/staff/cat/item/t_summary_pane.tt2 + +commit 8761bd6d859cf041d62619669f41df1462364eae +Author: Galen Charlton +Date: Thu Sep 23 16:11:42 2021 -0400 + + LP#1944765: enable the Apache module mod_headers + + This patch enables mod_headers for Debian Stretch and Buster + and Ubuntu Bionic and Focal during installation. Without + mod_headers, the Angular staff client application can have + its index page cached for 24 hours on a stock system, meaning + that browsers will not consistently fetch the updated app + after an upgrade. + + This patch does not change the Fedora Makefile as mod_headers + is enabled by default on RHEL-like distributions. + + UPGRADE NOTES + ------------- + Existing Evergreen systems on Debian and Ubuntu should + do the following to ensure that mod_headers is active: + + sudo a2enmod headers + sudo systemctl restart apache2 + + To test + ------- + [1] Perform a fresh installation of Evergreen on Stretch, Buster, + Bionic, or Focal. + [2] Verify that mod_headers is enabled. + [3] (Optional) Fetch the Angular staff client index page, e.g., + /eg2/staff, and verify that the response headers call for + not caching it. + + Signed-off-by: Galen Charlton + Signed-off-by: Jason Boyer + Signed-off-by: Chris Sharp + +1 0 Open-ILS/src/extras/install/Makefile.debian-buster +1 0 Open-ILS/src/extras/install/Makefile.debian-stretch +1 0 Open-ILS/src/extras/install/Makefile.ubuntu-bionic +1 0 Open-ILS/src/extras/install/Makefile.ubuntu-focal + +commit caf359fb310899448dbc78551ee0ddfa1c3afca5 +Author: Shula Link +Date: Tue Jul 13 10:16:39 2021 -0400 + + LP1834258 Replace Javascript with Placeholder Attribute + + onfocus/onblur javascript replaced with placeholder="[% seed %]" in + Open-ILS/src/templates/kpac/getit.tt2 and + Open-ILS/src/templates/kpac/parts/searchbox.tt2 + + Signed-off-by: Shula Link + Signed-off-by: Terran McCanna + Signed-off-by: Chris Sharp + +1 3 Open-ILS/src/templates/kpac/getit.tt2 +1 3 Open-ILS/src/templates/kpac/parts/searchbox.tt2 + +commit d7c3704bd948d6cd820bf37c01828de829051553 +Author: Bill Erickson +Date: Mon Aug 2 16:30:21 2021 -0400 + + LP1938729 Cache "cascade" setting values + + Cache values retrieved from 'open-ils.actor.settings.retrieve' lookups + in IndexedDB, similar to to org unit setting lookups, to reduce the need + for so many API calls for settings retrieval. + + Signed-off-by: Bill Erickson + Signed-off-by: Jason Boyer + +87 24 Open-ILS/src/eg2/src/app/core/server-store.service.ts +2 1 Open-ILS/src/eg2/src/app/staff/login.component.ts + +commit a042c318639fe35bd302ec7a6b87b783eb2741f1 +Author: Terran McCanna +Date: Mon Sep 20 18:12:47 2021 -0400 + + LP1909144 BooPAC Login Form Tabbing + + This change places the cursor in the user name field and adjusts the order + of the elements so that tabbing out of the user name field comes to the + password field next. + + Note that this modifies both the login modal and the embedded login form. + + Signed-off-by: Terran McCanna + Signed-off-by: Elaine Hardy + Signed-off-by: Jason Boyer + +7 0 Open-ILS/src/templates-bootstrap/opac/parts/base.tt2 +43 38 Open-ILS/src/templates-bootstrap/opac/parts/login/form.tt2 +36 27 Open-ILS/src/templates-bootstrap/opac/parts/login/login_modal.tt2 + +commit e12c899b188d34b29441d4ecca2660d2b4b6fa00 +Author: Josh Stompro +Date: Thu Apr 15 08:37:05 2021 -0500 + + LP#1924562 - pingest.pl help typo for --max-duration + + In the help command example the argument --duration is used but + --max-duration is the correct command. + + Signed-off-by: Josh Stompro + Signed-off-by: Jason Boyer + +1 1 Open-ILS/src/support-scripts/pingest.pl + +commit 8dd47f54b1eb5e6f5fa101d84fc59ca8965e09ef +Author: Bill Erickson +Date: Mon Jan 11 10:59:54 2021 -0500 + + LP1911023 Batch hold cancel refreshes before completion + + Ensure all hold cancelation promises complete before reporting the + results back to the caller. Issue was result of thinko in the code + that failed to relay one of the promises in the chain, so it reported + promise completion prematurely. + + Signed-off-by: Bill Erickson + Signed-off-by: Jason Boyer + +1 1 Open-ILS/src/eg2/src/app/staff/share/holds/cancel-dialog.component.ts + +commit 54af703c62c05c6f49b612565d1b57e806733bb7 +Author: Jason Stephenson +Date: Thu Oct 15 09:24:28 2020 -0400 + + Lp 1899974: Export PERL5LIB in oils_ctl.sh + + A change in Perl release 5.26.0 necessitates that the SIP_DIR variable + (default value "/opt/SIPServer") be exported to the environment in + oils_ctl.sh when attempting to start SIPServer. This change affects + Ubuntu 18.04 (Bionic Beaver) and Debian 10 (Buster) and any future + releases. + + To verify the bug: + + 1. Install OpenSRF, Evergreen, and SIPServer on an affected O/S. + 2. Start OpenSRF service. + 3. Start SIPServer via oils_ctl.sh: + oils_ctl.sh -a start_sip + 4. Notice the "Starting OILS SIP Server" message is printed with no + indication of failure. + 5. Verify that the PID file exists: /openils/var/run/oils_sip.pid + 6. Verify that no SIPServer processes are actually running: + pgrep -af SIPServer + The above should produce no output. + + To test this patch: + + 1. Apply this patch and install oils_ctl.sh to /openils/bin/. + 2. Assuming you have run the previous steps, delete the PID file: + rm /openils/var/run/oils_sip.pid + 3. Start SIPServer via oils_ctl.sh: + oils_ctl.sh -a start_sip + 4. Notice the "Starting OILS SIP Server" message is printed. + 5. Verify that the PID file exists: /openils/var/run/oils_sip.pid + 6. `pgrep -af SIPServer` should produce output. + + It is safe to apply this patch on an unaffected O/S. Explicitly + adding SIP_DIR to PERL5LIB will have no detrimental effect on any O/S + currently supported by Evergreen. + + Signed-off-by: Jason Stephenson + Signed-off-by: Jason Boyer + +7 0 Open-ILS/examples/oils_ctl.sh + +commit 8319de17e75775f7840df5212514e6159af9929e +Author: Galen Charlton +Date: Wed Aug 25 18:21:03 2021 -0400 + + LP#1928275: fix the Angular "Copy Queue To Bucket" + + Similar to bug 1934184, a blank routerLink on an anchor no longer + causes an ngbModal to open via a click handler. + + To test + ------- + [1] Create a MARC import bib queue that has at least one imported + record it. + [2] Click the "Copy Queue To Bucket" link from the queue inspection page + and observe that nothing happens. + [3] Apply the patch and repeat step 2. This time, the add-to-bucket dialog + should appear. + + Signed-off-by: Galen Charlton + Signed-off-by: Mary Llewellyn + Signed-off-by: Jason Boyer + +1 1 Open-ILS/src/eg2/src/app/staff/cat/vandelay/queue.component.html + +commit 5130ea2ca5071b809fbf88c5864999d72f68cf4f +Author: Bill Erickson +Date: Mon Sep 20 11:55:00 2021 -0400 + + LP1924621 Place Hold For shows pref name + + In the staff catalog banner which displays when a hold is being placed + for a pre-selected patron. + + Signed-off-by: Bill Erickson + Signed-off-by: Jason Boyer + +2 1 Open-ILS/src/eg2/src/app/staff/catalog/catalog.component.html + +commit fd30681fe50ba67a24276ceeda6467187e1bc5eb +Author: Garry Collum +Date: Thu Apr 15 19:39:56 2021 -0400 + + LP1924621 Staff catalog place hold screen preferred name + + Displays the preferred first or last name on the place holds screen, + if a patron barcode is entered. + + To test. + 1. Set up a borrower with a preferred first name, and one with a + preferred last name, and one with both. + 2. Use the catalog place hold screen to search for these borrowers + and notice that the preferred names, if available, are displayed. + + * note newline added by Bill to break up wide column. + + Signed-off-by: Garry Collum + Signed-off-by: Mary Llewellyn + Signed-off-by: Bill Erickson + Signed-off-by: Gina Monti + Signed-off-by: Jason Boyer + +2 1 Open-ILS/src/eg2/src/app/staff/catalog/hold/hold.component.html + +commit 6ebeb28db990b5c4fa72850e060cf4ba9ad3fa79 +Author: Bill Erickson +Date: Wed May 12 11:46:01 2021 -0400 + + LP1941764 Import from queue propagate form inputs + + When importing records from an existing Vandelay queue, ensure the + selected queue, its match set, its match bucket, and its holdings import + profile are propagated into the import form. + + Signed-off-by: Bill Erickson + Signed-off-by: Christine Morgan + Signed-off-by: Galen Charlton + +2 0 Open-ILS/src/eg2/src/app/staff/cat/vandelay/import.component.html +48 8 Open-ILS/src/eg2/src/app/staff/cat/vandelay/import.component.ts + +commit d32db484734072ae731a77099fc6b71d1c868b78 +Author: Jason Boyer +Date: Wed Sep 22 13:21:13 2021 -0400 + + LP1920253: Stamp Upgrade Script + + Signed-off-by: Jason Boyer + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +1 1 Open-ILS/src/sql/Pg/upgrade/{XXXX.data.carousel_ws_settings.sql => 1294.data.carousel_ws_settings.sql} + rename Open-ILS/src/sql/Pg/upgrade/{XXXX.data.carousel_ws_settings.sql => 1294.data.carousel_ws_settings.sql} (89%) + +commit 9a0c78ff32147177c1644aa64da4e231683e3db8 +Author: Michele +Date: Fri Mar 19 18:21:26 2021 -0400 + + LP1920253 Add missing carousel workstation setting types + + Adds ws setting types for the following pages: + + Carousels Visible at Library Configuration (eg.grid.admin.local.container.carousel_org_unit) + Carousels Configuration (eg.grid.admin.container.carousel) + Carousel Types Configuration (eg.grid.admin.server.config.carousel_type) + + Signed-off-by: Michele Morgan + Signed-off-by: Tiffany Little + Signed-off-by: Jason Boyer + +25 0 Open-ILS/src/sql/Pg/950.data.seed-values.sql +29 0 Open-ILS/src/sql/Pg/upgrade/XXXX.data.carousel_ws_settings.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.carousel_ws_settings.sql + +commit 62864589a06636f0cb77876fd06dd7cd73a80d80 +Author: Galen Charlton +Date: Thu Aug 5 17:55:18 2021 -0400 + + LP#1844121: prevent staff login by expired barcode + + open-ils.auth.authenticate.init accepts an identifier as its + sole parameter, then determines whether it looks like a + username or barcode and retrieves the patron's password + salt as the seed accordingly. + + open-ils.auth.authenticate.complete can accept the identifier + via the 'identifier', 'username', or 'barcode' keys, but the + key used does not need to match how .init found the patron. + + As a consequence, the .init/.complete dance can retrieve the + patron by barcode but handle the barcode value as if it were + a username, thereby bypassing the check of whether the barcode + was inactive. In particular, the AngularJS staff client login + process does this, meaning that staff members can log in to the + staff client via the AngularJS form using an expired barcode. + + This is not good. The OPAC explicitly blocks logging in using an + inactive barcode because it checks the identifier type and sets + the key passed to .complete accordingly. The Angular staff login + page also prevents logging in using an inactive barcode because + (a) it uses open-ils.auth.login, which doesn't have the same + problem and (b) it forces the identifier to be marked as a user + name regardless. + + NOTE: this means that the Angular staff login form prevents staff + from logging in via barcode, which potentially is a regression as + compared to the AngularJS side (or, alternatively, is providing + additional necessary strictness). + + This patch avoids the problem by having .complete inspect the + cached seed created by .init to determine how the user was ultimately + found. + + Some alternative approaches that were rejected include: + + [1] Having AngularJS just mirror Angular. Problem: if some staff + users are used to using their barcode to log in, doing + this would cause an immediate problem. I note that because + the staff interface URL is commonly expressed as + https://library.example/eg/staff, is currently far more common + for the staff interface to be logged into via the AngularJS + form rather than the Angular one. + [2] Having AngularJS use open-ils.auth.login, but make it and + Angular use 'identifier' as the key rather than 'username'. + Problem: while this would have the desired effect if you + only use native authentication, if you're using open-ils.auth_proxy, + it won't work - open-ils.auth_proxy.login doesn't recognize an + 'identifier' parameter. While that could be changed, it + is more invasive. + + To test + ------- + [1] Set up a staff user that has a username, an active barcode, + and an inactive barcode. + [2] Log in to the AngularJS staff interface (/eg/staff) using + the username, the active barcode, and the inactive one. + [3] Note that you are permitted to log in with all three identifiers. + [4] Apply the patch and repeat step 2. + [5] This time, logging in using the inactive barcode should + fail. + [6] Verify that other login types continue to work as expected: + - Angular staff login form + - OPAC + - SIP2 terminal login + - SIP2 user authentication + - operator change (Angular and AngularJS) + - Web-based self-check + [7] Extra credit: test logging in via open-ils.auth_proxy with + it falling back to native authentication. + + Signed-off-by: Galen Charlton + Signed-off-by: Shula Link + Signed-off-by: Mike Rylander + +20 1 Open-ILS/src/c-apps/oils_auth.c + +commit 464dc0f80b7df8e700913b350583ffbd2a8f0f66 +Author: Terran McCanna +Date: Fri Jun 18 18:12:08 2021 -0400 + + LP1904754 Former precat still displays precat info + + This fixes a display issue where the precat title and author + were still displaying once the record was no longer a precat, + which effectively duplicated the title and author. + + Signed-off-by: Terran McCanna + Signed-off-by: Jason Boyer + Signed-off-by: Bill Erickson + +3 8 Open-ILS/src/templates/staff/cat/item/t_list.tt2 +1 1 Open-ILS/src/templates/staff/cat/item/t_summary_pane.tt2 + +commit 85577071bf637766c595f074529b5bf6bef3b691 +Author: Galen Charlton +Date: Fri Dec 4 11:17:51 2020 -0500 + + LP#1916949: combobox: asyncSupportsEmptyTermClick fix + + This is a backport of a patch that was included as part + of LP#1904244. + + Fixes situation where combobox would fetch the needed entries + in async mode, but fail to open the drop-down. + + This includes code originally written by Bill Erickson with + additions by Galen Charlton to insure that static data sources + would continue to work. + + Signed-off-by: Galen Charlton + Signed-off-by: Ruth Frasur + Signed-off-by: Bill Erickson + +8 4 Open-ILS/src/eg2/src/app/share/combobox/combobox.component.ts + +commit f45a3273336f9db591f3726582d28860252e6cf1 +Author: Bill Erickson +Date: Tue Jul 27 14:04:03 2021 -0400 + + LP1903357 Angstcat Hold Activate Date Validation + + Prevent setting activation dates in the past when placing holds in the + Angular Staff Catalog. + + Signed-off-by: Bill Erickson + Signed-off-by: Josh Stompro + +14 4 Open-ILS/src/eg2/src/app/staff/catalog/hold/hold.component.html +17 2 Open-ILS/src/eg2/src/app/staff/catalog/hold/hold.component.ts + +commit b67c3541661f911b68dd4feb278bb41bbd845488 +Author: Adam Bowling +Date: Fri Jul 23 16:00:35 2021 -0400 + + LP1937875: Remove GitHub reference from package.js + + Removes the call to GitHub (required under legacy circumstances), + since it can cause some machines lacking SSH keys for GitHub to + fail when "npm install" is run for the AngularJS web client. + + Signed-off-by: Adam Bowling + Signed-off-by: Jason Boyer + +1 1 Open-ILS/web/js/ui/default/staff/package.json + +commit 1f6132630c98c4a90a371de474f268b4239c553d +Author: Dan Briem +Date: Wed Mar 3 16:06:50 2021 -0500 + + LP#1917338 Angular: Holdings view column picker missing OPAC visible? + + Adds OPAC visible column to holdings grid in the Angular catalog. + + Signed-off-by: Dan Briem + Signed-off-by: Jennifer Pringle + Signed-off-by: Bill Erickson + +3 0 Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.html + +commit ea96118b262f71e68bb4b48d3eeb86d6bcfe2196 +Author: Jason Boyer +Date: Fri Aug 20 14:00:25 2021 -0400 + + LP1908614: Show the Age Hold Protection name in the staff catalog + + Signed-off-by: Jason Boyer + Signed-off-by: Michele Morgan + Signed-off-by: Bill Erickson + +6 1 Open-ILS/src/eg2/src/app/staff/catalog/record/copies.component.html +7 1 Open-ILS/src/perlmods/lib/OpenILS/Application/AppUtils.pm + +commit 025733c6be1bb4f667d9f43c83b0509c76850346 +Author: Terran McCanna +Date: Wed Jul 21 15:43:05 2021 -0400 + + LP1786971 z39.50 incorporate Bill's changes + + Signed-off-by: Terran McCanna + Signed-off-by: Mary Llewellyn + Signed-off-by: Bill Erickson + +1 11 Open-ILS/web/js/ui/default/staff/cat/z3950/app.js + +commit 2646e53dafd55d0570253b2356761fb668d8f676 +Author: Bill Erickson +Date: Tue Jul 20 10:59:42 2021 -0400 + + LP1786971 TCN fetching and maintenance tweaks + + Avoid storing the TCN value in local storage since it's not needed + outside the Z app. + + Wait for async TCN lookups to complete before using the value. + + Signed-off-by: Bill Erickson + Signed-off-by: Terran McCanna + Signed-off-by: Mary Llewellyn + +44 11 Open-ILS/web/js/ui/default/staff/cat/z3950/app.js + +commit d1dc6e9576ed70a95f20f4718da022bf84229e27 +Author: Terran McCanna +Date: Thu Jul 15 16:27:21 2021 -0400 + + LP1786971 z39.50 add TCN to overlay popups as well + + Displays TCN on the Overlay modal and on the confirmation popup + that displays if the live overlay target has changed. + + Signed-off-by: Terran McCanna + Signed-off-by: Mary Llewellyn + Signed-off-by: Bill Erickson + +1 1 Open-ILS/src/templates/staff/cat/share/z3950_strings.tt2 +4 1 Open-ILS/src/templates/staff/cat/z3950/t_overlay.tt2 +9 1 Open-ILS/web/js/ui/default/staff/cat/z3950/app.js + +commit 95eaf0c2f667e9e5ee7c5fe977a86eb9dcf7e8c2 +Author: Jessica Woolford +Date: Wed Mar 17 16:31:30 2021 -0400 + + LP1786971 z39.50 using TCN instead of ID + + This patch switches the target to overlays to the bib ID instead of the + TCN. This allows overlays to work for sites where TCN and bib ID are not + the same. + + Signed-off-by: Jessica Woolford + + LP1786971 Z39.50 TCN-Bib ID display and wording + + This adds the TCN to the Z39.50 interface when a record is + marked for overlay and the TCN does not match the Bib ID. + + Signed-off-by: Terran McCanna + Signed-off-by: Mary Llewellyn + Signed-off-by: Bill Erickson + +5 2 Open-ILS/src/templates/staff/cat/z3950/t_list.tt2 +1 1 Open-ILS/src/templates/staff/cat/z3950/t_overlay.tt2 +22 4 Open-ILS/web/js/ui/default/staff/cat/z3950/app.js + +commit 72523b648d075ec9e1976c9ac783d6463e2e4602 +Author: Tiffany Little +Date: Fri Jun 18 16:00:32 2021 -0400 + + LP1906826: Changes column header for purchase order in line item search + + Signed-off-by: Tiffany Little + Signed-off-by: Ruth Frasur + Signed-off-by: Bill Erickson + +1 1 Open-ILS/src/eg2/src/app/staff/acq/search/lineitem-results.component.html + +commit 1d57e88980914deaf4a45f404d70648e238efd3e +Author: Josh Stompro +Date: Tue Mar 10 11:38:48 2020 -0500 + + LP1866667 - Clear current_copy when pickup_lib is changed and waiting for capture + + When a user changes the pickup lib and a retarget is triggered + the currently targeted copy gets excluded if there are other + available copies. + + This can cause delays and confusion since the new copy may + not be the best choice. + + This change clears the current_copy before the retarget in that + situation. + + Testing setup. + + Find/create a title with items that looks like: + + System X -> + Branch A -> Holdable item + Branch B -> + System Y + Branch C -> Holdable item + Branch D -> Holdable item + + Place a hold with a pickup location of Branch B, which should target + the closest item at Branch A + + Then change the pickup location of your hold to Branch A. + + The retarget that happens, should switch the targeted copy to Branch C or D. + + After Change Applied: + + The hold should remain targeted to Branch A after pickup lib is changed + to Branch A. + + Signed-off-by: Josh Stompro + Signed-off-by: Dawn Dale + Signed-off-by: Bill Erickson + +6 0 Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm + +commit 6b5686937ca7fd1c2f15a8248dcfca1ef065f148 +Author: Josh Stompro +Date: Wed Jun 23 14:21:46 2021 -0500 + + LP#1821804 - Cloned patron address set to pending + + When cloning a patron record, the address gets set to pending and cannot + be fixed until the new patron record is saved. + + The address creation steps for cloned records are a little different if + the library setting "Patron Registration: Cloned patrons get address copy" is + set, so test with that enabled and disabled. In our system we have that setting + enabled. + + The issue is that the values come in as a string like 't' or 'f' and need to be converted + to a boolean value. That is done in the normal address loading code, but wasn't in + the cloning code. + + I also added in a fix for the city limits flag not getting cloned which seems + like an related issue. This seems like it was just cosmetic, the city limits + does get set when the record is saved, based on the parent records address. + + Testing Plan: + + Before change: + + 1. Enable "Cloned patrons get address copy" setting. + 2. Open up a patron record that has a valid non pending address with city limits checked. + 3. Save and Clone + 4. Notice that the address in the new cloned record says pending. + 5. Notice that the city limits checkbox isn't checked. + + After change applied: + + 1. Enable "Cloned patrons get address copy" setting. + 2. Open up a patron record that has a valid non pending address with city limits checked. + 3. Save and Clone + 4. Notice that the address in the new cloned record doesn't say pending. + 5. Notice that the city limits checkbox is checked. + + Signed-off-by: Josh Stompro + Signed-off-by: Ruth Frasur + Signed-off-by: Bill Erickson + +2 0 Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js + +commit b9b04bc458c0974ae453c31ca9314359a56c8863 +Author: Jason Etheridge +Date: Mon Jan 13 12:38:53 2020 -0500 + + lp1859502 fix A/T ApplyPatronPenalty reactor + + To test this, you could create the following A/T definition: + + Owning Library: CONS + Name: test lp1859502 + Hook: penalty.PATRON_EXCEEDS_FINES + Enabled: True + Processing Delay: 00:00:00 + Processing Group Context Field: usr + Reactor: ApplyPatronPenalty + Validator: NOOP_TRUE + Max Event Validity Delay: 1 day + Template: test message + + with environment: + + Field Path: usr + Label: user + + Field Path: usr.home_ou + Label: context_org + + with event params: + + Parameter Name: standing_penalty + Parameter Value: ALERT_NOTE + + Then bill a test patron for $100 and run something like: + + /openils/bin/action_trigger_runner.pl --osrf-config /openils/conf/opensrf_core.xml --run-pending + + Without the patch, you'll get something like this in osrfsys.log: + + ApplyPatronPenalty: missing parameters + + And no ALERT_NOTE penalty. With the patch you should see a "test message" alert note + when reloading the patron. + + Signed-off-by: Jason Etheridge + Signed-off-by: Chris Sharp + +3 3 Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor/ApplyPatronPenalty.pm + +commit 0a2651a60598153fab6461fcf8dba1feaaf0d1c3 +Author: Terran McCanna +Date: Thu Aug 20 18:37:28 2020 -0400 + + LP1752356 Offline Block List Download Date + + Amended previous commits by adding the download block list date to + the other reasons why an account could show up on the block list. + + Signed-off-by: Terran McCanna + Signed-off-by: Mike Risher + Signed-off-by: Jason Boyer + +4 4 Open-ILS/src/templates/staff/offline-interface.tt2 + +commit d4924cb6c5bbe83e50c97e4b5429738bb70339b7 +Author: Bill Erickson +Date: Wed Jul 3 14:34:39 2019 -0400 + + LP1752356 Offline expired patrons download date additions + + Modify wording to clarify the date displayed is that of the block list + download and not necessarily the date the patron was flagged expired. + + Avoid console errors when the file download date is not known -- edge + case where the code is updated but the block list was not updated in the + meantime. + + Clean up some debug logging. + + Signed-off-by: Bill Erickson + Signed-off-by: Terran McCanna + Signed-off-by: Jason Boyer + +1 1 Open-ILS/src/templates/staff/offline-interface.tt2 +8 5 Open-ILS/web/js/ui/default/staff/offline.js + +commit 1ca63d75928c98e30f8b516d4ee21191ea57796b +Author: Mike Risher +Date: Mon Jul 1 15:56:17 2019 +0000 + + LP1752356 Offline block list date addition + + In offline mode when checking out for an expired patron, we changed + the error message so that the last date the blocklist was downloaded + is displayed along with the patron barcode + + Signed-off-by: Mike Risher + Signed-off-by: Bill Erickson + Signed-off-by: Terran McCanna + Signed-off-by: Jason Boyer + +2 2 Open-ILS/src/templates/staff/offline-interface.tt2 +37 18 Open-ILS/web/js/ui/default/staff/offline.js +21 0 Open-ILS/web/js/ui/default/staff/services/lovefield.js + +commit 3b3548a74ba3092119c10b16b469bf3e0a01e6d1 +Author: Mike Rylander +Date: Tue Apr 9 11:30:15 2019 -0400 + + LP#1823983: repeat_delay check removes event definition id filter + + This bug has existed since the repeat_delay feature was added, but likely only + rarely was triggered because most events don't have a repeat_delay, and those + that do don't interact with the same target. However, as more repeatable event + definitions are created, inappropriate interaction becomes more likely. + + In this commit we avoid overwriting the whole join condition clause, which + already contains an event definition id filter and needs to retain it. + + Included is an unrelated change that uses the new-ish form of + interval_to_seconds that avoids DST boundary shifting issues by passing a + context DateTime object as the second parameter. + + Signed-off-by: Mike Rylander + Signed-off-by: Galen Charlton + +3 3 Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger.pm + +commit 98157770f0694d18aed9342367f4375dde599d3b +Author: Garry Collum +Date: Wed Apr 28 15:26:39 2021 -0400 + + LP1809157 SMS Carriers display not in alphabetical order + + This alphabetizes the carrier display when editing the sms carrier in an existing hold. + + It also adds the region to the name to make the interface consistent with other interfaces. + + To Test: + + 1. Enable SMS options in the Library Settings. + 2. Place a hold for a patron. + 3. Use the Edit Notifications Settings. Enter an SMS number, if needed. + 4. Drop-down the Carrier list - the list is not in alphabetical order. + 5. Apply the patch and repeat 3-4. + + Signed-off-by: Garry Collum + Signed-off-by: Michele Morgan + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/templates/staff/circ/share/t_hold_notification_prefs.tt2 + +commit 60fb3a9396528abde3d35628a5ae92040d461394 +Author: Jeff Davis +Date: Mon Aug 23 11:24:05 2021 -0700 + + LP#1932051: serialize adding items to bucket from Item Status + + Signed-off-by: Jeff Davis + Signed-off-by: Chris Sharp + +7 8 Open-ILS/web/js/ui/default/staff/circ/services/item.js + +commit 34798009019a6f2fdca836ef31e32012fc889bad +Author: Chris Sharp +Date: Tue Jun 15 11:59:48 2021 -0400 + + LP#1932051: Batch calls for add items to bucket + + Signed-off-by: Chris Sharp + Signed-off-by: Jeff Davis + +8 7 Open-ILS/web/js/ui/default/staff/cat/bucket/copy/app.js + +commit 3ac758e75af074f965a15fe8a0cfcc1270fc05d5 +Author: Mike Rylander +Date: Fri Sep 3 10:35:00 2021 -0400 + + Revert "lp1908439 Auto-override enhancment" + + This reverts commit 96e5f9d3c2a739e22485e07d9738ad52f24e60c9. + + This is a feature rather than a bug fix, and should not have gone into + 3.7. + +0 1 Open-ILS/src/templates/staff/base_js.tt2 +12 22 Open-ILS/src/templates/staff/circ/share/t_event_override_dialog.tt2 +2 6 Open-ILS/web/js/ui/default/staff/circ/patron/app.js +2 26 Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js +91 123 Open-ILS/web/js/ui/default/staff/circ/services/circ.js +2 18 Open-ILS/web/js/ui/default/staff/services/op_change.js +0 3 docs/RELEASE_NOTES_NEXT/Circulation/override-dialogs.adoc + delete mode 100644 docs/RELEASE_NOTES_NEXT/Circulation/override-dialogs.adoc + +commit 00fe0003f6877f0038bd515795800efd61637b71 +Author: Dan Briem +Date: Thu Aug 26 14:52:51 2021 -0400 + + LP#1743611 Circ History by Year Info + + Adds an info button next to Total Circs in the AngularJS staff + client Item Status screen. Clicking the button displays a + popover list of total circs by year. + + Signed-off-by: Dan Briem + Signed-off-by: Michele Morgan + Signed-off-by: John Amundson + Signed-off-by: Jason Stephenson + +17 1 Open-ILS/src/templates/staff/cat/item/t_summary_pane.tt2 +4 1 Open-ILS/src/templates/staff/css/style.css.tt2 +25 27 Open-ILS/web/js/ui/default/staff/cat/item/app.js + +commit bb41835d6b558d60f41f0a208b86e9e529456107 +Author: Jason Boyer +Date: Fri Aug 27 15:56:10 2021 -0400 + + LP827356: Stamp Ugrade Script + + Signed-off-by: Jason Boyer + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +1 1 Open-ILS/src/sql/Pg/upgrade/{xxxx.schema.protect_special_ids.sql => 1283.schema.protect_special_ids.sql} + rename Open-ILS/src/sql/Pg/upgrade/{xxxx.schema.protect_special_ids.sql => 1283.schema.protect_special_ids.sql} (99%) + +commit cb6dbed95bdfb653432de04071cd30a44629cb51 +Author: Rogan Hamby +Date: Thu Mar 18 13:11:00 2021 +0000 + + lp827356 new rules protect bre -1, acn -1 and acl 1 as well as marc editing buttons disabled + + Signed-off-by: Rogan Hamby + Signed-off-by: Elaine Hardy + Signed-off-by: Jason Boyer + +3 3 Open-ILS/src/eg2/src/app/staff/share/marc-edit/editor.component.html +2 0 Open-ILS/src/sql/Pg/040.schema.asset.sql +4 0 Open-ILS/src/sql/Pg/800.fkeys.sql +5 0 Open-ILS/src/sql/Pg/999.functions.global.sql +291 0 Open-ILS/src/sql/Pg/upgrade/xxxx.schema.protect_special_ids.sql +6 0 docs/RELEASE_NOTES_NEXT/Cataloging/bre_negative_one.adoc +1 0 docs/RELEASE_NOTES_NEXT/miscellaneous.adoc + create mode 100644 Open-ILS/src/sql/Pg/upgrade/xxxx.schema.protect_special_ids.sql + create mode 100644 docs/RELEASE_NOTES_NEXT/Cataloging/bre_negative_one.adoc + +commit 4bc0f3f0e37ecfffdddb3461071b136f79744a41 +Author: Jason Boyer +Date: Fri Aug 27 14:45:54 2021 -0400 + + LP1931162: Stamp Upgrade Script + + Signed-off-by: Jason Boyer + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +1 1 Open-ILS/src/sql/Pg/upgrade/{XXXX.function.did_you_mean_optimization.sql => 1282.function.did_you_mean_optimization.sql} + rename Open-ILS/src/sql/Pg/upgrade/{XXXX.function.did_you_mean_optimization.sql => 1282.function.did_you_mean_optimization.sql} (99%) + +commit f76edc5628ffbe1884e9249376f4d5905b2b1322 +Author: Mike Rylander +Date: Mon Jun 7 15:57:32 2021 -0400 + + LP#1931162: DYM needs some situational optimization + + For some data sets and some queries the Did You Mean search suggestion + logic can be much too slow. This is mainly in cases where a "misspelled" + word of sufficient length greater than the symspell prefix length is + checked against many short prefixes that have many long suggestions + attached to them. + + This commit optimizes for that case in particular by testing the length + of suggestions and prefix keys against the user input to avoid + unnecessary tests. Futher, it captures the edit distance of suggestions + that pass that test in-line, avoiding expensive retesting, and caches + the short-cutoff edit distance when in low-verbosity mode to avoid + future different-but-not-too-different suggestions coming from the same + prefix key. + + It additionally provides a general optimization by batching the capture + of suggest counts to avoid per-suggestion secondary lookups, and a + micro-optimization of ordering suggestions by length at distance cache + time. + + Signed-off-by: Mike Rylander + Signed-off-by: Shula Link + Signed-off-by: Jason Boyer + +107 98 Open-ILS/src/sql/Pg/300.schema.staged_search.sql +268 0 Open-ILS/src/sql/Pg/upgrade/XXXX.function.did_you_mean_optimization.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.function.did_you_mean_optimization.sql + +commit 96e5f9d3c2a739e22485e07d9738ad52f24e60c9 +Author: Jason Etheridge +Date: Tue Feb 9 09:42:06 2021 -0500 + + lp1908439 Auto-override enhancment + + This reworks the override action dialogs in the patron display for Check + Out and Items Out, and in the Circulation -> Renew Items interface. It + exposes the auto-override behavior as checkboxes giving staff more fine + grained control over which events are auto-forced or skipped upon + subsequent encounters. It also changes the Cancel action for batch + renewals to abort the remaining renewals in the batch, and makes it so + that new authorization credentials provided during such a batch will be + treated as an operator change for the entire batch. We also fix an + existing bug where events marked as already encountered for + auto-override could leak into other patron contexts via Patron Search. + + Signed-off-by: Jason Etheridge + Signed-off-by: Terran McCanna + Signed-off-by: Mike Rylander + +1 0 Open-ILS/src/templates/staff/base_js.tt2 +22 12 Open-ILS/src/templates/staff/circ/share/t_event_override_dialog.tt2 +6 2 Open-ILS/web/js/ui/default/staff/circ/patron/app.js +26 2 Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js +123 91 Open-ILS/web/js/ui/default/staff/circ/services/circ.js +18 2 Open-ILS/web/js/ui/default/staff/services/op_change.js +3 0 docs/RELEASE_NOTES_NEXT/Circulation/override-dialogs.adoc + create mode 100644 docs/RELEASE_NOTES_NEXT/Circulation/override-dialogs.adoc + +commit ed7bdb048484567d85dc63754fc7ae2ed9929cfe +Author: Jane Sandberg +Date: Fri Jul 23 10:15:13 2021 -0700 + + LP1906058: Course-term map interface only allow reasonable mappings + + Different libraries will use different sets of course terms. In an + academic library context, for example, a consortium may include + libraries with very different start and end dates to their terms/semesters, + different numbers of terms/year, etc. + + This commit changes the interface to only allow users to associate + a course with a term from the same library or one of its ancestors. + + To test: + 1. Create many courses and course terms and many different OUs. + 2. On the course list, click "Terms taught". Associate some courses + and course terms. Make sure that you aren't able to associate your + course with any course terms that would not be reasonable for the + course's library. + 3. Edit a course, and choose the Course terms tab. Continue to associate + courses and terms, and make sure the mappings are reasonable. + + Signed-off-by: Jane Sandberg + Signed-off-by: Beth Willis + Signed-off-by: Galen Charlton + +1 4 Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-page.component.html +1 26 Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-page.component.ts +3 1 Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-reserves.module.ts +24 0 Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-term-map-grid.component.html +98 0 Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-term-map-grid.component.ts +9 2 Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-term-map.component.ts + create mode 100644 Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-term-map-grid.component.html + create mode 100644 Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-term-map-grid.component.ts + +commit eacd9cf7d455ab74453f1d7176e9a8280aae3b1f +Author: Michele Morgan +Date: Tue Mar 30 20:16:59 2021 +0000 + + LP#1917809 Create Course: Owning Library Default + + Changes the default for the owning library in the Create Course modal to the logged + in user's workstation org unit instead of the consortium. + + Signed-off-by: Michele Morgan + Signed-off-by: Christine Burns + Signed-off-by: Galen Charlton + +3 1 Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-list.component.ts + +commit 8451b54011876c024a9acc5e1bdd4031a11b2463 +Author: Galen Charlton +Date: Sun Aug 15 11:27:41 2021 -0400 + + LP#1905068: (follow-up) never initialize an OU ID to 1 + + This change has no effect on behavior, as defaultOuId's + initialization value always gets replaced with the user's + WS OU or the org root when the contructor is run, but + avoids any implication during code-reading that the top + of the OU tree can be assumed to have ID 1. + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-list.component.ts + +commit 25c6dc159740adc574dfa33892852b58e73871b9 +Author: Jane Sandberg +Date: Wed Jun 23 16:59:51 2021 -0700 + + LP1905068: Add org-family-select to course list + + To test: + + 1) Apply this patch + 2) Admin > Local admin > Course reserves list + 3) Check that the list defaults to courses available + at your workstation org unit + 4) Check that, when you select ancestors, descendants, + or a different org unit, the course list updates + accordingly + 5) Check that the list only displays org units for + which you have the MANAGE_RESERVES permission + + Signed-off-by: Jane Sandberg + Signed-off-by: Galen Charlton + +12 0 Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-list.component.html +14 2 Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-list.component.ts + +commit 5286e36bd881e6977564d02d858f42d5a2becea4 +Author: Jason Stephenson +Date: Fri Apr 9 16:31:57 2021 -0400 + + LP1923076: Add Perl live test + + Add lp1923076-test-perl-scalar-return.t to the Perl live tests to test + a couple of back end calls affected by the changes in this branch. + These backend calls are those that are easily testable with Concerto + data. + + Signed-off-by: Jason Stephenson + Signed-off-by: Michele Morgan + Signed-off-by: Mike Rylander + +103 0 Open-ILS/src/perlmods/live_t/lp1923076-test-perl-scalar-return.t + create mode 100755 Open-ILS/src/perlmods/live_t/lp1923076-test-perl-scalar-return.t + +commit fbda59d29fcd0db124357cbd1e4a72ea1f4d33ab +Author: Jason Stephenson +Date: Fri Apr 9 13:42:42 2021 -0400 + + LP1923976: Remove some dead code + + Remove a block of commented code that was turned up while working on + this issue. This is in its own commit to make it easier to revert, if + necessary. + + Signed-off-by: Jason Stephenson + Signed-off-by: Michele Morgan + Signed-off-by: Mike Rylander + +0 7 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm + +commit 4c19caf6974d8ad176e0f3b9a189700bd78366a9 +Author: Jason Stephenson +Date: Fri Apr 9 13:41:40 2021 -0400 + + LP1923076: Add cast to int in more places + + Add cast to int of scalar used on arrays in more places where it seems + necessary. + + Signed-off-by: Jason Stephenson + Signed-off-by: Michele Morgan + Signed-off-by: Mike Rylander + +1 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Actor/Container.pm +1 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm +2 2 Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm +1 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Z3950.pm +2 2 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/storage.pm +1 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm +1 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/container.pm + +commit ee9adb9a1ffda58e3f3b7481b835729010a818c8 +Author: Jeff Davis +Date: Wed Apr 7 19:41:49 2021 -0700 + + LP#1923076: ensure length of empty array is treated as a number when retrieving hold counts + + Thanks to Jason Stephenson for suggesting this solution. + + Signed-off-by: Jeff Davis + Signed-off-by: Jason Stephenson + Signed-off-by: Michele Morgan + Signed-off-by: Mike Rylander + +3 3 Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm + +commit a96319c5275b33dee4693513ab9cda0d51edf923 +Author: Jane Sandberg +Date: Fri Aug 13 08:34:03 2021 -0700 + + LP1935693: Improve spacing on the OPAC course materials table + + Signed-off-by; Jane Sandberg + Signed-off-by: Beth Willis + Signed-off-by: Christine Burns + Signed-off-by: Galen Charlton + +8 0 Open-ILS/src/templates-bootstrap/opac/css/style.css.tt2 +1 1 Open-ILS/src/templates/opac/parts/course/body.tt2 + +commit 79fd66630eae4a17688c0241fc5695a9ecc422aa +Author: Jane Sandberg +Date: Mon Jul 12 20:56:01 2021 -0700 + + LP1935693: Add circulation modifier to course page + + Also makes some strings extractable for translation that + were previously missed. + + To test: + 1) Enable the course materials module + 2) Add some courses + 3) Add some materials to those courses, using a mix of + circulation modifiers + 4) In the OPAC, use the Course Search to search for + your courses + 5) Click on the course you created + 6) Note that physical items associated with the course + display their circulation modifiers in the circulation + modifier column. + + Signed-off-by: Jane Sandberg + Signed-off-by: Beth Willis + Signed-off-by: Christine Burns + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Courses.pm +13 7 Open-ILS/src/templates/opac/parts/course/body.tt2 + +commit dc3666e7b25f6d6cbb97a6d59f2bae505c4d5144 +Author: Josh Stompro +Date: Mon Aug 2 08:30:06 2021 -0500 + + LP#1938450 - missing pieces slip printer context set to receipt + + Set the missing pieces slip to receipt context so it gets printed + to the receipt printer. + + Signed-off-by: Josh Stompro + Signed-off-by: Michele Morgan + Signed-off-by: Galen Charlton + +1 1 Open-ILS/web/js/ui/default/staff/circ/services/item.js + +commit fef16a545e6455c1877e04defa729f9bf1a2dc2b +Author: Bill Erickson +Date: Thu Jul 29 16:02:44 2021 -0400 + + LP1910452 Remove staff catalog read-only OPAC Patron View + + This is superseded by a new Patron View button. + + Also removes the underlying component, since it's not longer used + anywhere. + + Signed-off-by: Bill Erickson + Signed-off-by: Michele Morgan + Signed-off-by: Jason Etheridge + Signed-off-by: Galen Charlton + +0 2 Open-ILS/src/eg2/src/app/staff/catalog/catalog.module.ts +0 10 Open-ILS/src/eg2/src/app/staff/catalog/record/opac.component.html +0 47 Open-ILS/src/eg2/src/app/staff/catalog/record/opac.component.ts +0 6 Open-ILS/src/eg2/src/app/staff/catalog/record/record.component.html + delete mode 100644 Open-ILS/src/eg2/src/app/staff/catalog/record/opac.component.html + delete mode 100644 Open-ILS/src/eg2/src/app/staff/catalog/record/opac.component.ts + +commit 074a98c8e889d86d1bb209f3a56cbf72fdc36703 +Author: Bill Erickson +Date: Wed Jul 28 10:17:48 2021 -0400 + + LP1910452 Staff catalog Patron View button + + Adds a Patron View button to the Angular staff catalog record detail + page which opens the catalog in a new browser tab. + + Signed-off-by: Bill Erickson + Signed-off-by: Michele Morgan + Signed-off-by: Jason Etheridge + Signed-off-by: Galen Charlton + +4 0 Open-ILS/src/eg2/src/app/staff/catalog/record/actions.component.html + +commit 13cb905cc15dbf8413ad142b72c069462e6f47f6 +Author: Galen Charlton +Date: Tue Jul 13 10:11:29 2021 -0400 + + LP#1912852: add jump-on-one-hit support to Angular staff catalog + + This patch add support for the opac.staff.jump_to_details_on_single_hit + library setting to the Angular staff catalog. + + To test + ------- + [1] Apply the patch. + [2] Ensure that the opac.staff.jump_to_details_on_single_hit setting + is off for your workstation. + [3] Perform searches using the Angular staff catalog. Verifying that + searches that return any number of results display them on the + results page. + [4] Set the library setting to true and reload the staff catalog. + [5] Perform keyword, numeric, and MARC searches using terms that + result in a single-record result set. Verify that the interface + redirects to the single-record page for that hit. + [6] Perform searches that would return zero results. Verify that + the results page indicates zero hits fuond. + [7] Perform searches that would return more than one result. Verify + that the results are displayed on the results page. + + Signed-off-by: Galen Charlton + Signed-off-by: Jason Boyer + Signed-off-by: Jason Etheridge + Signed-off-by: Galen Charlton + +4 0 Open-ILS/src/eg2/src/app/staff/catalog/catalog.service.ts +4 1 Open-ILS/src/eg2/src/app/staff/catalog/resolver.service.ts +18 3 Open-ILS/src/eg2/src/app/staff/catalog/result/results.component.ts + +commit 5e9974b4d594852878f920141356da254846f3b1 +Author: Josh Stompro +Date: Thu Mar 4 19:09:44 2021 -0600 + + LP#1917396 - Staff Curbside Scheduling UTC Issues + + When a staff person tries to schedule curbside appointments + after their UTC equivalent time moves to the next day, the + timeslots for the next day are shown, and appointments get + made for the next day. + + For example, when CST is the local timezone (UTC-6), after 6pm + appointments for the current day are scheduled for the next day. + Appointments for the next day get scheduled for the day after. + + This happens because toISOString is used to grab the current date, + but toISOString always returns UTC time. The date widget will show + the correct date, but the time slots will actually be for the next + day. This is more noticeable if days have different schedules. + + Another clue is that the time slot selector will show all timeslots for + the day, not just the ones that are upcoming. + + Testing Plan: + + 1. Enable curbside for test location, and set org unit hours to + be at least through 8pm for open hours. + + 2. Wait until after 4PM (Pacific), 6pm CST, 7PM EST, or + change your computer clock. + + 3. Try to schedule an appointment for the current day. + + 4. The appointment should get scheduled for the next day. + + 5. Apply the fix. + + 6. Try to schedule another appointment and see that the correct + date gets selected. + + Signed-off-by: Josh Stompro + Signed-off-by: Terran McCanna + Signed-off-by: Galen Charlton + +6 3 Open-ILS/web/js/ui/default/staff/circ/curbside/directives/schedule_pickup.js + +commit c2f3a0ab095adf6c820ba0a7f79fcb68b62e0ad0 +Author: Galen Charlton +Date: Thu Aug 12 18:01:07 2021 -0400 + + LP#1802682: stamp DB update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +1 1 Open-ILS/src/sql/Pg/upgrade/{XXXX.data.cnal_ous_type.sql => 1279.data.cnal_ous_type.sql} + rename Open-ILS/src/sql/Pg/upgrade/{XXXX.data.cnal_ous_type.sql => 1279.data.cnal_ous_type.sql} (68%) + +commit d8855812d8b89257990a232b35c43d575966fa22 +Author: Jason Boyer +Date: Sat Nov 10 17:53:16 2018 -0500 + + LP1802682: Use Default Net Access Level OUS + + This branch does two things: makes use of the OUS + that determines the default Net Access Level, and + also changes the type of the coust entry to make + using it more user friendly. + + Signed-off-by: Jason Boyer + Signed-off-by: Terran McCanna + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/950.data.seed-values.sql +8 0 Open-ILS/src/sql/Pg/upgrade/XXXX.data.cnal_ous_type.sql +1 0 Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.cnal_ous_type.sql + +commit fe0b7772e4658a548ce35feccca63d2e9b6ddb36 +Author: Bill Erickson +Date: Tue Mar 16 17:27:05 2021 -0400 + + LP1916754 Angular Grid row index shows > 99 + + The row number column along the left of each grid now fully shows + 3-digit numbers (100 -> 999) without truncating the value. + + Signed-off-by: Bill Erickson + Signed-off-by: Terran McCanna + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/eg2/src/app/share/grid/grid-body.component.html +7 2 Open-ILS/src/eg2/src/app/share/grid/grid.component.css + +commit 473c278514efc710779c327fbc27b0967f79cde3 +Author: Dan Briem +Date: Fri Jul 30 22:34:26 2021 -0400 + + LP#1933381 Notify by SMS requires SMS fields when placing holds + + When placing a hold, if the notification method is set to SMS + and no carrier is selected, the hold fails with a generic error. + + This disables the Place Hold(s) button if notify by SMS is + selected and the SMS phone number or carrier fields are not set. + + Signed-off-by: Dan Briem + Signed-off-by: Erica Rohlfs + Signed-off-by: Galen Charlton + +4 3 Open-ILS/src/eg2/src/app/staff/catalog/hold/hold.component.html +12 0 Open-ILS/src/eg2/src/app/staff/catalog/hold/hold.component.ts + +commit 87b63a169938982ea1b2df845c1c27bd80be073a +Author: Terran McCanna +Date: Thu Jun 24 10:28:41 2021 -0400 + + LP1909584 Title for Shared Lists in Bootstrap OPAC + + This displays the title and description for shared lists + when viewed in the Bootstrap OPAC. + + Signed-off-by: Terran McCanna + Signed-off-by: Ruth Frasur + Signed-off-by: Galen Charlton + +10 0 Open-ILS/src/templates-bootstrap/opac/parts/result/table.tt2 + +commit d64655b02d042816f773f6b71d3452cfbc1cc5ae +Author: Terran McCanna +Date: Wed Jun 30 15:13:36 2021 -0400 + + LP1901028 Update seed data for checkout print template + + Signed-off-by: Terran McCanna + Signed-off-by: Jason Boyer + Signed-off-by: Galen Charlton + +2 1 Open-ILS/web/js/ui/default/staff/admin/workstation/app.js + +commit 7fe9e51b8c1e3d49f56f77653ec207c72e10f3b1 +Author: Terran McCanna +Date: Thu Oct 22 18:05:37 2020 -0400 + + LP1901028 Print Template for Checkout Missing Fields + + The fields are actually available, but the hints in the template + were incorrect. This fixes the hints for call number, owning library + name, owning library short name, and circulation modifier. + + Signed-off-by: Terran McCanna + Signed-off-by: Jason Boyer + Signed-off-by: Galen Charlton + +4 4 Open-ILS/src/templates/staff/share/print_templates/t_checkout.tt2 + +commit 6fd9a03dda558c5dddf646215f2aff6e50bb651a +Author: Garry Collum +Date: Mon Mar 22 15:09:16 2021 -0400 + + LP1920273: improve Bootstrap self registration display + + This patch makes the form in the self-registration screen in the Bootstrap + opac a little responsive on smaller devices. + + To test. + + 1. Turn on self-registration in the library settings. + 2. Go to the self-registration screen and make the screen as small as possible. + 3. Apply the patch. + 4. Notice that the form labels and input boxes are now more aesthetic. + 5. Create some self-registration requests to make sure the form captures the data. + + Signed-off-by: Garry Collum + Signed-off-by: Rogan Hamby + Signed-off-by: Galen Charlton + +56 52 Open-ILS/src/templates-bootstrap/opac/register.tt2 + +commit 069f687f43b6ec32b766356f2e81c0898abaf282 +Author: Galen Charlton +Date: Thu Aug 12 17:20:43 2021 -0400 + + LP#1926971: (follow-up) update base holds for patron template + + ... to add more information about what is available to the + template. + + Signed-off-by: Galen Charlton + +5 1 Open-ILS/src/templates/staff/share/print_templates/t_holds_for_patron.tt2 + +commit 0eab2ecd69ea75653f0040869b1cc9c1ce2629d9 +Author: Jason Etheridge +Date: Mon May 3 11:13:08 2021 -0400 + + lp1926971 augment holds for patrons print template + + with patron data, to support what the template editor preview is allowing + + Signed-off-by: Jason Etheridge + Signed-off-by: Josh Stompro + Signed-off-by: Galen Charlton + +1 1 Open-ILS/web/js/ui/default/staff/circ/patron/holds.js + +commit d218d4b6229919d2134a958ecee92f679d044f71 +Author: Jeff Davis +Date: Mon May 31 12:39:01 2021 -0700 + + LP#1930308: avoid duplicate circ modifier column + + Signed-off-by: Jeff Davis + Signed-off-by: Josh Stompro + Signed-off-by: Galen Charlton + +0 1 Open-ILS/src/templates/opac/parts/record/copy_table.tt2 + +commit 7c54b131037d8159ce1eaea50882d293988af6dd +Author: Terran McCanna +Date: Mon Jun 21 12:11:48 2021 -0400 + + LP1933125 Bootstrap OPAC Hold Count Alignment + + This groups and styles the hold count with the available + copy count. + + Signed-off-by: Terran McCanna + Signed-off-by: Ruth Frasur + Signed-off-by: Galen Charlton + +18 0 Open-ILS/src/templates-bootstrap/opac/parts/record/copy_counts.tt2 +0 22 Open-ILS/src/templates-bootstrap/opac/parts/record/summary.tt2 + +commit 095997028bcbc39b2159894997ede497309416fd +Author: Bill Erickson +Date: Tue Aug 3 17:11:42 2021 -0400 + + LP1932358 Serialize patron bucket entry batch deletion + + Avoid large sets of parallel patron bucket item delete calls by + serialzing the calls so they go one at a time. + + Adds a progress meter to the display during delete. + + Signed-off-by: Bill Erickson + Signed-off-by: Josh Stompro + Signed-off-by: Galen Charlton + +14 0 Open-ILS/src/templates/staff/circ/patron/bucket/t_view.tt2 +17 4 Open-ILS/web/js/ui/default/staff/circ/patron/bucket/app.js + +commit 70ee487432624f7e5f22c0fbb3b8d8eb8183e0a7 +Author: Jane Sandberg +Date: Tue May 25 20:24:12 2021 -0700 + + LP1919497: Make the login box translateable + + Thanks to Eva Cerninakova for reporting and identifying the solution! + + Signed-off-by: Jane Sandberg + Signed-off-by: Terran McCanna + Signed-off-by: Galen Charlton + +2 2 Open-ILS/src/templates-bootstrap/opac/parts/login/login_modal.tt2 + +commit e6dac70d8f404611e82727482f362dff350ac06c +Author: Garry Collum +Date: Thu May 27 13:49:00 2021 -0400 + + LP1929839 Load Shared Bucket text error + + Changes the title of the Load Shared Bucket pop-up box from "Load Shared + Bucket Bucket by ID" to "Load Shared Bucket by ID". I decided not to + change it to "Load Shared Bucket by Bucket ID" since "Bucket ID" is + displayed next to the input field. + + This affects all 3 types of buckets: item, record and user. + + Signed-off-by: Garry Collum + Signed-off-by: Tiffany Little + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/templates/staff/cat/bucket/record/t_load_shared.tt2 +1 1 Open-ILS/src/templates/staff/cat/bucket/share/t_load_shared.tt2 +1 1 Open-ILS/src/templates/staff/circ/patron/bucket/t_load_shared.tt2 + +commit 3d63c59a97f6908b78a3412615ffac1a99579a14 +Author: Bill Erickson +Date: Tue Aug 3 16:58:29 2021 -0400 + + LP1934184 Vandelay Delete Queue action repair + + Fixes the Queue Details page Delete Queue link. Before it did nothing, + now it prompts the user to confirm deletion followed by deleting the + queue (when confirmed). + + To test, go to Cataloging => MARC Batch Import/Export => Inspect Queue + => Double-click a queue => Click Delete Queue (under Queue Actions) and + confirm that the confirmation dialog appears and deletion works. + + Signed-off-by: Bill Erickson + Signed-off-by: Christine Morgan + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/eg2/src/app/staff/cat/vandelay/queue.component.html + +commit c754f26b737c99f4698a81099a29232eacb0fc81 +Author: Jane Sandberg +Date: Sun Jul 11 15:49:19 2021 -0700 + + LP1919483: Fix the queries for secondary admin pages + + To test, go to the following screens, and make sure that their + secondary admin pages don't show errors and filter properly. + + * Authority Control Set + * Authority Thesaurus + * Course list + * Hard due dates + * MARC import remove fields + * MARC Search/Facet fields + * Z39.50 servers + + Signed-off-by: Jane Sandberg + Signed-off-by: Christine Burns + Signed-off-by: Galen Charlton + +6 4 Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.ts + +commit 386e6f8725a2c2e17325cdd5e2a7519790c0435b +Author: Galen Charlton +Date: Fri Aug 6 11:35:49 2021 -0400 + + LP#1450519: remove unauthorized access to library setting history + + This patch changes the current Library Settings editor so that + it doesn't display the setting history for a setting that the user + doesn't have the underlying view permission for. It also removes + the coustl IDL class [config.org_unit_setting_type_log] from PCRUD. + + Access to the setting history is now done through a new method, + open-ils.actor.org_unit.settings.history.visible.retrieve, which + accepts an authtoken and a setting name. If the user has the + relevant view permission, setting history entries at all of the + OUs that they have the permission at are returned. If the user + lacks the permission, an empty array is returned. If the setting + has no permission associated with it, all history entries for + the setting are returned. The user must have at least STAFF_LOGIN + to retrieve any entries at all. + + To test + ------- + [1] As an administrator, make some changes to the values of + a privileged library setting (such as one of the credit card + ones) and an unprivileged one (e.g., lib.info_url). + [2] Log in as a staff user without administration privileges + and go to the library settings editor. Note that while the + current value of privileged settings are not displayed, clicking + on the history link displays the full history of the setting. + [3] Apply the patch and repeat step 2. + [4] This time, history for the privileged setting is not displayed, + while history for an unprivileged setting continues to be + available. + + Signed-off-by: Galen Charlton + Signed-off-by: Shula Link + Signed-off-by: Jason Stephenson + +1 9 Open-ILS/examples/fm_IDL.xml +44 0 Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm +28 17 Open-ILS/xul/staff_client/server/admin/org_unit_settings.js + +commit df5306c718f002df0320466c58a761e4882af900 +Author: Galen Charlton +Date: Thu Aug 12 11:17:56 2021 -0400 + + LP#1931167: stamp DB update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +1 1 Open-ILS/src/sql/Pg/upgrade/{XXXX.data.DYM_max_suggestions.sql => 1273.data.DYM_max_suggestions.sql} + rename Open-ILS/src/sql/Pg/upgrade/{XXXX.data.DYM_max_suggestions.sql => 1273.data.DYM_max_suggestions.sql} (89%) + +commit 06bf11a3c2b38ccd9dfd971152abf7ab8e5facd5 +Author: Mike Rylander +Date: Mon Jun 7 16:39:34 2021 -0400 + + LP#1931167: Missing YAOUS for DYM + + The baseline schema did not get updated to include the + opac.did_you_mean.max_suggestions YAOUS, so fresh, rather than upgraded, + Evergreen installs will be missing it. + + This commit adds it to the baseline and provides an upgrade script to + give the setting to impacted instances. + + Signed-off-by: Mike Rylander + Signed-off-by: Erica Rohlfs + Signed-off-by: Galen Charlton + +14 0 Open-ILS/src/sql/Pg/950.data.seed-values.sql +15 0 Open-ILS/src/sql/Pg/upgrade/XXXX.data.DYM_max_suggestions.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.DYM_max_suggestions.sql + +commit ca77de4a8079172f7f8653280ba725275a29f847 +Author: Jason Stephenson +Date: Fri Jul 16 15:50:59 2021 -0400 + + Lp 1936662: Add CPAN Module Prerequisites for Debian and Ubuntu + + This commit adds the missing CPAN module prerequisites for the "did + you mean" feature to the PostgreSQL server Makefile targets for Debian + Jessie, Stretch, Buster and Ubuntu Bionic. + + They were added to the Makefile target for Ubuntu Focal but were + apparently overlooked in the other distros. + + Signed-off-by: Jason Stephenson + Signed-off-by: Jane Sandberg + Signed-off-by: Galen Charlton + +6 0 Open-ILS/src/extras/install/Makefile.debian-buster +6 0 Open-ILS/src/extras/install/Makefile.debian-jessie +6 0 Open-ILS/src/extras/install/Makefile.debian-stretch +3 1 Open-ILS/src/extras/install/Makefile.ubuntu-bionic + +commit 411e16a82c5ed810c7d1a56610373f9c4830cc60 +Author: Galen Charlton +Date: Thu Aug 12 10:00:30 2021 -0400 + + LP#1937299: stamp DB update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +1 1 Open-ILS/src/sql/Pg/upgrade/{XXXX.data.patron_collections_exempt.sql => 1272.data.patron_collections_exempt.sql} + rename Open-ILS/src/sql/Pg/upgrade/{XXXX.data.patron_collections_exempt.sql => 1272.data.patron_collections_exempt.sql} (91%) + +commit 514e9b905a9af2b72dbeae8f3a630ac6482f2ae9 +Author: Jason Boyer +Date: Thu Jul 22 13:50:53 2021 -0400 + + LP1937299: Collections Exempt User Setting Repair + + The collections exempt user setting was never added to the seed data + meaning that depending on the age of your database it may or may not + be there. Additionally, correct the label for this setting in the + user editor. + + Signed-off-by: Jason Boyer + Signed-off-by: Terran McCanna + Signed-off-by: Galen Charlton + +26 0 Open-ILS/src/sql/Pg/950.data.seed-values.sql +43 0 Open-ILS/src/sql/Pg/upgrade/XXXX.data.patron_collections_exempt.sql +1 2 Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.patron_collections_exempt.sql + +commit 7172b97ab8b5428255c21096b9bc735b2e8efb74 +Author: Josh Stompro +Date: Tue May 25 09:42:22 2021 -0500 + + LP#1815968 - Self Check Audio Alerts + + The method of playing audio alerts seems to not be working in modern browsers. + + It seemed to work in firefox V40, but no longer in V68. + + Adding the autoplay element and then immediately removing it prevents the audio + from playing. I've also noticed in the past that the audio had been cut off + before the file was fully played. + + Using the .play() method does seem to work in newer versions of Firefox + and Chrome. Tested with Chrome V90 and Firefox V78.10.1esr. + + Testing Plan: + + 1. Enable Self Check Audio Alerts Library Setting. + 2. See the docs for setting up the default audio alerts. + https://docs.evergreen-ils.org/reorg/3.1/command_line_admin/_self_check_interface.html + 3. Launch self check interface, create a workstation and try to trigger an alert. + https://eg-server.you.com/eg/circ/selfcheck/main + 4. entering a fake barcode will trigger an alert which should not be audible. + + Apply the fix: + + 1. Launch self check interface, and reload/clear cache. + 2. Enter a fake barcode to trigger an audio alert. + 3. The audio alert should now be audible. + + Signed-off-by: Josh Stompro + Signed-off-by: Erica Rohlfs + Signed-off-by: Galen Charlton + +2 5 Open-ILS/web/js/dojo/openils/Util.js + +commit c750a4e5f9d128e81c9e637014416fce3718fffa +Author: Jane Sandberg +Date: Mon Aug 2 09:07:20 2021 -0700 + + Docs: small follow-up to remove an extra plus sign + + Signed-off-by: Jane Sandberg + +1 1 docs/modules/admin/pages/copy_locations.adoc + +commit 2132a6d4eb0533cfdf103f206a17ccc4784475fe +Author: Lynn Floyd +Date: Mon Aug 2 09:03:15 2021 -0700 + + DOCS:Shelving Locations, Added images and updated directions + + Added images and updated information on Shelving locations. Included information on Hold_Verify + Adding additional information in to the shelving locations. + Added Index terms. + + Signed-off-by: Jane Sandberg + +- - docs/modules/admin/assets/images/shelving_location/shelving_location_alert.png +- - docs/modules/admin/assets/images/shelving_location/shelving_location_config.png +- - docs/modules/admin/assets/images/shelving_location/shelving_location_edit.png +- - docs/modules/admin/assets/images/shelving_location/shelving_location_holdverify.png +- - docs/modules/admin/assets/images/shelving_location/shelving_location_new.png +- - docs/modules/admin/assets/images/shelving_location/shelving_location_order.png +- - docs/modules/admin/assets/images/shelving_location/sl_groups.png +- - docs/modules/admin/assets/images/shelving_location/sl_groups_example.png +- - docs/modules/admin/assets/images/shelving_location/sl_groups_new.png +89 71 docs/modules/admin/pages/copy_locations.adoc + create mode 100644 docs/modules/admin/assets/images/shelving_location/shelving_location_alert.png + create mode 100644 docs/modules/admin/assets/images/shelving_location/shelving_location_config.png + create mode 100644 docs/modules/admin/assets/images/shelving_location/shelving_location_edit.png + create mode 100644 docs/modules/admin/assets/images/shelving_location/shelving_location_holdverify.png + create mode 100644 docs/modules/admin/assets/images/shelving_location/shelving_location_new.png + create mode 100644 docs/modules/admin/assets/images/shelving_location/shelving_location_order.png + create mode 100644 docs/modules/admin/assets/images/shelving_location/sl_groups.png + create mode 100644 docs/modules/admin/assets/images/shelving_location/sl_groups_example.png + create mode 100644 docs/modules/admin/assets/images/shelving_location/sl_groups_new.png + +commit 8d6ec314674281b257564ac7c4703b9ae9ecfaac +Author: Gina Monti +Date: Fri Jul 23 09:08:52 2021 -0400 + + Docs: LP1776977: Update lsa-address_alert.adoc and add images + + Signed-off-by: Andrea Buntz Neiman + +- - docs/modules/admin/assets/images/media/address_alert.jpg +- - docs/modules/admin/assets/images/media/delete_address_alert.jpg +- - docs/modules/admin/assets/images/media/edit_address_alert.jpg +9 9 docs/modules/admin/pages/lsa-address_alert.adoc + create mode 100644 docs/modules/admin/assets/images/media/address_alert.jpg + create mode 100644 docs/modules/admin/assets/images/media/delete_address_alert.jpg + create mode 100644 docs/modules/admin/assets/images/media/edit_address_alert.jpg + +commit 78de35c33be0eca92ec986f11b487169d4ae31bf +Author: gmontimantis <86423994+gmontimantis@users.noreply.github.com> +Date: Mon Jun 28 12:53:25 2021 -0400 + + Update lsa-address_alert.adoc + + https://bugs.launchpad.net/evergreen/+bug/1776977 + + The new address alert table is rearranged to match the web client. + + Signed-off-by: Andrea Buntz Neiman + +14 10 docs/modules/admin/pages/lsa-address_alert.adoc + +commit 20f5b48508b4b1054cab6456ff789ec40d640967 +Author: Garry Collum +Date: Mon May 10 15:55:59 2021 -0400 + + LP1908612 Bootstrap Opac - Limit to Available + + Adds the 'Show All Copies' and 'Show Only Available Copies' to the Bootstrap + Opac's copy screen. + + Signed-off-by: Garry Collum + Signed-off-by: Jason Boyer + Signed-off-by: Galen Charlton + +14 0 Open-ILS/src/templates-bootstrap/opac/parts/record/copy_table.tt2 + +commit 5cd59cd1d996b0519fef8d7159f997f80104625c +Author: Gina Monti +Date: Thu Jul 8 15:02:22 2021 -0400 + + Docs: Update apache_rewrite_tricks.adoc to further address LP1837753 + + Signed-off-by: Andrea Buntz Neiman + +2 2 docs/modules/admin/pages/apache_rewrite_tricks.adoc + +commit 3b841bede12b5c19e699527802823dec347a9132 +Author: Gina Monti +Date: Thu Jul 8 15:05:10 2021 -0400 + + Docs: update glossary.adoc to add TLD definition per LP1837753 + + Signed-off-by: Andrea Buntz Neiman + +2 0 docs/modules/appendix/pages/glossary.adoc + +commit bec93186cd9aa34cebe524989400491053483dee +Author: Jane Sandberg +Date: Wed Jul 14 09:20:03 2021 -0700 + + LP1718782: follow up to fix failing test + + LP1718782 added a missing fixed field, but failed to also add it to + the expected data in this pgtap test. This commit updates the + expected data to also include a SRCE fixed field. + + Signed-off-by: Jane Sandberg + +1 0 Open-ILS/src/sql/Pg/t/lp1588543_marc_record_attributes.pg + +commit 7e3d0dfdc031a1a42c91327d793d14b5efd4515d +Author: Galen Charlton +Date: Tue Jul 13 12:09:57 2021 -0400 + + LP#1718782: stamp DB update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +1 1 Open-ILS/src/sql/Pg/upgrade/{XXXX.data.srce_fixed_field.sql => 1270.data.srce_fixed_field.sql} + rename Open-ILS/src/sql/Pg/upgrade/{XXXX.data.srce_fixed_field.sql => 1270.data.srce_fixed_field.sql} (96%) + +commit 26bcda1ef6e897499df0f14593a83d970ac62e73 +Author: Jane Sandberg +Date: Thu Sep 10 11:35:22 2020 -0700 + + LP1718782: Add the Srce fixed field to the Angular MARC editor + + To test: + + 1) Without using private browsing, open up a bibliographic record in + the Angular catalog MARC editor. + 2) Notice that there is a gap between the ELvl and Audn fixed fields. + 3) Apply this patch. + 4) Open up the same bibliographic record, this time using private + browsing (since the Angular MARC editor caches fixed field values). + 5) Notice that the Srce fixed field is available between the ELvl and + Audn fixed fields. + 6) Notice that you can right click inside the fixed field to get a list + of three possible values. + 7) Repeat the test with different record types (e.g. BKS, SCO, VIS) + + Signed-off-by: Jane Sandberg + Signed-off-by: Mary Llewellyn + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/eg2/src/app/staff/share/marc-edit/fixed-fields-editor.component.html +14 0 Open-ILS/src/sql/Pg/950.data.seed-values.sql +22 0 Open-ILS/src/sql/Pg/upgrade/XXXX.data.srce_fixed_field.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.srce_fixed_field.sql + +commit 0048871f960bd467c7672049bbfc9d419f42adb7 +Author: Bill Erickson +Date: Tue Jul 6 11:08:37 2021 -0400 + + LP1913807 Staff catalog shows preferred lib holdings counts + + Always show holdings counts for the preferred library (when set) even + when the library is not directly in the search scope. + + Signed-off-by: Bill Erickson + Signed-off-by: Galen Charlton + +13 1 Open-ILS/src/eg2/src/app/share/catalog/bib-record.service.ts +1 1 Open-ILS/src/eg2/src/app/staff/catalog/result/record.component.html +23 1 Open-ILS/src/eg2/src/app/staff/catalog/result/record.component.ts +15 0 Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm + +commit 4fa63bea6e58ee3b748f9d5b909c028729dded62 +Author: Bill Erickson +Date: Mon Jul 5 16:04:56 2021 -0400 + + LP1910808 Staff catalog show call number + + In the search results page, show the first call number for each record + (sorting by label sortkey) that is owned either by the user's preferred + library or the search library. + + Signed-off-by: Bill Erickson + Signed-off-by: Galen Charlton + +3 0 Open-ILS/src/eg2/src/app/share/catalog/bib-record.service.ts +2 1 Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts +7 0 Open-ILS/src/eg2/src/app/staff/catalog/result/record.component.html +17 0 Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm + +commit a4d516ccb0d441c96424053adac5089cceb62ca8 +Author: Jane Sandberg +Date: Thu Dec 19 15:54:18 2019 -0800 + + LP1857060: Tests for ISBNs with 979 prefix + + Also includes a slight tweak to the Amazon AddedContent code to avoid + attempting to convert 979 ISBNs to ISBN-10s (which is not possible). + + Signed-off-by: Jane Sandberg + Signed-off-by: Jason Boyer + Signed-off-by: Galen Charlton + +12 6 Open-ILS/src/perlmods/lib/OpenILS/WWW/AddedContent/Amazon.pm +7 1 Open-ILS/src/perlmods/t/16-OpenILS-WWW-AddedContent.t +30 0 Open-ILS/src/sql/Pg/t/lp1857060_handle_all_types_of_isbn.pg + create mode 100644 Open-ILS/src/sql/Pg/t/lp1857060_handle_all_types_of_isbn.pg + +commit 3e62dbc71482867704340f3ce8d158281d72417e +Author: Galen Charlton +Date: Tue Jul 13 10:28:12 2021 -0400 + + LP#1910891: stamp DB update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +1 1 Open-ILS/src/sql/Pg/upgrade/{XXXX.new_booking_perms_in_map.sql => 1269.data.new_booking_perms_in_map.sql} + rename Open-ILS/src/sql/Pg/upgrade/{XXXX.new_booking_perms_in_map.sql => 1269.data.new_booking_perms_in_map.sql} (92%) + +commit af9df234dcaeed43ad37056a416ca95f051c4c7a +Author: Jane Sandberg +Date: Sat Jan 9 22:20:29 2021 -0800 + + LP1910891: Add new booking perms to appropriate groups + + Steps to test: + + 1) Without this patch, create a reservation for a BR1 resource at BR1. + 2) Log in as a circulator at BR1. + 3) Go to Booking > Manage Reservations. Note that you can't see your reservation. + 4) Run this upgrade script. + 5) Repeat steps 2-3. Notice that you can now see the reservation. + 6) Wipe your database and re-install it with the additions to the seed data + in this commit. Repeat steps 1-3 and notice that you can see the reservation + as expected. + + Signed-off-by: Jane Sandberg + Signed-off-by: Terran McCanna + Signed-off-by: Galen Charlton + +4 0 Open-ILS/src/sql/Pg/950.data.seed-values.sql +29 0 Open-ILS/src/sql/Pg/upgrade/XXXX.new_booking_perms_in_map.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.new_booking_perms_in_map.sql + +commit d4c6e9cdf69292830d167afeec8cc192b19293e4 +Author: Jason Boyer +Date: Wed Mar 10 18:48:12 2021 -0500 + + LP1895737: Add Curbside Appointments to Bootstrap OPAC + + Add support for requesting / editing / canceling curbside + appointments to the bootstrap opac. + + Signed-off-by: Jason Boyer + Signed-off-by: Terran McCanna + Signed-off-by: Galen Charlton + +6 0 Open-ILS/src/templates-bootstrap/opac/css/style.css.tt2 +191 0 Open-ILS/src/templates-bootstrap/opac/myopac/holds_curbside.tt2 +8 2 Open-ILS/src/templates-bootstrap/opac/parts/myopac/base.tt2 + create mode 100755 Open-ILS/src/templates-bootstrap/opac/myopac/holds_curbside.tt2 + +commit b109a1cb9e2ebe6e9caa0dfc2a3f0015e70a7b63 +Author: Galen Charlton +Date: Mon Jul 12 17:01:51 2021 -0400 + + LP#1908722: stamp schema update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +1 1 Open-ILS/src/sql/Pg/upgrade/{XXXX.data.angstcat-show-more-details.sql => 1268.data.angstcat-show-more-details.sql} + rename Open-ILS/src/sql/Pg/upgrade/{XXXX.data.angstcat-show-more-details.sql => 1268.data.angstcat-show-more-details.sql} (82%) + +commit c86a0d9a13ad6d8d05f9059fe211a076b1241bd1 +Author: Galen Charlton +Date: Fri Jul 9 17:10:31 2021 -0400 + + LP#1908722: add electronic resource links + + This patch adds electronic resource links to the Show More Details + view in the Angular staff catalog, above the table of items. + + Signed-off-by: Galen Charlton + Signed-off-by: Bill Erickson + Signed-off-by: Michele Morgan + Signed-off-by: Galen Charlton + +21 2 Open-ILS/src/eg2/src/app/staff/catalog/result/record.component.html +2 0 Open-ILS/src/eg2/src/app/staff/catalog/result/results.component.ts + +commit 84a834e440834e325c7ed2fc9c3ddfb9cf5b23bb +Author: Bill Erickson +Date: Fri Jul 2 16:57:40 2021 -0400 + + LP1908722 Staff catalog Show More Details + + Adds a "Show More Details" (and "Show Fewer Details") buttons to the + Angualr staff catalog. Similar to the TPAC, activating the button means + more holdings details are displayed in the search results page. + + Adds a new workstation setting type called + 'eg.staff.catalog.results.show_more' + + Signed-off-by: Bill Erickson + Signed-off-by: Galen Charlton + Signed-off-by: Michele Morgan + Signed-off-by: Galen Charlton + +10 5 Open-ILS/src/eg2/src/app/share/catalog/bib-record.service.ts +12 5 Open-ILS/src/eg2/src/app/share/catalog/catalog.service.ts +4 0 Open-ILS/src/eg2/src/app/share/catalog/search-context.ts +0 1 Open-ILS/src/eg2/src/app/staff/catalog/catalog.service.ts +1 0 Open-ILS/src/eg2/src/app/staff/catalog/resolver.service.ts +27 0 Open-ILS/src/eg2/src/app/staff/catalog/result/record.component.html +6 2 Open-ILS/src/eg2/src/app/staff/catalog/result/results.component.html +35 4 Open-ILS/src/eg2/src/app/staff/catalog/result/results.component.ts +85 2 Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm +11 0 Open-ILS/src/sql/Pg/950.data.seed-values.sql +15 0 Open-ILS/src/sql/Pg/upgrade/XXXX.data.angstcat-show-more-details.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.angstcat-show-more-details.sql + +commit f28907e004bb997a02bb05e72a7135a7b05b0db4 +Author: Mike Risher +Date: Wed May 6 17:08:33 2020 +0000 + + LP#1362743 One modal at a time during batch checkin + + Modify batch checkins so that only one modal pops up at a time. + When each one is dismissed the next one will appear. + + Signed-off-by: Mike Risher + Signed-off-by: Dawn Dale + Signed-off-by: Galen Charlton + +13 5 Open-ILS/web/js/ui/default/staff/circ/services/item.js + +commit ecbd8dc464c20364d5b547d99406e902bd25029b +Author: Jane Sandberg +Date: Mon Feb 1 18:04:02 2021 -0800 + + LP1913221: Don't display blank course section number in OPAC + + To test: + + 1) Use the Library Settings Editor to turn on the Course Materials + Module. + 2) In Local administration, go to the course reserves list. + 3) Add several courses, some with section numbers, others without. + 4) In the OPAC, use the Course Search function to search for the courses + you just added. + 5) Notice that the search results page has a place for section numbers, + whether or not the course has one. + 6) Click into some of the courses. Notice that the course page also + includes a place for section numbers, whether or not the course has + one. + 7) Apply this patch. + 8) Repeat steps 4-6. Notice that the blank "section number" areas no + longer appear. + + Signed-off-by: Jane Sandberg + Signed-off-by: Beth Willis + Signed-off-by: Galen Charlton + +5 3 Open-ILS/src/templates/opac/course/results.tt2 +6 4 Open-ILS/src/templates/opac/parts/course/body.tt2 + +commit 9d54b7627bb7f0e687332fec069896c735ac791b +Author: Galen Charlton +Date: Wed Jul 7 10:42:54 2021 -0400 + + LP#1907296: stamp DB update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +1 1 Open-ILS/src/sql/Pg/upgrade/{XXXX.data.ws_setting_eg_grid_catalog_record_copies => 1266.ws_setting_eg_grid_catalog_record_copies.sql} + rename Open-ILS/src/sql/Pg/upgrade/{XXXX.data.ws_setting_eg_grid_catalog_record_copies => 1266.ws_setting_eg_grid_catalog_record_copies.sql} (81%) + +commit a80093246f9b6b8c40963926bd3dbe80046808a2 +Author: Michele Morgan +Date: Fri Apr 9 12:38:55 2021 -0400 + + LP#1907296 Missing Workstation setting for staff cat item table + + Adds the ws setting type eg.grid.catalog.record.copies to allow users to + save grid preferences for the angular catalog item table. + + Signed-off-by: Michele Morgan + Signed-off-by: Jennifer Pringle + Signed-off-by: Galen Charlton + +10 0 Open-ILS/src/sql/Pg/950.data.seed-values.sql +14 0 Open-ILS/src/sql/Pg/upgrade/XXXX.data.ws_setting_eg_grid_catalog_record_copies + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.ws_setting_eg_grid_catalog_record_copies + +commit 07b24d4acdb2b36d96e34a18a1c38342831674e3 +Author: Garry Collum +Date: Tue May 11 15:43:34 2021 -0400 + + LP1928005 Bootstrap Opac: Current charges not aligned on mobile. + + This patch removes the classes from the charges table that presents the table in a vertical format. + It wraps the table in a
that uses the table-responsive class. + + To test add some charges to a patron record. + Bring that patron's account up in the opac and view the charges table in the smallest browser size + possible. + Notice that the table switches to a vertical format and the column names are mis-aligned. + + Apply the patch. + + View the table again. The table should now be horizontal with all of the columns correct. + + Signed-off-by: Garry Collum + Signed-off-by: Terran McCanna + Signed-off-by: Galen Charlton + +4 2 Open-ILS/src/templates-bootstrap/opac/myopac/charges.tt2 + +commit d5387fc5b0b901b369293122f03537f08b908ecb +Author: Galen Charlton +Date: Fri Jun 4 16:17:33 2021 -0400 + + LP#1929136: (follow-up) reduce bounce time to 500ms + + During testing, 500ms was enough to avoid excessive + PCRUD calls while still keeping the interface's display + of duplicate or missing barcode warnings responsive. + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js + +commit 83c4e9327e6bd1b62a7d0bbe8b35448dbcf18f16 +Author: Jeff Davis +Date: Thu May 20 14:51:17 2021 -0700 + + LP#1929136: delay barcode lookup on change in holdings editor + + In the Holdings Editor, any change to the barcode field results in an + immediate API call. Thus, if you type the barcode "123456789", you + would get 9 separate calls: 1, 12, 123, 1234, 12345 ... + + This commit adds a 1000ms delay to avoid excessive pcrud calls when + typing a barcode. + + Signed-off-by: Jeff Davis + Signed-off-by: Galen Charlton + +1 1 Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js + +commit c6e50ae7aca514a3b3db441df29162680279e0fb +Author: Andrea Buntz Neiman +Date: Thu Jul 1 16:58:23 2021 -0400 + + Docs: updates to library settings; filename fixes + + Signed-off-by: Andrea Buntz Neiman + +48 0 docs/modules/admin/pages/librarysettings.adoc +2 3 docs/modules/admin_initial_setup/pages/dym_admin.adoc +- - docs/modules/opac/assets/images/media/{geosort_entry_box.PNG => geosort_entry_box.png} +- - docs/modules/opac/assets/images/media/{geosort_results_km.PNG => geosort_results_km.png} +- - docs/modules/opac/assets/images/media/{geosort_retrieval_error.PNG => geosort_retrieval_error.png} + rename docs/modules/opac/assets/images/media/{geosort_entry_box.PNG => geosort_entry_box.png} (100%) + rename docs/modules/opac/assets/images/media/{geosort_results_km.PNG => geosort_results_km.png} (100%) + rename docs/modules/opac/assets/images/media/{geosort_retrieval_error.PNG => geosort_retrieval_error.png} (100%) + +commit 38a3e540483cbdf7a43b8e8000e2f895d7d94125 +Author: Jane Sandberg +Date: Wed Jun 23 12:38:00 2021 -0400 + + Forward-port 3.7.1 version upgrade script + + Signed-off-by: Jane Sandberg + +1514 0 Open-ILS/src/sql/Pg/version-upgrade/3.7.0-3.7.1-upgrade-db.sql + create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/3.7.0-3.7.1-upgrade-db.sql diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application.pm index d750216454..05df308f50 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-7-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 77f0e75348..25d864dea5 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 ('1303', :eg_version); -- Dyrcona / jweston / gmcharlt +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.7.2', :eg_version); CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/version-upgrade/3.7.1-3.7.2-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/3.7.1-3.7.2-upgrade-db.sql new file mode 100644 index 0000000000..b040ac0202 --- /dev/null +++ b/Open-ILS/src/sql/Pg/version-upgrade/3.7.1-3.7.2-upgrade-db.sql @@ -0,0 +1,781 @@ +--Upgrade Script for 3.7.1 to 3.7.2 +\set eg_version '''3.7.2''' +BEGIN; +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.7.2', :eg_version); + +SELECT evergreen.upgrade_deps_block_check('1266', :eg_version); + +INSERT INTO config.workstation_setting_type (name, grp, datatype, label) +VALUES ( + 'eg.grid.catalog.record.copies', 'gui', 'object', + oils_i18n_gettext( + 'eg.grid.catalog.record.copies', + 'Grid Config: eg.grid.catalog.record.copies', + 'cwst', 'label') + ); + + +SELECT evergreen.upgrade_deps_block_check('1268', :eg_version); + +INSERT INTO config.workstation_setting_type (name, grp, datatype, label) +VALUES ( + 'eg.staff.catalog.results.show_more', 'gui', 'bool', + oils_i18n_gettext( + 'eg.staff.catalog.results.show_more', + 'Show more details in Angular staff catalog', + 'cwst', 'label' + ) +); + + +SELECT evergreen.upgrade_deps_block_check('1269', :eg_version); + +WITH perms_to_add AS + (SELECT id FROM + permission.perm_list + WHERE code IN ('VIEW_BOOKING_RESERVATION', 'VIEW_BOOKING_RESERVATION_ATTR_MAP')) + +INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable) + SELECT grp, perms_to_add.id as perm, depth, grantable + FROM perms_to_add, + permission.grp_perm_map + + --- Don't add the permissions if they have already been assigned + WHERE grp NOT IN + (SELECT DISTINCT grp FROM permission.grp_perm_map + INNER JOIN perms_to_add ON perm=perms_to_add.id) + + --- Anybody who can view resources should also see reservations + --- at the same level + AND perm = ( + SELECT id + FROM permission.perm_list + WHERE code = 'VIEW_BOOKING_RESOURCE' + ); + + + +SELECT evergreen.upgrade_deps_block_check('1270', :eg_version); + +INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Srce', '008', 'BKS', 39, 1, ' '); +INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Srce', '008', 'COM', 39, 1, ' '); +INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Srce', '008', 'MAP', 39, 1, ' '); +INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Srce', '008', 'MIX', 39, 1, ' '); +INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Srce', '008', 'REC', 39, 1, ' '); +INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Srce', '008', 'SCO', 39, 1, ' '); +INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Srce', '008', 'SER', 39, 1, ' '); +INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Srce', '008', 'VIS', 39, 1, ' '); + + +INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('srce','Srce','Srce'); + +INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES +(1750, 'srce', ' ', oils_i18n_gettext('1750', 'National bibliographic agency', 'ccvm', 'value')), +(1751, 'srce', 'c', oils_i18n_gettext('1751', 'Cooperative cataloging program', 'ccvm', 'value')), +(1752, 'srce', 'd', oils_i18n_gettext('1752', 'Other', 'ccvm', 'value')); + + +SELECT evergreen.upgrade_deps_block_check('1272', :eg_version); + +DO $$ +BEGIN + + PERFORM FROM config.usr_setting_type WHERE name = 'circ.collections.exempt'; + + IF NOT FOUND THEN + + INSERT INTO config.usr_setting_type ( + name, + opac_visible, + label, + description, + datatype, + reg_default + ) VALUES ( + 'circ.collections.exempt', + FALSE, + oils_i18n_gettext( + 'circ.collections.exempt', + 'Collections: Exempt', + 'cust', + 'label' + ), + oils_i18n_gettext( + 'circ.collections.exempt', + 'User is exempt from collections tracking/processing', + 'cust', + 'description' + ), + 'bool', + 'false' + ); + + END IF; + +END +$$; + + +SELECT evergreen.upgrade_deps_block_check('1273', :eg_version); + +INSERT into config.org_unit_setting_type +( name, grp, label, description, datatype ) +SELECT 'opac.did_you_mean.max_suggestions', + 'opac', + 'Maximum number of spelling suggestions that may be offered', + 'If set to -1, provide "best" suggestion if mispelled; if set higher than 0, the maximum suggestions that can be provided; if set to 0, disable suggestions.', + 'integer' + WHERE NOT EXISTS (SELECT 1 FROM config.org_unit_setting_type WHERE name = 'opac.did_you_mean.max_suggestions'); + + + +SELECT evergreen.upgrade_deps_block_check('1279', :eg_version); + +UPDATE config.org_unit_setting_type SET fm_class='cnal', datatype='link' WHERE name='ui.patron.default_inet_access_level'; + + + +SELECT evergreen.upgrade_deps_block_check('1282', :eg_version); + +CREATE OR REPLACE FUNCTION search.symspell_lookup( + raw_input text, + search_class text, + verbosity integer DEFAULT 2, + xfer_case boolean DEFAULT false, + count_threshold integer DEFAULT 1, + soundex_weight integer DEFAULT 0, + pg_trgm_weight integer DEFAULT 0, + kbdist_weight integer DEFAULT 0 +) RETURNS SETOF search.symspell_lookup_output + LANGUAGE plpgsql +AS $function$ +DECLARE + prefix_length INT; + maxED INT; + good_suggs HSTORE; + word_list TEXT[]; + edit_list TEXT[] := '{}'; + seen_list TEXT[] := '{}'; + output search.symspell_lookup_output; + output_list search.symspell_lookup_output[]; + entry RECORD; + entry_key TEXT; + prefix_key TEXT; + sugg TEXT; + input TEXT; + word TEXT; + w_pos INT := -1; + smallest_ed INT := -1; + global_ed INT; + i_len INT; + l_maxED INT; +BEGIN + SELECT value::INT INTO prefix_length FROM config.internal_flag WHERE name = 'symspell.prefix_length' AND enabled; + prefix_length := COALESCE(prefix_length, 6); + + SELECT value::INT INTO maxED FROM config.internal_flag WHERE name = 'symspell.max_edit_distance' AND enabled; + maxED := COALESCE(maxED, 3); + + word_list := ARRAY_AGG(x) FROM search.symspell_parse_words(raw_input) x; + + -- Common case exact match test for preformance + IF verbosity = 0 AND CARDINALITY(word_list) = 1 AND CHARACTER_LENGTH(word_list[1]) <= prefix_length THEN + EXECUTE + 'SELECT '||search_class||'_suggestions AS suggestions, + '||search_class||'_count AS count, + prefix_key + FROM search.symspell_dictionary + WHERE prefix_key = $1 + AND '||search_class||'_count >= $2 + AND '||search_class||'_suggestions @> ARRAY[$1]' + INTO entry USING evergreen.lowercase(word_list[1]), COALESCE(count_threshold,1); + IF entry.prefix_key IS NOT NULL THEN + output.lev_distance := 0; -- definitionally + output.prefix_key := entry.prefix_key; + output.prefix_key_count := entry.count; + output.suggestion_count := entry.count; + output.input := word_list[1]; + IF xfer_case THEN + output.suggestion := search.symspell_transfer_casing(output.input, entry.prefix_key); + ELSE + output.suggestion := entry.prefix_key; + END IF; + output.norm_input := entry.prefix_key; + output.qwerty_kb_match := 1; + output.pg_trgm_sim := 1; + output.soundex_sim := 1; + RETURN NEXT output; + RETURN; + END IF; + END IF; + + <> + FOREACH word IN ARRAY word_list LOOP + w_pos := w_pos + 1; + input := evergreen.lowercase(word); + i_len := CHARACTER_LENGTH(input); + l_maxED := maxED; + + IF CHARACTER_LENGTH(input) > prefix_length THEN + prefix_key := SUBSTRING(input FROM 1 FOR prefix_length); + edit_list := ARRAY[input,prefix_key] || search.symspell_generate_edits(prefix_key, 1, l_maxED); + ELSE + edit_list := input || search.symspell_generate_edits(input, 1, l_maxED); + END IF; + + SELECT ARRAY_AGG(x ORDER BY CHARACTER_LENGTH(x) DESC) INTO edit_list FROM UNNEST(edit_list) x; + + output_list := '{}'; + seen_list := '{}'; + global_ed := NULL; + + <> + FOREACH entry_key IN ARRAY edit_list LOOP + smallest_ed := -1; + IF global_ed IS NOT NULL THEN + smallest_ed := global_ed; + END IF; + + FOR entry IN EXECUTE + 'SELECT '||search_class||'_suggestions AS suggestions, + '||search_class||'_count AS count, + prefix_key + FROM search.symspell_dictionary + WHERE prefix_key = $1 + AND '||search_class||'_suggestions IS NOT NULL' + USING entry_key + LOOP + + SELECT HSTORE( + ARRAY_AGG( + ARRAY[s, evergreen.levenshtein_damerau_edistance(input,s,l_maxED)::TEXT] + ORDER BY evergreen.levenshtein_damerau_edistance(input,s,l_maxED) DESC + ) + ) + INTO good_suggs + FROM UNNEST(entry.suggestions) s + WHERE (ABS(CHARACTER_LENGTH(s) - i_len) <= maxEd AND evergreen.levenshtein_damerau_edistance(input,s,l_maxED) BETWEEN 0 AND l_maxED) + AND NOT seen_list @> ARRAY[s]; + + CONTINUE WHEN good_suggs IS NULL; + + FOR sugg, output.suggestion_count IN EXECUTE + 'SELECT prefix_key, '||search_class||'_count + FROM search.symspell_dictionary + WHERE prefix_key = ANY ($1) + AND '||search_class||'_count >= $2' + USING AKEYS(good_suggs), COALESCE(count_threshold,1) + LOOP + + output.lev_distance := good_suggs->sugg; + seen_list := seen_list || sugg; + + -- Track the smallest edit distance among suggestions from this prefix key. + IF smallest_ed = -1 OR output.lev_distance < smallest_ed THEN + smallest_ed := output.lev_distance; + END IF; + + -- Track the smallest edit distance for all prefix keys for this word. + IF global_ed IS NULL OR smallest_ed < global_ed THEN + global_ed = smallest_ed; + -- And if low verbosity, ignore suggs with a larger distance from here on. + IF verbosity <= 1 THEN + l_maxED := global_ed; + END IF; + END IF; + + -- Lev distance is our main similarity measure. While + -- trgm or soundex similarity could be the main filter, + -- Lev is both language agnostic and faster. + -- + -- Here we will skip suggestions that have a longer edit distance + -- than the shortest we've already found. This is simply an + -- optimization that allows us to avoid further processing + -- of this entry. It would be filtered out later. + CONTINUE WHEN output.lev_distance > global_ed AND verbosity <= 1; + + -- If we have an exact match on the suggestion key we can also avoid + -- some function calls. + IF output.lev_distance = 0 THEN + output.qwerty_kb_match := 1; + output.pg_trgm_sim := 1; + output.soundex_sim := 1; + ELSE + IF kbdist_weight THEN + output.qwerty_kb_match := evergreen.qwerty_keyboard_distance_match(input, sugg); + ELSE + output.qwerty_kb_match := 0; + END IF; + IF pg_trgm_weight THEN + output.pg_trgm_sim := similarity(input, sugg); + ELSE + output.pg_trgm_sim := 0; + END IF; + IF soundex_weight THEN + output.soundex_sim := difference(input, sugg) / 4.0; + ELSE + output.soundex_sim := 0; + END IF; + END IF; + + -- Fill in some fields + IF xfer_case AND input <> word THEN + output.suggestion := search.symspell_transfer_casing(word, sugg); + ELSE + output.suggestion := sugg; + END IF; + output.prefix_key := entry.prefix_key; + output.prefix_key_count := entry.count; + output.input := word; + output.norm_input := input; + output.word_pos := w_pos; + + -- We can't "cache" a set of generated records directly, so + -- here we build up an array of search.symspell_lookup_output + -- records that we can revivicate later as a table using UNNEST(). + output_list := output_list || output; + + EXIT entry_key_loop WHEN smallest_ed = 0 AND verbosity = 0; -- exact match early exit + CONTINUE entry_key_loop WHEN smallest_ed = 0 AND verbosity = 1; -- exact match early jump to the next key + + END LOOP; -- loop over suggestions + END LOOP; -- loop over entries + END LOOP; -- loop over entry_keys + + -- Now we're done examining this word + IF verbosity = 0 THEN + -- Return the "best" suggestion from the smallest edit + -- distance group. We define best based on the weighting + -- of the non-lev similarity measures and use the suggestion + -- use count to break ties. + RETURN QUERY + SELECT * FROM UNNEST(output_list) + ORDER BY lev_distance, + (soundex_sim * COALESCE(soundex_weight,0)) + + (pg_trgm_sim * COALESCE(pg_trgm_weight,0)) + + (qwerty_kb_match * COALESCE(kbdist_weight,0)) DESC, + suggestion_count DESC + LIMIT 1; + ELSIF verbosity = 1 THEN + -- Return all suggestions from the smallest + -- edit distance group. + RETURN QUERY + SELECT * FROM UNNEST(output_list) WHERE lev_distance = smallest_ed + ORDER BY (soundex_sim * COALESCE(soundex_weight,0)) + + (pg_trgm_sim * COALESCE(pg_trgm_weight,0)) + + (qwerty_kb_match * COALESCE(kbdist_weight,0)) DESC, + suggestion_count DESC; + ELSIF verbosity = 2 THEN + -- Return everything we find, along with relevant stats + RETURN QUERY + SELECT * FROM UNNEST(output_list) + ORDER BY lev_distance, + (soundex_sim * COALESCE(soundex_weight,0)) + + (pg_trgm_sim * COALESCE(pg_trgm_weight,0)) + + (qwerty_kb_match * COALESCE(kbdist_weight,0)) DESC, + suggestion_count DESC; + ELSIF verbosity = 3 THEN + -- Return everything we find from the two smallest edit distance groups + RETURN QUERY + SELECT * FROM UNNEST(output_list) + WHERE lev_distance IN (SELECT DISTINCT lev_distance FROM UNNEST(output_list) ORDER BY 1 LIMIT 2) + ORDER BY lev_distance, + (soundex_sim * COALESCE(soundex_weight,0)) + + (pg_trgm_sim * COALESCE(pg_trgm_weight,0)) + + (qwerty_kb_match * COALESCE(kbdist_weight,0)) DESC, + suggestion_count DESC; + ELSIF verbosity = 4 THEN + -- Return everything we find from the two smallest edit distance groups that are NOT 0 distance + RETURN QUERY + SELECT * FROM UNNEST(output_list) + WHERE lev_distance IN (SELECT DISTINCT lev_distance FROM UNNEST(output_list) WHERE lev_distance > 0 ORDER BY 1 LIMIT 2) + ORDER BY lev_distance, + (soundex_sim * COALESCE(soundex_weight,0)) + + (pg_trgm_sim * COALESCE(pg_trgm_weight,0)) + + (qwerty_kb_match * COALESCE(kbdist_weight,0)) DESC, + suggestion_count DESC; + END IF; + END LOOP; -- loop over words +END; +$function$; + + + +SELECT evergreen.upgrade_deps_block_check('1283', :eg_version); -- rhamby/ehardy/jboyer + +UPDATE asset.call_number SET record = -1 WHERE id = -1 AND record != -1; + +CREATE RULE protect_bre_id_neg1 AS ON UPDATE TO biblio.record_entry WHERE OLD.id = -1 DO INSTEAD NOTHING; +CREATE RULE protect_acl_id_1 AS ON UPDATE TO asset.copy_location WHERE OLD.id = 1 DO INSTEAD NOTHING; +CREATE RULE protect_acn_id_neg1 AS ON UPDATE TO asset.call_number WHERE OLD.id = -1 DO INSTEAD NOTHING; + +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 + + -- we don't merge bib -1 + IF target_record = -1 OR source_record = -1 THEN + RETURN 0; + END IF; + + -- 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 + ); + + -- Apply merge tracking + UPDATE biblio.record_entry + SET merge_date = NOW() WHERE id = target_record; + + UPDATE biblio.record_entry + SET merge_date = NOW(), merged_to = target_record + WHERE id = source_record; + + -- replace book bag entries of source_record with target_record + UPDATE container.biblio_record_entry_bucket_item + SET target_biblio_record_entry = target_record + WHERE bucket IN (SELECT id FROM container.biblio_record_entry_bucket WHERE btype = 'bookbag') + AND target_biblio_record_entry = source_record; + + -- Finally, "delete" the source record + UPDATE biblio.record_entry SET active = FALSE WHERE id = 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('1294', :eg_version); -- mmorgan / tlittle / JBoyer + +INSERT INTO config.workstation_setting_type (name, grp, datatype, label) +VALUES ( + 'eg.grid.admin.local.container.carousel_org_unit', 'gui', 'object', + oils_i18n_gettext( + 'eg.grid.admin.local.container.carousel_org_unit', + 'Grid Config: eg.grid.admin.local.container.carousel_org_unit', + 'cwst', 'label' + ) +), ( + 'eg.grid.admin.container.carousel', 'gui', 'object', + oils_i18n_gettext( + 'eg.grid.admin.container.carousel', + 'Grid Config: eg.grid.admin.container.carousel', + 'cwst', 'label' + ) +), ( + 'eg.grid.admin.server.config.carousel_type', 'gui', 'object', + oils_i18n_gettext( + 'eg.grid.admin.server.config.carousel_type', + 'Grid Config: eg.grid.admin.server.config.carousel_type', + 'cwst', 'label' + ) +); + + +SELECT evergreen.upgrade_deps_block_check('1302', :eg_version); + +UPDATE config.org_unit_setting_type + SET description = oils_i18n_gettext( + 'ui.circ.items_out.longoverdue', + 'Value is a numeric code, describing: A. In which tab ("Items Checked Out", '|| + 'or "Other/Special Circulations") the circulation '|| + 'should appear while checked out, and B. Whether the circulation should '|| + 'continue to appear in the "Other" tab when checked in with '|| + 'outstanding fines. '|| + '1 = (A) "Items", (B) "Other". 2 = (A) "Other", (B) "Other". ' || + '5 = (A) "Items", (B) do not display. 6 = (A) "Other", (B) do not display.', + 'coust', + 'description' + ) + WHERE name = 'ui.circ.items_out.longoverdue'; + +UPDATE config.org_unit_setting_type + set description = oils_i18n_gettext( + 'ui.circ.items_out.lost', + 'Value is a numeric code, describing: A. In which tab ("Items Checked Out", '|| + 'or "Other/Special Circulations") the circulation '|| + 'should appear while checked out, and B. Whether the circulation should '|| + 'continue to appear in the "Other" tab when checked in with '|| + 'outstanding fines. '|| + '1 = (A) "Items", (B) "Other". 2 = (A) "Other", (B) "Other". ' || + '5 = (A) "Items", (B) do not display. 6 = (A) "Other", (B) do not display.', + 'coust', + 'description' + ) + WHERE name = 'ui.circ.items_out.lost'; + +UPDATE config.org_unit_setting_type + set description = oils_i18n_gettext( + 'ui.circ.items_out.claimsreturned', + 'Value is a numeric code, describing: A. In which tab ("Items Checked Out", '|| + 'or "Other/Special Circulations") the circulation '|| + 'should appear while checked out, and B. Whether the circulation should '|| + 'continue to appear in the "Other" tab when checked in with '|| + 'outstanding fines. '|| + '1 = (A) "Items", (B) "Other". 2 = (A) "Other", (B) "Other". ' || + '5 = (A) "Items", (B) do not display. 6 = (A) "Other", (B) do not display.', + 'coust', + 'description' + ) + WHERE name = 'ui.circ.items_out.claimsreturned'; + + +SELECT evergreen.upgrade_deps_block_check('1303', :eg_version); + +DROP INDEX authority.authority_full_rec_value_index; +CREATE INDEX authority_full_rec_value_index ON authority.full_rec (SUBSTRING(value FOR 1024)); + +DROP INDEX authority.authority_full_rec_value_tpo_index; +CREATE INDEX authority_full_rec_value_tpo_index ON authority.full_rec (SUBSTRING(value FOR 1024) text_pattern_ops); + + +COMMIT; + +-- Update auditor tables to catch changes to source tables. +-- Can be removed/skipped if there were no schema changes. +SELECT auditor.update_auditors(); 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..b17a31cbab 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_7_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..ef15f06e2e 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_7_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..fe5c9880b5 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.7" !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 1486a8d676..0000000000 --- a/README +++ /dev/null @@ -1 +0,0 @@ -docs/modules/installation/pages/server_installation.adoc \ No newline at end of file diff --git a/README b/README new file mode 100644 index 0000000000..694dc0663d --- /dev/null +++ b/README @@ -0,0 +1,662 @@ += Installing the Evergreen server = +:toc: + +== 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.6. + * **Linux**: Evergreen has been tested on + Debian Buster (10), + Debian Stretch (9), + Debian Jessie (8), + Ubuntu Focal Fossa (20.04), + and Ubuntu Bionic Beaver (18.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.2.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.2.0 or later). + You can download OpenSRF releases from http://evergreen-ils.org/opensrf-downloads/ ++ +2. Issue the following commands as the *root* Linux account to install + prerequisites using the `Makefile.install` prerequisite installer, + substituting `debian-buster`,`debian-stretch`,`debian-jessie`,`ubuntu-focal`, + or `ubuntu-bionic` for below: ++ +[source, bash] +------------------------------------------------------------------------------ +make -f Open-ILS/src/extras/Makefile.install +------------------------------------------------------------------------------ ++ +[[optional_developer_additions]] +3. OPTIONAL: Developer additions ++ +To perform certain developer tasks from a Git source code checkout, +including the testing of the Angular web client components, +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 web + 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. Otherwise, ensure you have installed the +xref:#optional_developer_additions[optional developer additions] before proceeding. + +[[install_files_for_web_staff_client]] +=== Install AngularJS 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, concat+minify +npm run build-prod +------------------------------------------------------------------------------ ++ +4. OPTIONAL: Test web client code if the -developer packages were installed. + CHROME_BIN should be set to the path to chrome or chromimum, e.g., + `/usr/bin/chromium`: ++ +[source,sh] +------------------------------------------------------------------------------ +CHROME_BIN=/path/to/chrome npm run test +------------------------------------------------------------------------------ + +[[install_files_for_angular_web_staff_client]] +=== Install Angular files for web staff client === + +1. Building, Testing, Minification: The remaining steps all take place within + the Angular staff root: ++ +[source,sh] +------------------------------------------------------------------------------ +cd $EVERGREEN_ROOT/Open-ILS/src/eg2/ +------------------------------------------------------------------------------ ++ +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 and run tests +ng build --prod +------------------------------------------------------------------------------ ++ +4. OPTIONAL: Test eg2 web client code if the -developer packages were installed: + CHROME_BIN should be set to the path to chrome or chromimum, e.g., + `/usr/bin/chromium`: ++ +[source,sh] +------------------------------------------------------------------------------ +CHROME_BIN=/path/to/chrome npm run test +------------------------------------------------------------------------------ + +[[install_opac_deps]] +=== Install OPAC skin dependencies === + +1. The following steps take place within the OPAC dependencies root: ++ +[source,sh] +------------------------------------------------------------------------------ +cd $EVERGREEN_ROOT/Open-ILS/web/opac/deps +------------------------------------------------------------------------------ ++ +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 and CSS dependencies +------------------------------------------------------------------------------ ++ +Note that there is no build step. + +== 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 and copy + example configuration files to `/openils/conf`. ++ +[source, bash] +------------------------------------------------------------------------------ +make install +------------------------------------------------------------------------------ + +== 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 Ubuntu 18.04 / 20.04 or Debian Stretch / Buster, 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 to configure your Web server for +the Evergreen catalog, web staff client, Web services, and administration +interfaces. Issue the following commands as the *root* Linux account: ++ +[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_24/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 +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): + * Replace `Require host 10.0.0.0/8` with `Require all granted` +. Change the user for the Apache server. + * 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. + * 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 catalog to the web: ++ +.`/etc/apache2/mods-available/mpm_prefork.conf` +[source,bash] +------------------------------------------------------------------------------ + + StartServers 15 + MinSpareServers 5 + MaxSpareServers 15 + MaxRequestWorkers 75 + MaxConnectionsPerChild 500 + +------------------------------------------------------------------------------ ++ +. As the *root* user, enable the mpm_prefork module: ++ +[source,bash] +------------------------------------------------------------------------------ +a2dismod mpm_event +a2enmod mpm_prefork +------------------------------------------------------------------------------ ++ +. As the *root* Linux account, enable the Evergreen site: ++ +[source,bash] +------------------------------------------------------------------------------ +a2dissite 000-default # OPTIONAL: disable the default site (the "It Works" page) +a2ensite eg.conf +------------------------------------------------------------------------------ ++ +. 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: + + * xref:admin:apache_rewrite_tricks.adoc#apache_rewrite_tricks[Apache Rewrite Tricks] + * xref:admin:apache_access_handler.adoc#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 xref:#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 +xref:admin:actiontriggers_process.adoc#processing_action_triggers[Notifications / Action Triggers]. + +[[creating_the_evergreen_database]] +== 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: + +. 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. This will install PostgreSQL 9.6, +the minimum supported version. + +[source, bash] +------------------------------------------------------------------------------ +make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-buster +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-ubuntu-bionic +make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-focal +------------------------------------------------------------------------------ + +To install PostgreSQL version 10, use the following command for your operating +system: + +[source, bash] +------------------------------------------------------------------------------ +make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-buster-10 +make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-stretch-10 +make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-jessie-10 +make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-bionic-10 +make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-focal-10 +------------------------------------------------------------------------------ + +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.6 and later ==== + +To create the database instance on a remote database server running PostgreSQL +9.6 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 web staff + client and catalog 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 web 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 f7da01416f..ac055c8301 100644 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ export PATH=${PATH}:/usr/sbin AC_PREREQ(2.61) -AC_INIT(Open-ILS, trunk, open-ils-dev@list.georgialibraries.org) +AC_INIT(Open-ILS, 3.7.2, open-ils-dev@list.georgialibraries.org) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE