[open-ils-commits] [GIT] Evergreen ILS branch tags/rel_2_9_1 created. c38e455bec603473ebcb1ac5f8efb4d006fee111
Evergreen Git
git at git.evergreen-ils.org
Wed Nov 18 15:57:04 EST 2015
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".
The branch, tags/rel_2_9_1 has been created
at c38e455bec603473ebcb1ac5f8efb4d006fee111 (commit)
- Log -----------------------------------------------------------------
commit c38e455bec603473ebcb1ac5f8efb4d006fee111
Author: Jason Stephenson <jstephenson at mvlc.org>
Date: Wed Nov 18 11:48:37 2015 -0500
Bumping version numbers, adding Upgrade Script and Changelog
Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
diff --git a/ChangeLog b/ChangeLog
index 1f72b2c..6bec9d2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1354 @@
-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 9ab68575873400148b57460297f776fc797b5ce3
+Author: Jason Stephenson <jstephenson at mvlc.org>
+Date: Wed Nov 18 11:36:16 2015 -0500
+
+ bumping Perl version string for 2.9.1
+
+ Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
+
+1 1 Open-ILS/src/perlmods/lib/OpenILS.pm
+
+commit c4a102a2c32d0756301d621cce773167bd4decea
+Author: Kathy Lussier <klussier at masslnc.org>
+Date: Tue Nov 17 16:37:51 2015 -0500
+
+ Docs: 2.8.5 point release notes
+
+ Adding bug fixes and acknowledgements for the 2.8.5 point release.
+
+ Signed-off-by: Kathy Lussier <klussier at masslnc.org>
+
+64 2 docs/RELEASE_NOTES_2_8.txt
+
+commit 2105957398880fd2d16c4093e4f7cc412a6f9d89
+Author: Kathy Lussier <klussier at masslnc.org>
+Date: Tue Nov 17 19:13:57 2015 -0500
+
+ Adding bug fixes and acknowledgements to 2.9.1. Release Notes
+
+ The structure of these point release notes is a little different from what
+ we did with the 2.8 series. I restructured the headings a bit so that there
+ is just the one level one header. The two headers in the 2.8 release notes
+ led to a confusing outline.
+
+ Also, I'm adding acknowledgements for each point release rather than adding the
+ entire batch at the bottom of the file. There are two reasons for this change:
+
+ 1. The release notes in the official documentation are broken up into different
+ sections, whereas the ones on the downloads page are available all on one page.
+ In the official docs, it appeared as if everyone being acknowledged had
+ contributed to the .0 release, when, in actuality, some had contributed patches
+ in other point releases. By adding acknowledgements to every point release
+ section, it is clear who contributed to which release.
+
+ 2. Consistent contributors get acknolwedgement for every point release they
+ contribute to, which is a nice thing to do.
+
+ Signed-off-by: Kathy Lussier <klussier at masslnc.org>
+
+105 8 docs/RELEASE_NOTES_2_9.txt
+
+commit faf6f0e92e6669a9ec828c793ec23b8550137214
+Author: Mike Rylander <mrylander at gmail.com>
+Date: Tue Nov 17 17:20:05 2015 -0500
+
+ LP#1516707: Phrase search ignores CD modifiers
+
+ Because phrases are subqueries, we need to look at the top of the parse tree
+ when looking for modifiers for cover density. This is because modifers are
+ normally only allowed at the top of the parse tree (or in the floating sub-
+ query). We do that by asking the plan's QueryParse for it's reference to its
+ parse_tree member, which is always the top of the parse tree in QP.
+
+ Included in this commit is a small change to the QP testing script to
+ facilitate testing of this fix.
+
+ Signed-off-by: Mike Rylander <mrylander at gmail.com>
+ Signed-off-by: Kathy Lussier <klussier at masslnc.org>
+
+7 0 Open-ILS/src/extras/fts-replacement.pl
+1 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
+
+commit 025682d8d58785d030e0ed43fb9e9d37d168388a
+Author: blake <blake at mobiusconsortium.org>
+Date: Mon Jan 5 10:38:18 2015 -0600
+
+ LP1402018_Acq_Copy_location_UI_scoped_to_registered_workstation
+
+ This little patch will open up the acq copy location dropdown UI
+ to include other library's copy locations outside of the workstation
+ registration. When the user permissions are scoped to more branches.
+
+ Signed-off-by: blake <blake at mobiusconsortium.org>
+ Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+ Signed-off-by: Kathy Lussier <klussier at masslnc.org>
+
+40 20 Open-ILS/web/js/dojo/openils/widget/AutoFieldWidget.js
+1 1 Open-ILS/web/js/ui/default/acq/common/li_table.js
+
+commit 5d76887d066955e02150194ea40123b0d6f4def2
+Author: Steven Chan <schan at sitka.bclibraries.ca>
+Date: Thu Sep 19 12:51:35 2013 -0700
+
+ Fix LP1175711, OPAC can't renew item on booking resource list
+
+ A test sequence to show the behaviour before and after the fix:
+
+ 1. Using staff client, check out an item to test account.
+ 2. Go to Copy Details on the OPAC, click Book Now, and cancel the form;
+ the side effect is to put the item on the Resource list.
+ 3. Using the OPAC on a web browser, log in with test account.
+ 4. Go to Items Checked Out, select the item in the list and click Renew
+ Selected Items.
+
+ Before the fix, we saw the OPAC spin forever, and we saw the Javascript
+ console of the web browser log the error noted in previous comments.
+
+ With the fix, we see an error prompt saying, 'The system is unable to
+ renew the selected item at this time. This usually means the item is
+ needed to fulfill a hold. Please see a librarian for further help.'
+
+ Note: A patron with the normal group of permissions will not be able to
+ renew an item on resource list.
+
+ The fix is to check for an error object emitted by the function
+ Booking.pm/reservation_list_by_filters(), and to propagate it back to
+ the client, by returning a call to bail_on_events().
+
+ We also clarify the coding of the function's parameter list and how the
+ function checks for mandatory parameters.
+
+ Signed-off-by: Steven Chan <schan at sitka.bclibraries.ca>
+ Signed-off-by: Josh Stompro <stomproj at larl.org>
+ Signed-off-by: Kathy Lussier <klussier at masslnc.org>
+
+7 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Booking.pm
+9 4 Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
+
+commit 5a3875a9341caf013c40323090fc1e6848a81aba
+Author: Jason Stephenson <jstephenson at mvlc.org>
+Date: Mon Nov 16 16:15:22 2015 -0500
+
+ LP 1516786: 0938 Upgrade Script ends in END and not COMMIT.
+
+ Change the END; on the last line of 0938.data.some_rda_attributes.sql
+ to COMMIT; for reasons of consistency and to avoid issues when wrapped
+ in larger upgrade scripts using the make release script.
+
+ Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
+ Signed-off-by: Ben Shum <bshum at biblio.org>
+
+1 1 Open-ILS/src/sql/Pg/upgrade/0938.data.some_rda_attributes.sql
+
+commit 1b02296838fa19ef697d62a1a967ca4c61efab59
+Author: Jason Stephenson <jstephenson at mvlc.org>
+Date: Fri Nov 13 16:12:46 2015 -0500
+
+ LP#1513554 - Stamping Upgrade Script
+
+ Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
+
+1 1 Open-ILS/src/sql/Pg/002.schema.config.sql
+21 0 Open-ILS/src/sql/Pg/upgrade/0949.schema.no_delete_acq_cancel_reasons.sql
+0 21 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.no_delete_acq_cancel_reasons.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0949.schema.no_delete_acq_cancel_reasons.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.no_delete_acq_cancel_reasons.sql
+
+commit 373762f2f94d4e0a1c6841effb395109f6c59778
+Author: Kathy Lussier <klussier at masslnc.org>
+Date: Sun Nov 8 09:47:58 2015 -0500
+
+ LP#1513554 - Doc update for cancel reason selection
+
+ Adding an update to the docs to inform users that default cancel reasons
+ cannot be selected.
+
+ Signed-off-by: Kathy Lussier <klussier at masslnc.org>
+ Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
+
+19 5 docs/admin/acquisitions_admin.txt
+
+commit fea0db8bb05d01d69c636b417ce02711e097b219
+Author: Chris Sharp <csharp at georgialibraries.org>
+Date: Thu Nov 5 13:30:51 2015 -0500
+
+ LP#1513554 - Prevent deletion of reserved rows.
+
+ It was previously possible to delete reserved rows in
+ the acq.cancel_reasons table via the UI. We take a belt
+ and suspenders approach here:
+
+ 1) Grey out the checkboxes beside cancel reasons with an
+ ID lower than 2000.
+ 2) Create a trigger on the acq.cancel_reason table that
+ prevents deletion of rows with an ID lower than 2000.
+
+ The trigger executes a new generally available function
+ for use in similar situations in the future.
+
+ Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
+ Signed-off-by: Kathy Lussier <klussier at masslnc.org>
+ Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
+
+9 0 Open-ILS/src/sql/Pg/000.functions.general.sql
+5 0 Open-ILS/src/sql/Pg/200.schema.acq.sql
+13 0 Open-ILS/src/sql/Pg/t/lp1513554_do_not_delete_reserved_cancel_reasons.pg
+21 0 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.no_delete_acq_cancel_reasons.sql
+5 0 Open-ILS/web/js/ui/default/conify/global/acq/cancel_reason.js
+ create mode 100644 Open-ILS/src/sql/Pg/t/lp1513554_do_not_delete_reserved_cancel_reasons.pg
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.no_delete_acq_cancel_reasons.sql
+
+commit 588ee974221977899ce3ef84a9d3f8bafde6c4c2
+Author: Ben Shum <bshum at biblio.org>
+Date: Thu Nov 5 18:12:35 2015 -0500
+
+ LP#937789: Stamping upgrade script for part deletion
+
+ Signed-off-by: Ben Shum <bshum at biblio.org>
+
+ Conflicts:
+ Open-ILS/src/sql/Pg/002.schema.config.sql
+
+1 1 Open-ILS/src/sql/Pg/002.schema.config.sql
+139 0 Open-ILS/src/sql/Pg/upgrade/0948.schema.fake-delete-parts.sql
+0 137 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fake-delete-parts.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0948.schema.fake-delete-parts.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fake-delete-parts.sql
+
+commit f3566491f3e4742c496750971a34737480f104b4
+Author: Remington Steed <rjs7 at calvin.edu>
+Date: Thu Nov 5 08:45:23 2015 -0500
+
+ LP#937789: Hide 'deleted' from parts table & editor
+
+ This commit hides the new parts 'deleted' field from the Manage Parts
+ dojo table and popup editor.
+
+ Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+ Signed-off-by: Ben Shum <bshum at biblio.org>
+
+2 2 Open-ILS/src/templates/conify/global/biblio/monograph_part.tt2
+
+commit 8481c6e571dffddce66691165b5d35c7f3271e76
+Author: Galen Charlton <gmc at esilibrary.com>
+Date: Thu Oct 29 15:39:16 2015 +0000
+
+ LP#937789: various improvements to logical deletion of parts
+
+ This patch ensures that when a monograph part is marked as
+ deleted, that mappings between it and its copies are also
+ removed, similar to the previous behavior of the cascade
+ on delete.
+
+ This patch also adds some pgTAP tests and ensures that
+ unapi.bmp() and unapi.holdings_xml() get updated during upgrade.
+
+ To test the fix for this bug:
+
+ [1] Apply the patches.
+ [2] Create a monograph part on a record, then delete it. Verify that
+ it no longer shows up in the parts maintenance interface, but that
+ a row in the biblio.monograph_parts table still exists with the
+ deleted flag set to true.
+ [3] Create another monograph part on the same record.
+ [4] Create a new volume/copy and assign the part created in step
+ 3 to it. Verify that the part shown in step 2 is *not*
+ included in the XUL part selector.
+ [5] Place a part-level hold. Verify that the hold request
+ is displayed correct in both the public catalog and the staff
+ interface.
+ [6] Delete the part created in step 3.
+ [7] Verify that viewing the list of the patron's holds in the XUL staff
+ client doesn't result in any 'network errors'. Also verify that
+ the hold request is still displayed in patron's view in the public
+ catalog.
+ [8] Using SQL or some other means, set the expire_time and
+ prev_check_time of the test hold request to a couple days in the
+ past, then run the hold targeter. Verify that the hold gets
+ cancelled for lack of a suitable copy to fill it.
+
+ Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+ Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+ Signed-off-by: Ben Shum <bshum at biblio.org>
+
+3 1 Open-ILS/src/sql/Pg/800.fkeys.sql
+73 0 Open-ILS/src/sql/Pg/t/regress/lp937789_fake_bmp_delete.sql
+131 1 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fake-delete-parts.sql
+ create mode 100644 Open-ILS/src/sql/Pg/t/regress/lp937789_fake_bmp_delete.sql
+
+commit dbf992ae31c39b7a2eb35a4b60a9624043696c1c
+Author: Mike Rylander <mrylander at gmail.com>
+Date: Thu Jun 7 14:54:24 2012 -0400
+
+ LP#937789: fake-delete support for monograph parts
+
+ Unlike copies, call numbers, and bibs, parts can be directly removed from the
+ database. This has a negative impact on holds, in that the holds become not
+ just orphaned, but broken entirely. With this commit we bring part holds to
+ parity with other hold types such that they can be system-canceled when their
+ target goes away. This will avoid spurious UI-level errors to staff.
+
+ Signed-off-by: Mike Rylander <mrylander at gmail.com>
+ Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+ Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+ Signed-off-by: Ben Shum <bshum at biblio.org>
+
+1 0 Open-ILS/examples/fm_IDL.xml
+1 1 Open-ILS/src/perlmods/lib/OpenILS/Application/AppUtils.pm
+2 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm
+1 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI/biblio.pm
+4 0 Open-ILS/src/perlmods/lib/OpenILS/Application/SuperCat.pm
+1 0 Open-ILS/src/sql/Pg/010.schema.biblio.sql
+7 0 Open-ILS/src/sql/Pg/800.fkeys.sql
+2 2 Open-ILS/src/sql/Pg/990.schema.unapi.sql
+7 0 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fake-delete-parts.sql
+1 1 Open-ILS/src/templates/conify/global/biblio/monograph_part.tt2
+1 1 Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js
+1 1 Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fake-delete-parts.sql
+
+commit eb96d7afe41572a47358e742d95b6862df9b0506
+Author: Kate Butler <katebutler at rodgerslibrary.org>
+Date: Thu Nov 5 16:21:37 2015 -0500
+
+ Docs: add 'Place another hold link' docs
+
+ Signed-off-by: Yamil Suarez <yamil at yamil.com>
+
+9 0 docs/circulation/holds.txt
+- - docs/media/place-another-hold-1.png
+ create mode 100644 docs/media/place-another-hold-1.png
+
+commit fc2487ee459765c679ac0c976aa83737c2a986ed
+Author: Pasi Kallinen <pasi.kallinen at pttk.fi>
+Date: Thu Jul 4 08:33:25 2013 +0300
+
+ LP#1092018: Make the reports UI use UTF-8.
+
+ To test:
+
+ [1] Install the translation for a language that uses
+ non-Latin-1 characters, such as Russian.
+ [2] Start the XUL staff client and open the reports
+ interface. Note that labels are mangled.
+ [3] Apply the Apache configuration changes in this patch,
+ reload Apache, clear cache in the staff client, and
+ reload the reports UI. The labels should now be
+ displayed correctly.
+
+ Signed-off-by: Pasi Kallinen <pasi.kallinen at pttk.fi>
+ Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+
+7 0 Open-ILS/examples/apache/eg_vhost.conf.in
+8 0 Open-ILS/examples/apache_24/eg_vhost.conf.in
+
+commit 3f603b9f41945dc43ba36da350145b0da324258e
+Author: Josh Stompro <stomproj at larl.org>
+Date: Sat Oct 31 10:38:41 2015 -0500
+
+ LP#1511828: sort proximities numerically when targeting holds
+
+ The hold targeter had three instances of using lexical sorting
+ rather than numerical sorting.
+
+ Two of the instances affected hold targeting if proximity values were
+ over 9. Proximity values were being sorted lexically. For instance,
+ 1,2,5,11,15,100,120 was sorted as 1,100,11,120,15,2,5, causing
+ interesting hold targeting results. Normally proximity doesn't go
+ that high so it isn't a problem, but we were using proximity adjustments
+ to strictly order locations so each location had a different proximity,
+ driving the numbers above 9.
+
+ One instance wasn't causing any current issue but could cause problems in
+ the future if more best hold selection sort options are added to bring the
+ total number of sort options over 9.
+
+ Also included are some changes to reduce warnings in the logs
+ suggested by Bill Erickson. The sorting problem was found by
+ Galen Charlton, thanks Galen.
+
+ Testing Notes - to trigger this issue you need to have adjusted
+ proximities over 9.
+
+ 1. Use proximity adjustment rules to add a +10 proximity adjustment to
+ one item circ lib, Branch A and a +2 proximity adjustment to the
+ item circ lib Branch B.
+
+ 2. Find a title with a copy at Branch A and B. Place a hold with a
+ pickup location of Branch B.
+
+ 3. The copy at Branch A should get targeted since it has a proximity of
+ 12-14 (10+normal proximity) and Branch B has a proximity of 2
+ (2+normal proximity). 12 gets sorted before 2 lexically.
+
+ 4. After the fix the copy at Branch B should get targeted since 2
+ is sorted before 12.
+
+ Signed-off-by: Josh Stompro <stomproj at larl.org>
+ Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+
+5 5 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
+
+commit ff532630c8f343000cec24cd12e34f8ee08110aa
+Author: Josh Stompro <stomproj at larl.org>
+Date: Wed Jun 10 20:12:10 2015 -0500
+
+ LP#1400801 - Updated email validation regex for Org Unit admin gui
+
+ Grabbed the example of a simplified RFC 5322 email regex from
+ http://www.regular-expressions.info/email.html and lightly modified it
+ for case sensitivity and removed the "&" character from the localpart allowed
+ characters, which causes a 500 server error for some reason.
+
+ This matches many more of the valid localpart special characters.
+
+ Signed-off-by: Josh Stompro <stomproj at larl.org>
+ Signed-off-by: Ben Shum <bshum at biblio.org>
+
+1 1 Open-ILS/web/conify/global/actor/org_unit.html
+
+commit 123dba1b3d715cd985b292dd723a0a854d1f5bfc
+Author: Adam Bowling <abowling at emeralddata.net>
+Date: Mon Jan 19 12:05:19 2015 -0500
+
+ LP#1406387 Fix for Holds Placement Advanced Options
+
+ In the staff client, when placing a hold and clicking
+ Advanced Hold Options, the barcode input will populate
+ with the staff member's barcode if it was previously
+ empty, regardless of whether the radio input for the
+ hold was specified for a patron or the staff member.
+
+ This patch corrects that behavior, and also populates
+ the input radio on load after clicking Advanced Hold
+ Options.
+
+ Signed-off-by: Adam Bowling <abowling at emeralddata>
+ Signed-off-by: Michael Peters <mpeters at emeralddata.net>
+ Signed-off-by: Terran McCanna <tmccanna at georgialibraries.org>
+ Signed-off-by: Ben Shum <bshum at biblio.org>
+
+13 2 Open-ILS/src/templates/opac/parts/place_hold.tt2
+22 0 Open-ILS/web/js/ui/default/opac/staff.js
+
+commit 81b76cab2d79564b5e59d67459013c7d57566002
+Author: Jake Litrell <jake at masslnc.org>
+Date: Mon Sep 14 17:49:29 2015 -0400
+
+ LP#1340852: Retain search params for copy location groups
+
+ The order in which we determined what to 'selected' in the "Library"
+ dropdown put the resolved locg first (which allows for shortnames, e.g.
+ BR1). That only gives us half the location group though, which is why
+ it was bumping up a level. Now, if we have a location group selected,
+ it will use that first (since they don't have shortnames); the remaining
+ select order will be the same.
+
+ Signed-off-by: Jake Litrell <jake at masslnc.org>
+ Signed-off-by: Kathy Lussier <klussier at masslnc.org>
+ Signed-off-by: Ben Shum <bshum at biblio.org>
+
+6 2 Open-ILS/src/templates/opac/parts/misc_util.tt2
+
+commit 9b2731ea616773aab26d03bf8db73c6131397749
+Author: Yamil Suarez <yamil at yamil.com>
+Date: Mon Jun 22 14:33:28 2015 -0400
+
+ LP#1467634: Hide saved searches from screen readers for non-staff client
+
+ This commit will only allow screen readers to see the saved searches for
+ users that are logged through XUL client.
+ Assuming that a screen reader can be attached to the XUL client.
+
+ It should also work for a user logged in through the web staff
+ client that is using a screen reader.
+
+ To test
+ -------
+ [1] Apply the patch, then perform a search in the public catalog and
+ view the HTML source. Verify that there's no "sr-only" heading
+ for "Saved searches".
+ [2] Set the opac.staff_saved_search.size library setting to a non-zero
+ value.
+ [3] In the web staff client, perform a search using the embeded OPAC;
+ verify that the recent searches list is displayed.
+ [4] Repeat step 4 in the XUL client.
+
+ Signed-off-by: Yamil Suarez <yamil at yamil.com>
+ Signed-off-by: Josh Stompro <stomproj at larl.org>
+ Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+
+2 0 Open-ILS/src/templates/opac/parts/result/table.tt2
+
+commit 587be9c79925fbdadfbe5c269fddb1089d9df214
+Author: Galen Charlton <gmc at esilibrary.com>
+Date: Wed Oct 7 17:49:19 2015 +0000
+
+ LP#1503782: fix horizontal scrollbar in MARC import queue inspector
+
+ In the XUL client (and webstaff), attempting to view the contents
+ of a MARC record import queue displays a table that, due to
+ its width, will almost always have a horizontal scrollbar. However,
+ attempting to actually use the scrollbar often causes the
+ focus to jump to the top of the table instead. This patch
+ fixes that.
+
+ To test:
+
+ [1] Create a bib queue that has at least a dozen records or so.
+ [2] Inspect the contents of the queue, scroll to the bottom of
+ the table, and interact with the horizontal scrollbar.
+ [3] Observe that doing so typically results in jumping up
+ to the top of the table.
+ [4] Apply the patch, clear cache and refresh, and try step #2
+ again.
+ [5] This time, the horizontal scrollbar should act normally.
+
+ Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+ Signed-off-by: Ben Shum <bshum at biblio.org>
+
+2 2 Open-ILS/src/templates/vandelay/inc/queue.tt2
+
+commit 31bb7b8352ab8d8c5dea3c8218160a7ea445d03e
+Author: Galen Charlton <gmc at esilibrary.com>
+Date: Thu Oct 29 19:30:31 2015 +0000
+
+ LP#1406786: fix remapping copies during parts merge
+
+ This patch fixes an issue with how copies are mapped
+ on the target part when using "Merge Selected" in the
+ Monograph Parts interface.
+
+ To test:
+
+ [1] Create some monograph parts on a record and assign
+ some copies to use them.
+ [2] Use the merge parts function to collapse all of the
+ parts created in step 1 onto a single part.
+ [3] Verify that the copies whose original parts were removed
+ are now mapped onto the part that was the target of the
+ merge.
+
+ Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+ Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+2 1 Open-ILS/web/js/dojo/openils/biblio/monographPartMerge.js
+
+commit 2f6c95e5583f39fb87b5809a553b0bbb26e3cd4c
+Author: Galen Charlton <gmc at esilibrary.com>
+Date: Fri Oct 23 20:03:07 2015 +0000
+
+ LP#1509479: set a limit on loops in QP's decompose() method
+
+ Following a suggestion of Dan Scott's, add a pair of
+ suspenders to the belt and enforce an arbitrary limit
+ of 1000 passes through QP->decompse().
+
+ Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+ Signed-off-by: Dan Scott <dscott at laurentian.ca>
+
+7 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/QueryParser.pm
+
+commit e515641934fda61ecf0820c5dee607085d90c6cf
+Author: Galen Charlton <gmc at esilibrary.com>
+Date: Fri Oct 23 19:23:05 2015 +0000
+
+ LP#1509479: fix infinite loop bug in QueryParser
+
+ An unclosed phrase search that has a modifier can cause QueryParser to
+ enter an infinite loop, tying up open-ils.storage backends.
+
+ Examples of such searches include:
+
+ -"cats and dogs
+ subject:+"physical chemistry
+
+ This patch fixes the bug by allowing the end of the query string
+ to terminate a phrase (in addition to a quotation mark).
+
+ To test:
+
+ [1] Verify that the t/21-QueryParser.t unit test passes
+ [2] To test in a *development* database, before applying the patch
+ run one of the example queries. Observe that no
+ results are returned, and that one of the open-ils.storage
+ drones is running at 100% CPU.
+ [3] Apply the patch and restart the open-ils.storage service.
+ [4] Try the query again; this time, it should return results
+ immediately without causing an open-ils.storage drone to
+ peg a CPU.
+
+ Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+ Signed-off-by: Dan Scott <dscott at laurentian.ca>
+
+1 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/QueryParser.pm
+12 0 Open-ILS/src/perlmods/t/21-QueryParser.t
+
+commit 098db2e559fb4d61215b527b7cceb50b68b1fa8e
+Author: Jason Stephenson <jstephenson at mvlc.org>
+Date: Fri Oct 2 10:17:09 2015 -0400
+
+ LP 1502156: Fix marc_export error when dumping authorities.
+
+ There is a chance that marc_export will attempt to call a nonexistent
+ field on MARC::Record if an error occurs while exporting authority
+ records. The bug could only be triggered if a conversion error
+ occurred while exporting the authority as either MARCXML or USMARC.
+
+ The fix is to rename a couple of variables in the Marque::Authority->next
+ method to be more like those used in Marque::Biblio->next. This will have
+ the side effect of making marc_export easier to maintain, since the
+ variables used in one method will now have the same meaning as those
+ in the other.
+
+ Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
+ Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+
+18 18 Open-ILS/src/support-scripts/marc_export.in
+
+commit aae09f30e0e410dc7c5d00cdd9acd0fd4c4f8eed
+Author: Remington Steed <rjs7 at calvin.edu>
+Date: Fri Oct 2 09:41:39 2015 -0400
+
+ Docs 2.9: Add summary of Web Client changes
+
+ This commit adds the Web Client release notes summary to the appropriate
+ docs section. It also updates the wording and links regarding the
+ completed UI Style Guide internship.
+
+ Next we need to copy the Cataloging content into the web client section
+ and provide web client screenshots.
+
+ Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+
+25 4 docs/root.txt
+
+commit 492fba97c3fa25764368a56cfd8158492ed0b253
+Author: Dan Scott <dscott at laurentian.ca>
+Date: Thu Oct 1 16:16:27 2015 -0400
+
+ Doc build: use the implicit ID for lib settings editor
+
+ We no longer have an explicitly set ID for the library settings editor
+ section, so update references to use the implicit ID instead.
+
+ Signed-off-by: Dan Scott <dscott at laurentian.ca>
+
+1 1 docs/admin/staff_client-button_bar_toolbar.txt
+1 1 docs/admin/workstation_admin_receipt_template_editor.txt
+
+commit 876c990c1af8ccca58fbdd446e0ce1562f6fe9c7
+Author: Dan Scott <dscott at laurentian.ca>
+Date: Thu Oct 1 16:15:12 2015 -0400
+
+ Doc build: link to the right media file
+
+ The screenshot for the list of call numbers is a PNG image, not a JPEG
+ image, so referring to it with the appropriate extension will make it
+ show up in the docs and enable the epub and PDF builds to successfully
+ complete.
+
+ Signed-off-by: Dan Scott <dscott at laurentian.ca>
+
+1 1 docs/opac/my_lists.txt
+
+commit 86faf696b509e7fbdff3433fd8405f1a0f00fbbf
+Author: Dan Scott <dscott at laurentian.ca>
+Date: Thu Oct 1 16:13:45 2015 -0400
+
+ Doc build: update the implicit ID for release notes
+
+ The implicit ID for a given heading changes each release as we update
+ the release notes, so bump 2.8 to 2.9 so that the reference to the ID
+ can be resolved.
+
+ Signed-off-by: Dan Scott <dscott at laurentian.ca>
+
+1 1 docs/installation/server_upgrade.txt
+
+commit f4617284a55fac23703e8a80b603ac980adba5e0
+Author: Dan Scott <dscott at laurentian.ca>
+Date: Thu Oct 1 16:11:57 2015 -0400
+
+ Doc build: use XML-compliant IDs
+
+ Doc builds that depend on an intermediate XML transform (epub, PDF) also
+ need to use IDs that comply to the XML standard. In this case, numbers
+ are not valid NameStartChars:
+ http://www.w3.org/TR/REC-xml/#NT-NameStartChar
+
+ Signed-off-by: Dan Scott <dscott at laurentian.ca>
+
+33 33 docs/admin/sip_server.txt
+
+commit ad2c616a998d43b3c54e0e482834aa32fcf9bca7
+Author: Dan Scott <dscott at laurentian.ca>
+Date: Thu Oct 1 16:10:41 2015 -0400
+
+ Avoid duplicate IDs in doc build
+
+ Defining the same ID twice in the same document results in broken builds
+ that depend on an intermediate XML transform (epub, PDF), so redefine
+ the second ID in this document.
+
+ Signed-off-by: Dan Scott <dscott at laurentian.ca>
+
+1 1 docs/admin/librarysettings.adoc
+
+commit ce88bddebba903b25e507bb07e8fda4f1ef06832
+Author: Kathy Lussier <klussier at masslnc.org>
+Date: Thu Sep 10 14:28:57 2015 -0400
+
+ Docs: Documentation for negative balance work
+
+ Documentation for negative balance settings in 2.9. The updates in this branch
+ include:
+
+ * Updates of the circulation, patron record, and library settings sections
+ to reflect the new features contained in the negative balance work.
+ * General updates, consolidation, and re-organization of some components
+ of the billing section.
+
+ A new understanding and confiuring billing section is still to come, but this
+ branch brings existing documentaiton up to date.
+
+ Signed-off-by: Kathy Lussier <klussier at masslnc.org>
+
+22 1 docs/admin/librarysettings.adoc
+9 34 docs/circulation/circulating_items.txt
+134 79 docs/circulation/circulation_patron_records.txt
+- - docs/media/adjust_to_zero_action.png
+- - docs/media/circulation_patron_bills-10.png
+- - docs/media/circulation_patron_bills-3.png
+- - docs/media/negative_balance1.jpg
+- - docs/media/negative_balance2.jpg
+ create mode 100644 docs/media/adjust_to_zero_action.png
+ delete mode 100644 docs/media/negative_balance1.jpg
+ delete mode 100644 docs/media/negative_balance2.jpg
+
+commit 1ff6ca8f923fcb2666152e07a57b106419e9cfaf
+Author: Remington Steed <rjs7 at calvin.edu>
+Date: Thu Sep 24 11:09:33 2015 -0400
+
+ Release Notes: Move/copy relevant sections to Upgrade Notes
+
+ This commit moves two sections from "New Features -> Administration ->
+ Upgrade Notes" to the main level "Upgrade Notes" section, which had been
+ accidentally left empty and was causing AsciiDoc-to-ePub conversion
+ errors. This commit also copies two other sections to the main "Upgrade
+ Notes" section, since they contain information relevant to the upgrade
+ process.
+
+ Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+
+111 54 docs/RELEASE_NOTES_2_9.txt
+
+commit 40ff2c449c22e3c250df9aea7e2f3d103d766d83
+Author: Josh Stompro <stomproj at larl.org>
+Date: Mon Sep 21 13:37:12 2015 -0500
+
+ LP#1497318 - Acknowledgments update Adding Northwest Regional Library System to 2.9 release notes.
+
+ Signed-off-by: Josh Stompro <stomproj at larl.org>
+
+1 0 docs/RELEASE_NOTES_2_9.txt
+
+commit 001f5cb753a5f2a7819440fa4c86491be35df23d
+Author: Josh Stompro <stomproj at larl.org>
+Date: Sun Sep 20 10:43:10 2015 -0500
+
+ LP#1497318 - Acknowledgments update Adding Northwest Regional Library System
+ and Matthew Berowski for typo fixes.
+
+ Signed-off-by: Josh Stompro <stomproj at larl.org>
+
+2 0 docs/RELEASE_NOTES_2_8.txt
+
+commit 4cf6cc76bd063f88027fb18f7687c613a4d4813f
+Author: Jason Stephenson <jstephenson at mvlc.org>
+Date: Thu Sep 17 15:12:40 2015 -0400
+
+ LP 1496977: Duplicate Code in OpenILS::Application::Cat::AssetCommon
+
+ It looks like two lines of code got duplicated in commit e2f6cca0 in
+ AssetCommon. This duplication can lead to data loss for the function
+ update_fleshed_copies. It also lead to the following warning when
+ you use OpenILS::Application::Cat::AssetCommon in a script:
+
+ "my" variable $sc_entries masks earlier declaration in same scope at
+ /usr/local/share/perl/5.18.2/OpenILS/Application/Cat/AssetCommon.pm
+ line 371.
+
+ After this patch, the warning disappears.
+
+ Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
+ Signed-off-by: Ben Shum <bshum at biblio.org>
+
+0 3 Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/AssetCommon.pm
+
+commit 4eab98f15fb6f70c06b4f360d9dfa08cc19fb7f4
+Author: Remington Steed <rjs7 at calvin.edu>
+Date: Thu Sep 17 11:10:51 2015 -0400
+
+ Docs: Update release notes reference to 2.9
+
+ Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+
+1 1 docs/root.txt
+
+commit cf6cb08a76aa53b7a153aa4a883110e888e1ac75
+Author: Remington Steed <rjs7 at calvin.edu>
+Date: Wed Sep 16 17:07:13 2015 -0400
+
+ Docs 2.9: Update and add detail for Holdings Import profile
+
+ In order to add details about the new ability to import Stat Cat data
+ for a copy, this commit adds a table of all the import fields available
+ in the Holdings Import Profile. It also duplicates some content from
+ another section about batch importing, and updates the screenshot and
+ some wording in the original section.
+
+ Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+
+11 6 docs/admin_initial_setup/importing_via_staff_client.txt
+61 0 docs/cataloging/batch_importing_MARC.txt
+- - docs/media/batch_import_profile.png
+ create mode 100644 docs/media/batch_import_profile.png
+
+commit 4affec950364329638bf048e5f1cd4ddd652f07d
+Author: Remington Steed <rjs7 at calvin.edu>
+Date: Thu Sep 17 09:35:19 2015 -0400
+
+ Docs: Apache config includes examples for "no image"
+
+ This commit adds a note about the new commented config blocks in the
+ example Apache vhost file for providing a custom image for items with no
+ image. This commit also moves a related section into the "External
+ Content" section, so all external content info is together.
+
+ Signed-off-by: Remington Steed <rjs7 at calvin.edu>
+
+7 1 docs/admin_initial_setup/designing_your_catalog.txt
+
+commit c559992547561bd1598b45b9108c96aa4c42ff20
+Author: Mike Rylander <mrylander at gmail.com>
+Date: Thu Sep 17 08:24:56 2015 -0400
+
+ LP#1496837: Postgres fixed a bug and broke our test
+
+ So, we will unbreak it here. The PG fix in question can be seen here:
+
+ http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=c975fa4713c2325623d7bbfd81806327234281ac
+
+ Signed-off-by: Mike Rylander <mrylander at gmail.com>
+ Signed-off-by: Dan Wells <dbw2 at calvin.edu>
+
+1 1 Open-ILS/src/sql/Pg/live_t/0847.auth_overlay_generator.pg
+
+commit 5fdff08824232cd545b821fbb8b7c48211fc2c32
+Author: Ben Shum <bshum at biblio.org>
+Date: Wed Sep 16 23:43:13 2015 -0400
+
+ Docs: Fix typo in acknowledgements for RELEASE_NOTES_2_9.txt
+
+ Signed-off-by: Ben Shum <bshum at biblio.org>
+
+1 1 docs/RELEASE_NOTES_2_9.txt
+
+commit 4961a70051ff989b092a7b06bd82ed19b7605a19
+Author: Ben Shum <bshum at biblio.org>
+Date: Wed Sep 16 23:09:11 2015 -0400
+
+ Docs: Add one missing entry to RELEASE_NOTES_2_9.txt
+
+ Because one of the notes was written with a .adoc extension
+ instead of the .txt, the automated script missed it.
+
+ Adding this entry to the main RELEASE_NOTES_2_9.txt file and
+ removing the .adoc file.
+
+ Signed-off-by: Ben Shum <bshum at biblio.org>
+
+13 0 docs/RELEASE_NOTES_2_9.txt
+0 11 docs/RELEASE_NOTES_NEXT/OPAC/change-available-copies-display.adoc
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/OPAC/change-available-copies-display.adoc
+
+commit e72dc0533d880c91f99371feaa44ffba128f5744
+Author: Jason Stephenson <jstephenson at mvlc.org>
+Date: Wed Sep 16 18:11:49 2015 -0400
+
+ Bumping Perl version for 2.9
+
+ Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
+
+1 1 Open-ILS/src/perlmods/lib/OpenILS.pm
+
+commit 5084f1799426e7459be502e7a97da8e022170144
+Author: Jason Stephenson <jstephenson at mvlc.org>
+Date: Wed Sep 16 18:08:37 2015 -0400
+
+ 2.9 Release notes creation and cleanup
+
+ Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
+
+634 0 docs/RELEASE_NOTES_2_9.txt
+0 7 docs/RELEASE_NOTES_NEXT/Acquisitions/better_progress_reporting.txt
+0 53 docs/RELEASE_NOTES_NEXT/Acquisitions/lp1440114-blanket-orders.txt
+0 6 docs/RELEASE_NOTES_NEXT/Administration/PreExpirationNotice.txt
+0 20 docs/RELEASE_NOTES_NEXT/Administration/WebServerTemplateCaching.txt
+0 6 docs/RELEASE_NOTES_NEXT/Administration/example-no-image-config-for-apache.txt
+0 50 docs/RELEASE_NOTES_NEXT/Administration/remove-script-circ-and-penalty.txt
+0 11 docs/RELEASE_NOTES_NEXT/Cataloging/SKOS_for_coded_values.txt
+0 20 docs/RELEASE_NOTES_NEXT/Cataloging/display_authority_thesaurus_value.txt
+0 19 docs/RELEASE_NOTES_NEXT/Cataloging/importing_stat_cats.txt
+0 10 docs/RELEASE_NOTES_NEXT/Cataloging/remove_biblios_net_z3950_target.txt
+0 22 docs/RELEASE_NOTES_NEXT/Cataloging/tag_table_service.txt
+0 18 docs/RELEASE_NOTES_NEXT/Cataloging/web_staff_client_sprint2.txt
+0 51 docs/RELEASE_NOTES_NEXT/Circulation/conditional-negative-balances.txt
+0 8 docs/RELEASE_NOTES_NEXT/Circulation/selfcheck-logout-warning.txt
+0 3 docs/RELEASE_NOTES_NEXT/Circulation/user-reg-dupe-search-includes-inactive.txt
+0 6 docs/RELEASE_NOTES_NEXT/Client/clear-added-content-cache.txt
+0 5 docs/RELEASE_NOTES_NEXT/Client/disable-google-analytics.txt
+0 6 docs/RELEASE_NOTES_NEXT/Client/move-acq-menu.txt
+0 7 docs/RELEASE_NOTES_NEXT/OPAC/account-expiration-in-my-account.txt
+0 21 docs/RELEASE_NOTES_NEXT/OPAC/column_sort.txt
+0 7 docs/RELEASE_NOTES_NEXT/OPAC/new-bib-source-variable.txt
+0 6 docs/RELEASE_NOTES_NEXT/OPAC/new-class-attribute-for-eresource-links.txt
+0 29 docs/RELEASE_NOTES_NEXT/OPAC/removal-of-deprecated-jspac.txt
+0 28 docs/RELEASE_NOTES_NEXT/OPAC/removal-of-legacy-selfcheck.txt
+ create mode 100644 docs/RELEASE_NOTES_2_9.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Acquisitions/better_progress_reporting.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Acquisitions/lp1440114-blanket-orders.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Administration/PreExpirationNotice.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Administration/WebServerTemplateCaching.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Administration/example-no-image-config-for-apache.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Administration/remove-script-circ-and-penalty.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Cataloging/SKOS_for_coded_values.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Cataloging/display_authority_thesaurus_value.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Cataloging/importing_stat_cats.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Cataloging/remove_biblios_net_z3950_target.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Cataloging/tag_table_service.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Cataloging/web_staff_client_sprint2.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Circulation/conditional-negative-balances.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Circulation/selfcheck-logout-warning.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Circulation/user-reg-dupe-search-includes-inactive.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Client/clear-added-content-cache.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Client/disable-google-analytics.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/Client/move-acq-menu.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/OPAC/account-expiration-in-my-account.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/OPAC/column_sort.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/OPAC/new-bib-source-variable.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/OPAC/new-class-attribute-for-eresource-links.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/OPAC/removal-of-deprecated-jspac.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/OPAC/removal-of-legacy-selfcheck.txt
+
+commit 9b8deb2e5b2681b2eee0f31b3176f4f7cbbf4778
+Author: Jason Stephenson <jstephenson at mvlc.org>
+Date: Wed Sep 16 16:42:52 2015 -0400
+
+ Forward port 2.9.0 translations.
+
+ Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
+
+3 3 build/i18n/po/AutoFieldWidget.js/cs-CZ.po
+3 3 build/i18n/po/AutoFieldWidget.js/de-DE.po
+3 3 build/i18n/po/AutoFieldWidget.js/en-CA.po
+3 3 build/i18n/po/AutoFieldWidget.js/en-GB.po
+3 3 build/i18n/po/AutoFieldWidget.js/es-ES.po
+3 3 build/i18n/po/AutoFieldWidget.js/fi-FI.po
+3 3 build/i18n/po/AutoFieldWidget.js/fr-CA.po
+3 3 build/i18n/po/AutoFieldWidget.js/hy-AM.po
+3 3 build/i18n/po/AutoFieldWidget.js/oc-FR.po
+3 3 build/i18n/po/AutoFieldWidget.js/pt-BR.po
+3 3 build/i18n/po/AutoFieldWidget.js/ru-RU.po
+3 3 build/i18n/po/AutoFieldWidget.js/tr-TR.po
+34 0 build/i18n/po/FlattenerGrid.js/cs-CZ.po
+126 0 build/i18n/po/PCrudFilterPane.js/cs-CZ.po
+3 3 build/i18n/po/Searcher.js/cs-CZ.po
+3 3 build/i18n/po/Searcher.js/de-DE.po
+3 3 build/i18n/po/Searcher.js/en-CA.po
+3 3 build/i18n/po/Searcher.js/en-GB.po
+3 3 build/i18n/po/Searcher.js/es-ES.po
+3 3 build/i18n/po/Searcher.js/fi-FI.po
+4 4 build/i18n/po/Searcher.js/fr-CA.po
+3 3 build/i18n/po/Searcher.js/hy-AM.po
+3 3 build/i18n/po/Searcher.js/oc-FR.po
+3 3 build/i18n/po/Searcher.js/pt-BR.po
+3 3 build/i18n/po/Searcher.js/ru-RU.po
+3 3 build/i18n/po/TranslatorPopup.js/cs-CZ.po
+3 3 build/i18n/po/TranslatorPopup.js/de-DE.po
+3 3 build/i18n/po/TranslatorPopup.js/en-CA.po
+3 3 build/i18n/po/TranslatorPopup.js/en-GB.po
+3 3 build/i18n/po/TranslatorPopup.js/es-ES.po
+3 3 build/i18n/po/TranslatorPopup.js/fi-FI.po
+3 3 build/i18n/po/TranslatorPopup.js/fr-CA.po
+3 3 build/i18n/po/TranslatorPopup.js/hy-AM.po
+3 3 build/i18n/po/TranslatorPopup.js/oc-FR.po
+3 3 build/i18n/po/TranslatorPopup.js/pt-BR.po
+3 3 build/i18n/po/TranslatorPopup.js/ru-RU.po
+3 3 build/i18n/po/TranslatorPopup.js/tr-TR.po
+3 3 build/i18n/po/URLVerify.js/cs-CZ.po
+3 3 build/i18n/po/URLVerify.js/hy-AM.po
+3 3 build/i18n/po/URLVerify.js/pt-BR.po
+3 3 build/i18n/po/User.js/cs-CZ.po
+3 3 build/i18n/po/User.js/de-DE.po
+3 3 build/i18n/po/User.js/en-CA.po
+3 3 build/i18n/po/User.js/en-GB.po
+3 3 build/i18n/po/User.js/es-ES.po
+3 3 build/i18n/po/User.js/fi-FI.po
+3 3 build/i18n/po/User.js/fr-CA.po
+3 3 build/i18n/po/User.js/hy-AM.po
+3 3 build/i18n/po/User.js/oc-FR.po
+3 3 build/i18n/po/User.js/pt-BR.po
+3 3 build/i18n/po/User.js/ru-RU.po
+3 3 build/i18n/po/User.js/tr-TR.po
+3 3 build/i18n/po/XULTermLoader.js/cs-CZ.po
+3 3 build/i18n/po/XULTermLoader.js/de-DE.po
+3 3 build/i18n/po/XULTermLoader.js/en-CA.po
+3 3 build/i18n/po/XULTermLoader.js/en-GB.po
+3 3 build/i18n/po/XULTermLoader.js/es-ES.po
+3 3 build/i18n/po/XULTermLoader.js/fi-FI.po
+3 3 build/i18n/po/XULTermLoader.js/fr-CA.po
+3 3 build/i18n/po/XULTermLoader.js/hy-AM.po
+3 3 build/i18n/po/XULTermLoader.js/oc-FR.po
+3 3 build/i18n/po/XULTermLoader.js/pt-BR.po
+3 3 build/i18n/po/XULTermLoader.js/ru-RU.po
+3 3 build/i18n/po/XULTermLoader.js/tr-TR.po
+76 27 build/i18n/po/acq.js/cs-CZ.po
+61 17 build/i18n/po/acq.js/de-DE.po
+69 25 build/i18n/po/acq.js/en-CA.po
+69 25 build/i18n/po/acq.js/en-GB.po
+70 26 build/i18n/po/acq.js/es-ES.po
+70 26 build/i18n/po/acq.js/fi-FI.po
+70 26 build/i18n/po/acq.js/fr-CA.po
+68 24 build/i18n/po/acq.js/hy-AM.po
+61 17 build/i18n/po/acq.js/oc-FR.po
+70 26 build/i18n/po/acq.js/pt-BR.po
+61 17 build/i18n/po/acq.js/ru-RU.po
+61 17 build/i18n/po/acq.js/tr-TR.po
+3 3 build/i18n/po/admin.properties/cs-CZ.po
+3 3 build/i18n/po/admin.properties/de-DE.po
+3 3 build/i18n/po/admin.properties/en-CA.po
+3 3 build/i18n/po/admin.properties/en-GB.po
+3 3 build/i18n/po/admin.properties/es-ES.po
+3 3 build/i18n/po/admin.properties/fi-FI.po
+3 3 build/i18n/po/admin.properties/fr-CA.po
+3 3 build/i18n/po/admin.properties/hy-AM.po
+3 3 build/i18n/po/admin.properties/oc-FR.po
+3 3 build/i18n/po/admin.properties/pt-BR.po
+3 3 build/i18n/po/admin.properties/ru-RU.po
+3 3 build/i18n/po/admin.properties/tr-TR.po
+3 3 build/i18n/po/auth.properties/ar-AR.po
+3 3 build/i18n/po/auth.properties/cs-CZ.po
+3 3 build/i18n/po/auth.properties/de-DE.po
+3 3 build/i18n/po/auth.properties/en-CA.po
+3 3 build/i18n/po/auth.properties/en-GB.po
+3 3 build/i18n/po/auth.properties/es-ES.po
+3 3 build/i18n/po/auth.properties/fi-FI.po
+3 3 build/i18n/po/auth.properties/fr-CA.po
+3 3 build/i18n/po/auth.properties/hy-AM.po
+3 3 build/i18n/po/auth.properties/oc-FR.po
+3 3 build/i18n/po/auth.properties/pt-BR.po
+3 3 build/i18n/po/auth.properties/ru-RU.po
+3 3 build/i18n/po/auth.properties/tr-TR.po
+3 3 build/i18n/po/authority.js/cs-CZ.po
+3 3 build/i18n/po/authority.js/de-DE.po
+3 3 build/i18n/po/authority.js/en-CA.po
+3 3 build/i18n/po/authority.js/en-GB.po
+3 3 build/i18n/po/authority.js/es-ES.po
+3 3 build/i18n/po/authority.js/fi-FI.po
+3 3 build/i18n/po/authority.js/fr-CA.po
+3 3 build/i18n/po/authority.js/hy-AM.po
+3 3 build/i18n/po/authority.js/oc-FR.po
+4 4 build/i18n/po/authority.js/pt-BR.po
+4 4 build/i18n/po/authority.js/ru-RU.po
+3 3 build/i18n/po/authority.js/tr-TR.po
+3 3 build/i18n/po/capture.js/cs-CZ.po
+3 3 build/i18n/po/capture.js/de-DE.po
+3 3 build/i18n/po/capture.js/en-CA.po
+3 3 build/i18n/po/capture.js/en-GB.po
+3 3 build/i18n/po/capture.js/es-ES.po
+3 3 build/i18n/po/capture.js/fi-FI.po
+3 3 build/i18n/po/capture.js/fr-CA.po
+3 3 build/i18n/po/capture.js/hy-AM.po
+3 3 build/i18n/po/capture.js/oc-FR.po
+3 3 build/i18n/po/capture.js/pt-BR.po
+3 3 build/i18n/po/capture.js/ru-RU.po
+5 5 build/i18n/po/cat.properties/cs-CZ.po
+3 3 build/i18n/po/cat.properties/de-DE.po
+3 3 build/i18n/po/cat.properties/en-CA.po
+3 3 build/i18n/po/cat.properties/en-GB.po
+3 3 build/i18n/po/cat.properties/es-ES.po
+3 3 build/i18n/po/cat.properties/fi-FI.po
+3 3 build/i18n/po/cat.properties/fr-CA.po
+3 3 build/i18n/po/cat.properties/hy-AM.po
+3 3 build/i18n/po/cat.properties/oc-FR.po
+3 3 build/i18n/po/cat.properties/pt-BR.po
+3 3 build/i18n/po/cat.properties/ru-RU.po
+3 3 build/i18n/po/cat.properties/tr-TR.po
+13 4 build/i18n/po/circ.properties/cs-CZ.po
+9 3 build/i18n/po/circ.properties/de-DE.po
+9 3 build/i18n/po/circ.properties/en-CA.po
+9 3 build/i18n/po/circ.properties/en-GB.po
+9 3 build/i18n/po/circ.properties/es-ES.po
+9 3 build/i18n/po/circ.properties/fi-FI.po
+9 3 build/i18n/po/circ.properties/fr-CA.po
+9 3 build/i18n/po/circ.properties/hy-AM.po
+9 3 build/i18n/po/circ.properties/oc-FR.po
+9 3 build/i18n/po/circ.properties/pt-BR.po
+9 3 build/i18n/po/circ.properties/ru-RU.po
+9 3 build/i18n/po/circ.properties/tr-TR.po
+3 3 build/i18n/po/common.properties/cs-CZ.po
+3 3 build/i18n/po/common.properties/de-DE.po
+3 3 build/i18n/po/common.properties/en-CA.po
+3 3 build/i18n/po/common.properties/en-GB.po
+3 3 build/i18n/po/common.properties/es-ES.po
+3 3 build/i18n/po/common.properties/fi-FI.po
+3 3 build/i18n/po/common.properties/fr-CA.po
+3 3 build/i18n/po/common.properties/hy-AM.po
+3 3 build/i18n/po/common.properties/oc-FR.po
+3 3 build/i18n/po/common.properties/pt-BR.po
+3 3 build/i18n/po/common.properties/ru-RU.po
+3 3 build/i18n/po/conify.dtd/cs-CZ.po
+3 3 build/i18n/po/conify.dtd/de-DE.po
+3 3 build/i18n/po/conify.dtd/en-CA.po
+3 3 build/i18n/po/conify.dtd/en-GB.po
+3 3 build/i18n/po/conify.dtd/es-ES.po
+3 3 build/i18n/po/conify.dtd/fi-FI.po
+3 3 build/i18n/po/conify.dtd/fr-CA.po
+3 3 build/i18n/po/conify.dtd/hy-AM.po
+3 3 build/i18n/po/conify.dtd/oc-FR.po
+3 3 build/i18n/po/conify.dtd/pt-BR.po
+3 3 build/i18n/po/conify.dtd/ru-RU.po
+5 5 build/i18n/po/conify.js/cs-CZ.po
+3 3 build/i18n/po/conify.js/de-DE.po
+3 3 build/i18n/po/conify.js/en-CA.po
+3 3 build/i18n/po/conify.js/en-GB.po
+3 3 build/i18n/po/conify.js/es-ES.po
+3 3 build/i18n/po/conify.js/fi-FI.po
+3 3 build/i18n/po/conify.js/fr-CA.po
+3 3 build/i18n/po/conify.js/hy-AM.po
+3 3 build/i18n/po/conify.js/oc-FR.po
+3 3 build/i18n/po/conify.js/pt-BR.po
+3 3 build/i18n/po/conify.js/ru-RU.po
+3 3 build/i18n/po/conify.js/tr-TR.po
+2740 2298 build/i18n/po/db.seed/cs-CZ.po
+1771 1766 build/i18n/po/db.seed/db.seed.pot
+2694 2283 build/i18n/po/db.seed/de-DE.po
+2698 2284 build/i18n/po/db.seed/en-CA.po
+2698 2284 build/i18n/po/db.seed/en-GB.po
+2695 2284 build/i18n/po/db.seed/es-ES.po
+2704 2290 build/i18n/po/db.seed/fi-FI.po
+2708 2294 build/i18n/po/db.seed/fr-CA.po
+2711 2297 build/i18n/po/db.seed/hy-AM.po
+2695 2284 build/i18n/po/db.seed/oc-FR.po
+2703 2289 build/i18n/po/db.seed/pt-BR.po
+2701 2287 build/i18n/po/db.seed/ru-RU.po
+2692 2281 build/i18n/po/db.seed/tr-TR.po
+2786 2698 build/i18n/po/fm_IDL.dtd/cs-CZ.po
+2757 2669 build/i18n/po/fm_IDL.dtd/de-DE.po
+2769 2681 build/i18n/po/fm_IDL.dtd/en-CA.po
+2769 2681 build/i18n/po/fm_IDL.dtd/en-GB.po
+2759 2671 build/i18n/po/fm_IDL.dtd/es-ES.po
+2769 2681 build/i18n/po/fm_IDL.dtd/fi-FI.po
+1346 1346 build/i18n/po/fm_IDL.dtd/fm_IDL.dtd.pot
+2759 2671 build/i18n/po/fm_IDL.dtd/fr-CA.po
+2769 2681 build/i18n/po/fm_IDL.dtd/hy-AM.po
+2757 2669 build/i18n/po/fm_IDL.dtd/oc-FR.po
+2767 2679 build/i18n/po/fm_IDL.dtd/pt-BR.po
+2767 2679 build/i18n/po/fm_IDL.dtd/ru-RU.po
+2757 2669 build/i18n/po/fm_IDL.dtd/tr-TR.po
+27 8 build/i18n/po/ils_events.xml/cs-CZ.po
+19 7 build/i18n/po/ils_events.xml/de-DE.po
+22 7 build/i18n/po/ils_events.xml/en-CA.po
+22 7 build/i18n/po/ils_events.xml/en-GB.po
+19 7 build/i18n/po/ils_events.xml/es-ES.po
+22 7 build/i18n/po/ils_events.xml/fi-FI.po
+22 7 build/i18n/po/ils_events.xml/fr-CA.po
+22 7 build/i18n/po/ils_events.xml/hy-AM.po
+22 7 build/i18n/po/ils_events.xml/pt-BR.po
+22 7 build/i18n/po/ils_events.xml/ru-RU.po
+9 8 build/i18n/po/lang.dtd/ar-AR.po
+23 12 build/i18n/po/lang.dtd/cs-CZ.po
+9 8 build/i18n/po/lang.dtd/de-DE.po
+21 10 build/i18n/po/lang.dtd/en-CA.po
+21 10 build/i18n/po/lang.dtd/en-GB.po
+9 8 build/i18n/po/lang.dtd/es-ES.po
+21 10 build/i18n/po/lang.dtd/fi-FI.po
+9 8 build/i18n/po/lang.dtd/fr-CA.po
+21 10 build/i18n/po/lang.dtd/hy-AM.po
+9 8 build/i18n/po/lang.dtd/oc-FR.po
+16 9 build/i18n/po/lang.dtd/pt-BR.po
+9 8 build/i18n/po/lang.dtd/ru-RU.po
+9 8 build/i18n/po/lang.dtd/tr-TR.po
+3 3 build/i18n/po/offline.properties/cs-CZ.po
+3 3 build/i18n/po/offline.properties/de-DE.po
+3 3 build/i18n/po/offline.properties/en-CA.po
+3 3 build/i18n/po/offline.properties/en-GB.po
+3 3 build/i18n/po/offline.properties/es-ES.po
+3 3 build/i18n/po/offline.properties/fi-FI.po
+3 3 build/i18n/po/offline.properties/fr-CA.po
+3 3 build/i18n/po/offline.properties/hy-AM.po
+3 3 build/i18n/po/offline.properties/oc-FR.po
+3 3 build/i18n/po/offline.properties/pt-BR.po
+3 3 build/i18n/po/offline.properties/ru-RU.po
+3 3 build/i18n/po/offline.properties/tr-TR.po
+3 3 build/i18n/po/opac.dtd/cs-CZ.po
+3 3 build/i18n/po/opac.dtd/de-DE.po
+3 3 build/i18n/po/opac.dtd/en-CA.po
+3 3 build/i18n/po/opac.dtd/en-GB.po
+3 3 build/i18n/po/opac.dtd/es-ES.po
+3 3 build/i18n/po/opac.dtd/fi-FI.po
+3 3 build/i18n/po/opac.dtd/fr-CA.po
+3 3 build/i18n/po/opac.dtd/he-IL.po
+3 3 build/i18n/po/opac.dtd/oc-FR.po
+3 3 build/i18n/po/opac.dtd/pt-BR.po
+3 3 build/i18n/po/opac.dtd/ru-RU.po
+3 3 build/i18n/po/opac.dtd/tr-TR.po
+3 3 build/i18n/po/opac.js/cs-CZ.po
+3 3 build/i18n/po/opac.js/de-DE.po
+3 3 build/i18n/po/opac.js/en-CA.po
+3 3 build/i18n/po/opac.js/en-GB.po
+3 3 build/i18n/po/opac.js/es-ES.po
+3 3 build/i18n/po/opac.js/fi-FI.po
+3 3 build/i18n/po/opac.js/fr-CA.po
+3 3 build/i18n/po/opac.js/hy-AM.po
+3 3 build/i18n/po/opac.js/oc-FR.po
+3 3 build/i18n/po/opac.js/pt-BR.po
+3 3 build/i18n/po/opac.js/ru-RU.po
+3 3 build/i18n/po/opac.js/sv-SE.po
+3 3 build/i18n/po/opac.js/tr-TR.po
+35 7 build/i18n/po/patron.properties/cs-CZ.po
+29 5 build/i18n/po/patron.properties/de-DE.po
+34 6 build/i18n/po/patron.properties/en-CA.po
+34 6 build/i18n/po/patron.properties/en-GB.po
+34 6 build/i18n/po/patron.properties/es-ES.po
+34 6 build/i18n/po/patron.properties/fi-FI.po
+34 6 build/i18n/po/patron.properties/fr-CA.po
+34 6 build/i18n/po/patron.properties/hy-AM.po
+34 6 build/i18n/po/patron.properties/oc-FR.po
+11 6 build/i18n/po/patron.properties/patron.properties.pot
+34 6 build/i18n/po/patron.properties/pt-BR.po
+29 5 build/i18n/po/patron.properties/ru-RU.po
+29 5 build/i18n/po/patron.properties/tr-TR.po
+3 3 build/i18n/po/pickup_and_return.js/cs-CZ.po
+3 3 build/i18n/po/pickup_and_return.js/de-DE.po
+3 3 build/i18n/po/pickup_and_return.js/en-CA.po
+3 3 build/i18n/po/pickup_and_return.js/en-GB.po
+3 3 build/i18n/po/pickup_and_return.js/es-ES.po
+3 3 build/i18n/po/pickup_and_return.js/fi-FI.po
+3 3 build/i18n/po/pickup_and_return.js/fr-CA.po
+3 3 build/i18n/po/pickup_and_return.js/hy-AM.po
+3 3 build/i18n/po/pickup_and_return.js/oc-FR.po
+3 3 build/i18n/po/pickup_and_return.js/pt-BR.po
+3 3 build/i18n/po/pickup_and_return.js/ru-RU.po
+3 3 build/i18n/po/pull_list.js/cs-CZ.po
+3 3 build/i18n/po/pull_list.js/de-DE.po
+3 3 build/i18n/po/pull_list.js/en-CA.po
+3 3 build/i18n/po/pull_list.js/en-GB.po
+3 3 build/i18n/po/pull_list.js/es-ES.po
+3 3 build/i18n/po/pull_list.js/fi-FI.po
+3 3 build/i18n/po/pull_list.js/fr-CA.po
+3 3 build/i18n/po/pull_list.js/hy-AM.po
+3 3 build/i18n/po/pull_list.js/oc-FR.po
+3 3 build/i18n/po/pull_list.js/pt-BR.po
+3 3 build/i18n/po/pull_list.js/ru-RU.po
+3 3 build/i18n/po/pull_list.js/tr-TR.po
+3 3 build/i18n/po/register.js/cs-CZ.po
+3 3 build/i18n/po/register.js/de-DE.po
+3 3 build/i18n/po/register.js/en-CA.po
+3 3 build/i18n/po/register.js/es-ES.po
+3 3 build/i18n/po/register.js/fi-FI.po
+3 3 build/i18n/po/register.js/fr-CA.po
+3 3 build/i18n/po/register.js/hy-AM.po
+3 3 build/i18n/po/register.js/oc-FR.po
+3 3 build/i18n/po/register.js/pt-BR.po
+3 3 build/i18n/po/register.js/ru-RU.po
+3 3 build/i18n/po/register.js/tr-TR.po
+3 3 build/i18n/po/reports.dtd/cs-CZ.po
+3 3 build/i18n/po/reports.dtd/de-DE.po
+3 3 build/i18n/po/reports.dtd/en-CA.po
+3 3 build/i18n/po/reports.dtd/es-ES.po
+3 3 build/i18n/po/reports.dtd/fi-FI.po
+3 3 build/i18n/po/reports.dtd/fr-CA.po
+3 3 build/i18n/po/reports.dtd/hy-AM.po
+3 3 build/i18n/po/reports.dtd/pt-BR.po
+3 3 build/i18n/po/reports.dtd/ru-RU.po
+3 3 build/i18n/po/reports.dtd/tr-TR.po
+3 3 build/i18n/po/reports.js/cs-CZ.po
+3 3 build/i18n/po/reports.js/de-DE.po
+3 3 build/i18n/po/reports.js/en-CA.po
+3 3 build/i18n/po/reports.js/es-ES.po
+3 3 build/i18n/po/reports.js/fi-FI.po
+3 3 build/i18n/po/reports.js/fr-CA.po
+3 3 build/i18n/po/reports.js/hu-HU.po
+3 3 build/i18n/po/reports.js/hy-AM.po
+3 3 build/i18n/po/reports.js/oc-FR.po
+3 3 build/i18n/po/reports.js/pt-BR.po
+3 3 build/i18n/po/reports.js/ru-RU.po
+3 3 build/i18n/po/reports.js/tr-TR.po
+3 3 build/i18n/po/reservation.js/cs-CZ.po
+3 3 build/i18n/po/reservation.js/de-DE.po
+3 3 build/i18n/po/reservation.js/en-CA.po
+3 3 build/i18n/po/reservation.js/en-GB.po
+3 3 build/i18n/po/reservation.js/es-ES.po
+3 3 build/i18n/po/reservation.js/fi-FI.po
+3 3 build/i18n/po/reservation.js/fr-CA.po
+3 3 build/i18n/po/reservation.js/hy-AM.po
+3 3 build/i18n/po/reservation.js/oc-FR.po
+3 3 build/i18n/po/reservation.js/pt-BR.po
+3 3 build/i18n/po/reservation.js/ru-RU.po
+3 3 build/i18n/po/selfcheck.js/cs-CZ.po
+3 3 build/i18n/po/selfcheck.js/de-DE.po
+3 3 build/i18n/po/selfcheck.js/en-CA.po
+3 3 build/i18n/po/selfcheck.js/en-GB.po
+3 3 build/i18n/po/selfcheck.js/es-ES.po
+3 3 build/i18n/po/selfcheck.js/fi-FI.po
+3 3 build/i18n/po/selfcheck.js/fr-CA.po
+3 3 build/i18n/po/selfcheck.js/hy-AM.po
+3 3 build/i18n/po/selfcheck.js/oc-FR.po
+3 3 build/i18n/po/selfcheck.js/pt-BR.po
+3 3 build/i18n/po/selfcheck.js/ru-RU.po
+3 3 build/i18n/po/serial.js/cs-CZ.po
+3 3 build/i18n/po/serial.js/es-ES.po
+3 3 build/i18n/po/serial.js/hy-AM.po
+3 3 build/i18n/po/serial.properties/cs-CZ.po
+3 3 build/i18n/po/serial.properties/de-DE.po
+3 3 build/i18n/po/serial.properties/en-CA.po
+3 3 build/i18n/po/serial.properties/es-ES.po
+3 3 build/i18n/po/serial.properties/fi-FI.po
+3 3 build/i18n/po/serial.properties/fr-CA.po
+3 3 build/i18n/po/serial.properties/hy-AM.po
+3 3 build/i18n/po/serial.properties/oc-FR.po
+3 3 build/i18n/po/serial.properties/pt-BR.po
+3 3 build/i18n/po/serial.properties/tr-TR.po
+190 194 build/i18n/po/tpac/cs-CZ.po
+189 193 build/i18n/po/tpac/de-DE.po
+189 193 build/i18n/po/tpac/en-CA.po
+189 193 build/i18n/po/tpac/en-GB.po
+189 193 build/i18n/po/tpac/es-ES.po
+203 195 build/i18n/po/tpac/fi-FI.po
+189 194 build/i18n/po/tpac/fr-CA.po
+189 193 build/i18n/po/tpac/hy-AM.po
+189 193 build/i18n/po/tpac/oc-FR.po
+188 192 build/i18n/po/tpac/pt-BR.po
+6 6 build/i18n/po/tpac/tpac.pot
+189 193 build/i18n/po/tpac/tr-TR.po
+3 3 build/i18n/po/vandelay.js/cs-CZ.po
+3 3 build/i18n/po/vandelay.js/en-GB.po
+3 3 build/i18n/po/vandelay.js/es-ES.po
+3 3 build/i18n/po/vandelay.js/hy-AM.po
+704 168 build/i18n/po/webstaff/webstaff.pot
+ create mode 100644 build/i18n/po/FlattenerGrid.js/cs-CZ.po
+ create mode 100644 build/i18n/po/PCrudFilterPane.js/cs-CZ.po
+
+commit 2435d433fcad79be6a6623cd36306e1f29c86869
+Author: Jason Stephenson <jstephenson at mvlc.org>
+Date: Wed Sep 16 17:41:46 2015 -0400
+
+ Porting 2.8.4->2.9.0 SQL upgrade
+
+ Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
+
+23251 0 Open-ILS/src/sql/Pg/version-upgrade/2.8.4-2.9.0-upgrade-db.sql
+ create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/2.8.4-2.9.0-upgrade-db.sql
diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application.pm
index d750216..326165a 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application.pm
@@ -7,7 +7,7 @@ use OpenILS::Utils::Fieldmapper;
sub ils_version {
# version format is "x-y-z", for example "2-0-0" for Evergreen 2.0.0
# For branches, format is "x-y"
- return "HEAD";
+ return "2-9-1";
}
__PACKAGE__->register_method(
diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index 31f73c4..62ac75a 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -92,6 +92,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 ('0949', :eg_version); -- csharp/kmlussier/dyrcona
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('2.9.1', :eg_version);
CREATE TABLE config.bib_source (
id SERIAL PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/version-upgrade/2.9.0-2.9.1-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/2.9.0-2.9.1-upgrade-db.sql
new file mode 100644
index 0000000..72e4f73
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/version-upgrade/2.9.0-2.9.1-upgrade-db.sql
@@ -0,0 +1,161 @@
+--Upgrade Script for 2.9.0 to 2.9.1
+\set eg_version '''2.9.1'''
+BEGIN;
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('2.9.1', :eg_version);
+
+SELECT evergreen.upgrade_deps_block_check('0948', :eg_version);
+
+ALTER TABLE biblio.monograph_part ADD COLUMN deleted BOOL NOT NULL DEFAULT FALSE;
+CREATE RULE protect_mono_part_delete AS ON DELETE TO biblio.monograph_part DO INSTEAD (
+ UPDATE biblio.monograph_part SET deleted = TRUE WHERE OLD.id = biblio.monograph_part.id;
+ DELETE FROM asset.copy_part_map WHERE part = OLD.id
+);
+
+CREATE OR REPLACE FUNCTION unapi.holdings_xml (
+ bid BIGINT,
+ ouid INT,
+ org TEXT,
+ depth INT DEFAULT NULL,
+ includes TEXT[] DEFAULT NULL::TEXT[],
+ slimit HSTORE DEFAULT NULL,
+ soffset HSTORE DEFAULT NULL,
+ include_xmlns BOOL DEFAULT TRUE,
+ pref_lib INT DEFAULT NULL
+)
+RETURNS XML AS $F$
+ SELECT XMLELEMENT(
+ name holdings,
+ XMLATTRIBUTES(
+ CASE WHEN $8 THEN 'http://open-ils.org/spec/holdings/v1' ELSE NULL END AS xmlns,
+ CASE WHEN ('bre' = ANY ($5)) THEN 'tag:open-ils.org:U2 at bre/' || $1 || '/' || $3 ELSE NULL END AS id,
+ (SELECT record_has_holdable_copy FROM asset.record_has_holdable_copy($1)) AS has_holdable
+ ),
+ XMLELEMENT(
+ name counts,
+ (SELECT XMLAGG(XMLELEMENT::XML) FROM (
+ SELECT XMLELEMENT(
+ name count,
+ XMLATTRIBUTES('public' as type, depth, org_unit, coalesce(transcendant,0) as transcendant, available, visible as count, unshadow)
+ )::text
+ FROM asset.opac_ou_record_copy_count($2, $1)
+ UNION
+ SELECT XMLELEMENT(
+ name count,
+ XMLATTRIBUTES('staff' as type, depth, org_unit, coalesce(transcendant,0) as transcendant, available, visible as count, unshadow)
+ )::text
+ FROM asset.staff_ou_record_copy_count($2, $1)
+ UNION
+ SELECT XMLELEMENT(
+ name count,
+ XMLATTRIBUTES('pref_lib' as type, depth, org_unit, coalesce(transcendant,0) as transcendant, available, visible as count, unshadow)
+ )::text
+ FROM asset.opac_ou_record_copy_count($9, $1)
+ ORDER BY 1
+ )x)
+ ),
+ CASE
+ WHEN ('bmp' = ANY ($5)) THEN
+ XMLELEMENT(
+ name monograph_parts,
+ (SELECT XMLAGG(bmp) FROM (
+ SELECT unapi.bmp( id, 'xml', 'monograph_part', evergreen.array_remove_item_by_value( evergreen.array_remove_item_by_value($5,'bre'), 'holdings_xml'), $3, $4, $6, $7, FALSE)
+ FROM biblio.monograph_part
+ WHERE NOT deleted AND record = $1
+ )x)
+ )
+ ELSE NULL
+ END,
+ XMLELEMENT(
+ name volumes,
+ (SELECT XMLAGG(acn ORDER BY rank, name, label_sortkey) FROM (
+ -- Physical copies
+ SELECT unapi.acn(y.id,'xml','volume',evergreen.array_remove_item_by_value( evergreen.array_remove_item_by_value($5,'holdings_xml'),'bre'), $3, $4, $6, $7, FALSE), y.rank, name, label_sortkey
+ FROM evergreen.ranked_volumes($1, $2, $4, $6, $7, $9, $5) AS y
+ UNION ALL
+ -- Located URIs
+ SELECT unapi.acn(uris.id,'xml','volume',evergreen.array_remove_item_by_value( evergreen.array_remove_item_by_value($5,'holdings_xml'),'bre'), $3, $4, $6, $7, FALSE), uris.rank, name, label_sortkey
+ FROM evergreen.located_uris($1, $2, $9) AS uris
+ )x)
+ ),
+ CASE WHEN ('ssub' = ANY ($5)) THEN
+ XMLELEMENT(
+ name subscriptions,
+ (SELECT XMLAGG(ssub) FROM (
+ SELECT unapi.ssub(id,'xml','subscription','{}'::TEXT[], $3, $4, $6, $7, FALSE)
+ FROM serial.subscription
+ WHERE record_entry = $1
+ )x)
+ )
+ ELSE NULL END,
+ CASE WHEN ('acp' = ANY ($5)) THEN
+ XMLELEMENT(
+ name foreign_copies,
+ (SELECT XMLAGG(acp) FROM (
+ SELECT unapi.acp(p.target_copy,'xml','copy',evergreen.array_remove_item_by_value($5,'acp'), $3, $4, $6, $7, FALSE)
+ FROM biblio.peer_bib_copy_map p
+ JOIN asset.copy c ON (p.target_copy = c.id)
+ WHERE NOT c.deleted AND p.peer_record = $1
+ LIMIT ($6 -> 'acp')::INT
+ OFFSET ($7 -> 'acp')::INT
+ )x)
+ )
+ ELSE NULL END
+ );
+$F$ LANGUAGE SQL STABLE;
+
+CREATE OR REPLACE FUNCTION unapi.bmp ( obj_id BIGINT, format TEXT, ename TEXT, includes TEXT[], org TEXT, depth INT DEFAULT NULL, slimit HSTORE DEFAULT NULL, soffset HSTORE DEFAULT NULL, include_xmlns BOOL DEFAULT TRUE ) RETURNS XML AS $F$
+ SELECT XMLELEMENT(
+ name monograph_part,
+ XMLATTRIBUTES(
+ CASE WHEN $9 THEN 'http://open-ils.org/spec/holdings/v1' ELSE NULL END AS xmlns,
+ 'tag:open-ils.org:U2 at bmp/' || id AS id,
+ id AS ident,
+ label,
+ label_sortkey,
+ 'tag:open-ils.org:U2 at bre/' || record AS record
+ ),
+ CASE
+ WHEN ('acp' = ANY ($4)) THEN
+ XMLELEMENT( name copies,
+ (SELECT XMLAGG(acp) FROM (
+ SELECT unapi.acp( cp.id, 'xml', 'copy', evergreen.array_remove_item_by_value($4,'bmp'), $5, $6, $7, $8, FALSE)
+ FROM asset.copy cp
+ JOIN asset.copy_part_map cpm ON (cpm.target_copy = cp.id)
+ WHERE cpm.part = $1
+ AND cp.deleted IS FALSE
+ ORDER BY COALESCE(cp.copy_number,0), cp.barcode
+ LIMIT ($7 -> 'acp')::INT
+ OFFSET ($8 -> 'acp')::INT
+
+ )x)
+ )
+ ELSE NULL
+ END,
+ CASE WHEN ('bre' = ANY ($4)) THEN unapi.bre( record, 'marcxml', 'record', evergreen.array_remove_item_by_value($4,'bmp'), $5, $6, $7, $8, FALSE) ELSE NULL END
+ )
+ FROM biblio.monograph_part
+ WHERE NOT deleted AND id = $1
+ GROUP BY id, label, label_sortkey, record;
+$F$ LANGUAGE SQL STABLE;
+
+
+
+SELECT evergreen.upgrade_deps_block_check('0949', :eg_version);
+
+CREATE OR REPLACE FUNCTION evergreen.protect_reserved_rows_from_delete() RETURNS trigger AS $protect_reserved$
+BEGIN
+IF OLD.id < TG_ARGV[0]::INT THEN
+ RAISE EXCEPTION 'Cannot delete row with reserved ID %', OLD.id;
+END IF;
+END
+$protect_reserved$
+LANGUAGE plpgsql;
+
+DROP TRIGGER IF EXISTS acq_no_deleted_reserved_cancel_reasons ON acq.cancel_reason;
+
+CREATE TRIGGER acq_no_deleted_reserved_cancel_reasons BEFORE DELETE ON acq.cancel_reason
+ FOR EACH ROW EXECUTE PROCEDURE evergreen.protect_reserved_rows_from_delete(2000);
+
+ALTER TABLE acq.cancel_reason ENABLE TRIGGER acq_no_deleted_reserved_cancel_reasons;
+
+COMMIT;
diff --git a/Open-ILS/xul/staff_client/chrome/content/main/about.html b/Open-ILS/xul/staff_client/chrome/content/main/about.html
index dd10653..412860d 100644
--- a/Open-ILS/xul/staff_client/chrome/content/main/about.html
+++ b/Open-ILS/xul/staff_client/chrome/content/main/about.html
@@ -1,7 +1,7 @@
<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_2_9_1</p>
<h2>What is Evergreen?</h2>
<blockquote>
<p>
diff --git a/Open-ILS/xul/staff_client/defaults/preferences/prefs.js b/Open-ILS/xul/staff_client/defaults/preferences/prefs.js
index 0613a13..aca8068 100644
--- a/Open-ILS/xul/staff_client/defaults/preferences/prefs.js
+++ b/Open-ILS/xul/staff_client/defaults/preferences/prefs.js
@@ -11,7 +11,7 @@ pref("toolkit.singletonWindowType", "eg_main");
pref("open-ils.enable_join_tabs", true);
// We'll use this one to help brand some build information into the client, and rely on subversion keywords
-pref("open-ils.repository.headURL","$HeadURL$");
+pref("open-ils.repository.headURL","http://git.evergreen-ils.org/?p=Evergreen.git;a=shortlog;h=refs/heads/tags/rel_2_9_1");
pref("open-ils.repository.author","$Author$");
pref("open-ils.repository.revision","$Revision$");
pref("open-ils.repository.date","$Date$");
diff --git a/Open-ILS/xul/staff_client/windowssetup.nsi b/Open-ILS/xul/staff_client/windowssetup.nsi
index a954357..285d0fd 100644
--- a/Open-ILS/xul/staff_client/windowssetup.nsi
+++ b/Open-ILS/xul/staff_client/windowssetup.nsi
@@ -3,7 +3,7 @@
; HM NIS Edit Wizard helper defines
; Old versions of makensis don't like this, moved to Makefile
;!define /file PRODUCT_VERSION "client/VERSION"
-!define PRODUCT_TAG "Master"
+!define PRODUCT_TAG "2.9"
!define PRODUCT_INSTALL_TAG "${PRODUCT_TAG}"
!define UI_IMAGESET "beta"
;!define UI_IMAGESET "release"
diff --git a/README b/README
deleted file mode 120000
index b57451a..0000000
--- a/README
+++ /dev/null
@@ -1 +0,0 @@
-docs/installation/server_installation.txt
\ No newline at end of file
diff --git a/README b/README
new file mode 100644
index 0000000..28689ba
--- /dev/null
+++ b/README
@@ -0,0 +1,641 @@
+Installing the Evergreen server
+===============================
+:toc:
+:numbered:
+
+Preamble: referenced user accounts
+----------------------------------
+
+In subsequent sections, we will refer to a number of different accounts, as
+follows:
+
+ * Linux user accounts:
+ ** The *user* Linux account is the account that you use to log onto the
+ Linux system as a regular user.
+ ** The *root* Linux account is an account that has system administrator
+ privileges. On Debian and Fedora 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**: Version 9.3 is recommended. The minimum supported version
+ is 9.1.
+ * **Linux**: Evergreen 2.8 has been tested on Debian Jessie (8.0),
+ Debian Wheezy (7.0), Debian Squeeze(6.0), Ubuntu Trusty Tahr (14.04),
+ Ubuntu Precise Pangolin (12.04), and Fedora.
+ 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, Ubuntu or Fedora websites.
+ * **OpenSRF**: The minimum supported version of OpenSRF is 2.4.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 (2.4.0 or later).
+ You can download OpenSRF releases from http://evergreen-ils.org/opensrf-downloads/
+2. On many distributions, it is necessary to install PostgreSQL 9.1+ from external
+ repositories.
++
+ * On Debian Squeeze, open `/etc/apt/sources.list` in a text editor as the
+ *root* Linux account and add the following line:
++
+[source, bash]
+------------------------------------------------------------------------------
+deb http://backports.debian.org/debian-backports squeeze-backports main contrib
+------------------------------------------------------------------------------
++
+ * Ubuntu Precise and Trusty comes with PostgreSQL 9.1+, so no additional steps are required.
+ * Fedora 19 and 20 come with PostgreSQL 9.2+, so no additional steps are required.
++
+3. On Debian and Ubuntu, run `aptitude update` as the *root* Linux account to
+ retrieve the new packages from the backports repository.
+4. Issue the following commands as the *root* Linux account to install
+ prerequisites using the `Makefile.install` prerequisite installer,
+ substituting `debian-jessie`, `debian-wheezy`, `debian-squeeze`, `fedora`,
+ `ubuntu-trusty`, or `ubuntu-precise` for <osname> below:
++
+[source, bash]
+------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install <osname>
+------------------------------------------------------------------------------
++
+5. Add the libdbi-libdbd libraries to the system dynamic library path by
+ issuing the following commands as the *root* Linux account:
++
+[NOTE]
+You should skip this step if installing on Ubuntu Precise, Trusty or Debian Jessie. The ubuntu
+and Debian Jessie targets use libdbd-pgsql from packages.
++
+.Debian Wheezy
+[source, bash]
+------------------------------------------------------------------------------
+echo "/usr/local/lib/dbd" > /etc/ld.so.conf.d/eg.conf
+ldconfig
+------------------------------------------------------------------------------
++
+.Fedora
+[source, bash]
+------------------------------------------------------------------------------
+echo "/usr/lib64/dbd" > /etc/ld.so.conf.d/eg.conf
+ldconfig
+------------------------------------------------------------------------------
+
+6. 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 retriving and managing web dependencies,
+ use the <osname>-developer Makefile.install target. Currently,
+ this is only needed for building and installing the (preview) browser
+ staff client.
++
+[source, bash]
+------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install <osname>-developer
+------------------------------------------------------------------------------
++
+ * 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
+------------------------------------------------------------------------------
+
+Configuration and compilation instructions
+------------------------------------------
+
+For the time being, we are still installing everything in the `/openils/`
+directory. From the Evergreen source directory, issue the following commands as
+the *user* Linux account to configure and build Evergreen:
+
+[source, bash]
+------------------------------------------------------------------------------
+PATH=/openils/bin:$PATH ./configure --prefix=/openils --sysconfdir=/openils/conf
+make
+------------------------------------------------------------------------------
+
+These instructions assume that you have also installed OpenSRF under `/openils/`.
+If not, please adjust PATH as needed so that the Evergreen `configure` script
+can find `osrf_config`.
+
+Installation instructions
+-------------------------
+
+1. Once you have configured and compiled Evergreen, issue the following
+ command as the *root* Linux account to install Evergreen, build the server
+ portion of the staff client, and copy example configuration files to
+ `/openils/conf`.
+ Change the value of the `STAFF_CLIENT_STAMP_ID` variable to match the version
+ of the staff client that you will use to connect to the Evergreen server.
++
+[source, bash]
+------------------------------------------------------------------------------
+make STAFF_CLIENT_STAMP_ID=rel_2_9_1 install
+------------------------------------------------------------------------------
++
+2. The server portion of the staff client expects `http://hostname/xul/server`
+ to resolve. Issue the following commands as the *root* Linux account to
+ create a symbolic link pointing to the `server` subdirectory of the server
+ portion of the staff client that we just built using the staff client ID
+ 'rel_name':
++
+[source, bash]
+------------------------------------------------------------------------------
+cd /openils/var/web/xul
+ln -sf rel_name/server server
+------------------------------------------------------------------------------
+
+Change ownership of the Evergreen files
+---------------------------------------
+
+All files in the `/openils/` directory and subdirectories must be owned by the
+`opensrf` user. Issue the following command as the *root* Linux account to
+change the ownership on the files:
+
+[source, bash]
+------------------------------------------------------------------------------
+chown -R opensrf:opensrf /openils
+------------------------------------------------------------------------------
+
+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
+-------------------------------
+
+1. Use the example configuration files in `Open-ILS/examples/apache/` (for
+Apache versions below 2.4) or `Open-ILS/examples/apache_24/` (for Apache
+versions 2.4 or greater) to configure your Web server for the Evergreen
+catalog, staff client, Web services, and administration interfaces. Issue the
+following commands as the *root* Linux account:
++
+.Debian Wheezy and Ubuntu Precise
+[source,bash]
+------------------------------------------------------------------------------
+cp Open-ILS/examples/apache/eg.conf /etc/apache2/sites-available/
+cp Open-ILS/examples/apache/eg_vhost.conf /etc/apache2/
+cp Open-ILS/examples/apache/eg_startup /etc/apache2/
+# Now set up SSL
+mkdir /etc/apache2/ssl
+cd /etc/apache2/ssl
+------------------------------------------------------------------------------
++
+.Ubuntu Trusty and Debian Jessie
+[source,bash]
+------------------------------------------------------------------------------------
+cp Open-ILS/examples/apache_24/eg_24.conf /etc/apache2/sites-available/eg.conf
+cp Open-ILS/examples/apache_24/eg_vhost_24.conf /etc/apache2/eg_vhost.conf
+cp Open-ILS/examples/apache/eg_startup /etc/apache2/
+# Now set up SSL
+mkdir /etc/apache2/ssl
+cd /etc/apache2/ssl
+------------------------------------------------------------------------------------
++
+.Fedora
+[source,bash]
+------------------------------------------------------------------------------
+cp Open-ILS/examples/apache_24/eg_24.conf /etc/httpd/conf.d/
+cp Open-ILS/examples/apache_24/eg_vhost_24.conf /etc/httpd/eg_vhost.conf
+cp Open-ILS/examples/apache/eg_startup /etc/httpd/
+# Now set up SSL
+mkdir /etc/httpd/ssl
+cd /etc/httpd/ssl
+------------------------------------------------------------------------------
++
+2. The `openssl` command cuts a new SSL key for your Apache server. For a
+production server, you should purchase a signed SSL certificate, but you can
+just use a self-signed certificate and accept the warnings in the staff client
+and browser during testing and development. Create an SSL key for the Apache
+server by issuing the following command as the *root* Linux account:
++
+[source,bash]
+------------------------------------------------------------------------------
+openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key
+------------------------------------------------------------------------------
++
+3. As the *root* Linux account, edit the `eg.conf` file that you copied into
+place.
+ a. To enable access to the offline upload / execute interface from any
+ workstation on any network, make the following change (and note that
+ you *must* secure this for a production instance):
+ * (Apache 2.2): Replace `Allow from 10.0.0.0/8` with `Allow from all`
+ * (Apache 2.4): Replace `Require host 10.0.0.0/8` with `Require all granted`
+ b. (Fedora): Change references from the non-existent `/etc/apache2/` directory
+ to `/etc/httpd/`.
+4. Change the user for the Apache server.
+ * (Debian and Ubuntu): As the *root* Linux account, edit
+ `/etc/apache2/envvars`. Change `export APACHE_RUN_USER=www-data` to
+ `export APACHE_RUN_USER=opensrf`.
+ * (Fedora): As the *root* Linux account , edit `/etc/httpd/conf/httpd.conf`.
+ Change `User apache` to `User opensrf`.
+5. Configure Apache with performance settings appropriate for Evergreen:
+ * (Debian and Ubuntu): As the *root* Linux account, edit
+ `/etc/apache2/apache2.conf`:
+ * (Fedora): As the *root* Linux account, edit `/etc/httpd/conf/httpd.conf`:
+ a. Change `KeepAliveTimeout` to `1`. Higher values reduce the chance of
+ a request timing out unexpectedly, but increase the risk of using up
+ all available Apache child processes.
+ b. 'Optional': Change `MaxKeepAliveRequests` to `100`
+ c. (Debian Wheezy, Ubuntu Precise, and Fedora) Update the prefork configuration
+ section to suit your environment. The following settings apply to a busy
+ system:
++
+[source,bash]
+------------------------------------------------------------------------------
+<IfModule mpm_prefork_module>
+ StartServers 20
+ MinSpareServers 5
+ MaxSpareServers 15
+ MaxClients 150
+ MaxRequestsPerChild 10000
+</IfModule>
+------------------------------------------------------------------------------
+ d. (Ubuntu Trusty, Debian Jessie) As the *root* user, edit
+ /etc/apache2/mods-available/mpm_prefork.conf to match the above values.
+ Then, also as the *root* user, enable the mpm_prefork module by doing:
++
+[source,bash]
+------------------------------------------------------------------------------
+a2dismod mpm_event
+a2enmod mpm_prefork
+------------------------------------------------------------------------------
++
+6. (Fedora): As the *root* Linux account, edit the `/etc/httpd/eg_vhost.conf`
+ file to change references from the non-existent `/etc/apache2/` directory
+ to `/etc/httpd/`.
+7. (Debian Wheezy and Ubuntu Precise): As the *root* Linux account, enable the Evergreen site:
++
+[source,bash]
+------------------------------------------------------------------------------
+a2dissite default # OPTIONAL: disable the default site (the "It Works" page)
+a2ensite eg.conf
+------------------------------------------------------------------------------
++
+(Ubuntu Trusty, Debian Jessie):
++
+[source,bash]
+------------------------------------------------------------------------------
+a2dissite 000-default # OPTIONAL: disable the default site (the "It Works" page)
+a2ensite eg.conf
+------------------------------------------------------------------------------
++
+8. (Ubuntu): As the *root* Linux account, enable Apache to write
+ to the lock directory; this is currently necessary because Apache
+ is running as the `opensrf` user:
++
+[source,bash]
+------------------------------------------------------------------------------
+chown opensrf /var/lock/apache2
+------------------------------------------------------------------------------
++
+9. 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 the following section, sets the database
+connection information in `opensrf.xml` for you.
+
+Creating the Evergreen database
+-------------------------------
+
+Setting up the PostgreSQL server
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For production use, most libraries install the PostgreSQL database server on a
+dedicated machine. Therefore, by default, the `Makefile.install` prerequisite
+installer does *not* install the PostgreSQL 9 database server that is required
+by every Evergreen system. You can install the packages required by Debian or
+Ubuntu on the machine of your choice using the following commands as the
+*root* Linux account:
+
+.(Debian / Ubuntu / Fedora) 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-jessie
+make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-wheezy
+make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-squeeze
+make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-precise
+make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-trusty
+make -f Open-ILS/src/extras/Makefile.install postgres-server-fedora
+------------------------------------------------------------------------------
+
+.(Fedora) Postgres initialization
+
+Installing Postgres on Fedora also requires you to initialize the PostgreSQL
+cluster and start the service. Issue the following commands as the *root* user:
+
+[source, bash]
+------------------------------------------------------------------------------
+postgresql-setup initdb
+systemctl start postgresql
+------------------------------------------------------------------------------
+
+For a standalone PostgreSQL server, install the following Perl modules for your
+distribution as the *root* Linux account:
+
+.(Ubuntu Precise)
+[source,bash]
+---------------------------------------------------------------------------------
+cpan Rose::URI
+---------------------------------------------------------------------------------
+
+.(Debian "wheezy" and Ubuntu Trusty)
+No extra modules required for these distributions.
+
+.(Fedora)
+[source, bash]
+------------------------------------------------------------------------------
+cpan Rose::URI
+------------------------------------------------------------------------------
+
+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, and in
+the `/var/lib/pgsql/data/` directory on Fedora. 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.1 and later
+^^^^^^^^^^^^^^^^^^^^^^^^
+To create the database instance on a remote database server running PostgreSQL
+9.1 or later, simply use the `--create-database` flag on `eg_db_config`.
+
+Starting Evergreen
+------------------
+1. As the *root* Linux account, start the `memcached` and `ejabberd` services
+(if they aren't already running):
++
+[source, bash]
+------------------------------------------------------------------------------
+/etc/init.d/ejabberd start
+/etc/init.d/memcached start
+------------------------------------------------------------------------------
++
+2. As the *opensrf* Linux account, start Evergreen. The `-l` flag in the
+following command is only necessary if you want to force Evergreen to treat the
+hostname as `localhost`; if you configured `opensrf.xml` using the real
+hostname of your machine as returned by `perl -ENet::Domain 'print
+Net::Domain::hostfqdn() . "\n";'`, you should not use the `-l` flag.
++
+[source, bash]
+------------------------------------------------------------------------------
+osrf_control -l --start-all
+------------------------------------------------------------------------------
++
+ ** If you receive the error message `bash: osrf_control: command not found`,
+ then your environment variable `PATH` does not include the `/openils/bin`
+ directory; this should have been set in the *opensrf* Linux account's
+ `.bashrc` configuration file. To manually set the `PATH` variable, edit the
+ configuration file `~/.bashrc` as the *opensrf* Linux account and add the
+ following line:
++
+[source, bash]
+------------------------------------------------------------------------------
+export PATH=$PATH:/openils/bin
+------------------------------------------------------------------------------
++
+3. As the *opensrf* Linux account, generate the Web files needed by the staff
+ client and catalogue and update the organization unit proximity (you need to do
+ this the first time you start Evergreen, and after that each time you change the library org unit configuration.
+):
++
+[source, bash]
+------------------------------------------------------------------------------
+autogen.sh
+------------------------------------------------------------------------------
++
+4. As the *root* Linux account, restart the Apache Web server:
++
+[source, bash]
+------------------------------------------------------------------------------
+/etc/init.d/apache2 restart
+------------------------------------------------------------------------------
++
+If the Apache Web server was running when you started the OpenSRF services, you
+might not be able to successfully log in to the OPAC or staff client until the
+Apache Web server is restarted.
+
+Testing connections to Evergreen
+--------------------------------
+
+Once you have installed and started Evergreen, test your connection to
+Evergreen via `srfsh`. As the *opensrf* Linux account, issue the following
+commands to start `srfsh` and try to log onto the Evergreen server using the
+*egadmin* Evergreen administrator user name and password that you set using the
+`eg_db_config` command:
+
+[source, bash]
+------------------------------------------------------------------------------
+/openils/bin/srfsh
+srfsh% login <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.
diff --git a/configure.ac b/configure.ac
index 585ab00..0817812 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,8 +20,8 @@
export PATH=${PATH}:/usr/sbin
AC_PREREQ(2.61)
-AC_INIT(Open-ILS, trunk, open-ils-dev at list.georgialibraries.org)
-AM_INIT_AUTOMAKE([OpenILS], [trunk])
+AC_INIT(Open-ILS, 2.9.1, open-ils-dev at list.georgialibraries.org)
+AM_INIT_AUTOMAKE([OpenILS], [2.9.1])
AC_REVISION($Revision: 0.1 $)
AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_SUBDIRS([Open-ILS/xul/staff_client/external/libmar])
commit 9ab68575873400148b57460297f776fc797b5ce3
Author: Jason Stephenson <jstephenson at mvlc.org>
Date: Wed Nov 18 11:36:16 2015 -0500
bumping Perl version string for 2.9.1
Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>
diff --git a/Open-ILS/src/perlmods/lib/OpenILS.pm b/Open-ILS/src/perlmods/lib/OpenILS.pm
index a099119..fc63afb 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS.pm
@@ -6,6 +6,6 @@ OpenILS - Client and server support for the Evergreen open source library system
=cut
-our $VERSION = '2.09';
+our $VERSION = '2.0901';
1;
-----------------------------------------------------------------------
hooks/post-receive
--
Evergreen ILS
More information about the open-ils-commits
mailing list