Bumping version numbers, adding Upgrade Script and Changelog rel_3_4_1_stock
authorDan Wells <dbw2@calvin.edu>
Mon, 28 Oct 2019 15:15:52 +0000 (11:15 -0400)
committerDan Wells <dbw2@calvin.edu>
Mon, 28 Oct 2019 15:15:52 +0000 (11:15 -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.4.0-3.4.1-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..7f98df1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,880 @@
-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 5abc5cac8f6112846cc11b10d9599357aa4c2f3c
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Mon Oct 28 11:10:08 2019 -0400
+
+    Update server upgrade docs
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+16     16      docs/installation/server_upgrade.adoc
+
+commit 7b13433f2937f1be1e649b249d0f2f0376c81ec9
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Mon Oct 28 11:07:41 2019 -0400
+
+    Bump OpenILS.pm version
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS.pm
+
+commit 58c0434df9335eb9c1640883a1c254dd588d402f
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Mon Oct 28 11:03:22 2019 -0400
+
+    Translation updates - po files
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+2923   2919    build/i18n/po/db.seed/ar-JO.po
+2923   2919    build/i18n/po/db.seed/cs-CZ.po
+2923   2919    build/i18n/po/db.seed/de-DE.po
+2928   2924    build/i18n/po/db.seed/en-CA.po
+2923   2919    build/i18n/po/db.seed/en-GB.po
+2923   2919    build/i18n/po/db.seed/es-ES.po
+2923   2919    build/i18n/po/db.seed/fi-FI.po
+2926   2922    build/i18n/po/db.seed/fr-CA.po
+2923   2919    build/i18n/po/db.seed/he-IL.po
+2923   2919    build/i18n/po/db.seed/hu-HU.po
+2923   2919    build/i18n/po/db.seed/hy-AM.po
+2923   2919    build/i18n/po/db.seed/oc-FR.po
+2923   2919    build/i18n/po/db.seed/pt-BR.po
+2923   2919    build/i18n/po/db.seed/ru-RU.po
+2923   2919    build/i18n/po/db.seed/sv-SE.po
+2923   2919    build/i18n/po/db.seed/tr-TR.po
+2089   2083    build/i18n/po/fm_IDL.dtd/ar-JO.po
+2089   2083    build/i18n/po/fm_IDL.dtd/cs-CZ.po
+2089   2083    build/i18n/po/fm_IDL.dtd/de-DE.po
+2089   2083    build/i18n/po/fm_IDL.dtd/en-CA.po
+2089   2083    build/i18n/po/fm_IDL.dtd/en-GB.po
+2089   2083    build/i18n/po/fm_IDL.dtd/es-ES.po
+2089   2083    build/i18n/po/fm_IDL.dtd/fi-FI.po
+2089   2083    build/i18n/po/fm_IDL.dtd/fr-CA.po
+2089   2083    build/i18n/po/fm_IDL.dtd/he-IL.po
+2089   2083    build/i18n/po/fm_IDL.dtd/hu-HU.po
+2089   2083    build/i18n/po/fm_IDL.dtd/hy-AM.po
+2089   2083    build/i18n/po/fm_IDL.dtd/oc-FR.po
+2089   2083    build/i18n/po/fm_IDL.dtd/pt-BR.po
+2089   2083    build/i18n/po/fm_IDL.dtd/ru-RU.po
+2089   2083    build/i18n/po/fm_IDL.dtd/sv-SE.po
+2089   2083    build/i18n/po/fm_IDL.dtd/tr-TR.po
+6      6       build/i18n/po/patron.properties/en-CA.po
+12     12      build/i18n/po/register.js/en-CA.po
+8      8       build/i18n/po/tpac/fr-CA.po
+87     60      build/i18n/po/webstaff/ar-JO.po
+464    437     build/i18n/po/webstaff/cs-CZ.po
+83     59      build/i18n/po/webstaff/en-CA.po
+83     59      build/i18n/po/webstaff/en-GB.po
+87     60      build/i18n/po/webstaff/es-ES.po
+83     59      build/i18n/po/webstaff/hy-AM.po
+83     59      build/i18n/po/webstaff/ru-RU.po
+
+commit 16fab77d7989a5e53d3c400349619686c2df7b35
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Mon Oct 28 10:59:21 2019 -0400
+
+    Translation updates - newpot
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+2585   2569    build/i18n/po/db.seed/db.seed.pot
+40     36      build/i18n/po/tpac/tpac.pot
+102    89      build/i18n/po/webstaff/webstaff.pot
+
+commit fa82999fa7a1cc309152e1d7fca073f5ce52e6e6
+Author: Remington Steed <rjs7@calvin.edu>
+Date:   Fri Oct 25 15:49:00 2019 -0400
+
+    Docs: Add 3.3.5 point release notes
+    
+    Signed-off-by: Remington Steed <rjs7@calvin.edu>
+
+67     0       docs/RELEASE_NOTES_3_3.adoc
+
+commit afb2fa8e680c0dfc30bdcea59869baf04c4da257
+Author: Remington Steed <rjs7@calvin.edu>
+Date:   Fri Oct 25 15:20:51 2019 -0400
+
+    Docs: Add 3.2.10 point release notes
+    
+    Signed-off-by: Remington Steed <rjs7@calvin.edu>
+
+61     0       docs/RELEASE_NOTES_3_2.adoc
+
+commit 61b17a8041273ea2233b7428d6c584ff949c8270
+Author: Remington Steed <rjs7@calvin.edu>
+Date:   Fri Oct 25 15:28:33 2019 -0400
+
+    Docs: Add 3.1.16 point release notes
+    
+    Signed-off-by: Remington Steed <rjs7@calvin.edu>
+
+48     0       docs/RELEASE_NOTES_3_1.adoc
+
+commit 6cb86806607083aec357adc3d4fad9f65eedf934
+Author: Remington Steed <rjs7@calvin.edu>
+Date:   Fri Oct 25 14:57:14 2019 -0400
+
+    Docs: Adding 3.4.1 release notes
+    
+    The acknowledgements section was built entirely from the git log
+    "Signed-off-by" lines.
+    
+    Signed-off-by: Remington Steed <rjs7@calvin.edu>
+
+59     0       docs/RELEASE_NOTES_3_4.adoc
+
+commit dd30484a566a9acf71688db39726e7aba8920501
+Author: Dan Wells <dbw2@calvin.edu>
+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 <dbw2@calvin.edu>
+    Signed-off-by: Remington Steed <rjs7@calvin.edu>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+0      1       Open-ILS/web/js/ui/default/staff/services/grid.js
+
+commit ed38b3f393060f32687fee9185ffece0f7011766
+Author: Galen Charlton <gmc@equinoxinitiative.org>
+Date:   Wed Oct 23 11:45:33 2019 -0400
+
+    LP#1845693: (follow-up) clarify what CHROME_BIN should be set to
+    
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+6      2       docs/installation/server_installation.adoc
+
+commit b1777546b90e1e4c877cecff916dca88b8f99b14
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Tue Oct 22 17:32:07 2019 -0400
+
+    LP#1849506: Remove "Install latest LTS node from source" docs
+    
+    We install specific versions of node using the -developer Makefile
+    targets; rely on that instead of potentially leading people astray with
+    the wrong version of node as time marches on.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+2      13      docs/installation/server_installation.adoc
+
+commit c75b5a47796b1e1e002ec913c690996c401f7270
+Author: Jason Boyer <JBoyer@eoli.info>
+Date:   Tue Oct 22 12:51:15 2019 -0400
+
+    LP1845693: Test Angular(JS) with modern browsers
+    
+    Rather than using PhantomJS to test Angular(JS),
+    we can use all supported browsers for the web client.
+    Currently this is Firefox and Chrom(ium).
+    
+    Because of the number of dependencies this also
+    requires that testing is removed from the standard
+    build instructions and only done in specific testing
+    environments or on developer machines.
+    
+    Signed-off-by: Jason Boyer <JBoyer@eoli.info>
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+10     2       Open-ILS/src/eg2/karma.conf.js
+1      1       Open-ILS/src/eg2/package.json
+3      1       Open-ILS/src/extras/install/Makefile.debian-buster
+3      1       Open-ILS/src/extras/install/Makefile.debian-jessie
+3      1       Open-ILS/src/extras/install/Makefile.debian-stretch
+3      1       Open-ILS/src/extras/install/Makefile.ubuntu-bionic
+3      1       Open-ILS/src/extras/install/Makefile.ubuntu-xenial
+2      2       Open-ILS/web/js/ui/default/staff/package.json
+10     1       Open-ILS/web/js/ui/default/staff/test/karma.conf.js
+16     3       docs/installation/server_installation.adoc
+
+commit e411c1cf41cdcd138a5163dc5361fe6d13d5e1aa
+Author: Jason Stephenson <jason@sigio.com>
+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 <jason@sigio.com>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+    Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
+
+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 e0d535c28fe023698dd7bc268677286c84737454
+Author: Terran McCanna <tmccanna@georgialibraries.org>
+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 <tmccanna@georgialibraries.org>
+    Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
+
+4      3       Open-ILS/src/templates/staff/share/print_templates/t_offline_checkout.tt2
+
+commit 5e42bc97f82ef79b8383bbc5a1ee41e0a4fed308
+Author: Bill Erickson <berickxx@gmail.com>
+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 <berickxx@gmail.com>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+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 4b8dcbbce95c38813cdb2e598fd70f63303e87b6
+Author: Jeff Davis <jeff.davis@bc.libraries.coop>
+Date:   Thu Sep 19 12:51:28 2019 -0700
+
+    LP#1844720: avoid hard-coded paths in Apache config
+    
+    Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+1      1       Open-ILS/examples/apache_24/eg_startup.in
+2      2       Open-ILS/examples/apache_24/eg_vhost.conf.in
+
+commit df9edf380e49bd21d2a594d40c58579b91d3b43e
+Author: Tiffany Little <tlittle@georgialibraries.org>
+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 <tlittle@georgialibraries.org>
+    Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
+
+1      0       Open-ILS/src/templates/staff/share/t_eframe.tt2
+
+commit 719a04637c83456ccb8ce1e6bf8d4b4a72040cfe
+Author: Jason Boyer <jboyer@equinoxinitiative.org>
+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 <jboyer@equinoxinitiative.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+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 2071b2cb4452b512c2bc8357a40cbc797f08977f
+Author: Remington Steed <rjs7@calvin.edu>
+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 <rjs7@calvin.edu>
+
+2      2       docs/admin/infrastructure_auth_browse.adoc
+
+commit 3281dfdec4c80a424f67505759fe56bcfd05e523
+Author: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
+Date:   Mon Oct 21 16:31:00 2019 -0400
+
+    Docs: added Request Items section to Items Status doc
+    
+    Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
+
+16     0       docs/cataloging/item_status.adoc
+-      -       docs/media/request_from_item_status.png
+ create mode 100644 docs/media/request_from_item_status.png
+
+commit aecaf2335799cde20d5378e564ab092cb6e4ccc1
+Author: Galen Charlton <gmc@equinoxinitiative.org>
+Date:   Fri Oct 18 11:56:54 2019 -0400
+
+    LP#1816475: offset the start time after end time alert
+    
+    Move the alert over to align with the date inputs for a slightly
+    tidier appearance.
+    
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+1      1       Open-ILS/src/eg2/src/app/staff/booking/create-reservation-dialog.component.html
+
+commit a082f011293ac47db0d31924cc1b2c09b28ba8cf
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Mon Oct 14 14:47:49 2019 -0700
+
+    LP1816475: form validation prevents users from making reservations in the past
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+2      1       Open-ILS/src/eg2/src/app/staff/booking/create-reservation-dialog.component.ts
+
+commit e30df0a860778c0e67a4bc3db6c4d69a262985e9
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Mon Oct 14 12:27:46 2019 -0700
+
+    LP1816475: give booking pull list columns the correct datatype
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+2      2       Open-ILS/src/eg2/src/app/staff/booking/pull-list.component.html
+
+commit a0542e30977973b0fa899700ce8164e9ea0b2bee
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Wed Oct 9 20:27:43 2019 -0700
+
+    LP1816475: Strip whitespace from patron barcodes
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+1      1       Open-ILS/src/eg2/src/app/share/validators/patron_barcode_validator.directive.ts
+2      2       Open-ILS/src/eg2/src/app/staff/booking/create-reservation-dialog.component.ts
+1      1       Open-ILS/src/eg2/src/app/staff/booking/manage-reservations.component.ts
+1      1       Open-ILS/src/eg2/src/app/staff/share/patron.service.ts
+
+commit ae9bfc955119530ed69e55d987c009be06771e67
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Wed Oct 9 12:25:17 2019 -0700
+
+    LP1816475: Change calendar_today icon to event icon
+    
+    The locally served calendar_today icon doesn't look good in buttons
+    (like the date-select and datetime-select component buttons).  But the
+    event icon looks very similar, and doesn't have the same negative
+    effects when placed in buttons.
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+1      1       Open-ILS/src/eg2/src/app/share/date-select/date-select.component.html
+1      1       Open-ILS/src/eg2/src/app/share/datetime-select/datetime-select.component.html
+
+commit 8a06a52969559e7de5fb0daeec0746250b4c3a4b
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Wed Oct 9 11:42:08 2019 -0700
+
+    LP1816475: use [routerLink] instead of href in Angular app
+    
+    Using <a href=""> forces a reload of the Angular app in the user's
+    browser, which substantially slows down the experience.  This commit
+    changes some href attributes to routerLink directives in the booking
+    navigation menu.
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+5      5       Open-ILS/src/eg2/src/app/staff/nav.component.html
+
+commit ead545739f98db890ed208360b3a43e99f978825
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Fri Sep 13 11:04:27 2019 -0700
+
+    LP1816475: Fix resource type filter in manage reservations grid
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+1      1       Open-ILS/src/eg2/src/app/staff/booking/manage-reservations.component.html
+4      2       Open-ILS/src/eg2/src/app/staff/booking/reservations-grid.component.ts
+
+commit d1a9bf440bf612fdba1c535fbe81b8686f34f813
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Fri Sep 13 08:16:15 2019 -0700
+
+    LP1816475: Add ancestors checkbox to manage reservations screen
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+1      1       Open-ILS/src/eg2/src/app/staff/booking/manage-reservations.component.html
+
+commit 895b001a19c7ce2859d1eb80aceee92f7070bb13
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Mon Sep 9 18:18:06 2019 -0700
+
+    LP1816475: Don't let users edit reservation.email_notify, pickup_lib, request_lib
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+1      1       Open-ILS/src/eg2/src/app/staff/booking/reservations-grid.component.ts
+
+commit 07e066f3b00692e92978bacad564055d4b58253a
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Mon Sep 9 14:52:16 2019 -0700
+
+    LP1816475: Add action buttons to Pickup and Return reservation screens
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+7      0       Open-ILS/src/eg2/src/app/staff/booking/reservations-grid.component.html
+
+commit 17d07eaa0e435fd48b5a6513df9921aa5b5a585f
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Mon Sep 9 08:02:53 2019 -0700
+
+    LP1816475: Return reservations screen refreshes properly
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+7      1       Open-ILS/src/eg2/src/app/staff/booking/reservations-grid.component.ts
+
+commit ee70b8e569c6d016416c289ba24cad32eb841156
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Mon Sep 9 05:27:51 2019 -0700
+
+    LP1816475: Fix an icon spacing issue
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+1      1       Open-ILS/src/eg2/src/app/staff/booking/create-reservation.component.html
+
+commit 6c8ab1f39a0af91537d21296fd4d9bcd7de82a0a
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Mon Sep 9 05:11:15 2019 -0700
+
+    LP1816475: Add a Create Reservation button to the Create Reservation screen
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+1      1       Open-ILS/src/eg2/src/app/share/grid/grid-toolbar.component.ts
+1      0       Open-ILS/src/eg2/src/app/staff/booking/create-reservation.component.html
+
+commit 3fc7397ee789df6cb9dc28e5c46b0aeeb58aa879
+Author: Michele Morgan <mmorgan@noblenet.org>
+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 <mmorgan@noblenet.org>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+1      1       Open-ILS/src/templates/staff/circ/patron/t_summary.tt2
+
+commit bb5a039d6c82b25f87375dae8fbc025da92f18d4
+Author: Garry Collum <gcollum@gmail.com>
+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 <gcollum@gmail.com>
+    Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+4      2       Open-ILS/src/templates/staff/circ/patron/index.tt2
+5      3       Open-ILS/src/templates/staff/circ/patron/t_summary.tt2
+
+commit c2612fd9bab8b3fb854109052e054d45975c75b9
+Author: Galen Charlton <gmc@equinoxinitiative.org>
+Date:   Mon Oct 21 14:08:39 2019 -0400
+
+    LP#1802952: stamp schema update
+    
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+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 8f75ab52ea306d5de937aaae926ec6f0ae92ab95
+Author: Dan Wells <dbw2@calvin.edu>
+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 <dbw2@calvin.edu>
+    Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+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 ac2c2a1f6456f98902de128b77ddf3d00b727dcb
+Author: Jeff Godin <jgodin@tadl.org>
+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 <jgodin@tadl.org>
+    Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+2      1       Open-ILS/web/js/ui/default/staff/circ/patron/pending.js
+
+commit 3a54b90f7a9b510ebbdf21e6e9d8354e1bc82fb8
+Author: Dan Briem <dbriem@wlsmail.org>
+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 <dbriem@wlsmail.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+7      1       Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js
+
+commit 9df098b7e52ce72ec1780a739d9a585e0456c3dd
+Author: Jeff Davis <jeff.davis@bc.libraries.coop>
+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 <jeff.davis@bc.libraries.coop>
+    Signed-off-by: Bill Erickson <berickxx@gmail.com>
+
+1      1       Open-ILS/src/eg2/src/app/staff/cat/vandelay/queued-record-matches.component.html
+
+commit 9df13c6c442f229832ef8cf165641ef40a6b4438
+Author: Dan Briem <dbriem@wlsmail.org>
+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 <dbriem@wlsmail.org>
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+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 2df7ab9774568c509a4e5b36d5743aa8b7d73f51
+Author: Galen Charlton <gmc@equinoxinitiative.org>
+Date:   Fri Oct 4 10:33:45 2019 -0400
+
+    LP#1729435: stamp DB update
+    
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+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 cc6a403057eebd01c6f66f1c9d02acd5d59d00fe
+Author: Michele Morgan <mmorgan@noblenet.org>
+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 <mmorgan@noblenet.org>
+    Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+14     1       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 e1db3d49c92b7f58d680b5cefd69cb556bd31f25
+Author: Remington Steed <rjs7@calvin.edu>
+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 <rjs7@calvin.edu>
+    Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
+    Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+2      0       Open-ILS/src/templates/staff/circ/patron/t_xact_details_details.tt2
+
+commit b8b8a730955f4765dab757dec2faeb5edadaf005
+Author: Galen Charlton <gmc@equinoxinitiative.org>
+Date:   Fri Oct 4 10:12:49 2019 -0400
+
+    LP#1803790: apply alphabetization fix to Angular admin splash pages
+    
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+14     14      Open-ILS/src/eg2/src/app/staff/admin/local/admin-local-splash.component.html
+6      6       Open-ILS/src/eg2/src/app/staff/admin/server/admin-server-splash.component.html
+
+commit 7d71e8f88896216770427c9e2d62d3ad9147d35f
+Author: Terran McCanna <tmccanna@georgialibraries.org>
+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 <tmccanna@georgialibraries.org>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+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 372965906c0a7000c4646c678467d2e1dfceb56b
+Author: Jeff Davis <jdavis@sitka.bclibraries.ca>
+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 <jdavis@sitka.bclibraries.ca>
+    Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+7      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/SuperCat.pm
+
+commit 3588bbfa67b81d12e50b2d1403655492f4930f45
+Author: Jason Stephenson <jason@sigio.com>
+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 <jason@sigio.com>
+    Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
+
+commit c6889f624eaa1f327c962c5488e3857b8c2efdc1
+Author: Garry Collum <gcollum@gmail.com>
+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 <gcollum@gmail.com>
+    Signed-off-by: Josh Stompro <stompro@stompro.org>
+
+1      1       Open-ILS/src/templates/opac/myopac/circ_history/export.tt2
+
+commit 389ddb7128a077e5bbddfb78d539611ea451637b
+Author: Mike Rylander <mrylander@gmail.com>
+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 <mrylander@gmail.com>
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+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 eb8002d7360e7c1d38ee58a18a7206b98742f105
+Author: Jane Sandberg <sandbej@linnbenton.edu>
+Date:   Thu Oct 3 09:41:09 2019 -0700
+
+    Docs: adding basic documentation for new 3.4 features
+    
+    Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
+
+2      2       docs/admin/aged_circs.adoc
+41     0       docs/admin/authentication_proxy.adoc
+1      1       docs/admin_initial_setup/designing_your_catalog.adoc
+5      0       docs/circulation/circulating_items_web_client.adoc
+19     0       docs/development/support_scripts.adoc
+
+commit 2ca2acd236892954f34ab7737999f907b69237c0
+Author: Galen Charlton <gmc@equinoxinitiative.org>
+Date:   Wed Oct 2 17:27:16 2019 -0400
+
+    forward-port 3.4 release notes
+    
+    Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
+
+3      30      docs/RELEASE_NOTES_3_4.adoc
index d750216..39f793d 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-4-1";
 }
 
 __PACKAGE__->register_method(
index 68ceac6..317483e 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 ('1195', :eg_version); -- dbwells/khuckins/gmcharlt
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.4.1', :eg_version);
 
 CREATE TABLE config.bib_source (
        id              SERIAL  PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/version-upgrade/3.4.0-3.4.1-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/3.4.0-3.4.1-upgrade-db.sql
new file mode 100644 (file)
index 0000000..2a763cb
--- /dev/null
@@ -0,0 +1,168 @@
+--Upgrade Script for 3.4.0 to 3.4.1
+\set eg_version '''3.4.1'''
+BEGIN;
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.4.1', :eg_version);
+
+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;
index b2b87b6..2c550c0 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_4_1</p>
 <h2>What is Evergreen?</h2>
 <blockquote>
 <p>
index 0613a13..3d755a1 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_4_1");
 pref("open-ils.repository.author","$Author$");
 pref("open-ils.repository.revision","$Revision$");
 pref("open-ils.repository.date","$Date$");
index a954357..7f20eae 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.4"
 !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..e2a93a9c2a1b37d1c75fef764c915064bc985191
--- /dev/null
+++ b/README
@@ -0,0 +1,649 @@
+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.6.
+  * **Linux**: Evergreen has been tested on 
+    Debian Buster (10), 
+    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.2.0.
+
+
+Evergreen has a number of prerequisite packages that must be installed
+before you can successfully configure, compile, and install Evergreen.
+
+1. Begin by installing the most recent version of OpenSRF (3.2.0 or later).
+   You can download OpenSRF releases from http://evergreen-ils.org/opensrf-downloads/
++
+2. Issue the following commands as the *root* Linux account to install
+   prerequisites using the `Makefile.install` prerequisite installer,
+   substituting `debian-buster`,`debian-stretch`,`debian-jessie`,`ubuntu-bionic`, or
+   `ubuntu-xenial` for <osname> below:
++
+[source, bash]
+------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install <osname>
+------------------------------------------------------------------------------
++
+[[optional_developer_additions]]
+3. OPTIONAL: Developer additions
++
+To perform certain developer tasks from a Git source code checkout, 
+including the testing of the Angular web client components,
+additional packages may be required.  As the *root* Linux account:
++
+ * To install packages needed for retrieving and managing web dependencies,
+   use the <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. Otherwise, ensure you have installed the
+<<optional_developer_additions,optional developer additions>> before proceeding.
+
+[[install_files_for_web_staff_client]]
+Install AngularJS files for web staff client
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+1. Building, Testing, Minification: The remaining steps all take place within
+   the staff JS web root:
++
+[source,sh]
+------------------------------------------------------------------------------
+cd $EVERGREEN_ROOT/Open-ILS/web/js/ui/default/staff/
+------------------------------------------------------------------------------
++
+2. Install Project-local Dependencies. npm inspects the 'package.json' file
+   for dependencies and fetches them from the Node package network.
++
+[source,sh]
+------------------------------------------------------------------------------
+npm install   # fetch JS dependencies
+------------------------------------------------------------------------------
++
+3. Run the build script.
++
+[source,sh]
+------------------------------------------------------------------------------
+# build, concat+minify
+npm run build-prod
+------------------------------------------------------------------------------
++
+4. OPTIONAL: Test web client code if the <osname>-developer packages were installed.
+   CHROME_BIN should be set to the path to chrome or chromimum, e.g.,
+   `/usr/bin/chromium`:
++
+[source,sh]
+------------------------------------------------------------------------------
+CHROME_BIN=/path/to/chrome npm run test
+------------------------------------------------------------------------------
+
+[[install_files_for_angular_web_staff_client]]
+Install Angular files for web staff client
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+1. Building, Testing, Minification: The remaining steps all take place within
+   the Angular staff root:
++
+[source,sh]
+------------------------------------------------------------------------------
+cd $EVERGREEN_ROOT/Open-ILS/src/eg2/
+------------------------------------------------------------------------------
++
+2. Install Project-local Dependencies. npm inspects the 'package.json' file
+   for dependencies and fetches them from the Node package network.
++
+[source,sh]
+------------------------------------------------------------------------------
+npm install   # fetch JS dependencies
+------------------------------------------------------------------------------
++
+3. Run the build script.
++
+[source,sh]
+------------------------------------------------------------------------------
+# build and run tests
+ng build --prod
+------------------------------------------------------------------------------
++
+4. OPTIONAL: Test eg2 web client code if the <osname>-developer packages were installed:
+   CHROME_BIN should be set to the path to chrome or chromimum, e.g.,
+   `/usr/bin/chromium`:
++
+[source,sh]
+------------------------------------------------------------------------------
+CHROME_BIN=/path/to/chrome npm run test
+------------------------------------------------------------------------------
+
+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 / Buster, run the following command as the root user:
+
+[source, bash]
+------------------------------------------------------------------------------
+ldconfig
+------------------------------------------------------------------------------
+
+Additional Instructions for Developers
+--------------------------------------
+
+[NOTE]
+Skip this section if you are using an official release tarball downloaded
+from http://evergreen-ils.org/egdownloads
+
+Developers working directly with the source code from the Git repository,
+rather than an official release tarball, need to install the Dojo Toolkit
+set of JavaScript libraries. The appropriate version of Dojo is included in
+Evergreen release tarballs. Developers should install the Dojo 1.3.3 version
+of Dojo by issuing the following commands as the *opensrf* Linux account:
+
+[source, bash]
+------------------------------------------------------------------------------
+wget http://download.dojotoolkit.org/release-1.3.3/dojo-release-1.3.3.tar.gz
+tar -C /openils/var/web/js -xzf dojo-release-1.3.3.tar.gz
+cp -r /openils/var/web/js/dojo-release-1.3.3/* /openils/var/web/js/dojo/.
+------------------------------------------------------------------------------
+
+
+Configure the Apache Web server
+-------------------------------
+
+. Use the example configuration files to configure your Web server for 
+the Evergreen catalog, web staff client, Web services, and administration
+interfaces. Issue the following commands as the *root* Linux account:
++
+[source,bash]
+------------------------------------------------------------------------------------
+cp Open-ILS/examples/apache_24/eg_24.conf       /etc/apache2/sites-available/eg.conf
+cp Open-ILS/examples/apache_24/eg_vhost_24.conf /etc/apache2/eg_vhost.conf
+cp Open-ILS/examples/apache_24/eg_startup      /etc/apache2/
+# Now set up SSL
+mkdir /etc/apache2/ssl
+cd /etc/apache2/ssl
+------------------------------------------------------------------------------------
++
+. The `openssl` command cuts a new SSL key for your Apache server. For a
+production server, you should purchase a signed SSL certificate, but you can
+just use a self-signed certificate and accept the warnings in the
+and browser during testing and development. Create an SSL key for the Apache
+server by issuing the following command as the *root* Linux account:
++
+[source,bash]
+------------------------------------------------------------------------------
+openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key
+------------------------------------------------------------------------------
++
+. As the *root* Linux account, edit the `eg.conf` file that you copied into
+place.
+  a. To enable access to the offline upload / execute interface from any
+     workstation on any network, make the following change (and note that
+     you *must* secure this for a production instance):
+     * Replace `Require host 10.0.0.0/8` with `Require all granted`
+. Change the user for the Apache server.
+  * As the *root* Linux account, edit
+    `/etc/apache2/envvars`.  Change `export APACHE_RUN_USER=www-data` to 
+    `export APACHE_RUN_USER=opensrf`.
+. As the *root* Linux account, configure Apache with KeepAlive settings
+  appropriate for Evergreen. Higher values can improve the performance of a
+  single client by allowing multiple requests to be sent over the same TCP
+  connection, but increase the risk of using up all available Apache child
+  processes and memory.
+  * Edit `/etc/apache2/apache2.conf`.
+    a. Change `KeepAliveTimeout` to `1`.
+    b. Change `MaxKeepAliveRequests` to `100`.
+. As the *root* Linux account, configure the prefork module to start and keep
+  enough Apache servers available to provide quick responses to clients without
+  running out of memory. The following settings are a good starting point for a
+  site that exposes the default Evergreen 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-buster
+make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-stretch
+make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-jessie
+make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-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 <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.6 and later
+^^^^^^^^^^^^^^^^^^^^^^^^
+To create the database instance on a remote database server running PostgreSQL
+9.6 or later, simply use the `--create-database` flag on `eg_db_config`.
+
+Starting Evergreen
+------------------
+1. As the *root* Linux account, start the `memcached` and `ejabberd` services
+(if they aren't already running):
++
+[source, bash]
+------------------------------------------------------------------------------
+/etc/init.d/ejabberd start
+/etc/init.d/memcached start
+------------------------------------------------------------------------------
++
+2. As the *opensrf* Linux account, start Evergreen. The `-l` flag in the
+following command is only necessary if you want to force Evergreen to treat the
+hostname as `localhost`; if you configured `opensrf.xml` using the real
+hostname of your machine as returned by `perl -ENet::Domain 'print
+Net::Domain::hostfqdn() . "\n";'`, you should not use the `-l` flag.
++
+[source, bash]
+------------------------------------------------------------------------------
+osrf_control -l --start-all
+------------------------------------------------------------------------------
++
+  ** If you receive the error message `bash: osrf_control: command not found`,
+     then your environment variable `PATH` does not include the `/openils/bin`
+     directory; this should have been set in the *opensrf* Linux account's
+     `.bashrc` configuration file. To manually set the `PATH` variable, edit the
+     configuration file `~/.bashrc` as the *opensrf* Linux account and add the
+     following line:
++
+[source, bash]
+------------------------------------------------------------------------------
+export PATH=$PATH:/openils/bin
+------------------------------------------------------------------------------
++
+3. As the *opensrf* Linux account, generate the Web files needed by the web staff
+   client and 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..9917a65 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.4.1, open-ils-dev@list.georgialibraries.org)
+AM_INIT_AUTOMAKE([OpenILS], [3.4.1])
 AC_REVISION($Revision: 0.1 $)
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_SUBDIRS([Open-ILS/xul/staff_client/external/libmar])