From 686ccf782a2dba2bb6ba1abf82edcee4590b1153 Mon Sep 17 00:00:00 2001 From: Dan Wells Date: Fri, 25 Oct 2019 17:07:45 -0400 Subject: [PATCH] Bumping version numbers, adding Upgrade Script and Changelog Signed-off-by: Dan Wells --- ChangeLog | 992 ++++++++++++++++++++- Open-ILS/src/perlmods/lib/OpenILS/Application.pm | 2 +- Open-ILS/src/sql/Pg/002.schema.config.sql | 1 + .../Pg/version-upgrade/3.3.4-3.3.5-upgrade-db.sql | 284 ++++++ .../staff_client/chrome/content/main/about.html | 2 +- .../xul/staff_client/defaults/preferences/prefs.js | 2 +- Open-ILS/xul/staff_client/windowssetup.nsi | 2 +- README | 642 ++++++++++++- configure.ac | 4 +- 9 files changed, 1921 insertions(+), 10 deletions(-) create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/3.3.4-3.3.5-upgrade-db.sql mode change 120000 => 100644 README diff --git a/ChangeLog b/ChangeLog index 1f72b2c73e..128697f94a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,989 @@ -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 faf577db73af6ce1c0627184b009ed847046d1a6 +Author: Dan Wells +Date: Fri Oct 25 17:00:03 2019 -0400 + + Update server upgrade docs + + Signed-off-by: Dan Wells + +16 16 docs/installation/server_upgrade.adoc + +commit 24c237b74b959ed930033ce4be4a3bf9f05bf4d0 +Author: Dan Wells +Date: Fri Oct 25 16:57:36 2019 -0400 + + Bump OpenILS.pm version + + Signed-off-by: Dan Wells + +1 1 Open-ILS/src/perlmods/lib/OpenILS.pm + +commit 50b1980d090d7efe2e55cf2b8621de8b3096c3e4 +Author: Remington Steed +Date: Fri Oct 25 15:49:00 2019 -0400 + + Docs: Add 3.3.5 point release notes + + Signed-off-by: Remington Steed + +67 0 docs/RELEASE_NOTES_3_3.adoc + +commit c26c567b044fa8c7a6175f71b5116117a63f577c +Author: Dan Wells +Date: Tue Oct 22 10:55:41 2019 -0400 + + LP#1846038 Remove extra grid refresh from configuration load + + Bug LP#1790169 added the ability to save sorting configuration, but it + also added an additional grid refresh to the configuration load. This + breaks grid loading. + + The expected flow is for is to first load any existing configuration, + then do the first collect() for the grid. This refresh() call adds + potentially a second collect() which may run earlier than it should, + and overall does not seem necessary. + + To test: + + (Make sure you are testing on current master or rel_3_3/3_4, or you + will (like me) hit related bugs which have been fixed. Also, some + grids (especially circ) do not honor sort for other reasons, so avoid + those for now.) + + 1) Find a grid which has a typical get() process. Suggestion would be + a basic auto grid, such as full bill details, + https://localhost/eg/staff/circ/patron/11/bill/43/details . + 2) Set a sort value you can see, then *save* the configuration. + 3) Before the patch, billing details grid doesn't load. After patch, + grid loads and still honors the defined sort. + + Signed-off-by: Dan Wells + Signed-off-by: Remington Steed + Signed-off-by: Mike Rylander + +0 1 Open-ILS/web/js/ui/default/staff/services/grid.js + +commit 786456fd7171fb485efa1c112b9edb0be030b6cd +Author: Jason Stephenson +Date: Sun Jul 7 07:18:01 2019 -0400 + + Lp 1835620: Require some Storage submodules instead of use them + + Switch from "use" to "require" for submodules in OpenILS::Application + ::Storage::CDBI and OpenILS::Application::Storage::Driver::Pg. + Circular dependencies and other issues cause the following errors at + compile time for those modules: + + Compilation failed in require at + /usr/local/share/perl/5.28.1/OpenILS/Application/Storage/CDBI.pm line + 9. + + Compilation failed in require at + /usr/local/share/perl/5.26.1/OpenILS/Application/Storage/Driver/Pg.pm + line 15. + + Require loads the submodules at run time and does not attempt to + import any methods. This is the behavior we want, eliminates the + above errors, and everything still works. + + Add comments above the required modules explaining why require is + needed and not use. + + Enable and reorder all of the tests in Open-ILS/src/perlmods/t/ + 09-OpenILS-Application-Storage-Driver.t. Repairing the above issue + also repairs these tests. + + Signed-off-by: Jason Stephenson + Signed-off-by: Galen Charlton + Signed-off-by: Jason Boyer + +16 12 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm +9 4 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg.pm +4 6 Open-ILS/src/perlmods/t/09-OpenILS-Application-Storage-Driver.t + +commit 3cb4c18e8d5b15a828234e77708b005757d68095 +Author: Terran McCanna +Date: Thu Mar 7 12:55:46 2019 -0500 + + LP#1806783 Offline: Non-cataloged item receipt printing + + When checkout out non-cataloged items in the offline interface, + the receipt will now print 'Non-cataloged item' and the number + of items rather than printing nothing. + + Signed-off-by: Terran McCanna + Signed-off-by: Chris Sharp + +4 3 Open-ILS/src/templates/staff/share/print_templates/t_offline_checkout.tt2 + +commit b31b35ed486ce8b6723d97c454049444d52ff738 +Author: Bill Erickson +Date: Tue Oct 22 15:54:13 2019 -0400 + + LP1849372 Close all open dialogs on Angular route change + + On all angular route changes, force close any open dialogs, since it + makes little sense for them to persist across interfaces. + + To test: + + [1] Navigate to Server Administration + [2] Navigate to Age Hold Protection Rule Configuration + [3] Double-click a grid row to open an edit dialog + [4] Click browser back button to return to the Server Admin page + [5] Confirm edit dialog closes once the navigation is complete. + + Signed-off-by: Bill Erickson + Signed-off-by: Galen Charlton + Signed-off-by: Mike Rylander + +12 0 Open-ILS/src/eg2/src/app/app.component.ts +22 0 Open-ILS/src/eg2/src/app/share/dialog/dialog.component.ts + +commit 14385443b65ace59a21470eb5ad2406b9915c7da +Author: Jeff Davis +Date: Thu Sep 19 12:51:28 2019 -0700 + + LP#1844720: avoid hard-coded paths in Apache config + + Signed-off-by: Jeff Davis + Signed-off-by: Galen Charlton + +2 2 Open-ILS/examples/apache_24/eg_vhost.conf.in + +commit da0d83259f1c04eaf144cfe773ace998c8fd0460 +Author: Tiffany Little +Date: Mon Mar 18 13:51:03 2019 -0400 + + LP #1765434 Browser refresh closes purchase order + + Adds a Refresh button to refresh the iframe in place. + + Signed-off-by: Tiffany Little + Signed-off-by: Chris Sharp + +1 0 Open-ILS/src/templates/staff/share/t_eframe.tt2 + +commit d94d60e441f89a5870b02a7a0dcfc28d39d85b1d +Author: Jason Boyer +Date: Tue Oct 22 09:18:29 2019 -0400 + + LP1825403: Do not Include Tag Owner in Tag + + Copy tags were accidentally having their owning + location shortname included in the tag values, + this patch allows the owner to be displayed but + not included in the value used. + + Signed-off-by: Jason Boyer + Signed-off-by: Mike Rylander + +1 1 Open-ILS/src/templates/staff/cat/bucket/copy/t_apply_tags.tt2 +1 1 Open-ILS/src/templates/staff/cat/volcopy/t_copy_tags.tt2 +1 1 Open-ILS/web/js/ui/default/staff/cat/bucket/copy/app.js +1 1 Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js + +commit deae759b3f8a67acea84613aae52d6f71d0d19bb +Author: Remington Steed +Date: Mon Oct 21 16:56:31 2019 -0400 + + Docs: Fix image syntax in Authority Browse infrastructure docs + + There are two image references in the docs section "Infrastructure + Changes to Authority Browse" that use incorrect AsciiDoc syntax, and + therefore the images don't display in the docs. This commit fixes them + (changing "images::" to "image::", removing the "s"). + + Signed-off-by: Remington Steed + +2 2 docs/admin/infrastructure_auth_browse.adoc + +commit bdaa9e58432a8794e38b59f52ffad70cf45567c6 +Author: Michele Morgan +Date: Mon Sep 16 14:50:16 2019 -0400 + + LP1821969 Additional fix to second_given_name + + Adds primary second_given_name to the preferred name if there is no + preferred second_given_name. This matches the behavior of the other name + fields. + + Signed-off-by: Michele Morgan + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/templates/staff/circ/patron/t_summary.tt2 + +commit 10ef5770fd7a76a4637f2bf5bb90273720f3e862 +Author: Garry Collum +Date: Tue May 7 20:57:50 2019 -0400 + + LP1821969 Patron Prefix and Suffix Display in Summary + + Adds support for displaying the patron prefix, suffix, preferred prefix, and preferred suffix in the patron summary sidebar. + + To test: + 1. Add a combination of prefixes, suffixes, preferred prefixes, and preferred suffixes to several patrons. + 2. Also add some other preferred information to some of these patrons. + 3. In the sidebar notice the lack of prefix information in both the patron's main heading and in the preferred name information. + 4. Apply the patch. + 5. In the sidebar the prefixes and suffixes are now displayed. + + Signed-off-by: Garry Collum + Signed-off-by: Michele Morgan + Signed-off-by: Galen Charlton + +4 2 Open-ILS/src/templates/staff/circ/patron/index.tt2 +5 3 Open-ILS/src/templates/staff/circ/patron/t_summary.tt2 + +commit 8596a3d80ef83b5b5f89ca741ecea4d5e4e1232e +Author: Galen Charlton +Date: Mon Oct 21 14:08:39 2019 -0400 + + LP#1802952: stamp schema update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +146 0 Open-ILS/src/sql/Pg/upgrade/1195.function.located_uri_auto_suggest_visibility.sql +0 146 Open-ILS/src/sql/Pg/upgrade/XXXX.function.located_uri_auto_suggest_visibility.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/1195.function.located_uri_auto_suggest_visibility.sql + delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.function.located_uri_auto_suggest_visibility.sql + +commit 0e6674933e3791292d4ce60093b9c301ef198153 +Author: Dan Wells +Date: Mon Nov 12 11:31:33 2018 -0500 + + LP#1802952 Check bib visibility for located URI auto suggest + + Suggestions from records with only located URIs (no copies) do not + appear in the OPAC search suggestions. This appears to be a cousin of + bug #1773479, but in a neighboring function. + + In the case of libraries with LURIs, we need to consider bib visibility + separate from copy visibility in order for both to show up. + + Signed-off-by: Dan Wells + Signed-off-by: Kyle Huckins + Signed-off-by: Galen Charlton + +16 2 Open-ILS/src/sql/Pg/300.schema.staged_search.sql +146 0 Open-ILS/src/sql/Pg/upgrade/XXXX.function.located_uri_auto_suggest_visibility.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.function.located_uri_auto_suggest_visibility.sql + +commit bab02762d4beb66f818dda67271821f28e629735 +Author: Jeff Godin +Date: Tue Apr 2 12:49:18 2019 -0400 + + LP#1749970 Fix paging of pending patrons + + Fix paging of pending patrons by passing a count and offset to the + backend API call. + + Signed-off-by: Jeff Godin + Signed-off-by: Terran McCanna + Signed-off-by: Galen Charlton + +2 1 Open-ILS/web/js/ui/default/staff/circ/patron/pending.js + +commit dca8175365b11a2e53d8adf06505d4f7598827bd +Author: Dan Briem +Date: Sat Aug 10 21:02:00 2019 -0400 + + LP#1777698 Duplicate barcode alert appearing on new barcodes + + When scanning new copy barcodes, ng-change quickly fires multiple times + and sends promises to check for duplicates. If 1234 exists and you scan + 12345, if the 1234 promise resolves after 12345, it will indicate it's a + duplicate. This patch keeps a count of the promises sent and only the + latest promise will set the boolean to indicate if it's a duplicate. + + Hard to test because the promises usually resolve in order: + 1. Add a new holding with the first few characters of an unused barcode + 2. Scan the new barcode multiple times until you see the dup error + 3. Apply patch and scan the new barcode multiple times (no error) + + Signed-off-by: Dan Briem + Signed-off-by: Mike Rylander + +7 1 Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js + +commit 0cf35416ac19de66ba0ba87c3659c80a42891c82 +Author: Jeff Davis +Date: Thu Oct 10 11:04:48 2019 -0700 + + LP#1842763: Vandelay: disable grid row select on queued record matches + + Users are on this screen to select a merge target, which they do by + selecting a cell in the Merge Target column. The grid selector + checkboxes are confusing and useless (they don't support the purpose of + this screen and there are no supported actions for selected rows). + + Signed-off-by: Jeff Davis + Signed-off-by: Bill Erickson + +1 1 Open-ILS/src/eg2/src/app/staff/cat/vandelay/queued-record-matches.component.html + +commit 0372e410f07be10925016025df5ae74ef6498143 +Author: Dan Briem +Date: Sat Aug 24 14:44:01 2019 -0400 + + LP#1841089 Apply button in Patron Bill History screen is in confusing location + + It's possible to miss the apply button for the date range in bill history + because it's located before the datepickers. The interface also allows + invalid date ranges. + + This removes the apply button and watches the start and finish dates in the + bill history and payment history controllers. If it's not first init and they + are valid date objects in a valid date range, the grid refreshes with the new + date range query. If start > finish they are set equal to each other to force + a valid range. + + To test: + + 1. Apply patch + 2. Bring up a patron with bills and payments (or add bills and payments) + 3. Under the Bills tab click History + 4. Change the date range and observe that the grid refreshes + 5. Try to set the start date past the finish date and vice versa + + Signed-off-by: Dan Briem + Signed-off-by: Jane Sandberg + Signed-off-by: Galen Charlton + +0 4 Open-ILS/src/templates/staff/circ/patron/t_bill_history.tt2 +38 0 Open-ILS/web/js/ui/default/staff/circ/patron/bills.js + +commit e1e01fcd831c25265a3bd268d578422c9307016c +Author: Galen Charlton +Date: Fri Oct 4 10:33:45 2019 -0400 + + LP#1729435: stamp DB update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +21 0 Open-ILS/src/sql/Pg/upgrade/1193.data.circ-payment-detail-grid-persist-key.sql +0 21 Open-ILS/src/sql/Pg/upgrade/XXXX.data.circ-payment-detail-grid-persist-key.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/1193.data.circ-payment-detail-grid-persist-key.sql + delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.circ-payment-detail-grid-persist-key.sql + +commit 55c0fd83e5555bbe6fca21f0f4626037cffa6a98 +Author: Michele Morgan +Date: Fri Apr 5 16:55:19 2019 -0400 + + LP#1729435: Add Seed Data for WS type for Bill Full Details grids + + Adds the config.workstation_setting_type values to the seed data and + an upgrade script to allow storing in the database. + + Signed-off-by: Michele Morgan + Signed-off-by: Jennifer Pringle + Signed-off-by: Galen Charlton + +15 0 Open-ILS/src/sql/Pg/950.data.seed-values.sql +21 0 Open-ILS/src/sql/Pg/upgrade/XXXX.data.circ-payment-detail-grid-persist-key.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.circ-payment-detail-grid-persist-key.sql + +commit e3f9351e197a2af3af194c5a56420a57af156a7c +Author: Remington Steed +Date: Mon Nov 5 16:11:35 2018 -0500 + + LP#1729435: Allow saving Bill Full Details grids + + For a web staff eg-grid to save and retrieve its settings, it needs a unique + persist-key. This commit adds one for the Bills grid and Payments grid on the + patron bills Full Details view (right-click a bill, choose Full Details, then + click the Details tab). + + Signed-off-by: Remington Steed + Signed-off-by: Michele Morgan + Signed-off-by: Jennifer Pringle + Signed-off-by: Galen Charlton + +2 0 Open-ILS/src/templates/staff/circ/patron/t_xact_details_details.tt2 + +commit cc403bf572c454461f8ef6e6697d8e0da90df20c +Author: Terran McCanna +Date: Wed Mar 6 16:40:53 2019 -0500 + + LP#1803790 Re-alphabetize Local & Server Administration Links + + Small fix that re-orders the links that were out of order due + to link name changes. + + Signed-off-by: Terran McCanna + Signed-off-by: Galen Charlton + +7 7 Open-ILS/src/templates/staff/admin/local/t_splash.tt2 +3 3 Open-ILS/src/templates/staff/admin/server/t_splash.tt2 + +commit a4861f4558fc3b6d7b44bbe6bb791a966c10c6ec +Author: Jeff Davis +Date: Tue Oct 2 14:28:31 2018 -0700 + + LP#1609556: only include OPAC-visible copies in SRU/Z39.50 holdings + + To test: + + 1. Create a bib record. + 2. Add an item to the record at BR1. Mark it as not OPAC-visible. + 3. Do a CONS-level SRU search for the record, including holdings. The + record is not included in results because there are no OPAC-visible + holdings. + 4. Add a second item to the same record, this time at BR3. Mark this + one as OPAC-visible. + 5. Repeat the CONS-level SRU search, including holdings. The record + appears in search results, but holdings information in 852 includes + *all* copies, including non-OPAC-visible copies. + + Signed-off-by: Jeff Davis + Signed-off-by: Kyle Huckins + Signed-off-by: Galen Charlton + +7 0 Open-ILS/src/perlmods/lib/OpenILS/WWW/SuperCat.pm + +commit d8a88c911a2672862bfa8a75312f203f1cfdd57a +Author: Jason Stephenson +Date: Thu May 2 08:36:15 2019 -0400 + + LP 1827250: Fix Last Captured Hold Check for Holds Shelf + + When the current copy on an on shelf hold is the same as that on some + uncaptured holds, the hold fails to appear on the hold shelf when it + should. This comes down to some SQL in the storage function to + retrieve wide holds: open-ils.storage.action.live_holds.wide_hash. + + The intent of the new code is to check that the current hold matches + the most recently captured hold for the copy. However, the order by + in the query fails to take into account holds with a NULL capture time + on the same copy will sort before the captured holds. This patch + rectifies this situation by adding "NULLS LAST" to the order by. + + Signed-off-by: Jason Stephenson + Signed-off-by: Michele Morgan + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm + +commit 2cd48a13948524e8cb2d48433256a2654a656a18 +Author: Garry Collum +Date: Mon May 20 12:48:10 2019 -0400 + + lp1813056 Fixes Current Date in Date Returned in Circ History CSV + + The date returned column in the csv file created in the opac for the patron's + Check Out History contains the current date instead of the check-in date. This + patch fixes that issue. + + To test: + 1. Turn on "Keep history of checked out items" in the patron Search and + History Preferences in the opac, or find a patron that already has this + option turned on. + 2. Check-in some items that the patron has checked-out. + 3. Wait a day, or if it was an existing history list immediately, go to the patron's Items Checked Out in the opac and look at the Date Returned + column in the Check Out History list. + 4. Download the CSV file and note that the date is the current date. + 5. Apply the patch. + 6. Refresh and download the CSV file again and note that the Date Returned + is now the checkin date. + + Signed-off-by: Garry Collum + Signed-off-by: Josh Stompro + +1 1 Open-ILS/src/templates/opac/myopac/circ_history/export.tt2 + +commit 3fd423bf541d74d288ad96135979b91a404b46b6 +Author: Mike Rylander +Date: Wed Jul 17 17:14:01 2019 -0400 + + LP#1836963: reduce the cost of utility functions, speeding up search + + For large org trees, some several seconds are spent testing org visibility. + The immediate cause is that AppUtils::get_org_tree() does not populate the + process-local cache with a memcache-cached org tree. That only happens when + memcache does not have a copy of the org tree. This is obviously a simple + oversight, which is addressed by making sure any memcache return value + is pushed into the the process local cache. + + Additionally, the visibility check is making heavy use of lots of + indirection and delegation to utility code, when some slightly smarter code + could avoid many repeated function calls. We now supply some local + utility code to flesh and unflesh the parent_ou field of objects in the + org tree, allowing us to avoid using find_org() and instead just calling + parent_ou() when walking "up" the tree. + + Signed-off-by: Mike Rylander + Signed-off-by: Galen Charlton + +1 0 Open-ILS/src/perlmods/lib/OpenILS/Application/AppUtils.pm +19 2 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm + +commit df12481472fd7d7f73b827fa24f7041df4ef9fe7 +Author: Jane Sandberg +Date: Tue Oct 1 14:47:07 2019 -0700 + + LP1842940: stamping and slight tweak to upgrade script + + Mike Rylander suggested the INSERT ... SELECT ... WHERE NOT + EXISTS approach, since this fix is being backported to older + releases, and we don't want to cause duplicate entries or + upgrade failures if the perm already exists + + Signed-off-by: Jane Sandberg + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +14 0 Open-ILS/src/sql/Pg/upgrade/1191.data.lp1842940_staff_edit_self_perm.sql +0 10 Open-ILS/src/sql/Pg/upgrade/XXXX.data.lp1842940_staff_edit_self_perm.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/1191.data.lp1842940_staff_edit_self_perm.sql + delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.lp1842940_staff_edit_self_perm.sql + +commit d55719ae78a779e3f3700458c387af461ddc95fb +Author: Mike Rylander +Date: Tue Sep 17 11:07:04 2019 -0400 + + LP#1842940: Improve Alert + + Attempt to float the alerts below the sticky bar and above the main + content of the user editor. + + Signed-off-by: Mike Rylander + Signed-off-by: Jane Sandberg + +7 5 Open-ILS/src/templates/staff/circ/patron/reg_actions.tt2 +6 0 Open-ILS/src/templates/staff/css/circ.css.tt2 + +commit a344b4f4c673db98c7d68bfa7434b42facf1c9a1 +Author: Mike Rylander +Date: Wed Sep 11 14:46:44 2019 -0400 + + LP#1842940: Alert when editing is disallowed + + Provide functions that checks the permissions required to edit ones + own account, or accounts in groups based on group application + permissions, and alert the user if and why they can't edit an account. + + Signed-off-by: Mike Rylander + Signed-off-by: Jane Sandberg + +6 0 Open-ILS/src/templates/staff/circ/patron/reg_actions.tt2 +13 2 Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js +8 0 Open-ILS/web/js/ui/default/staff/offline.js + +commit 2b3eaf7f66c22bdaa8d27a0322b9935d5110563a +Author: Jeff Davis +Date: Thu Sep 5 10:23:55 2019 -0700 + + LP#1842940: add perm to permit staff to edit their own accounts in the client + + Signed-off-by: Jeff Davis + Signed-off-by: Mike Rylander + Signed-off-by: Jane Sandberg + +3 1 Open-ILS/src/sql/Pg/950.data.seed-values.sql +10 0 Open-ILS/src/sql/Pg/upgrade/XXXX.data.lp1842940_staff_edit_self_perm.sql +2 0 Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.lp1842940_staff_edit_self_perm.sql + +commit fad7cdd2950fd21cb62229af5790dd5722a0fdd4 +Author: Mike Rylander +Date: Thu Sep 5 11:34:51 2019 -0400 + + LP#1842940: Don't allow self-edit or perm-restricted edit + + Pre-webstaff, we disallowed editing of ones own record, an of records + that have a group application permission that the staff do not possess. + + This commit brings back those restrictions. + + Signed-off-by: Mike Rylander + Signed-off-by: Jane Sandberg + +14 0 Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js + +commit 8e8cd76ed09bfd64ee87abd7cfaf46609840b3a0 +Author: Galen Charlton +Date: Tue Oct 1 17:24:16 2019 -0400 + + LP#1835085: stamp DB update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +9 0 Open-ILS/src/sql/Pg/upgrade/1190.data.auto_renewal-not-desk_renewal.sql +0 9 Open-ILS/src/sql/Pg/upgrade/XXXX.data.auto_renewal-not-desk_renewal.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/1190.data.auto_renewal-not-desk_renewal.sql + delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.auto_renewal-not-desk_renewal.sql + +commit f63d10d6361a5528a0e23a0dbfeccd429b357091 +Author: Jason Stephenson +Date: Mon Sep 9 08:47:09 2019 -0400 + + Lp 1835085: Update Item Status templates for auto-renewal + + Add checks for circ.auto_renewal() == 't' in the circ list and summary + pane views of the web staff client Item Status interface. + + Signed-off-by: Jason Stephenson + Signed-off-by: Galen Charlton + +2 1 Open-ILS/src/templates/staff/cat/item/t_circ_list_pane.tt2 +1 0 Open-ILS/src/templates/staff/cat/item/t_summary_pane.tt2 + +commit 1bd222955189359100d779ad236bc8b28ee483e3 +Author: Jason Stephenson +Date: Fri Aug 30 11:37:24 2019 -0400 + + Lp 1835035: Refactor auto_renewal back end code + + Refactor the auto_renewal feature so that it works like other renewal + types: opac_renewal, sip_renewal, etc. This refactor prevents + desk_renewal from being set when auto_renewal is set. + + Deprecate the newly added open-ils.circ.renew.auto API and ensure that + it still works as intended. Add release note indicating the + deprecation of this API and intent to remove it in Evergreen 3.5. + + Modify the AutoRenew action trigger reactor to use the plain + open-ils.circ.renew API with the auto_renewal option set to 1. + + Add database update script to cleanup (i.e. set to FALSE) the + desk_renewal field on action.circulation and action.aged_circulation + tables where auto_renewal is TRUE. + + Signed-off-by: Jason Stephenson + Signed-off-by: Galen Charlton + +13 11 Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm +2 2 Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor/Circ/AutoRenew.pm +9 0 Open-ILS/src/sql/Pg/upgrade/XXXX.data.auto_renewal-not-desk_renewal.sql +6 0 docs/RELEASE_NOTES_NEXT/Circulation/auto-renew-api-deprecation.adoc + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.auto_renewal-not-desk_renewal.sql + create mode 100644 docs/RELEASE_NOTES_NEXT/Circulation/auto-renew-api-deprecation.adoc + +commit 55ff53e23f49dd34970cfc0f4af2a522d4df541f +Author: Galen Charlton +Date: Tue Oct 1 17:19:51 2019 -0400 + + LP#1835577: stamp schema updates + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +31 0 Open-ILS/src/sql/Pg/upgrade/1189.schema.auto_renewal_view_updates.sql +0 31 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.auto_renewal_view_updates.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/1189.schema.auto_renewal_view_updates.sql + delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.auto_renewal_view_updates.sql + +commit 6466c8f390b2d9717d0b5bf614253f970311fac0 +Author: Jason Stephenson +Date: Tue Sep 10 11:27:07 2019 -0400 + + Lp 1835577: Add more missing auto_renewal fields + + Add missing auto_renewal and auto_renewal_remaining fields to the + following additional IDL classes: + + * aacs + * aoc + * circbyyr + * robcirc + + Add database updates to add auto_renewal fields to the following + views: + + * action.billable_circulations + * action.open_circulation + * reporter.circ_type + * reporter.overdue_circs + + Signed-off-by: Jason Stephenson + Signed-off-by: Galen Charlton + +8 2 Open-ILS/examples/fm_IDL.xml +1 1 Open-ILS/src/sql/Pg/reporter-schema.sql +31 0 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.auto_renewal_view_updates.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.auto_renewal_view_updates.sql + +commit d833fd006722bb6f94532b07e25e01eb1a095ad1 +Author: Jason Stephenson +Date: Thu Aug 29 10:15:33 2019 -0400 + + Lp 1835577: Add missing Auto Renewal fields to the IDL + + Add entries for auto_renewal and auto_renewal_remaining fields to the + acirc and combcirc classes in fm_IDL.xml. They were missing after the + auto-renewal feature was added. + + Signed-off-by: Jason Stephenson + Signed-off-by: Galen Charlton + +4 0 Open-ILS/examples/fm_IDL.xml + +commit 8b954cea5280e924cc1bd4a45e82191e0c462c02 +Author: Galen Charlton +Date: Tue Oct 1 17:15:36 2019 -0400 + + LP#1839002: stamp DB update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +20 0 Open-ILS/src/sql/Pg/upgrade/1188.schema.action_circulation-auto_renewal-default-false.sql +0 20 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.action_circulation-auto_renewal-default-false.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/1188.schema.action_circulation-auto_renewal-default-false.sql + delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.action_circulation-auto_renewal-default-false.sql + +commit 46e16c06bde3414e2c266851c2ca66c65e97aa3b +Author: Jason Stephenson +Date: Thu Aug 29 11:06:56 2019 -0400 + + Lp 1839002: Default circulation auto_renewal field to FALSE + + Change the definition of the action.circulation table so that the + auto_renewal field is not null, default false. + + Add an upgrade script to update the field values and alter the field + definition in both the action.circulation and action.aged_circulation + tables. + + Signed-off-by: Jason Stephenson + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/090.schema.action.sql +20 0 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.action_circulation-auto_renewal-default-false.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.action_circulation-auto_renewal-default-false.sql + +commit 2c4ff2a6970d4a0b0f0356e91589a27b724c52d0 +Author: Galen Charlton +Date: Tue Oct 1 17:06:16 2019 -0400 + + LP#1840669: stamp schema update + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +47 0 Open-ILS/src/sql/Pg/upgrade/1187.function.age_circ_on_delete-auto_renewal.sql +0 47 Open-ILS/src/sql/Pg/upgrade/XXXX.function.age_circ_on_delete-auto_renewal.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/1187.function.age_circ_on_delete-auto_renewal.sql + delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.function.age_circ_on_delete-auto_renewal.sql + +commit 1c870534cff8acb017b30c33a1471818e2d7417b +Author: Jason Stephenson +Date: Thu Aug 29 10:03:50 2019 -0400 + + Lp 1840669: Handle autorenewals when aging circulations + + Add auto_renewal and auto_renewal_remaining fields to the + action.age_circ_on_delete trigger function. + + Signed-off-by: Jason Stephenson + Signed-off-by: John Amundson + Signed-off-by: Galen Charlton + +4 2 Open-ILS/src/sql/Pg/090.schema.action.sql +47 0 Open-ILS/src/sql/Pg/upgrade/XXXX.function.age_circ_on_delete-auto_renewal.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.function.age_circ_on_delete-auto_renewal.sql + +commit dbe2105bf097e2073ef8ca43c384d87b86b059ec +Author: Galen Charlton +Date: Tue Sep 24 13:48:08 2019 -0400 + + LP#1845050: fix issue where reports interface was partially loaded + + This patch adjusts mod_xmlent to not free its XML parser + prematurely in the face of an EOS bucket received while processing + a sub-request. + + To test + ------- + [1] Test on a platform that has Apache 2.4.25 or later, such as + Debian Stretch. + [2] Note that when loading the reports interface that the source + of the frame containing oils_rpt.xhtml is incomplete and that + actions like creating a template or folder do not work in the + interface. + [3] Apply the patch and repeat step 2. This time, oils_rpt.xhtml + should be fully loaded and the interface fuctional. + + Signed-off-by: Galen Charlton + Signed-off-by: Jason Boyer + +12 2 Open-ILS/src/apachemods/mod_xmlent.c + +commit bf4fe1956ef27114c41e20ec10693467ea3a9673 +Author: Chris Sharp +Date: Mon May 20 15:44:08 2019 -0400 + + LP#1811442 - Assign copy alert permissions. + + VIEW_COPY_ALERTS and ADMIN_COPY_ALERT permissions were added + recently, but not assigned in the default seed data. This branch + assigns VIEW_COPY_ALERTS to Staff profiles at the Consortium depth + and adds ADMIN_COPY_ALERT to the Cataloging Administrator profile. + + Since permissions are set so specifically per-site, this branch does + not contain an upgrade script, but does provide an update to release + notes reminding site admins to manually add them to the appropriate + profiles. + + Signed-off-by: Chris Sharp + Signed-off-by: Kyle Huckins + Signed-off-by: Galen Charlton + +2 0 Open-ILS/src/sql/Pg/950.data.seed-values.sql +15 0 docs/RELEASE_NOTES_NEXT/Administration/copy-alert-perms-assigned-in-seed-data.adoc + create mode 100644 docs/RELEASE_NOTES_NEXT/Administration/copy-alert-perms-assigned-in-seed-data.adoc + +commit 97418997d49cecf8154df06f91c5a0dfbed180ab +Author: Bill Erickson +Date: Wed May 23 11:13:16 2018 -0400 + + LP#1560805 Webstaff locale picker repair + + Make the locale picker less finicky by replacing the search/replace + regex with a simple static URL for applying the locale. + + Signed-off-by: Bill Erickson + Signed-off-by: Jane Sandberg + Signed-off-by: Galen Charlton + +2 5 Open-ILS/web/js/ui/default/staff/services/navbar.js + +commit 1b3867822b20dc5e7dd6ae7e90ed30d6b9c6ece2 +Author: Jason Boyer +Date: Tue Oct 1 15:10:56 2019 -0400 + + LP#1768141: Stamping Upgrade Script + + Signed-off-by: Jason Boyer + +7 0 Open-ILS/src/sql/Pg/upgrade/1185.schema.mark_perm_grp_descendants_stable.sql +0 7 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.mark_perm_grp_descendants_stable.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/1185.schema.mark_perm_grp_descendants_stable.sql + delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.mark_perm_grp_descendants_stable.sql + +commit c4eb5f14666e3a5a782df10b994fac3572244009 +Author: Galen Charlton +Date: Fri Aug 2 10:41:44 2019 -0400 + + LP#1768141: (follow-up) change schema update + + Change the update to an "ALTER FUNCTION ... STABLE" both + to make the purpose of the update more clear and to remove + the need to check the rest of the function definition when + backporting. + + Signed-off-by: Galen Charlton + Signed-off-by: Jason Boyer + +1 13 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.mark_perm_grp_descendants_stable.sql + +commit f240b366613e404749ef6fc8de1afc9e88930e8a +Author: Chris Sharp +Date: Mon May 20 16:14:00 2019 -0400 + + LP#1768141 - Mark permission.grp_descendants STABLE. + + Quoting Galen Charlton's comments on the bug report: + + The database function permission.grp_descendants should + be marked stable; it qualifies, and doing so should allow + PostgreSQL to improve query plans. One example of a query + that would benefit is searching by patron profile (a la + bug 1497322) + + Signed-off-by: Chris Sharp + Signed-off-by: Galen Charlton + Signed-off-by: Jason Boyer + +1 1 Open-ILS/src/sql/Pg/006.schema.permissions.sql +19 0 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.mark_perm_grp_descendants_stable.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.mark_perm_grp_descendants_stable.sql + +commit 4af104b7aee90f7232d9011f1bc981a252a2c725 +Author: Jane Sandberg +Date: Wed Aug 21 10:26:47 2019 -0700 + + LP1739607: Add missing columns to patron record + + To test: + 1) Open up a patron record with some bills. + 2) On the Items Out tab, notice that there is a column named Location + 3) On the Bills tab, open up Bill history. + 4) In the history transactions grid, note that the column picker is + missing the following columns: + * Item owning library + * Checkout/renewal library + * Due date + * Fines Stopped Reason + 5) In the history payments grid, note that the column picker is missing + the same columns. + 6) Apply this commit. + 7) Note that the Items Out tab's column is renamed to "Shelving + Location". + 8) Notice that both Bill history grids column pickers include the + requested columns. + + Signed-off-by: Jane Sandberg + Signed-off-by: Josh Stompro + Signed-off-by: Jason Boyer + +4 1 Open-ILS/src/templates/staff/circ/patron/t_bill_history_payments.tt2 +4 0 Open-ILS/src/templates/staff/circ/patron/t_bill_history_xacts.tt2 +1 1 Open-ILS/src/templates/staff/circ/patron/t_items_out.tt2 + +commit 984167cd30a728f26a3a1379da2bcb759766da9b +Author: Andrea Buntz Neiman +Date: Tue Oct 1 13:57:32 2019 -0400 + + Docs: minor formatting changes to Hide Fields doc + + Signed-off-by: Andrea Buntz Neiman + +12 18 docs/cataloging/holdings_editor_hide_fields.adoc + +commit eea3e8238bb8358d0a068a7cb8519d9d139972c5 +Author: Beth Willis +Date: Tue Oct 1 13:32:06 2019 -0400 + + Docs: adding Hiding Fields in Holdings Editor docs and screenshots + + Signed-off-by: Andrea Buntz Neiman + +40 0 docs/cataloging/holdings_editor_hide_fields.adoc +- - docs/media/Holdings_Editor_Defaults_Tab.png +- - docs/media/Holdings_Editor_Hide_Display_Defaults.png +2 0 docs/root.adoc +2 0 docs/root_cataloging.adoc + create mode 100644 docs/cataloging/holdings_editor_hide_fields.adoc + create mode 100644 docs/media/Holdings_Editor_Defaults_Tab.png + create mode 100644 docs/media/Holdings_Editor_Hide_Display_Defaults.png + +commit 47a688e701b9377eb2c1feeef9989c54f366abdd +Author: Terran McCanna +Date: Mon Sep 16 15:45:52 2019 -0400 + + LP#1843637 MARC View Display Issues + + This fixes vertical alignment issues in the MARC View table + by removing the deprecated valign tags and moving the inline + CSS to the cat.css file. The text within each table cell should + now align to the top for better readability. + + Signed-off-by: Terran McCanna + Signed-off-by: Chris Sharp + +22 0 Open-ILS/src/templates/staff/css/cat.css.tt2 +5 6 Open-ILS/xsl/oilsMARC21slim2HTML.xsl + +commit 193c70ed5d7aa697f52e76cf8f6057672e9f08f4 +Author: Dan Wells +Date: Thu Sep 19 15:34:47 2019 -0400 + + Forward-port 3.3.4 upgrade script + + Signed-off-by: Dan Wells + +5 0 Open-ILS/src/sql/Pg/version-upgrade/3.3.3-3.3.4-upgrade-db.sql + create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/3.3.3-3.3.4-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..f559fd21b6 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-3-5"; } __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 fca91205df..e4371a6b18 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 ('1195', :eg_version); -- dbwells/khuckins/gmcharlt +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.3.5', :eg_version); CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/version-upgrade/3.3.4-3.3.5-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/3.3.4-3.3.5-upgrade-db.sql new file mode 100644 index 0000000000..c4cf115771 --- /dev/null +++ b/Open-ILS/src/sql/Pg/version-upgrade/3.3.4-3.3.5-upgrade-db.sql @@ -0,0 +1,284 @@ +--Upgrade Script for 3.3.4 to 3.3.5 +\set eg_version '''3.3.5''' +BEGIN; +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.3.5', :eg_version); + +SELECT evergreen.upgrade_deps_block_check('1185', :eg_version); -- csharp / gmcharlt / jboyer + +ALTER FUNCTION permission.grp_descendants( INT ) STABLE; + + +SELECT evergreen.upgrade_deps_block_check('1187', :eg_version); + +CREATE OR REPLACE FUNCTION action.age_circ_on_delete () RETURNS TRIGGER AS $$ +DECLARE +found char := 'N'; +BEGIN + + -- If there are any renewals for this circulation, don't archive or delete + -- it yet. We'll do so later, when we archive and delete the renewals. + + SELECT 'Y' INTO found + FROM action.circulation + WHERE parent_circ = OLD.id + LIMIT 1; + + IF found = 'Y' THEN + RETURN NULL; -- don't delete + END IF; + + -- Archive a copy of the old row to action.aged_circulation + + INSERT INTO action.aged_circulation + (id,usr_post_code, usr_home_ou, usr_profile, usr_birth_year, copy_call_number, copy_location, + copy_owning_lib, copy_circ_lib, copy_bib_record, xact_start, xact_finish, target_copy, + circ_lib, circ_staff, checkin_staff, checkin_lib, renewal_remaining, grace_period, due_date, + stop_fines_time, checkin_time, create_time, duration, fine_interval, recurring_fine, + max_fine, phone_renewal, desk_renewal, opac_renewal, duration_rule, recurring_fine_rule, + max_fine_rule, stop_fines, workstation, checkin_workstation, checkin_scan_time, parent_circ, + auto_renewal, auto_renewal_remaining) + SELECT + id,usr_post_code, usr_home_ou, usr_profile, usr_birth_year, copy_call_number, copy_location, + copy_owning_lib, copy_circ_lib, copy_bib_record, xact_start, xact_finish, target_copy, + circ_lib, circ_staff, checkin_staff, checkin_lib, renewal_remaining, grace_period, due_date, + stop_fines_time, checkin_time, create_time, duration, fine_interval, recurring_fine, + max_fine, phone_renewal, desk_renewal, opac_renewal, duration_rule, recurring_fine_rule, + max_fine_rule, stop_fines, workstation, checkin_workstation, checkin_scan_time, parent_circ, + auto_renewal, auto_renewal_remaining + FROM action.all_circulation WHERE id = OLD.id; + + RETURN OLD; +END; +$$ LANGUAGE 'plpgsql'; + + + +SELECT evergreen.upgrade_deps_block_check('1188', :eg_version); + +UPDATE action.circulation SET auto_renewal = FALSE WHERE auto_renewal IS NULL; + +UPDATE action.aged_circulation SET auto_renewal = FALSE WHERE auto_renewal IS NULL; + + +-- The following two changes cannot occur in a transaction with the +-- above updates because we will get an error about not being able to +-- alter a table with pending transactions. They also need to occur +-- after the above updates or the SET NOT NULL change will fail. + +ALTER TABLE action.circulation ALTER COLUMN auto_renewal SET DEFAULT FALSE; +ALTER TABLE action.circulation ALTER COLUMN auto_renewal SET NOT NULL; + +ALTER TABLE action.aged_circulation ALTER COLUMN auto_renewal SET DEFAULT FALSE; +ALTER TABLE action.aged_circulation ALTER COLUMN auto_renewal SET NOT NULL; + +SELECT evergreen.upgrade_deps_block_check('1189', :eg_version); + +CREATE OR REPLACE VIEW action.open_circulation AS + SELECT * + FROM action.circulation + WHERE checkin_time IS NULL + ORDER BY due_date; + +CREATE OR REPLACE VIEW action.billable_circulations AS + SELECT * + FROM action.circulation + WHERE xact_finish IS NULL; + +CREATE OR REPLACE VIEW reporter.overdue_circs AS +SELECT * + FROM "action".circulation + WHERE checkin_time is null + AND (stop_fines NOT IN ('LOST','CLAIMSRETURNED') OR stop_fines IS NULL) + AND due_date < now(); + +CREATE OR REPLACE VIEW reporter.circ_type AS +SELECT id, + CASE WHEN opac_renewal OR phone_renewal OR desk_renewal OR auto_renewal + THEN 'RENEWAL' + ELSE 'CHECKOUT' + END AS "type" + FROM action.circulation; + + +SELECT evergreen.upgrade_deps_block_check('1190', :eg_version); + +UPDATE action.circulation SET desk_renewal = FALSE WHERE auto_renewal IS TRUE; + +UPDATE action.aged_circulation SET desk_renewal = FALSE WHERE auto_renewal IS TRUE; + + +SELECT evergreen.upgrade_deps_block_check('1191', :eg_version); + +INSERT INTO permission.perm_list ( id, code, description ) SELECT DISTINCT + 619, + 'EDIT_SELF_IN_CLIENT', + oils_i18n_gettext(619, + 'Allow a user to edit their own account in the staff client', 'ppl', 'description' + ) + FROM permission.perm_list + WHERE NOT EXISTS (SELECT 1 FROM permission.perm_list WHERE code = 'EDIT_SELF_IN_CLIENT'); + + +SELECT evergreen.upgrade_deps_block_check('1193', :eg_version); + +INSERT INTO config.workstation_setting_type + (name, grp, datatype, label) +VALUES ( + 'eg.grid.circ.patron.xact_details_details_bills', 'gui', 'object', + oils_i18n_gettext( + 'eg.grid.circ.patron.xact_details_details_bills', + 'Grid Config: circ.patron.xact_details_details_bills', + 'cwst', 'label') +), ( + 'eg.grid.circ.patron.xact_details_details_payments', 'gui', 'object', + oils_i18n_gettext( + 'eg.grid.circ.patron.xact_details_details_payments', + 'Grid Config: circ.patron.xact_details_details_payments', + 'cwst', 'label') +); + + +SELECT evergreen.upgrade_deps_block_check('1195', :eg_version); + +CREATE OR REPLACE FUNCTION metabib.suggest_browse_entries(raw_query_text text, search_class text, headline_opts text, visibility_org integer, query_limit integer, normalization integer) + RETURNS TABLE(value text, field integer, buoyant_and_class_match boolean, field_match boolean, field_weight integer, rank real, buoyant boolean, match text) +AS $f$ +DECLARE + prepared_query_texts TEXT[]; + query TSQUERY; + plain_query TSQUERY; + opac_visibility_join TEXT; + search_class_join TEXT; + r_fields RECORD; + b_tests TEXT := ''; +BEGIN + prepared_query_texts := metabib.autosuggest_prepare_tsquery(raw_query_text); + + query := TO_TSQUERY('keyword', prepared_query_texts[1]); + plain_query := TO_TSQUERY('keyword', prepared_query_texts[2]); + + visibility_org := NULLIF(visibility_org,-1); + IF visibility_org IS NOT NULL THEN + PERFORM FROM actor.org_unit WHERE id = visibility_org AND parent_ou IS NULL; + IF FOUND THEN + opac_visibility_join := ''; + ELSE + PERFORM 1 FROM config.internal_flag WHERE enabled AND name = 'opac.located_uri.act_as_copy'; + IF FOUND THEN + b_tests := search.calculate_visibility_attribute_test( + 'luri_org', + (SELECT ARRAY_AGG(id) FROM actor.org_unit_full_path(visibility_org)) + ); + ELSE + b_tests := search.calculate_visibility_attribute_test( + 'luri_org', + (SELECT ARRAY_AGG(id) FROM actor.org_unit_ancestors(visibility_org)) + ); + END IF; + opac_visibility_join := ' + LEFT JOIN asset.copy_vis_attr_cache acvac ON (acvac.record = x.source) + LEFT JOIN biblio.record_entry b ON (b.id = x.source) + JOIN vm ON (acvac.vis_attr_vector @@ + (vm.c_attrs || $$&$$ || + search.calculate_visibility_attribute_test( + $$circ_lib$$, + (SELECT ARRAY_AGG(id) FROM actor.org_unit_descendants($4)) + ) + )::query_int + ) OR (b.vis_attr_vector @@ $$' || b_tests || '$$::query_int) +'; + END IF; + ELSE + opac_visibility_join := ''; + END IF; + + -- The following determines whether we only provide suggestsons matching + -- the user's selected search_class, or whether we show other suggestions + -- too. The reason for MIN() is that for search_classes like + -- 'title|proper|uniform' you would otherwise get multiple rows. The + -- implication is that if title as a class doesn't have restrict, + -- nor does the proper field, but the uniform field does, you're going + -- to get 'false' for your overall evaluation of 'should we restrict?' + -- To invert that, change from MIN() to MAX(). + + SELECT + INTO r_fields + MIN(cmc.restrict::INT) AS restrict_class, + MIN(cmf.restrict::INT) AS restrict_field + FROM metabib.search_class_to_registered_components(search_class) + AS _registered (field_class TEXT, field INT) + JOIN + config.metabib_class cmc ON (cmc.name = _registered.field_class) + LEFT JOIN + config.metabib_field cmf ON (cmf.id = _registered.field); + + -- evaluate 'should we restrict?' + IF r_fields.restrict_field::BOOL OR r_fields.restrict_class::BOOL THEN + search_class_join := ' + JOIN + metabib.search_class_to_registered_components($2) + AS _registered (field_class TEXT, field INT) ON ( + (_registered.field IS NULL AND + _registered.field_class = cmf.field_class) OR + (_registered.field = cmf.id) + ) + '; + ELSE + search_class_join := ' + LEFT JOIN + metabib.search_class_to_registered_components($2) + AS _registered (field_class TEXT, field INT) ON ( + _registered.field_class = cmc.name + ) + '; + END IF; + + RETURN QUERY EXECUTE ' +WITH vm AS ( SELECT * FROM asset.patron_default_visibility_mask() ), + mbe AS (SELECT * FROM metabib.browse_entry WHERE index_vector @@ $1 LIMIT 10000) +SELECT DISTINCT + x.value, + x.id, + x.push, + x.restrict, + x.weight, + x.ts_rank_cd, + x.buoyant, + TS_HEADLINE(value, $7, $3) + FROM (SELECT DISTINCT + mbe.value, + cmf.id, + cmc.buoyant AND _registered.field_class IS NOT NULL AS push, + _registered.field = cmf.id AS restrict, + cmf.weight, + TS_RANK_CD(mbe.index_vector, $1, $6), + cmc.buoyant, + mbedm.source + FROM metabib.browse_entry_def_map mbedm + JOIN mbe ON (mbe.id = mbedm.entry) + JOIN config.metabib_field cmf ON (cmf.id = mbedm.def) + JOIN config.metabib_class cmc ON (cmf.field_class = cmc.name) + ' || search_class_join || ' + ORDER BY 3 DESC, 4 DESC NULLS LAST, 5 DESC, 6 DESC, 7 DESC, 1 ASC + LIMIT 1000) AS x + ' || opac_visibility_join || ' + ORDER BY 3 DESC, 4 DESC NULLS LAST, 5 DESC, 6 DESC, 7 DESC, 1 ASC + LIMIT $5 +' -- sic, repeat the order by clause in the outer select too + USING + query, search_class, headline_opts, + visibility_org, query_limit, normalization, plain_query + ; + + -- sort order: + -- buoyant AND chosen class = match class + -- chosen field = match field + -- field weight + -- rank + -- buoyancy + -- value itself + +END; +$f$ LANGUAGE plpgsql ROWS 10; + +COMMIT; diff --git a/Open-ILS/xul/staff_client/chrome/content/main/about.html b/Open-ILS/xul/staff_client/chrome/content/main/about.html index b2b87b683f..2c4c2ba8a8 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_3_5

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..ddd72dc670 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_3_5"); 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..a399d5b8b9 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.3" !define PRODUCT_INSTALL_TAG "${PRODUCT_TAG}" !define UI_IMAGESET "beta" ;!define UI_IMAGESET "release" diff --git a/README b/README deleted file mode 120000 index 1ee2103e6f..0000000000 --- a/README +++ /dev/null @@ -1 +0,0 @@ -docs/installation/server_installation.adoc \ No newline at end of file diff --git a/README b/README new file mode 100644 index 0000000000..0502a14511 --- /dev/null +++ b/README @@ -0,0 +1,641 @@ +Installing the Evergreen server +=============================== +:toc: +:numbered: + +Preamble: referenced user accounts +---------------------------------- + +In subsequent sections, we will refer to a number of different accounts, as +follows: + + * Linux user accounts: + ** The *user* Linux account is the account that you use to log onto the + Linux system as a regular user. + ** The *root* Linux account is an account that has system administrator + privileges. On Debian you can switch to this account from + your *user* account by issuing the `su -` command and entering the + password for the *root* account when prompted. On Ubuntu you can switch + to this account from your *user* account using the `sudo su -` command + and entering the password for your *user* account when prompted. + ** The *opensrf* Linux account is an account that you create when installing + OpenSRF. You can switch to this account from the *root* account by + issuing the `su - opensrf` command. + ** The *postgres* Linux account is created automatically when you install + the PostgreSQL database server. You can switch to this account from the + *root* account by issuing the `su - postgres` command. + * PostgreSQL user accounts: + ** The *evergreen* PostgreSQL account is a superuser account that you will + create to connect to the PostgreSQL database server. + * Evergreen administrator account: + ** The *egadmin* Evergreen account is an administrator account for + Evergreen that you will use to test connectivity and configure your + Evergreen instance. + +Preamble: developer instructions +-------------------------------- + +[NOTE] +Skip this section if you are using an official release tarball downloaded +from http://evergreen-ils.org/egdownloads + +Developers working directly with the source code from the Git repository, +rather than an official release tarball, must perform one step before they +can proceed with the `./configure` step. + +As the *user* Linux account, issue the following command in the Evergreen +source directory to generate the configure script and Makefiles: + +[source, bash] +------------------------------------------------------------------------------ +autoreconf -i +------------------------------------------------------------------------------ + +Installing prerequisites +------------------------ + + * **PostgreSQL**: The minimum supported version is 9.4. + * **Linux**: Evergreen has been tested on + Debian Stretch (9), + Debian Jessie (8), + Ubuntu Bionic Beaver (18.04), + and Ubuntu Xenial Xerus (16.04). + If you are running an older version of these distributions, you may want + to upgrade before upgrading Evergreen. For instructions on upgrading these + distributions, visit the Debian or Ubuntu websites. + * **OpenSRF**: The minimum supported version of OpenSRF is 3.0.0. + + +Evergreen has a number of prerequisite packages that must be installed +before you can successfully configure, compile, and install Evergreen. + +1. Begin by installing the most recent version of OpenSRF (3.0.0 or later). + You can download OpenSRF releases from http://evergreen-ils.org/opensrf-downloads/ ++ +2. Issue the following commands as the *root* Linux account to install + prerequisites using the `Makefile.install` prerequisite installer, + substituting `debian-stretch`,`debian-jessie`,`ubuntu-bionic`, or + `ubuntu-xenial` 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, +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 + +Install dependencies for web staff client +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +[NOTE] +You may skip this section if you have installed the +<>. You will still need to do the following +steps in <>. + +1. Install the long-term stability (LTS) release of +https://nodejs.org[Node.js]. Add the Node.js `/bin` directory to your +environment variable `PATH`. + +[[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, run tests, concat+minify +npm run build-prod +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 +npm run test +------------------------------------------------------------------------------ + +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 Debian Stretch, run the following command as the root user: + +[source, bash] +------------------------------------------------------------------------------ +ldconfig +------------------------------------------------------------------------------ + +Additional Instructions for Developers +-------------------------------------- + +[NOTE] +Skip this section if you are using an official release tarball downloaded +from http://evergreen-ils.org/egdownloads + +Developers working directly with the source code from the Git repository, +rather than an official release tarball, need to install the Dojo Toolkit +set of JavaScript libraries. The appropriate version of Dojo is included in +Evergreen release tarballs. Developers should install the Dojo 1.3.3 version +of Dojo by issuing the following commands as the *opensrf* Linux account: + +[source, bash] +------------------------------------------------------------------------------ +wget http://download.dojotoolkit.org/release-1.3.3/dojo-release-1.3.3.tar.gz +tar -C /openils/var/web/js -xzf dojo-release-1.3.3.tar.gz +cp -r /openils/var/web/js/dojo-release-1.3.3/* /openils/var/web/js/dojo/. +------------------------------------------------------------------------------ + + +Configure the Apache Web server +------------------------------- + +. Use the example configuration files 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 catalogue 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: + + * <<_apache_rewrite_tricks,Apache Rewrite Tricks>> + * <<_apache_access_handler_perl_module,Apache Access Handler Perl Module>> + +Configure OpenSRF for the Evergreen application +----------------------------------------------- +There are a number of example OpenSRF configuration files in `/openils/conf/` +that you can use as a template for your Evergreen installation. Issue the +following commands as the *opensrf* Linux account: + +[source, bash] +------------------------------------------------------------------------------ +cp -b /openils/conf/opensrf_core.xml.example /openils/conf/opensrf_core.xml +cp -b /openils/conf/opensrf.xml.example /openils/conf/opensrf.xml +------------------------------------------------------------------------------ + +When you installed OpenSRF, you created four Jabber users on two +separate domains and edited the `opensrf_core.xml` file accordingly. Please +refer back to the OpenSRF README and, as the *opensrf* Linux account, edit the +Evergreen version of the `opensrf_core.xml` file using the same Jabber users +and domains as you used while installing and testing OpenSRF. + +[NOTE] +The `-b` flag tells the `cp` command to create a backup version of the +destination file. The backup version of the destination file has a tilde (`~`) +appended to the file name, so if you have forgotten the Jabber users and +domains, you can retrieve the settings from the backup version of the files. + +`eg_db_config`, described in <<_creating_the_evergreen_database,Creating the Evergreen +database>>, sets the database connection information in `opensrf.xml` for you. + +Configure action triggers for the Evergreen application +------------------------------------------------------- +_Action Triggers_ provide hooks for the system to perform actions when a given +event occurs; for example, to generate reminder or overdue notices, the +`checkout.due` hook is processed and events are triggered for potential actions +if there is no checkin time. + +To enable the default set of hooks, issue the following command as the +*opensrf* Linux account: + +[source, bash] +------------------------------------------------------------------------------ +cp -b /openils/conf/action_trigger_filters.json.example /openils/conf/action_trigger_filters.json +------------------------------------------------------------------------------ + +For more information about configuring and running action triggers, see +<<_processing_action_triggers,Notifications / Action Triggers>>. + +Creating the Evergreen database +------------------------------- + +Setting up the PostgreSQL server +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For production use, most libraries install the PostgreSQL database server on a +dedicated machine. Therefore, by default, the `Makefile.install` prerequisite +installer does *not* install the PostgreSQL 9 database server that is required +by every Evergreen system. You can install the packages required by Debian or +Ubuntu on the machine of your choice using the following commands as the +*root* Linux account: + +. Installing PostgreSQL server packages + +Each OS build target provides the postgres server installation packages +required for each operating system. To install Postgres server packages, +use the make target 'postgres-server-'. Choose the most appropriate +command below based on your operating system. + +[source, bash] +------------------------------------------------------------------------------ +make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-stretch +make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-jessie +make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-xenial +make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-bionic +------------------------------------------------------------------------------ + +For a standalone PostgreSQL server, install the following Perl modules for your +distribution as the *root* Linux account: + +.(Debian and Ubuntu) +No extra modules required for these distributions. + +You need to create a PostgreSQL superuser to create and access the database. +Issue the following command as the *postgres* Linux account to create a new +PostgreSQL superuser named `evergreen`. When prompted, enter the new user's +password: + +[source, bash] +------------------------------------------------------------------------------ +createuser -s -P evergreen +------------------------------------------------------------------------------ + +.Enabling connections to the PostgreSQL database + +Your PostgreSQL database may be configured by default to prevent connections, +for example, it might reject attempts to connect via TCP/IP or from other +servers. To enable TCP/IP connections from localhost, check your `pg_hba.conf` +file, found in the `/etc/postgresql/` directory on Debian and Ubuntu. +A simple way to enable TCP/IP +connections from localhost to all databases with password authentication, which +would be suitable for a test install of Evergreen on a single server, is to +ensure the file contains the following entries _before_ any "host ... ident" +entries: + +------------------------------------------------------------------------------ +host all all ::1/128 md5 +host all all 127.0.0.1/32 md5 +------------------------------------------------------------------------------ + +When you change the `pg_hba.conf` file, you will need to reload PostgreSQL to +make the changes take effect. For more information on configuring connectivity +to PostgreSQL, see +http://www.postgresql.org/docs/devel/static/auth-pg-hba-conf.html + +Creating the Evergreen database and schema +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Once you have created the *evergreen* PostgreSQL account, you also need to +create the database and schema, and configure your configuration files to point +at the database server. Issue the following command as the *root* Linux account +from inside the Evergreen source directory, replacing , , +, , and with the appropriate values for your +PostgreSQL database (where and are for the *evergreen* +PostgreSQL account you just created), and replace and +with the values you want for the *egadmin* Evergreen administrator account: + +[source, bash] +------------------------------------------------------------------------------ +perl Open-ILS/src/support-scripts/eg_db_config --update-config \ + --service all --create-database --create-schema --create-offline \ + --user --password --hostname --port \ + --database --admin-user --admin-pass +------------------------------------------------------------------------------ + +This creates the database and schema and configures all of the services in +your `/openils/conf/opensrf.xml` configuration file to point to that database. +It also creates the configuration files required by the Evergreen `cgi-bin` +administration scripts, and sets the user name and password for the *egadmin* +Evergreen administrator account to your requested values. + +You can get a complete set of options for `eg_db_config` by passing the +`--help` parameter. + +Loading sample data +~~~~~~~~~~~~~~~~~~~ +If you add the `--load-all-sample` parameter to the `eg_db_config` command, +a set of authority and bibliographic records, call numbers, copies, staff +and regular users, and transactions will be loaded into your target +database. This sample dataset is commonly referred to as the _concerto_ +sample data, and can be useful for testing out Evergreen functionality and +for creating problem reports that developers can easily recreate with their +own copy of the _concerto_ sample data. + +Creating the database on a remote server +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In a production instance of Evergreen, your PostgreSQL server should be +installed on a dedicated server. + +PostgreSQL 9.4 and later +^^^^^^^^^^^^^^^^^^^^^^^^ +To create the database instance on a remote database server running PostgreSQL +9.4 or later, simply use the `--create-database` flag on `eg_db_config`. + +Starting Evergreen +------------------ +1. As the *root* Linux account, start the `memcached` and `ejabberd` services +(if they aren't already running): ++ +[source, bash] +------------------------------------------------------------------------------ +/etc/init.d/ejabberd start +/etc/init.d/memcached start +------------------------------------------------------------------------------ ++ +2. As the *opensrf* Linux account, start Evergreen. The `-l` flag in the +following command is only necessary if you want to force Evergreen to treat the +hostname as `localhost`; if you configured `opensrf.xml` using the real +hostname of your machine as returned by `perl -ENet::Domain 'print +Net::Domain::hostfqdn() . "\n";'`, you should not use the `-l` flag. ++ +[source, bash] +------------------------------------------------------------------------------ +osrf_control -l --start-all +------------------------------------------------------------------------------ ++ + ** If you receive the error message `bash: osrf_control: command not found`, + then your environment variable `PATH` does not include the `/openils/bin` + directory; this should have been set in the *opensrf* Linux account's + `.bashrc` configuration file. To manually set the `PATH` variable, edit the + configuration file `~/.bashrc` as the *opensrf* Linux account and add the + following line: ++ +[source, bash] +------------------------------------------------------------------------------ +export PATH=$PATH:/openils/bin +------------------------------------------------------------------------------ ++ +3. As the *opensrf* Linux account, generate the Web files needed by the web staff + client and catalogue and update the organization unit proximity (you need to do + this the first time you start Evergreen, and after that each time you change the library org unit configuration. +): ++ +[source, bash] +------------------------------------------------------------------------------ +autogen.sh +------------------------------------------------------------------------------ ++ +4. As the *root* Linux account, restart the Apache Web server: ++ +[source, bash] +------------------------------------------------------------------------------ +/etc/init.d/apache2 restart +------------------------------------------------------------------------------ ++ +If the Apache Web server was running when you started the OpenSRF services, you +might not be able to successfully log in to the OPAC or 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 dacb5a36b7..ba01feffeb 100644 --- a/configure.ac +++ b/configure.ac @@ -20,8 +20,8 @@ export PATH=${PATH}:/usr/sbin AC_PREREQ(2.61) -AC_INIT(Open-ILS, trunk, open-ils-dev@list.georgialibraries.org) -AM_INIT_AUTOMAKE([OpenILS], [trunk]) +AC_INIT(Open-ILS, 3.3.5, open-ils-dev@list.georgialibraries.org) +AM_INIT_AUTOMAKE([OpenILS], [3.3.5]) AC_REVISION($Revision: 0.1 $) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_SUBDIRS([Open-ILS/xul/staff_client/external/libmar]) -- 2.11.0