Bumping version numbers, adding Upgrade Script and Changelog tags/rel_3_2_5
authorDan Wells <dbw2@calvin.edu>
Tue, 26 Mar 2019 20:24:33 +0000 (16:24 -0400)
committerDan Wells <dbw2@calvin.edu>
Tue, 26 Mar 2019 20:24:33 +0000 (16:24 -0400)
Signed-off-by: Dan Wells <dbw2@calvin.edu>
ChangeLog
Open-ILS/src/perlmods/lib/OpenILS/Application.pm
Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/version-upgrade/3.2.4-3.2.5-upgrade-db.sql [new file with mode: 0644]
Open-ILS/xul/staff_client/chrome/content/main/about.html
Open-ILS/xul/staff_client/defaults/preferences/prefs.js
Open-ILS/xul/staff_client/windowssetup.nsi
README [changed from symlink to file mode: 0644]
configure.ac

index 1f72b2c..2229119 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,896 @@
-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 ba053a312b59bcb40ff1f34ed13178c6240f2894
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Tue Feb 26 14:38:22 2019 -0500
+
+    Update upgrade docs for 3.2.5
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+22     60      docs/installation/server_upgrade.adoc
+
+commit bc17f1f0eac8edf757a51978c48700bb92faf2c4
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Tue Mar 26 16:15:48 2019 -0400
+
+    Bump OpenILS.pm version
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS.pm
+
+commit 88c3bd9d689c2f9d1e65f7cb085553a0c45dfd2c
+Author: Remington Steed <rjs7@calvin.edu>
+Date:   Tue Mar 26 16:15:11 2019 -0400
+
+    Docs: Revise 3.2.5 bugfix release notes
+    
+    This commit adds release notes for recently pushed fixes to the new
+    Angular pieces of the web client.
+    
+    Signed-off-by: Remington Steed <rjs7@calvin.edu>
+
+14     0       docs/RELEASE_NOTES_3_2.adoc
+
+commit dd07cba8c15f0268647a68c19feb02146dcbfb8a
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Tue Mar 26 12:28:53 2019 -0400
+
+    Translation updates - po files
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+335    0       build/i18n/po/circ/en-GB.po
+375    0       build/i18n/po/kpac/en-GB.po
+419    0       build/i18n/po/serial/en-GB.po
+30     14      build/i18n/po/webstaff/ar-JO.po
+78     62      build/i18n/po/webstaff/cs-CZ.po
+34     22      build/i18n/po/webstaff/en-CA.po
+93     72      build/i18n/po/webstaff/en-GB.po
+24     14      build/i18n/po/webstaff/es-ES.po
+27     14      build/i18n/po/webstaff/hy-AM.po
+24     14      build/i18n/po/webstaff/ru-RU.po
+ create mode 100644 build/i18n/po/circ/en-GB.po
+ create mode 100644 build/i18n/po/kpac/en-GB.po
+ create mode 100644 build/i18n/po/serial/en-GB.po
+
+commit a37154508d8fc078b5d9bae5ada105a534c13ecd
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Tue Mar 26 12:08:27 2019 -0400
+
+    Translation updates - newpot
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+41     11      build/i18n/po/db.seed/db.seed.pot
+180    173     build/i18n/po/webstaff/webstaff.pot
+
+commit c9e3cd64261e8b24b756de5a630fb01a23a493f5
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Wed Mar 20 14:38:44 2019 -0400
+
+    LP1821067 Angular i18n uses XMB; cs-CZ examples
+    
+    Includes documentation updates and cs-CZ example using export cs-CZ .xtb
+    translation bundle.
+    
+    Also remove xmliffmerge configuration options since we are not using
+    xliff files.
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+18     5       Open-ILS/src/eg2/CHEAT_SHEET.adoc
+4      4       Open-ILS/src/eg2/angular.json
+2      29      Open-ILS/src/eg2/package.json
+2      1       Open-ILS/src/eg2/src/environments/environment.prod.ts
+
+commit f38a629f356c555254f56c989080d67a4b7d1474
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Wed Mar 20 14:38:14 2019 -0400
+
+    LP1821067 Angular Czech translation bundle
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+495    0       Open-ILS/src/eg2/src/locale/messages.cs-CZ.xtb
+ create mode 100644 Open-ILS/src/eg2/src/locale/messages.cs-CZ.xtb
+
+commit b46e5e774bdbe1468a05d474af722fcbea048835
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Fri Mar 22 13:41:12 2019 -0700
+
+    LP1821409 Ang admin editor clears fields on new
+    
+    The Angular admin pages re-use an FmEditor component for creating and
+    updating objects.  When creating a new object after editing an existing
+    object, reset the editor so it won't load the previously edited object.
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+4      0       Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.ts
+
+commit 52ae1b1d5adbba0c860db59c06c84b19541e3fc2
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Wed Jan 23 17:30:26 2019 -0500
+
+    LP1807461 Admin page avoid errors on dialog dismissal
+    
+    Add support to the base DialogComponent class for passing information to
+    the caller via the reject handler about whether a dialog was dismissed
+    via user interface interaction (body click, esc key, cross click, cancel
+    button) or for some other reason, presumably an error.
+    
+    Teach the generic admin page to avoid toasting errors when an edit or
+    create dialog is dismissed via UI.
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+25     1       Open-ILS/src/eg2/src/app/share/dialog/dialog.component.ts
+10     6       Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.ts
+
+commit 4a054a7ef822f1094e28f8c0fc3faacd77bd6df4
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Wed Jan 23 16:13:52 2019 -0500
+
+    LP1807458 Eg2 grid Edit option lint repairs
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+4      3       Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.ts
+
+commit 4574eaf3442ee4dc9b0cde6e6e2d941ce9c17eef
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Mon Dec 10 15:06:23 2018 -0500
+
+    LP#1807461 FM-editor show danger toasts when create/update fails
+    
+    Display a danger toast when update or create attempts fail in the
+    Angular fieldmapper editor dialog.
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+7      0       Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.html
+10     2       Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.ts
+
+commit d794c5b848a6007a134ac8782309d87be5ed5e84
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Mon Dec 10 13:09:36 2018 -0500
+
+    LP#1807458 Angular admin grid Edit Selected option
+    
+    Adds a new "Edit Selected" action to the "Actions for Selected Items"
+    menu in the general purpose admin grid.  This only visibly affects the
+    ACQ admin grids at time of writing, but applies to all auto-generated
+    admin grids.
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+2      0       Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.html
+27     12      Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.ts
+
+commit baabffdfc14c2a648c503cf6fe26df07a694bcaf
+Author: abneiman <abneiman@equinoxinitiative.org>
+Date:   Tue Feb 19 17:22:04 2019 -0500
+
+    docs: Statcat updates
+    
+    Signed-off-by: abneiman <abneiman@equinoxinitiative.org>
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+
+16     7       docs/admin/lsa-statcat.adoc
+-      -       docs/media/lsa-statcat-2.png
+-      -       docs/media/lsa-statcat-3.png
+-      -       docs/media/lsa-statcat-3a.png
+-      -       docs/media/lsa-statcat-5.png
+-      -       docs/media/lsa-statcat-6.png
+-      -       docs/media/lsa-statcat-8.png
+ create mode 100644 docs/media/lsa-statcat-3a.png
+
+commit 1a307d20aa6ded7cc5e7248e35c4d658d9c28ae5
+Author: Remington Steed <rjs7@calvin.edu>
+Date:   Wed Mar 20 11:57:02 2019 -0400
+
+    Docs: Add bugfix release notes for 3.2.5
+    
+    For the acknowledgements section, I opted to include anyone who had
+    signed off on a commit in 3.2.5. I'm not sure what the criteria were
+    for pervious point release notes.
+    
+    Signed-off-by: Remington Steed <rjs7@calvin.edu>
+
+105    0       docs/RELEASE_NOTES_3_2.adoc
+
+commit 77600513ca30b431079d7384237161089bbeae41
+Author: Remington Steed <rjs7@calvin.edu>
+Date:   Wed Mar 20 12:16:54 2019 -0400
+
+    Docs: Add bugfix release notes for 3.1.11
+    
+    For the acknowledgements section, I opted to include anyone who had
+    signed off on a commit in 3.1.11. Not sure if this is the same as past
+    point release notes.
+    
+    Signed-off-by: Remington Steed <rjs7@calvin.edu>
+
+72     0       docs/RELEASE_NOTES_3_1.adoc
+
+commit a5c5dbf7c2fe2e10357ece7f9110796951615b8c
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Thu Mar 14 12:03:58 2019 -0400
+
+    LP1776736 Record merge marc edit repairs
+    
+    1. Fixes issues where edits to MARC records would fail to save during
+       merge.
+    
+    2. Provide options to select flat or non-flat text editor in edit mode
+       for record merges.
+    
+    3. Allow record editor action buttons/selectors to flow down
+       horizontally when they don't fit in a narrow space.
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+1      2       Open-ILS/src/templates/staff/cat/bucket/record/t_merge_records.tt2
+7      7       Open-ILS/src/templates/staff/cat/share/t_marcedit.tt2
+1      0       Open-ILS/src/templates/staff/css/cat.css.tt2
+27     15      Open-ILS/web/js/ui/default/staff/cat/bucket/record/app.js
+1      1       Open-ILS/web/js/ui/default/staff/cat/services/marcedit.js
+
+commit 3b17ee40181c7ae5f67c97db34b91f9dde7c1610
+Author: Josh Stompro <stompro@stompro.org>
+Date:   Tue Feb 26 14:21:06 2019 -0600
+
+    LP1749502 - Holds Pull List Print Order
+    
+    - Expose call number affix sortkey data.
+    - Use sortkey data to sort default pull list template.
+    - Combine all call number info into one field in default pull list template.
+    - Sorty by shelf location position if it exists, then by shelf location name if it doesn't
+    - Only grab copy info if copy is assigned, to not break patron holds grid.
+    - Remove some web console logging only needed for testing.
+    
+    Signed-off-by: Josh Stompro <stompro@stompro.org>
+    Signed-off-by: Jason Stephenson <jason@sigio.com>
+    Signed-off-by: John Amundson <jamundson@cwmars.org>
+
+2      6       Open-ILS/src/templates/staff/share/print_templates/t_hold_pull_list.tt2
+37     31      Open-ILS/web/js/ui/default/staff/circ/services/holds.js
+
+commit 3ec7bdcbac4a87c0db98b6d589c0aaca6d126337
+Author: Jason Stephenson <jason@sigio.com>
+Date:   Wed Sep 12 15:34:56 2018 -0400
+
+    LP 1749502: Add Call Number Prefix & Suffix to pull list print template.
+    
+    We add the call number prefix and suffix as separate columns to the
+    holds pull list print template.  We also add the suffix to the end of
+    the orderBy so that we also sort by the suffix.
+    
+    Signed-off-by: Jason Stephenson <jason@sigio.com>
+    Signed-off-by: Josh Stompro <stompro@stompro.org>
+    Signed-off-by: John Amundson <jamundson@cwmars.org>
+
+5      1       Open-ILS/src/templates/staff/share/print_templates/t_hold_pull_list.tt2
+
+commit 935a4242ff3ae243492b024a14be52394a7397ce
+Author: Kyle Huckins <khuckins@catalyte.io>
+Date:   Tue May 29 16:06:59 2018 +0000
+
+    lp1749502 Prefix patch
+    
+    - Ensure prefix information is properly set
+    
+    Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
+    
+     Changes to be committed:
+       modified:   Open-ILS/src/templates/staff/share/print_templates/t_hold_pull_list.tt2
+       modified:   Open-ILS/web/js/ui/default/staff/circ/services/holds.js
+    
+    Signed-off-by: Jason Stephenson <jason@sigio.com>
+    Signed-off-by: Josh Stompro <stompro@stompro.org>
+    Signed-off-by: John Amundson <jamundson@cwmars.org>
+
+1      1       Open-ILS/src/templates/staff/share/print_templates/t_hold_pull_list.tt2
+12     10      Open-ILS/web/js/ui/default/staff/circ/services/holds.js
+
+commit c7e13807e5d3ef24458c2e247be502a5fe848e63
+Author: Kyle Huckins <khuckins@catalyte.io>
+Date:   Thu May 17 21:08:27 2018 +0000
+
+    lp1749502 Holds Pull List Print Order
+    
+    - Ensure copy shelf location position is available for each hold on
+    holds shelf.
+    - Add _copy_location_position to hold_data while printing.
+    
+    Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
+    
+     Changes to be committed:
+       modified:   Open-ILS/src/templates/staff/share/print_templates/t_hold_pull_list.tt2
+       modified:   Open-ILS/web/js/ui/default/staff/circ/services/holds.js
+    
+    Signed-off-by: Jason Stephenson <jason@sigio.com>
+    Signed-off-by: Josh Stompro <stompro@stompro.org>
+    Signed-off-by: John Amundson <jamundson@cwmars.org>
+
+1      1       Open-ILS/src/templates/staff/share/print_templates/t_hold_pull_list.tt2
+20     1       Open-ILS/web/js/ui/default/staff/circ/services/holds.js
+
+commit 343a2f8068542665df7e5e2bcdb5eb37d8459698
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Tue Mar 5 11:53:09 2019 -0500
+
+    LP1739293 Record merged edit-in-place avoid wrap
+    
+    When using the inline editor, prevent text wrapping and instead allow
+    the text to overflow x and y and use scrolls to navigate.
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
+
+2      1       Open-ILS/src/templates/staff/cat/bucket/record/t_merge_records.tt2
+8      0       Open-ILS/src/templates/staff/css/cat.css.tt2
+
+commit c30d8d45c469174b047a14407c950cec96c2f4a7
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Tue Mar 5 11:10:44 2019 -0500
+
+    LP1739293 Record merge fits container
+    
+    Allow the text contents of each merged MARC record to wrap so the
+    records may fit horizontally on the screen.  A single vertical scroll
+    allows the user to scroll down to see any parts of the record that
+    require more vertical space.
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
+
+1      1       Open-ILS/src/templates/staff/cat/bucket/record/t_merge_records.tt2
+19     0       Open-ILS/src/templates/staff/css/cat.css.tt2
+
+commit 816b16492bf4d6ff4cdaf34a287ee321763ef7a4
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Fri Feb 8 11:25:10 2019 -0500
+
+    LP1739293 Record merge horizontal; optional holdings
+    
+    * Tile bib records horizontally in record bucket => merge records
+      interface.
+    
+    * Add a "Toggle Holdings View" button for displaying holdings and leave
+      holdings un-displayed by default.
+    
+    * Duplicate the Merge and Cancel buttons along the top of the dialog.
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
+
+50     33      Open-ILS/src/templates/staff/cat/bucket/record/t_merge_records.tt2
+1      0       Open-ILS/web/js/ui/default/staff/cat/bucket/record/app.js
+
+commit de32afd744a7bdefd1418da7da503d4a9d8f508d
+Author: Jason Stephenson <jason@sigio.com>
+Date:   Wed Mar 13 12:37:23 2019 -0400
+
+    LP 1819796: Fix method call on undefined value in generate_fines
+    
+    The below message repeats in the open-ils.storage_stderr.log:
+    
+    Caught error from 'run' method: Can't call method "search_where" on an
+    undefined value at
+    /usr/local/share/perl/5.26.1/OpenILS/Application/Storage/Publisher/action.pm
+    line 1014.
+    
+    This commit removes an errant ->search_where on a CStoreEditor call to
+    make that message go away.
+    
+    Also, delete some lines of code that were commented out at the time the
+    code was converted to use CStoreEditor.
+    
+    Signed-off-by: Jason Stephenson <jason@sigio.com>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+1      8       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
+
+commit 289e5ee465c60f94842c85ca9a8f4b308488d64f
+Author: Remington Steed <rjs7@calvin.edu>
+Date:   Fri Mar 8 15:27:45 2019 -0500
+
+    LP1793196 Fix console error when none selected
+    
+    If you open the dropdown and close it without selecting anything, the
+    console shows an error complaining that $scope.selected is undefined.
+    This commit checks that it exists in that case before using it.
+    
+    Signed-off-by: Remington Steed <rjs7@calvin.edu>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+1      1       Open-ILS/web/js/ui/default/staff/services/ui.js
+
+commit 448118772255aaecf7e8d7e483f53e8da67d5c03
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Tue Feb 5 12:28:15 2019 -0500
+
+    LP1793196 Volume batch editor offers MARC call numbers
+    
+    Provide call numbers extracted from the MARC record as options in the
+    volume batch editor.  Call numbers to extract are based on the load-time
+    classification scheme, defaulting to Generic ('1') if no default scheme
+    is applied.
+    
+    Patch includes additional sanity checks on volume editor utility
+    functions to avoid console errors referencing undefined values.
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Remington Steed <rjs7@calvin.edu>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+1      1       Open-ILS/src/templates/staff/cat/volcopy/t_edit.tt2
+22     5       Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js
+
+commit 331db31999bbd3747b62e6348d3e1d27117c7949
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Sun Sep 2 16:13:46 2018 -0700
+
+    LP1665534: Make pickup library in bib record holds view sticky
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+
+1      1       Open-ILS/src/templates/staff/cat/catalog/t_holds.tt2
+
+commit d2265ab8cc08165e789a9341702035ed6365c4ef
+Author: Steven Callender <stevecallender@esilibrary.com>
+Date:   Tue Dec 11 13:18:27 2018 -0500
+
+    LP1808006 - Sitemap generator fix to allow shortname parameter.
+    
+    Signed-off-by: Steven Callender <stevecallender@esilibrary.com>
+    Signed-off-by: Geoff Sams <gsams@roanoketexas.com>
+    Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
+
+4      1       Open-ILS/src/support-scripts/sitemap_generator
+
+commit dfb52ae31bef4f3bdadb936e551ad38d413e4d04
+Author: Jason Boyer <jboyer@library.in.gov>
+Date:   Thu Jan 17 13:33:10 2019 -0500
+
+    LP1798628: Copy alert counts in Holdings
+    
+    Currently the count of all copy alerts ever applied
+    to a copy is displayed in the Holdings view, which
+    can be quite confusing when clicking Manage and not
+    seeing the expected number of alerts. This branch
+    changes the display to only count the number of
+    events currently active since those are the only
+    ones available to manage.
+    
+    Signed-off-by: Jason Boyer <jboyer@library.in.gov>
+    Signed-off-by: Garry Collum <gcollum@gmail.com>
+    Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
+
+3      1       Open-ILS/web/js/ui/default/staff/cat/services/holdings.js
+
+commit 80d9c400eafe016343bedfa65c9fad053585d2b6
+Author: Remington Steed <rjs7@calvin.edu>
+Date:   Thu Oct 25 08:53:32 2018 -0400
+
+    LP#1778571 Fix logic error converting JS bool to DB bool
+    
+    Two minor bugs in the Copy Notes editor had the same cause in two
+    separate places. The cause was forgetting to convert the checkbox status
+    (a JavaScript bool) to the correct database format ('t' or 'f'). The
+    resulting symptoms were buggy behavior related to the state of the
+    "Public Note" checkbox. This commit addresses both cases mentioned in
+    the bug report and comments.
+    
+    To test the buggy behavior:
+    1. Edit an item (e.g. click the "Edit" link from the client OPAC view).
+    2. Click the "Item Notes" button (near the bottom of the editor).
+    3. Add a new note and check the "Public Note" box.
+    4. Click "OK".
+    5. Click "Item Notes" again and notice that the "Public Note" box on your
+       new note is no longer checked. (That's bug #1.)
+    6. Check "Public Note" again, click "OK", and click "Save & Exit".
+    7. Edit the same item again. Click "Item Notes".
+    8. Your note should correctly have the "Public Note" checkbox checked.
+    9. Uncheck the box and click "OK". Click "Save & Exit".
+    10. Edit the same item. Click "Item Notes".
+    11. Notice that your change didn't save. The "Public Note" checkbox is
+        still checked. (That's bug #2.)
+    
+    To test the fixes:
+    - Clear your browser cache.
+    - Repeat the steps above, noticing that:
+      - At step 5, the new note correctly has the "Public Note" checkbox
+        checked.
+      - At step 11, the edited note correctly has the "Public Note" checkbox
+        unchecked.
+    
+    NOTE: Testing requires clearing the browser cache, since the
+    t_copy_notes.tt2 file is fetched asynchronously by AngularJS.
+    
+    Signed-off-by: Remington Steed <rjs7@calvin.edu>
+    Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
+    Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
+
+1      1       Open-ILS/src/templates/staff/cat/volcopy/t_copy_notes.tt2
+1      1       Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js
+
+commit d0a8024de9331542c83120d8fddacbe13b08d7d7
+Author: Chris Sharp <csharp@georgialibraries.org>
+Date:   Fri Mar 8 14:19:02 2019 -0500
+
+    LP#1759238: stamping upgrade script
+    
+    Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+11     0       Open-ILS/src/sql/Pg/upgrade/1158.data.fix-typo-in-seed-data.sql
+0      11      Open-ILS/src/sql/Pg/upgrade/XXXX.data.fix-typo-in-seed-data.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/1158.data.fix-typo-in-seed-data.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.fix-typo-in-seed-data.sql
+
+commit acdce777c319edcae4810697fa99b209775864eb
+Author: Ben Shum <ben@evergreener.net>
+Date:   Tue May 1 10:38:39 2018 -0400
+
+    LP#1759238: Add upgrade script to fix typo for Physical Description in DB
+    
+    This upgrade script will check and update the typo if it is present in
+    an existing installation.
+    
+    Signed-off-by: Ben Shum <ben@evergreener.net>
+    Signed-off-by: Josh Stompro <stompro@stompro.org>
+    Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
+
+11     0       Open-ILS/src/sql/Pg/upgrade/XXXX.data.fix-typo-in-seed-data.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.fix-typo-in-seed-data.sql
+
+commit f7afe0c718760b780421eb5ea38cdfe40521ff7b
+Author: Ben Shum <ben@evergreener.net>
+Date:   Tue May 1 10:29:25 2018 -0400
+
+    LP#1769238: fix typo in 950.data.seed-values.sql for Physical Description
+    
+    Instead of "Physical Description", "Physical Descrption" is used by mistake.
+    Fix the seed data and all related PO files for translation.
+    
+    Signed-off-by: Ben Shum <ben@evergreener.net>
+    Signed-off-by: Josh Stompro <stompro@stompro.org>
+    
+    Conflicts:
+       build/i18n/po/db.seed/cs-CZ.po
+    
+    Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
+
+1      1       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+1      1       build/i18n/po/db.seed/ar-JO.po
+1      1       build/i18n/po/db.seed/cs-CZ.po
+1      1       build/i18n/po/db.seed/db.seed.pot
+1      1       build/i18n/po/db.seed/de-DE.po
+1      1       build/i18n/po/db.seed/en-CA.po
+1      1       build/i18n/po/db.seed/en-GB.po
+1      1       build/i18n/po/db.seed/es-ES.po
+1      1       build/i18n/po/db.seed/fi-FI.po
+1      1       build/i18n/po/db.seed/fr-CA.po
+1      1       build/i18n/po/db.seed/he-IL.po
+1      1       build/i18n/po/db.seed/hu-HU.po
+1      1       build/i18n/po/db.seed/hy-AM.po
+1      1       build/i18n/po/db.seed/oc-FR.po
+1      1       build/i18n/po/db.seed/pt-BR.po
+1      1       build/i18n/po/db.seed/ru-RU.po
+1      1       build/i18n/po/db.seed/sv-SE.po
+1      1       build/i18n/po/db.seed/tr-TR.po
+
+commit d731c233112b6ebdf8fde12f80a3b7916f608539
+Author: Jason Stephenson <jason@sigio.com>
+Date:   Fri Mar 8 13:54:35 2019 -0500
+
+    Lp 712490: Stamping UPgrade Script
+    
+    Signed-off-by: Jason Stephenson <jason@sigio.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+202    0       Open-ILS/src/sql/Pg/upgrade/1157.schema.vandelay-replace-field-order.sql
+0      202     Open-ILS/src/sql/Pg/upgrade/XXXX.schema.vandelay-replace-field-order.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/1157.schema.vandelay-replace-field-order.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.vandelay-replace-field-order.sql
+
+commit 793286531f5c2cbb7625e8c54f2f3dbade71491a
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Thu Oct 19 11:42:43 2017 -0400
+
+    LP#712490 Vandelay replace/merge PGTAP tests
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Jason Stephenson <jason@sigio.com>
+
+135    0       Open-ILS/src/sql/Pg/t/lp712490-vand-replace-field-merge.pg
+ create mode 100644 Open-ILS/src/sql/Pg/t/lp712490-vand-replace-field-merge.pg
+
+commit 028750d7c2ff992a3702533925c62b9c15b93f1e
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Wed Oct 18 17:00:59 2017 -0400
+
+    LP#712490 Vandelay merge-based field replacement
+    
+    Modify the vandelay field replacement logic to merge replacement data
+    into existing field data where possible, instead of simply deleting then
+    re-adding the data.  The key benefit is that subfields retain their order
+    in affected MARC fields.  As a result, for example, propagating
+    authority field changes to bib records will no longer result in the $0
+    field being pushed to the front of the field when it was previously that
+    last subfield.
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Jason Stephenson <jason@sigio.com>
+
+188    22      Open-ILS/src/sql/Pg/012.schema.vandelay.sql
+202    0       Open-ILS/src/sql/Pg/upgrade/XXXX.schema.vandelay-replace-field-order.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.vandelay-replace-field-order.sql
+
+commit b493ff500fab9b70379068ef2bbc5ce2e78abf68
+Author: Jason Etheridge <jason@EquinoxInitiative.org>
+Date:   Wed Jan 16 08:57:26 2019 -0500
+
+    LP1794588 Web client edit single call number changes all when multiple items attached
+    
+    This patch tweaks the behavior Cat.pm's fleshed_volume_update, aka
+    open-ils.cat.asset.volume.fleshed.batch.update
+    
+    Previously, if a volume label was edited, all items attached to that
+    volume would be essentially affected.  Now, if only a sub-set of items
+    for the original volume being edited are being edited along with the
+    volume, then a new volume is potentially created instead, leaving the
+    original volume (and its unedited copies) untouched.  If no copies are
+    being edited along with a volume, then the volume itself is edited.
+    
+    Auto-merging of volumes may still happen in all of these scenarios.
+    
+    Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
+    Signed-off-by: Janet Schrader <jschrader@cwmars.org>
+    Signed-off-by: Jason Stephenson <jason@sigio.com>
+
+44     3       Open-ILS/src/perlmods/lib/OpenILS/Application/Cat.pm
+
+commit a0ed58488100cc8fd4a8be5a41146bea491c4e2f
+Author: Sam Link <slink@LIBPC002>
+Date:   Thu Dec 13 11:06:55 2018 -0500
+
+    lp1802662 - Splash Page Icon Links
+    
+    Moved the image icons on splash.component.html and t_splash.tt2 inside
+    the anchor links to the associated pages.
+    
+    Signed-off-by: Sam Link <slink@LIBPC002>
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+
+23     13      Open-ILS/src/eg2/src/app/staff/splash.component.html
+23     13      Open-ILS/src/templates/staff/t_splash.tt2
+
+commit 090b92cd992a29f76a0cba472f8bce22234cfd2d
+Author: Terran McCanna <tmccanna@georgialibraries.org>
+Date:   Tue Mar 5 12:34:49 2019 -0500
+
+    LP#1818576 Offline Noncataloged Checkout Preview
+    
+    This adds the noncataloged type and number to the right-hand
+    preview when doing an offline checkout. (Prior to this, the
+    display was blank if there was no barcode.)
+    
+    Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
+    Signed-off-by: Garry Collum <gcollum@gmail.com>
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+
+4      1       Open-ILS/src/templates/staff/offline-interface.tt2
+6      0       Open-ILS/web/js/ui/default/staff/offline.js
+
+commit 8b7536f75d6debe3ab65e5226b2179ef31e0ffe6
+Author: Galen Charlton <gmc@equinoxinitiative.org>
+Date:   Wed Jan 23 10:52:24 2019 -0500
+
+    LP#1812389: make Group Penalty Threshold admin page accessible again
+    
+    As a consequence of the patch for bug 1744756 adding a new
+    admin/local/permission AngularJS app, the routing for
+    admin/local/permission/grp_penalty_threshold got broken, making the
+    embdeded Conify interface for group penalty thresholds inaccessible
+    from the web staff client. This patch fixes that.
+    
+    To test
+    -------
+    [1] From Administration | Local Administration, go to Group Penalty
+        Thresholds. Note that the embedded Conify admin interface
+        is not displayed and the URL changes to .../permission/grp_tree.
+    [2] Apply the patch and repeat step 1. This time, the admin interface
+        should appear.
+    [3] Verify that the Permission Group Tree Entries interface remains
+        accessible from Local Administration.
+    
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+
+2      1       Open-ILS/src/templates/staff/admin/local/permission/index.tt2
+32     1       Open-ILS/web/js/ui/default/staff/admin/local/permission/app.js
+
+commit a36a915ab853babbc42f5f3d9a1fb7858fb1cf73
+Author: Jason Boyer <jboyer@library.in.gov>
+Date:   Thu Jan 17 09:58:08 2019 -0500
+
+    LP1734775: Show multiple items in Item Status
+    
+    The ListCtrl controller was only displaying a single
+    copy when an id list was passed to Item Status in the
+    URL. This branch separates each id into a separate
+    fetch call and when all have been resolved it
+    refreshes the grid, which now has all of the items.
+    
+    Signed-off-by: Jason Boyer <jboyer@library.in.gov>
+    Signed-off-by: Josh Stompro <stompro@stompro.org>
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+
+6      5       Open-ILS/web/js/ui/default/staff/cat/item/app.js
+
+commit cbfdbd554f1147357c11bf94f0ef34c667c40e9e
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Fri Mar 1 17:03:31 2019 -0800
+
+    LP1721109: Update item status when holdings are edited
+    
+    To test:
+    1) Go to Item Status List View, select an item, and go to Actions >
+    Edit > Items (or Call Numbers, or both).
+    2) Make a change to one of the columns you have active in
+    the Item Status list view. Click Save and Exit.
+    3) Note that the list view of Item Status has not updated.
+    4) Load this commit.
+    5) Repeat steps 1-2.
+    6) Note that the columns are updated this time.  Note that
+    there is a new status column, and that an icon appears for
+    all the rows that you have changed.  Also, note that there
+    is a toast message in the bottom right hand corner of the
+    screen confirming that you have successfully made your change.
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
+
+6      1       Open-ILS/src/templates/staff/cat/item/index.tt2
+1      0       Open-ILS/src/templates/staff/cat/item/t_list.tt2
+45     0       Open-ILS/web/js/ui/default/staff/cat/item/app.js
+
+commit 8b0f6581a9d47b738452a8cefc5e50346af0f8cc
+Author: Adam Bowling <abowling@emeralddata.net>
+Date:   Wed Mar 6 23:06:09 2019 -0500
+
+    LP #1705497 Replaces functionality in web client from legacy
+    XUL client by including a find function for originating
+    acquisition where it exists.
+    
+    Signed-off-by: Adam Bowling <abowling@emeralddata.net>
+    Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
+    Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
+
+3      0       Open-ILS/src/templates/staff/cat/item/index.tt2
+4      1       Open-ILS/src/templates/staff/cat/item/t_list.tt2
+53     6       Open-ILS/web/js/ui/default/staff/cat/item/app.js
+
+commit 41dc957622090d1a1fb71b81556aedddb09dbac0
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Thu Mar 7 07:14:50 2019 -0800
+
+    Docs: Fixing broken link
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+
+1      1       docs/reports/reporter_add_data_source.adoc
+
+commit dc9f879b3152549f286dbe9a8725aa3a64de4562
+Author: Remington Steed <rjs7@calvin.edu>
+Date:   Fri Oct 26 11:28:32 2018 -0400
+
+    LP#1800178 Holdings View should also sort by part
+    
+    The Holdings View tab of the web client doesn't correctly sort by
+    monograph parts. The JS is already grabbing the part label for display,
+    so this commit moves that chunk before the sorting code, and also grabs
+    the sort key. Note that the part labels and sort keys are joined per
+    item, since the database supports multiple parts per item (though the UI
+    hasn't yet supported that). And we now join the label on comma-space,
+    instead of the default (just a comma).
+    
+    Signed-off-by: Remington Steed <rjs7@calvin.edu>
+    Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+13     8       Open-ILS/web/js/ui/default/staff/cat/services/holdings.js
+
+commit e2a63a87ad6ba013b6e1b692e562c06636f02fbd
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Tue Mar 5 12:21:00 2019 -0500
+
+    LP1818153 Stamping DB upgrade - WS user activity
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+28     0       Open-ILS/src/sql/Pg/upgrade/1154.data.websocket-activity-types.sql
+0      28      Open-ILS/src/sql/Pg/upgrade/XXXX.data.websocket-activity-types.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/1154.data.websocket-activity-types.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.websocket-activity-types.sql
+
+commit 2581a140f6ac75912797a8d60a63ed5bb9043e6f
+Author: Bill Erickson <berickxx@gmail.com>
+Date:   Thu Feb 28 17:20:31 2019 -0500
+
+    LP1818153 Log user activity for websocket login/verify
+    
+    Adds support for logging additional user activity types:
+    
+     * websocket v1 login (apache2-websockets)
+     * websocket v2 login (websocketd)
+     * websocket v1 verify
+     * websocket v2 verify
+     * generic login (any ingress)
+     * generic verify (any ingress)
+    
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
+
+23     0       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+28     0       Open-ILS/src/sql/Pg/upgrade/XXXX.data.websocket-activity-types.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.websocket-activity-types.sql
+
+commit a24c5f1d9b644f84c2708c817a57fae6f31a6c65
+Author: Terran McCanna <tmccanna@georgialibraries.org>
+Date:   Tue Mar 5 10:50:59 2019 -0500
+
+    LP#1746360 Add Deleted Column to Record Bucket
+    
+    This adds the Deleted column to the Record Bucket view.
+    
+    Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+
+1      0       Open-ILS/src/templates/staff/cat/bucket/record/t_view.tt2
+
+commit 3e06b45bd6063d97302b1372ff3e902f8929aaa1
+Author: Josh Stompro <stompro@stompro.org>
+Date:   Mon Mar 4 08:57:02 2019 -0600
+
+    LP#1667497 - Define $params{depth} to avoid uninitialized warning.
+    
+    $depth is set to 0 if $params{depth} is unset, but then $params{depth}
+    gets used later on, which causes an uninitialized value warning.
+    
+    So set $params{depth} to whatever $depth was set to.
+    
+    Signed-off-by: Josh Stompro <stompro@stompro.org>
+    Signed-off-by: Jason Stephenson <jason@sigio.com>
+
+1      0       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
+
+commit d14d21fbd3cf945fc38856047977253f7d29a4ca
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Thu Feb 28 15:59:26 2019 -0500
+
+    Forward-port 3.2.4 upgrade script
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+58     0       Open-ILS/src/sql/Pg/version-upgrade/3.2.3-3.2.4-upgrade-db.sql
+ create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/3.2.3-3.2.4-upgrade-db.sql
index d750216..5a3ed56 100644 (file)
@@ -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-2-5";
 }
 
 __PACKAGE__->register_method(
index 4607359..968c55b 100644 (file)
@@ -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 ('1158', :eg_version); -- bshum/stompro/csharp
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.2.5', :eg_version);
 
 CREATE TABLE config.bib_source (
        id              SERIAL  PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/version-upgrade/3.2.4-3.2.5-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/3.2.4-3.2.5-upgrade-db.sql
new file mode 100644 (file)
index 0000000..e10248d
--- /dev/null
@@ -0,0 +1,240 @@
+--Upgrade Script for 3.2.4 to 3.2.5
+\set eg_version '''3.2.5'''
+BEGIN;
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.2.5', :eg_version);
+
+SELECT evergreen.upgrade_deps_block_check('1154', :eg_version);
+
+INSERT INTO config.usr_activity_type 
+    (id, ewhat, ehow, egroup, enabled, transient, label)
+VALUES (
+    25, 'login', 'ws-translator-v1', 'authen', TRUE, TRUE,
+    oils_i18n_gettext(25, 'Login via Websocket V1', 'cuat', 'label')
+), (
+    26, 'login', 'ws-translator-v2', 'authen', TRUE, TRUE,
+    oils_i18n_gettext(26, 'Login via Websocket V2', 'cuat', 'label')
+), (
+    27, 'verify', 'ws-translator-v1', 'authz', TRUE, TRUE,
+    oils_i18n_gettext(27, 'Verification via Websocket v1', 'cuat', 'label')
+), (
+    28, 'verify', 'ws-translator-v2', 'authz', TRUE, TRUE,
+    oils_i18n_gettext(28, 'Verifiation via Websocket V2', 'cuat', 'label')
+), (
+    29, 'login', NULL, 'authen', TRUE, TRUE,
+    oils_i18n_gettext(29, 'Generic Login', 'cuat', 'label')
+), (
+    30, 'verify', NULL, 'authz', TRUE, TRUE,
+    oils_i18n_gettext(30, 'Generic Verify', 'cuat', 'label')
+);
+
+
+
+SELECT evergreen.upgrade_deps_block_check('1157', :eg_version); 
+
+CREATE OR REPLACE FUNCTION vandelay.replace_field 
+    (target_xml TEXT, source_xml TEXT, field TEXT) RETURNS TEXT AS $_$
+
+    use strict;
+    use MARC::Record;
+    use MARC::Field;
+    use MARC::File::XML (BinaryEncoding => 'UTF-8');
+    use MARC::Charset;
+
+    MARC::Charset->assume_unicode(1);
+
+    my $target_xml = shift;
+    my $source_xml = shift;
+    my $field_spec = shift;
+
+    my $target_r = MARC::Record->new_from_xml($target_xml);
+    my $source_r = MARC::Record->new_from_xml($source_xml);
+
+    return $target_xml unless $target_r && $source_r;
+
+    # Extract the field_spec components into MARC tags, subfields, 
+    # and regex matches.  Copied wholesale from vandelay.strip_field()
+
+    my @field_list = split(',', $field_spec);
+    my %fields;
+    for my $f (@field_list) {
+        $f =~ s/^\s*//; $f =~ s/\s*$//;
+        if ($f =~ /^(.{3})(\w*)(?:\[([^]]*)\])?$/) {
+            my $field = $1;
+            $field =~ s/\s+//;
+            my $sf = $2;
+            $sf =~ s/\s+//;
+            my $match = $3;
+            $match =~ s/^\s*//; $match =~ s/\s*$//;
+            $fields{$field} = { sf => [ split('', $sf) ] };
+            if ($match) {
+                my ($msf,$mre) = split('~', $match);
+                if (length($msf) > 0 and length($mre) > 0) {
+                    $msf =~ s/^\s*//; $msf =~ s/\s*$//;
+                    $mre =~ s/^\s*//; $mre =~ s/\s*$//;
+                    $fields{$field}{match} = { sf => $msf, re => qr/$mre/ };
+                }
+            }
+        }
+    }
+
+    # Returns a flat list of subfield (code, value, code, value, ...)
+    # suitable for adding to a MARC::Field.
+    sub generate_replacement_subfields {
+        my ($source_field, $target_field, @controlled_subfields) = @_;
+
+        # Performing a wholesale field replacment.  
+        # Use the entire source field as-is.
+        return map {$_->[0], $_->[1]} $source_field->subfields
+            unless @controlled_subfields;
+
+        my @new_subfields;
+
+        # Iterate over all target field subfields:
+        # 1. Keep uncontrolled subfields as is.
+        # 2. Replace values for controlled subfields when a
+        #    replacement value exists on the source record.
+        # 3. Delete values for controlled subfields when no 
+        #    replacement value exists on the source record.
+
+        for my $target_sf ($target_field->subfields) {
+            my $subfield = $target_sf->[0];
+            my $target_val = $target_sf->[1];
+
+            if (grep {$_ eq $subfield} @controlled_subfields) {
+                if (my $source_val = $source_field->subfield($subfield)) {
+                    # We have a replacement value
+                    push(@new_subfields, $subfield, $source_val);
+                } else {
+                    # no replacement value for controlled subfield, drop it.
+                }
+            } else {
+                # Field is not controlled.  Copy it over as-is.
+                push(@new_subfields, $subfield, $target_val);
+            }
+        }
+
+        # Iterate over all subfields in the source field and back-fill
+        # any values that exist only in the source field.  Insert these
+        # subfields in the same relative position they exist in the
+        # source field.
+                
+        my @seen_subfields;
+        for my $source_sf ($source_field->subfields) {
+            my $subfield = $source_sf->[0];
+            my $source_val = $source_sf->[1];
+            push(@seen_subfields, $subfield);
+
+            # target field already contains this subfield, 
+            # so it would have been addressed above.
+            next if $target_field->subfield($subfield);
+
+            # Ignore uncontrolled subfields.
+            next unless grep {$_ eq $subfield} @controlled_subfields;
+
+            # Adding a new subfield.  Find its relative position and add
+            # it to the list under construction.  Work backwards from
+            # the list of already seen subfields to find the best slot.
+
+            my $done = 0;
+            for my $seen_sf (reverse(@seen_subfields)) {
+                my $idx = @new_subfields;
+                for my $new_sf (reverse(@new_subfields)) {
+                    $idx--;
+                    next if $idx % 2 == 1; # sf codes are in the even slots
+
+                    if ($new_subfields[$idx] eq $seen_sf) {
+                        splice(@new_subfields, $idx + 2, 0, $subfield, $source_val);
+                        $done = 1;
+                        last;
+                    }
+                }
+                last if $done;
+            }
+
+            # if no slot was found, add to the end of the list.
+            push(@new_subfields, $subfield, $source_val) unless $done;
+        }
+
+        return @new_subfields;
+    }
+
+    # MARC tag loop
+    for my $f (keys %fields) {
+        my $tag_idx = -1;
+        for my $target_field ($target_r->field($f)) {
+
+            # field spec contains a regex for this field.  Confirm field on 
+            # target record matches the specified regex before replacing.
+            if (exists($fields{$f}{match})) {
+                next unless (grep { $_ =~ $fields{$f}{match}{re} } 
+                    $target_field->subfield($fields{$f}{match}{sf}));
+            }
+
+            my @new_subfields;
+            my @controlled_subfields = @{$fields{$f}{sf}};
+
+            # If the target record has multiple matching bib fields,
+            # replace them from matching fields on the source record
+            # in a predictable order to avoid replacing with them with
+            # same source field repeatedly.
+            my @source_fields = $source_r->field($f);
+            my $source_field = $source_fields[++$tag_idx];
+
+            if (!$source_field && @controlled_subfields) {
+                # When there are more target fields than source fields
+                # and we are replacing values for subfields and not
+                # performing wholesale field replacment, use the last
+                # available source field as the input for all remaining
+                # target fields.
+                $source_field = $source_fields[$#source_fields];
+            }
+
+            if (!$source_field) {
+                # No source field exists.  Delete all affected target
+                # data.  This is a little bit counterintuitive, but is
+                # backwards compatible with the previous version of this
+                # function which first deleted all affected data, then
+                # replaced values where possible.
+                if (@controlled_subfields) {
+                    $target_field->delete_subfield($_) for @controlled_subfields;
+                } else {
+                    $target_r->delete_field($target_field);
+                }
+                next;
+            }
+
+            my @new_subfields = generate_replacement_subfields(
+                $source_field, $target_field, @controlled_subfields);
+
+            # Build the replacement field from scratch.  
+            my $replacement_field = MARC::Field->new(
+                $target_field->tag,
+                $target_field->indicator(1),
+                $target_field->indicator(2),
+                @new_subfields
+            );
+
+            $target_field->replace_with($replacement_field);
+        }
+    }
+
+    $target_xml = $target_r->as_xml_record;
+    $target_xml =~ s/^<\?.+?\?>$//mo;
+    $target_xml =~ s/\n//sgo;
+    $target_xml =~ s/>\s+</></sgo;
+
+    return $target_xml;
+
+$_$ LANGUAGE PLPERLU;
+
+
+
+SELECT evergreen.upgrade_deps_block_check('1158', :eg_version);
+
+--LP#1759238: Fix typo in seed data for Physical Description
+
+UPDATE config.metabib_field
+    SET label = 'Physical Description'
+    WHERE id = 39 AND label = 'Physical Descrption';
+
+COMMIT;
index b2b87b6..9a7eb1d 100644 (file)
@@ -1,7 +1,7 @@
 <html><head><script></script></head><body onload="var x = document.getElementById('version'); var version ='/xul/server/'.split(/\//)[2]; if (version == 'server') { version = 'versionless debug build'; } x.appendChild(document.createTextNode(version));">
 <h1 style="text-decoration: underline">Evergreen</h1>
 <p>Target Server ID: <span id="version"></span></p>
-<p>$HeadURL$</p>
+<p>http://git.evergreen-ils.org/?p=Evergreen.git;a=shortlog;h=refs/heads/tags/rel_3_2_5</p>
 <h2>What is Evergreen?</h2>
 <blockquote>
 <p>
index 0613a13..8ddf90b 100644 (file)
@@ -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_2_5");
 pref("open-ils.repository.author","$Author$");
 pref("open-ils.repository.revision","$Revision$");
 pref("open-ils.repository.date","$Date$");
index a954357..ed4c4fe 100644 (file)
@@ -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.2"
 !define PRODUCT_INSTALL_TAG "${PRODUCT_TAG}"
 !define UI_IMAGESET "beta"
 ;!define UI_IMAGESET "release"
diff --git a/README b/README
deleted file mode 120000 (symlink)
index 1ee2103e6f619066236accc1c094d89f7ab3ff97..0000000000000000000000000000000000000000
--- 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 (file)
index 0000000000000000000000000000000000000000..8b81d350f16517e15eedc21786bbea5cac349940
--- /dev/null
+++ b/README
@@ -0,0 +1,647 @@
+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 Xenial Xerus (16.04), and Ubuntu
+    Trusty Tahr (14.04).
+    If you are running an older version of these distributions, you may want 
+    to upgrade before upgrading Evergreen. For instructions on upgrading these
+    distributions, visit the Debian or Ubuntu websites.
+  * **OpenSRF**: The minimum supported version of OpenSRF is 3.0.0.
+
+
+Evergreen has a number of prerequisite packages that must be installed
+before you can successfully configure, compile, and install Evergreen.
+
+1. Begin by installing the most recent version of OpenSRF (3.0.0 or later).
+   You can download OpenSRF releases from http://evergreen-ils.org/opensrf-downloads/
+2. On some distributions, it is necessary to install PostgreSQL 9.4+ from external
+   repositories.
++
+  * Ubuntu (Trusty) comes with an older version of PostgreSQL, so
+    steps are taken to automatically utilize the PostgreSQL
+    community's apt sources.
+    (For complete details, see: https://wiki.postgresql.org/wiki/Apt)
+  * Debian (Jessie/Stretch) and Ubuntu (Xenial) comes with PostgreSQL 9.4+,
+    so no additional steps are required.
++
+3. Issue the following commands as the *root* Linux account to install
+   prerequisites using the `Makefile.install` prerequisite installer,
+   substituting `debian-stretch`, `debian-jessie`,`ubuntu-xenial`,
+   or `ubuntu-trusty` for <osname> below:
++
+[source, bash]
+------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install <osname>
+------------------------------------------------------------------------------
++
+4. 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 <osname>-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 <osname>-developer
+------------------------------------------------------------------------------
++
+ * To install packages required for building Evergreen translations, use
+   the <osname>-translator Makefile.install target.
++
+[source, bash]
+------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install <osname>-translator
+------------------------------------------------------------------------------
++
+ * To install packages required for building Evergreen release bundles, use
+   the <osname>-packager Makefile.install target.
++
+[source, bash]
+------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install <osname>-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
+<<optional_developer_additions,optional developer additions>>.  You will still need to do the following
+steps in <<install_files_for_web_staff_client,Install files for web staff client>>.
+
+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]
+------------------------------------------------------------------------------
+<IfModule mpm_prefork_module>
+   StartServers            15
+   MinSpareServers          5
+   MaxSpareServers         15
+   MaxRequestWorkers       75
+   MaxConnectionsPerChild 500
+</IfModule>
+------------------------------------------------------------------------------
++
+. 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-<OSTYPE>'.  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-trusty
+make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-xenial
+------------------------------------------------------------------------------
+
+For a standalone PostgreSQL server, install the following Perl modules for your
+distribution as the *root* Linux account:
+
+.(Debian and Ubuntu) 
+No extra modules required for these distributions.
+
+You need to create a PostgreSQL superuser to create and access the database.
+Issue the following command as the *postgres* Linux account to create a new
+PostgreSQL superuser named `evergreen`. When prompted, enter the new user's
+password:
+
+[source, bash]
+------------------------------------------------------------------------------
+createuser -s -P evergreen
+------------------------------------------------------------------------------
+
+.Enabling connections to the PostgreSQL database
+
+Your PostgreSQL database may be configured by default to prevent connections,
+for example, it might reject attempts to connect via TCP/IP or from other
+servers. To enable TCP/IP connections from localhost, check your `pg_hba.conf`
+file, found in the `/etc/postgresql/` directory on Debian and Ubuntu.
+A simple way to enable TCP/IP
+connections from localhost to all databases with password authentication, which
+would be suitable for a test install of Evergreen on a single server, is to
+ensure the file contains the following entries _before_ any "host ... ident"
+entries:
+
+------------------------------------------------------------------------------
+host    all             all             ::1/128                 md5
+host    all             all             127.0.0.1/32            md5
+------------------------------------------------------------------------------
+
+When you change the `pg_hba.conf` file, you will need to reload PostgreSQL to
+make the changes take effect.  For more information on configuring connectivity
+to PostgreSQL, see
+http://www.postgresql.org/docs/devel/static/auth-pg-hba-conf.html
+
+Creating the Evergreen database and schema
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Once you have created the *evergreen* PostgreSQL account, you also need to
+create the database and schema, and configure your configuration files to point
+at the database server. Issue the following command as the *root* Linux account
+from inside the Evergreen source directory, replacing <user>, <password>,
+<hostname>, <port>, and <dbname> with the appropriate values for your
+PostgreSQL database (where <user> and <password> are for the *evergreen*
+PostgreSQL account you just created), and replace <admin-user> and <admin-pass>
+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 <user> --password <password> --hostname <hostname> --port <port> \
+       --database <dbname> --admin-user <admin-user> --admin-pass <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 <admin-user> <admin-pass>
+------------------------------------------------------------------------------
+
+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.
index dacb5a3..cd5b709 100644 (file)
@@ -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.2.5, open-ils-dev@list.georgialibraries.org)
+AM_INIT_AUTOMAKE([OpenILS], [3.2.5])
 AC_REVISION($Revision: 0.1 $)
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_SUBDIRS([Open-ILS/xul/staff_client/external/libmar])