Bumping version numbers, adding Upgrade Script and Changelog
authorBill Erickson <berick@esilibrary.com>
Wed, 19 Sep 2012 17:48:27 +0000 (13:48 -0400)
committerBill Erickson <berick@esilibrary.com>
Wed, 19 Sep 2012 17:48:27 +0000 (13:48 -0400)
Signed-off-by: Bill Erickson <berick@esilibrary.com>

ChangeLog
Open-ILS/src/perlmods/lib/OpenILS/Application.pm
Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/version-upgrade/2.2-2.3.0-upgrade-db.sql [new file with mode: 0644]
Open-ILS/xul/staff_client/chrome/content/main/about.html
Open-ILS/xul/staff_client/defaults/preferences/prefs.js
Open-ILS/xul/staff_client/windowssetup.nsi
README [changed from symlink to file mode: 0000->0644]
build/tools/make_release
configure.ac

index 1f72b2c..d4ab5f2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-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 6c7dea2305ee37bda4b3a303b1bbc9ab18c03675
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Wed Sep 19 10:19:48 2012 -0400
+
+    Default notify by text receipt replaces to blank
+    
+    So that when the option is disabled we don't leave behind things like
+    %notify_by_text% and %notify_by_text_msg%.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+
+2      0       Open-ILS/xul/staff_client/server/circ/util.js
+
+commit 90282ece441a69a1b12ec312712fc59a8ec59502
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Wed Sep 12 12:59:53 2012 -0400
+
+    TPAC: Results - don't show the pubdate if we're showing full pubinfo
+    
+    In the "show few details" mode, we show just the pubdate; in the "show
+    full details" mode, we're showing the full pubinfo and therefore do not
+    need to show the stubby pubdate.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+5      0       Open-ILS/src/templates/opac/parts/result/table.tt2
+
+commit a259f3edafa118f7cd55d4997138e7da6f668db3
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Wed Sep 12 11:50:03 2012 -0400
+
+    TPAC: Display full publication info
+    
+    In both the results table and record summary, we were failing to display
+    the place of publication - which is critical information for people
+    trying to track down the right edition or constructing a bibliography.
+    
+    Grab the place of publication, and then reconstruct 260abc (avoiding
+    another XPath iteration and giving ourselves the ability to enhance the
+    schema.org microdata at the same time).
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+9      0       Open-ILS/src/templates/opac/parts/misc_util.tt2
+9      6       Open-ILS/src/templates/opac/parts/record/summary.tt2
+2      4       Open-ILS/src/templates/opac/parts/result/table.tt2
+
+commit 030b126a938c13ce2f3bc5d042ecb53059a0dca3
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Mon Aug 20 12:22:44 2012 -0400
+
+    Enable 1-hit redirect for item barcode searches
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+4      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+
+commit d3cdd1b282b05b5326be0685b753b39c554b2b4a
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Sep 17 08:48:26 2012 -0400
+
+    Protect against fleshed circ_lib in legacy check_age_protect
+    
+    Retrieving org settings with an org unit object as the context org unit
+    results in errors and dying.
+    
+    This affects legacy scripts only.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+
+3      1       Open-ILS/src/perlmods/lib/OpenILS/Utils/PermitHold.pm
+
+commit 0bc6db4c7e0ec656437576b094c7381be6d722f0
+Author: Kathy Lussier <klussier@masslnc.org>
+Date:   Sun Sep 16 00:56:55 2012 -0400
+
+    Various additions to the 2.3 release notes.
+    
+    Signed-off-by: Kathy Lussier <klussier@masslnc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+112    4       docs/RELEASE_NOTES_2_3.txt
+
+commit 2a901f7e7ad5b12b44829120e6579d9fc8b15b8c
+Author: Ben Shum <bshum@biblio.org>
+Date:   Mon Sep 10 15:03:59 2012 -0400
+
+    Hide Print Page button on Simplified Pull List
+    
+    On the Simplified Pull List interface, there is a button for "Print Page"
+    that shows up in the upper right corner. The suggestion is to hide that
+    button to avoid library staff printing just what's visible instead of using
+    the proper "Print Pull List" button that's actually on the page.
+    
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/xul/staff_client/server/patron/holds.js
+
+commit 5eab979b3df377ce26c29e080683cf78e344cdc7
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Thu Sep 6 12:25:01 2012 -0400
+
+    TPAC: Escape single quotes in MFHD record location
+    
+    If an MFHD record contains an 852 field with a subfield containing a
+    single quote, the unescaped single quote is introduced directly into the
+    value of the JavaScript hash that uses single quotes as delimiters -
+    thereby generating a JS exception and preventing the staff client from
+    properly populating the MFHD Editor menu.
+    
+    This commit escapes incoming single quotes from the MFHD location field
+    to prevent that from happening. The other fields in the JS hash are
+    numeric and therefore should not need escaping.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+1      1       Open-ILS/src/templates/opac/parts/js.tt2
+
+commit 3410af32019b97b92994ec1b34d0bfa45df7bffd
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Fri Sep 7 11:42:12 2012 -0400
+
+    Revert "Bug #1044721: QP handles explicit group+joiner badly"
+    
+    This reverts commit b77bb9943009b81042b4ef1a6ac33ec9e3e96dd7.
+    
+    Unfortunately this had side effects that escaped our manual testing
+    processes.  Especially with facets as reported by Ben Shum.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+0      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+
+commit b71ae38b20b0d4bc9a6ee8f8a84b2a5a68f44997
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Thu Sep 6 23:37:32 2012 -0400
+
+    Journal title hackery - move to a more robust location
+    
+    The fix for bug #1044721 broke the journal title hack, which probably
+    should have lived where this commit moves it - if, in the age of filter
+    groups, we decide whether it's worthwhile to keep it alive at all.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+5      5       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+
+commit cc9af130212128a4941526da9f79938001adf140
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Tue Sep 4 17:09:44 2012 -0400
+
+    Upgrade bits for Vandelay Overlay Changes
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+249    0       Open-ILS/src/sql/Pg/upgrade/0738.schema.vandelay.import-match-no-like-any.sql
+0      249     Open-ILS/src/sql/Pg/upgrade/XXXX.schema.vandelay.import-match-no-like-any.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0738.schema.vandelay.import-match-no-like-any.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.vandelay.import-match-no-like-any.sql
+
+commit c8057504ca1e6675cd05f9d7248bb73157435d97
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Thu Aug 30 15:26:15 2012 -0400
+
+    Increase Overlay Speed for Standard Identifiers
+    
+    Due to an inefficient query order and a confused query planner,
+    some overlay matching can end up going abysmally slow.  See LP
+    bug #1024095 for elaboration on the issue.
+    
+    This commit reorders the joins as originally suggested by Lebbeous,
+    then adds a specific index to coax the query planner into making the
+    best choices.  The example index here only targets the 02x identifier
+    fields, so other tag/subfield/substring(value) indexes will likely
+    be necessary for maximum benefit when matching on other fields
+    (e.g. 010).
+    
+    These changes combined with the previous commit which replaces 'LIKE
+    ANY' with 'LIKE (... OR ...)' has shown great promise in testing.
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+26     19      Open-ILS/src/sql/Pg/012.schema.vandelay.sql
+14     0       Open-ILS/src/sql/Pg/030.schema.metabib.sql
+41     20      Open-ILS/src/sql/Pg/upgrade/XXXX.schema.vandelay.import-match-no-like-any.sql
+
+commit b82c278f404a142bb55d3659d61c5acf1087cf4c
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Mon Jun 25 20:00:33 2012 -0400
+
+    Vandelay: Fix index-miss with MARC Imports using Match Sets
+    
+    In some Postgres installations, an expression such as:
+    
+    (value LIKE '13423488%' OR value LIKE '245425%') will use a btree index,
+    but
+    
+    value LIKE ANY('{13423488%,245425%}'::TEXT[])
+    
+    will not.
+    
+    Missing such an index can make matching incoming bibs based on a field
+    that's present in most of your existing records terrifically slow.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+56     14      Open-ILS/src/sql/Pg/012.schema.vandelay.sql
+228    0       Open-ILS/src/sql/Pg/upgrade/XXXX.schema.vandelay.import-match-no-like-any.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.vandelay.import-match-no-like-any.sql
+
+commit 2e4ea92f7090bbd9c8db015e91548d69edfd470a
+Author: Jared Camins-Esakov <jcamins@cpbibliography.com>
+Date:   Sat Sep 1 10:21:51 2012 -0400
+
+    Bug #1044721: QP handles explicit group+joiner badly
+    
+    Although the following four queries should be equivalent:
+      george  ||  fred
+     (george) ||  fred
+      george  || (fred)
+     (george) || (fred)
+    
+    The Pg QueryParser driver generates SQL queries that return different
+    numbers of results for each of those queries, with all desired results
+    appearing only with the first query. This seems to be because of the way
+    filters are added in the interface.
+    
+    This patch adjusts the Search code in TPAC to add an explicit group
+    around the user-entered query, which enables the Pg QueryParser driver
+    to handle all four of the above queries properly.
+    
+    This patch should also resolve the problems encountered with the patch
+    for bug #1040740, "Implicit ANDs should have higher precedence than
+    explicit ORs"
+    
+    Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+
+commit ad51dc50b0fc2829db25dd604fc8241a6bfd10ff
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Sep 4 14:43:27 2012 -0400
+
+    Gracefully handle reporter class with no labels
+    
+    LP 1045964 -- unable to clone report template
+    
+    The template interface was failing while rendering the reporter sources
+    drop-down when a reporter source (IDL class) had no label.  This adds a
+    sanity check around that.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+14     6       Open-ILS/web/reports/xul/source-setup.js
+
+commit ad886561bb09256c72a6d9ea62ed7e02c90f8f73
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Tue Sep 4 13:23:37 2012 -0400
+
+    Fix Merge All Records in Bucket action
+    
+    A xul file was not being prefixed with oils://remote
+    
+    Note: This is a quick fix. Ideally we move the url to constants.js.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+1      1       Open-ILS/xul/staff_client/server/cat/record_buckets.js
+
+commit 0a89f1ef40f15ecffbab0d36a69d7477ecad618b
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Tue Sep 4 13:46:41 2012 -0400
+
+    Define a few strings missing from cat.properties
+    
+    By the power of build/i18n/test/check_properties.py ...
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+2      0       Open-ILS/xul/staff_client/server/locale/en-US/cat.properties
+9      1       build/i18n/po/cat.properties/cat.properties.pot
+
+commit b54b6c5b47c174d6597bbd0a9b2e62797ca662c1
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Aug 31 18:46:27 2012 -0400
+
+    Importing translations for 2.3.rc1
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+6      4       build/i18n/po/circ.properties/cs-CZ.po
+7      7       build/i18n/po/circ.properties/es-ES.po
+4      4       build/i18n/po/common.properties/cs-CZ.po
+5      5       build/i18n/po/conify.js/cs-CZ.po
+738    738     build/i18n/po/db.seed/cs-CZ.po
+719    719     build/i18n/po/db.seed/de-DE.po
+719    719     build/i18n/po/db.seed/en-CA.po
+719    719     build/i18n/po/db.seed/en-GB.po
+719    719     build/i18n/po/db.seed/es-ES.po
+719    719     build/i18n/po/db.seed/fr-CA.po
+719    719     build/i18n/po/db.seed/hy-AM.po
+719    719     build/i18n/po/db.seed/oc-FR.po
+719    719     build/i18n/po/db.seed/pt-BR.po
+719    719     build/i18n/po/db.seed/ru-RU.po
+719    719     build/i18n/po/db.seed/tr-TR.po
+1396   1396    build/i18n/po/fm_IDL.dtd/cs-CZ.po
+1366   1366    build/i18n/po/fm_IDL.dtd/de-DE.po
+1366   1366    build/i18n/po/fm_IDL.dtd/en-CA.po
+1366   1366    build/i18n/po/fm_IDL.dtd/en-GB.po
+1366   1366    build/i18n/po/fm_IDL.dtd/es-ES.po
+1366   1366    build/i18n/po/fm_IDL.dtd/fr-CA.po
+1366   1366    build/i18n/po/fm_IDL.dtd/hy-AM.po
+1366   1366    build/i18n/po/fm_IDL.dtd/pt-BR.po
+1366   1366    build/i18n/po/fm_IDL.dtd/ru-RU.po
+1366   1366    build/i18n/po/fm_IDL.dtd/tr-TR.po
+21     15      build/i18n/po/ils_events.xml/cs-CZ.po
+13     13      build/i18n/po/ils_events.xml/de-DE.po
+20     14      build/i18n/po/ils_events.xml/en-CA.po
+20     14      build/i18n/po/ils_events.xml/en-GB.po
+13     13      build/i18n/po/ils_events.xml/es-ES.po
+20     14      build/i18n/po/ils_events.xml/fr-CA.po
+20     14      build/i18n/po/ils_events.xml/hy-AM.po
+19     13      build/i18n/po/ils_events.xml/pt-BR.po
+19     13      build/i18n/po/ils_events.xml/ru-RU.po
+80     76      build/i18n/po/lang.dtd/cs-CZ.po
+192    164     build/i18n/po/lang.dtd/hy-AM.po
+4      4       build/i18n/po/offline.properties/cs-CZ.po
+12     3       build/i18n/po/opac.dtd/cs-CZ.po
+4      4       build/i18n/po/register.js/cs-CZ.po
+32     24      build/i18n/po/tpac/tpac.pot
+
+commit 2f9f5bb869d1bc4764dab06c0c8a0b22b827bca8
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Sat Sep 1 22:59:21 2012 -0400
+
+    Do the SQL upgrade dance for list pubdate in CSV
+    
+    With a slight tweak to base the upgrade off of the event definition name
+    instead of the ID; possibly more resilient.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+33     0       Open-ILS/src/sql/Pg/upgrade/0737.data.update_ContainerCSV_template.sql
+0      33      Open-ILS/src/sql/Pg/upgrade/XXXX.data.update_ContainerCSV_template.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0737.data.update_ContainerCSV_template.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.update_ContainerCSV_template.sql
+
+commit 49bc2a5ef1ed7c08433fd66311dccb1e6a906841
+Author: Jason Stephenson <jstephenson@mvlc.org>
+Date:   Fri Jul 27 09:25:05 2012 -0400
+
+    Add pub date to CSV output.
+    
+    Change the template for the ContainerCSV reactor to add the publication
+    date (MARC 260$c) in the csv output in the same position that the previous
+    commit adds it to the html output.
+    
+    Add an upgrade script to update the existing template for the ContainerCSV
+    reactor in action_trigger.event_definition.
+    
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+9      2       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+33     0       Open-ILS/src/sql/Pg/upgrade/XXXX.data.update_ContainerCSV_template.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.update_ContainerCSV_template.sql
+
+commit bf49cb3320e9db758a43427c05fea4a9ddfd932f
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Sat Aug 4 10:10:48 2012 -0400
+
+    TPAC: Add the ability to set a different default locale
+    
+    Installations with multiple sites might desire different default locales
+    for their skins. This adds the Apache config directive
+    "OILSWebDefaultLocale", which enables you to set the default locale on a
+    global and a per-skin basis.
+    
+    Note that this prevents the browser Accept-language header from having
+    any effect; sadly that header is not often used in real life.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Art Rhyno <art632000@yahoo.ca>
+    
+    Conflicts:
+       Open-ILS/examples/apache/eg_vhost.conf
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+3      0       Open-ILS/examples/apache/eg_vhost.conf
+3      2       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGWeb.pm
+
+commit 5a9cdfe597cc34b97f7b7d320edf03b1f5f9ba12
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Mon Aug 13 16:50:33 2012 -0400
+
+    TPAC: Make call number browse record links retain search lib
+    
+    In addition to maintaining scope for the call number browse search
+    results, we also need to maintain the scope for the links for the call
+    number records in the results themselves (for example, the "retrieve
+    this record" link, or the "search for this author" link).
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+7      5       Open-ILS/src/templates/opac/parts/record/cnbrowse.tt2
+
+commit 09ede3bba9fe863528a44bec623f611ac1f0b1bf
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Thu Aug 30 14:52:08 2012 -0400
+
+    Documentation: remove file reference to line items since section was moved to another file.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+0      2       docs/root.txt
+
+commit 33eb168b769ea6be834f80b519c7d2ce542d0a48
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Thu Aug 30 14:40:00 2012 -0400
+
+    Documentation: Add sections for new features in Acquisitions
+    
+    From: http://www.esilibrary.com/esi/availableDocs.php
+    RS added some index terms to start beefing up our index for the docs.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+86     0       docs/acquisitions/invoices.txt
+61     0       docs/acquisitions/selection_lists_po.txt
+80     0       docs/admin/acquisitions_admin.txt
+-      -       docs/media/Core_Source_1.jpg
+-      -       docs/media/Core_Source_1.jpg.1
+-      -       docs/media/Electronic_invoicing1.jpg
+-      -       docs/media/Fiscal_Rollover1.jpg
+-      -       docs/media/Return_to_line_item1.jpg
+-      -       docs/media/Search_for_line_items_from_an_invoice1.jpg
+-      -       docs/media/Search_for_line_items_from_an_invoice2.jpg
+-      -       docs/media/Search_for_line_items_from_an_invoice3.jpg
+-      -       docs/media/Search_for_line_items_from_an_invoice5.jpg
+-      -       docs/media/Zero_Copies1.jpg
+4      0       docs/root.txt
+ create mode 100644 docs/acquisitions/invoices.txt
+ create mode 100644 docs/media/Core_Source_1.jpg
+ create mode 100644 docs/media/Core_Source_1.jpg.1
+ create mode 100644 docs/media/Electronic_invoicing1.jpg
+ create mode 100644 docs/media/Fiscal_Rollover1.jpg
+ create mode 100644 docs/media/Return_to_line_item1.jpg
+ create mode 100644 docs/media/Search_for_line_items_from_an_invoice1.jpg
+ create mode 100644 docs/media/Search_for_line_items_from_an_invoice2.jpg
+ create mode 100644 docs/media/Search_for_line_items_from_an_invoice3.jpg
+ create mode 100644 docs/media/Search_for_line_items_from_an_invoice5.jpg
+ create mode 100644 docs/media/Zero_Copies1.jpg
+
+commit ea3c080f79fe9670f782330bf51acec5fb53d1bb
+Author: Steven Callender <stevecallender@esilibrary.com>
+Date:   Tue Jul 10 15:43:59 2012 -0400
+
+    Changed the thawing of a hold to first update the hold record and then re-target.
+    
+    When thawing a hold, originaly we were first re-targeting before actually saving the hold record. On items with large quantities, sometimes the hold would timeout on targetig before getting a chance to actually save. This patch moves things around to first save the hold record before attempting to retarget.
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+11     1       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
+
+commit 82015125fc0444744438b937d961953f6e4dbcd3
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Thu Aug 30 12:42:01 2012 -0400
+
+    Acq: In general search, make value widgets for OU-linked fields right again
+    
+    They always used to be OU selector dropdowns until a thinko in 55a82b5.
+    This restores them.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+0      1       Open-ILS/web/js/ui/default/acq/search/unified.js
+
+commit 6f9892fc38372d812fd2d8e3cd1be4523fd9e89b
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Thu Aug 30 12:20:13 2012 -0400
+
+    Acq: Fix General Search for Lineitem Attribute-based fields
+    
+    Reported by Ben Shum and Kathy Lussier, the Acq General Search interface
+    was broken in that you couldn't use any of the search fields under
+    Lineitem Attribute.  This error was indeed introduced by recent commit
+    55a82b5 as Ben determined, but simply reverting that commit left other
+    things broken.
+    
+    This commit actually targets the problem and seems to fix it in my
+    testing.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+7      1       Open-ILS/web/js/ui/default/acq/search/unified.js
+
+commit 746f6bd12298b0ceb510a307cce11f62fdeeff75
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Tue Aug 28 16:09:00 2012 -0400
+
+    Acq: New lineitems added to existing POs should inherit provider
+    
+    Jeremy Miller of the Albany Public Library in Albany, OR, reports that
+    through the interface at
+        Actions For This Record -> View/Place Orders
+    in the staff client, when you add a lineitem to an existing PO, the new
+    lineitem has a null value in the "provider" field, instead of inheriting
+    the expected value from the PO.
+    
+    This causes problems for some Acquisitions workflows.
+    
+    The feature containing the bug appeared in 2.2, and this fix for it can be
+    backported that far.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+1      0       Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm
+
+commit 1edb729441393e32b85a33363313754da7f1713c
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed May 2 09:55:06 2012 -0400
+
+    ACQ support for two-step vandelay imports
+    
+    If a lineitm is loaded into a queue via ACQ+Vandelay and a later attempt
+    is made to load the record into the catalog via ACQ+Vandelay, the
+    attempt will fail, because ACQ+Vandelay treats all
+    not-yet-fully-imported lineitems as new to vandelay.  This change
+    inspects lineitems at vandelay processing time to determine if they are
+    already linked to a VL record or if a new one is needed.  It also
+    removes the requirement that a queue be provided when all records in
+    process are already linked to a VL record (which already lives in a
+    queue).
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Kathy Lussier <klussier@masslnc.org>
+
+55     15      Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm
+
+commit ba572b67a7b29c98c59bf10a996f505f59c99721
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Aug 24 13:27:24 2012 -0400
+
+    Add kpac to 2.3 release notes
+    
+    This is a snippet from the main kpac documentation in
+    docs/opac/kids_opac.txt, added to make sure it's represented in the
+    release notes.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+12     0       docs/RELEASE_NOTES_2_3.txt
+
+commit c02ff7a618740b70ef52c55e37d177f96ef19954
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Mon Aug 13 11:47:48 2012 -0400
+
+    Fix sorting when printing from FlattenerGrid-based interfaces
+    
+    This particularly affects the Simplified Hold Pull List.  The printed
+    verison of your data is supposed to reflect the same sort order that has
+    been selected in the visual interface, and now it does.
+    
+    Buggy handling of the different avenues of sorting the grid (clicking column
+    headers, using the column-picker/multicolumn-sort dialog, default sort order)
+    had broken the flow of the data needed to build the right sort clause for
+    some situations.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+8      1       Open-ILS/web/js/dojo/openils/FlattenerStore.js
+
+commit 8e34e5684cd2cba66e329126229a08e4dd47cfb6
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Thu Aug 23 23:02:42 2012 -0400
+
+    Fix epub complaint about image with extra colon
+    
+    The "+" operators are typically only used to embed an image within an
+    ordered or unordered list to avoid breaking the indentation level or
+    numbering; here, we were using the "+" operators between regular
+    paragraphs, which doesn't make much sense. What made less sense was the
+    processing result, which bizarrely added an extra colon to the front of
+    the image path, leading to a (naturally) missing image and processing
+    error.
+    
+    The fix is just to throw the image tag in between the paragraphs with no
+    special "+" operators; just blank lines.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+0      2       docs/reports/reporter_template_terminology.txt
+
+commit 0fd2f90265277545e6836e0157b4e1f38bcf9872
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Thu Aug 23 21:12:40 2012 -0400
+
+    Document how to create a TPAC/KPAC search box
+    
+    Now that we're in the land of the TPAC, it's time to ensure that
+    everyone can update their simple search boxes so that they no longer
+    point at the JSPAC and point at the TPAC or Kid's OPAC instead.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+28     0       docs/opac/search_form.txt
+9      0       docs/root.txt
+ create mode 100644 docs/opac/search_form.txt
+
+commit df7a3d85fe3e028c8718c7c92d1e0fe7cd588ef4
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Thu Aug 23 21:14:02 2012 -0400
+
+    Resolve doc PDF transform error
+    
+    The doc build gets angry when a target that does not exist is linked
+    from somewhere else in the docs. So, make the target exist.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      0       docs/reports/reporter_template_terminology.txt
+
+commit 0b658ffde3006abb3077c8b0b0b0c1e45dc753ed
+Author: Sally Fortin <sfortin@esilibrary.com>
+Date:   Thu Aug 23 14:21:39 2012 -0400
+
+    Documentation: Add documentation for setting maximum checkout by copy location.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+47     0       docs/admin/circulation_limit_groups.txt
+-      -       docs/media/Maximum_Checkout_by_Copy_Location1.jpg
+-      -       docs/media/Maximum_Checkout_by_Copy_Location2.jpg
+2      0       docs/root.txt
+ create mode 100644 docs/admin/circulation_limit_groups.txt
+ create mode 100755 docs/media/Maximum_Checkout_by_Copy_Location1.jpg
+ create mode 100755 docs/media/Maximum_Checkout_by_Copy_Location2.jpg
+
+commit 858321783ee48e89cd2630184105fba043f3b2d5
+Author: Sally Fortin <sfortin@esilibrary.com>
+Date:   Thu Aug 23 13:40:51 2012 -0400
+
+    Documentaton: Add documentation on patron border color enhancements for 2.3.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+22     0       docs/admin/staff_client-patron_border.txt
+-      -       docs/media/Patron_Border_Color_Enhancements2.jpg
+2      0       docs/root.txt
+ create mode 100644 docs/admin/staff_client-patron_border.txt
+ create mode 100755 docs/media/Patron_Border_Color_Enhancements2.jpg
+
+commit 8100c68685f6bc925f657c57647f3c7a0cdedf5e
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Thu Aug 23 13:07:24 2012 -0400
+
+    Documentation: update upgrade instructions to 2.3.beta2.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+11     11      docs/installation/server_upgrade.txt
+
+commit 5f1f9e2b6ff7bb6064487d5a84d23e60783ac765
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Thu Aug 23 09:43:18 2012 -0400
+
+    Add 2.1.2-2.1.3 database schema upgrade script
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+114    0       Open-ILS/src/sql/Pg/version-upgrade/2.1.2-2.1.3-upgrade-db.sql
+ create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/2.1.2-2.1.3-upgrade-db.sql
+
+commit 684acb293e188157304d6d3ec775417b491457b9
+Author: Jason Stephenson <jstephenson@mvlc.org>
+Date:   Thu Jul 26 13:45:06 2012 -0400
+
+    Make the ContainerCSV reactor output more than 10 records.
+    
+    Call AppUtils->bib_container_items_via_search with an args hashref
+    that hard codes the search limit to 1,000 records instead of using
+    the biblio.multiclass search default of 10.
+    
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+6      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor/ContainerCSV.pm
+
+commit e935a50b81cac803607cf480d3f008056d65b6c0
+Author: Jason Stephenson <jstephenson@mvlc.org>
+Date:   Wed Jul 25 11:03:01 2012 -0400
+
+    Make item_barcode_shortcut load user bookbags in EGCatLoader::Search.
+    
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+2      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+
+commit 38b92e1d7cfb5ba9d19dcce72ca0ea2dbdc1eda9
+Author: Jason Stephenson <jstephenson@mvlc.org>
+Date:   Wed Jul 25 16:41:44 2012 -0400
+
+    Make sure that bookbag information loads in MARC expert search.
+    
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+3      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+
+commit 51915d3ee4d00430d6d93e0625be773cb9a919ac
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Tue Aug 7 16:39:37 2012 -0400
+
+    Allow some buttons in Import via Z39.50 to wrap lines
+    
+    Some of our technicians with 4:3 ratio monitors and a reasonable
+    font-size are unable to see the "Import Record" button on the Import via
+    Z39.50 screen, because the buttons in that row are laid out in a single,
+    non-wrapping row, and there is no affordance for scrolling over to the
+    side.
+    
+    Simply changing the containing "hbox" element to a "description" element
+    allows enough of the buttons to overflow to resolve the problem in our
+    experience.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+2      2       Open-ILS/xul/staff_client/server/cat/z3950.xul
+
+commit 12eda2e774b84f4a23dc5ce33f5a40ba3b2716f7
+Author: Steven Chan <schan@sitka.bclibraries.ca>
+Date:   Wed Jul 25 16:12:19 2012 -0700
+
+    Fix LP949249, Edit, then Create button creates a new item in all cases
+    
+    This fix also resolves the following:
+    * https://bugs.launchpad.net/evergreen/+bug/806585,
+    Item Attributes saved on Close
+    * https://bugs.launchpad.net/evergreen/+bug/644753,
+    check for duplicate barcode during a create session in copy/volume editor
+    
+    1. The Copy Editor screen is launched from the Volume Copy Creator,
+    which is launched from the Holdings Maintenance screen. If the default
+    interface is set, CE is shown in a separate window; if the 'unified'
+    interface is set, CE is embedded in the same window as VCC. Upon the
+    user clicking Save or Close in the Copy Editor, the intent is to create
+    a new item record or not, respectively.  However, it happens that a new
+    record is always created, because VCC instructs CE to let VCC update the
+    item, which will occur whether the user has clicked either button.
+    
+    To fix 1, if the default interface is set, we reconfigure CE to update
+    the item or not, depending on the button clicked; otherwise, in the
+    unified interface, we allow VCC to update the item or not.
+    
+    2. Upon updating the item, if the barcode is a duplicate, the ensuing
+    sequence of events is problematic: a database-level alert message is
+    shown, Copy Editor is closed, and Volume Copy Creator is closed, thus
+    forcing the user to re-formulate the request from Holdings Maintenance.
+    
+    To fix 2, we show a higher-level alert message to the user. If the
+    default interface is set, we stay within CE, reconfigure the barcode to
+    be an input field, and focus the user on it; otherwise, in the unified
+    interface, we return the user to an area of the screen where the barcode
+    field is available. In either case, the user can re-enter a barcode
+    value and re-submit without losing any values previously entered into CE.
+    
+    3. We also take the opportunity to enhance the coding performance of
+    Copy Editor, by delegating the handling of the button and key clicks to
+    the parent groupbox element. Previously, the event handler was attached
+    to several child elements, which is not performant.
+    
+    Conflicts fix:
+    
+       Open-ILS/xul/staff_client/server/cat/copy_editor.js
+    
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+24     13      Open-ILS/xul/staff_client/server/cat/copy_editor.js
+22     11      Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js
+
+commit 6b40207531b398243b419d64c787f95ebc76d5fa
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Wed Aug 22 14:49:02 2012 -0400
+
+    2.2.1 -> 2.2.2 upgrade script
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+13     0       Open-ILS/src/sql/Pg/version-upgrade/2.2.1-2.2.2-upgrade-db.sql
+ create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/2.2.1-2.2.2-upgrade-db.sql
+
+commit e207755dcbfda3cf5b4db43cabb7ebff08f41500
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Wed Aug 22 12:20:22 2012 -0400
+
+    2.2.0 -> 2.2.1 upgrade script never actually went into master or rel_2_2
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+366    0       Open-ILS/src/sql/Pg/version-upgrade/2.2.0-2.2.1-upgrade-db.sql
+ create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/2.2.0-2.2.1-upgrade-db.sql
+
+commit 9e7e9c0836972128f8a090dfc9cbe787c63c1b00
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Thu Jul 12 11:42:21 2012 -0400
+
+    Remove an extra ternary op
+    
+    And adjust the comment to make more sense. There is no higher level filter
+    that prevents copy holds on parted items, so there is no filter for them to
+    "slip through".
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+2      2       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
+
+commit 930c3729d62983e068656a3ef1c0ef352cabe750
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Wed Jun 13 09:37:54 2012 -0400
+
+    Allow copy-ish holds to target, even for part-copies, if they somehow slip through the UI pre-checks
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+12     11      Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
+
+commit 99763db5938ddfd0995de278e072eb34fc25826d
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri May 4 10:04:32 2012 -0400
+
+    TPAC: remove some unused CSS
+    
+    Remove CSS referring to images that are no longer in the repository.
+    
+    See also https://bugs.launchpad.net/evergreen/+bug/956023
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+0      1       Open-ILS/web/css/skin/default/opac/semiauto.css
+
+commit 9dc12d31a5a7f4a4864029c17f740ecbc3d22641
+Author: Michael Peters <mrpeters@library.in.gov>
+Date:   Thu Mar 15 09:49:06 2012 -0400
+
+    TTPAC image directory cleanup
+    
+    There are a significant number of images remaining in TTPAC
+    that are no longer used, leftover from KCLS, etc.
+    
+    This branch does a little cleanup on the image directory
+    and nets us about a 200KB savings overall.
+    
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+-      -       Open-ILS/web/images/add_mylist.gif
+-      -       Open-ILS/web/images/add_mylist_sel.gif
+-      -       Open-ILS/web/images/add_mylist_sel.kcls.gif
+-      -       Open-ILS/web/images/arrow-down.gif
+-      -       Open-ILS/web/images/arrow-right.gif
+-      -       Open-ILS/web/images/banner1.jpg
+-      -       Open-ILS/web/images/button-bg.png
+-      -       Open-ILS/web/images/cancel_btn.gif
+-      -       Open-ILS/web/images/facet_box_bg.png
+-      -       Open-ILS/web/images/go_but_long.gif
+-      -       Open-ILS/web/images/header_left.gif
+-      -       Open-ILS/web/images/header_right.gif
+-      -       Open-ILS/web/images/hp-links-left.jpg
+-      -       Open-ILS/web/images/hp-links-right.jpg
+-      -       Open-ILS/web/images/locations.jpg
+-      -       Open-ILS/web/images/one_land.gif
+-      -       Open-ILS/web/images/place_hold.gif
+-      -       Open-ILS/web/images/reset_form_btn.gif
+-      -       Open-ILS/web/images/reviews.gif
+-      -       Open-ILS/web/images/save_btn.gif
+-      -       Open-ILS/web/images/submit_btn.gif
+-      -       Open-ILS/web/images/tool_back.gif
+-      -       Open-ILS/web/images/tool_back.png
+-      -       Open-ILS/web/images/tool_font.gif
+-      -       Open-ILS/web/images/tool_forward.gif
+-      -       Open-ILS/web/images/tool_forward.png
+-      -       Open-ILS/web/images/tool_help.gif
+-      -       Open-ILS/web/images/tool_help.png
+-      -       Open-ILS/web/images/tool_home.gif
+-      -       Open-ILS/web/images/tool_home.png
+-      -       Open-ILS/web/images/tool_mail.gif
+-      -       Open-ILS/web/images/tool_print.gif
+-      -       Open-ILS/web/images/tool_print.png
+-      -       Open-ILS/web/images/utils-corner-mid.png
+-      -       Open-ILS/web/images/utils-corner-right.jpg
+-      -       Open-ILS/web/images/utils-corner-right.png
+-      -       Open-ILS/web/images/utils-corner.jpg
+ delete mode 100644 Open-ILS/web/images/add_mylist.gif
+ delete mode 100644 Open-ILS/web/images/add_mylist_sel.gif
+ delete mode 100644 Open-ILS/web/images/add_mylist_sel.kcls.gif
+ delete mode 100644 Open-ILS/web/images/arrow-down.gif
+ delete mode 100644 Open-ILS/web/images/arrow-right.gif
+ delete mode 100644 Open-ILS/web/images/banner1.jpg
+ delete mode 100644 Open-ILS/web/images/button-bg.png
+ delete mode 100644 Open-ILS/web/images/cancel_btn.gif
+ delete mode 100644 Open-ILS/web/images/facet_box_bg.png
+ delete mode 100644 Open-ILS/web/images/go_but_long.gif
+ delete mode 100644 Open-ILS/web/images/header_left.gif
+ delete mode 100644 Open-ILS/web/images/header_right.gif
+ delete mode 100644 Open-ILS/web/images/hp-links-left.jpg
+ delete mode 100644 Open-ILS/web/images/hp-links-right.jpg
+ delete mode 100644 Open-ILS/web/images/locations.jpg
+ delete mode 100644 Open-ILS/web/images/one_land.gif
+ delete mode 100644 Open-ILS/web/images/place_hold.gif
+ delete mode 100644 Open-ILS/web/images/reset_form_btn.gif
+ delete mode 100644 Open-ILS/web/images/reviews.gif
+ delete mode 100644 Open-ILS/web/images/save_btn.gif
+ delete mode 100644 Open-ILS/web/images/submit_btn.gif
+ delete mode 100644 Open-ILS/web/images/tool_back.gif
+ delete mode 100644 Open-ILS/web/images/tool_back.png
+ delete mode 100644 Open-ILS/web/images/tool_font.gif
+ delete mode 100644 Open-ILS/web/images/tool_forward.gif
+ delete mode 100644 Open-ILS/web/images/tool_forward.png
+ delete mode 100644 Open-ILS/web/images/tool_help.gif
+ delete mode 100644 Open-ILS/web/images/tool_help.png
+ delete mode 100644 Open-ILS/web/images/tool_home.gif
+ delete mode 100644 Open-ILS/web/images/tool_home.png
+ delete mode 100644 Open-ILS/web/images/tool_mail.gif
+ delete mode 100644 Open-ILS/web/images/tool_print.gif
+ delete mode 100644 Open-ILS/web/images/tool_print.png
+ delete mode 100644 Open-ILS/web/images/utils-corner-mid.png
+ delete mode 100644 Open-ILS/web/images/utils-corner-right.jpg
+ delete mode 100644 Open-ILS/web/images/utils-corner-right.png
+ delete mode 100644 Open-ILS/web/images/utils-corner.jpg
+
+commit 71195166989026f505d7332a85741c344f7b5ad5
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Fri Aug 17 16:20:35 2012 -0400
+
+    TPac: Show email address when placing hold
+    
+    Both for staff and patron benefit.
+    
+    Also, we disable the checkbox if there is no email address on file.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+4      1       Open-ILS/src/templates/opac/parts/place_hold.tt2
+7      0       Open-ILS/web/js/ui/default/opac/staff.js
+1      1       Open-ILS/xul/staff_client/chrome/content/main/menu.js
+
+commit da90a9d224aa3cc5f6db79d46bab206b3d348257
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Wed Aug 15 07:18:53 2012 -0400
+
+    TPAC: Move "Export to RefWorks" into utility area
+    
+    When the RefWorks functionality was being added to TPAC, the design and
+    layout were very much in flux. Now that the layout has been established
+    with utilities like "Place Hold" on the right hand side, move the
+    "Export to RefWorks" button into the same location.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Art Rhyno <art632000@yahoo.ca>
+
+3      3       Open-ILS/src/templates/opac/parts/record/refworks.tt2
+3      4       Open-ILS/src/templates/opac/parts/record/summary.tt2
+
+commit 3eeb012eb47d9db24658558122751034ee2ccc17
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed Aug 22 08:59:52 2012 -0400
+
+    Importing translations for 2.3.beta2, Part II
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+12     12      build/i18n/po/acq.js/acq.js.pot
+717    717     build/i18n/po/db.seed/db.seed.pot
+1364   1364    build/i18n/po/fm_IDL.dtd/fm_IDL.dtd.pot
+11     11      build/i18n/po/ils_events.xml/ils_events.xml.pot
+36     35      build/i18n/po/tpac/tpac.pot
+
+commit 18d8040d0b99d1165fb4916466510bdd069381c2
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed Aug 22 08:45:54 2012 -0400
+
+    Importing translations for 2.3.beta2
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+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/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
+10     8       build/i18n/po/admin.properties/hy-AM.po
+8      8       build/i18n/po/authority.js/hy-AM.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/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
+40     36      build/i18n/po/cat.properties/hy-AM.po
+17     3       build/i18n/po/circ.properties/cs-CZ.po
+17     3       build/i18n/po/circ.properties/de-DE.po
+17     3       build/i18n/po/circ.properties/en-CA.po
+17     3       build/i18n/po/circ.properties/en-GB.po
+18     4       build/i18n/po/circ.properties/es-ES.po
+17     3       build/i18n/po/circ.properties/fr-CA.po
+32     13      build/i18n/po/circ.properties/hy-AM.po
+17     3       build/i18n/po/circ.properties/pt-BR.po
+17     3       build/i18n/po/circ.properties/ru-RU.po
+9      9       build/i18n/po/common.properties/hy-AM.po
+4      4       build/i18n/po/conify.dtd/hy-AM.po
+3      3       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/fr-CA.po
+5      5       build/i18n/po/conify.js/hy-AM.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
+790    717     build/i18n/po/db.seed/cs-CZ.po
+783    710     build/i18n/po/db.seed/de-DE.po
+790    717     build/i18n/po/db.seed/en-CA.po
+783    710     build/i18n/po/db.seed/en-GB.po
+783    710     build/i18n/po/db.seed/es-ES.po
+785    712     build/i18n/po/db.seed/fr-CA.po
+935    859     build/i18n/po/db.seed/hy-AM.po
+783    710     build/i18n/po/db.seed/oc-FR.po
+791    718     build/i18n/po/db.seed/pt-BR.po
+784    711     build/i18n/po/db.seed/ru-RU.po
+783    710     build/i18n/po/db.seed/tr-TR.po
+2568   2373    build/i18n/po/fm_IDL.dtd/cs-CZ.po
+2546   2354    build/i18n/po/fm_IDL.dtd/de-DE.po
+2568   2373    build/i18n/po/fm_IDL.dtd/en-CA.po
+2568   2373    build/i18n/po/fm_IDL.dtd/en-GB.po
+2543   2351    build/i18n/po/fm_IDL.dtd/es-ES.po
+2543   2351    build/i18n/po/fm_IDL.dtd/fr-CA.po
+2738   2543    build/i18n/po/fm_IDL.dtd/hy-AM.po
+2568   2373    build/i18n/po/fm_IDL.dtd/pt-BR.po
+2568   2373    build/i18n/po/fm_IDL.dtd/ru-RU.po
+2539   2347    build/i18n/po/fm_IDL.dtd/tr-TR.po
+18     18      build/i18n/po/ils_events.xml/cs-CZ.po
+17     17      build/i18n/po/ils_events.xml/de-DE.po
+19     19      build/i18n/po/ils_events.xml/en-CA.po
+19     19      build/i18n/po/ils_events.xml/en-GB.po
+17     17      build/i18n/po/ils_events.xml/es-ES.po
+17     17      build/i18n/po/ils_events.xml/fr-CA.po
+31     21      build/i18n/po/ils_events.xml/hy-AM.po
+17     17      build/i18n/po/ils_events.xml/pt-BR.po
+17     17      build/i18n/po/ils_events.xml/ru-RU.po
+69     544     build/i18n/po/lang.dtd/ar-AR.po
+743    619     build/i18n/po/lang.dtd/cs-CZ.po
+336    571     build/i18n/po/lang.dtd/de-DE.po
+748    619     build/i18n/po/lang.dtd/en-CA.po
+751    619     build/i18n/po/lang.dtd/en-GB.po
+234    554     build/i18n/po/lang.dtd/es-ES.po
+722    610     build/i18n/po/lang.dtd/fr-CA.po
+885    749     build/i18n/po/lang.dtd/hy-AM.po
+705    605     build/i18n/po/lang.dtd/pt-BR.po
+707    607     build/i18n/po/lang.dtd/ru-RU.po
+73     545     build/i18n/po/lang.dtd/tr-TR.po
+8      3       build/i18n/po/offline.properties/cs-CZ.po
+8      3       build/i18n/po/offline.properties/de-DE.po
+8      3       build/i18n/po/offline.properties/en-CA.po
+8      3       build/i18n/po/offline.properties/en-GB.po
+8      3       build/i18n/po/offline.properties/es-ES.po
+8      3       build/i18n/po/offline.properties/fr-CA.po
+47     30      build/i18n/po/offline.properties/hy-AM.po
+8      3       build/i18n/po/offline.properties/pt-BR.po
+8      3       build/i18n/po/offline.properties/ru-RU.po
+8      3       build/i18n/po/offline.properties/tr-TR.po
+27     15      build/i18n/po/opac.dtd/cs-CZ.po
+33     21      build/i18n/po/opac.dtd/de-DE.po
+29     17      build/i18n/po/opac.dtd/en-CA.po
+29     17      build/i18n/po/opac.dtd/en-GB.po
+31     19      build/i18n/po/opac.dtd/es-ES.po
+30     18      build/i18n/po/opac.dtd/fr-CA.po
+4      6       build/i18n/po/opac.dtd/he-IL.po
+53     20      build/i18n/po/opac.dtd/hy-AM.po
+4      6       build/i18n/po/opac.dtd/oc-FR.po
+27     15      build/i18n/po/opac.dtd/pt-BR.po
+29     17      build/i18n/po/opac.dtd/ru-RU.po
+7      9       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/fr-CA.po
+5      5       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
+41     25      build/i18n/po/patron.properties/hy-AM.po
+3      3       build/i18n/po/pull_list.js/cs-CZ.po
+6      6       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
+5      5       build/i18n/po/pull_list.js/es-ES.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/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
+13     13      build/i18n/po/register.js/cs-CZ.po
+13     13      build/i18n/po/register.js/de-DE.po
+13     13      build/i18n/po/register.js/en-CA.po
+13     13      build/i18n/po/register.js/en-GB.po
+13     13      build/i18n/po/register.js/es-ES.po
+13     13      build/i18n/po/register.js/fr-CA.po
+21     21      build/i18n/po/register.js/hy-AM.po
+13     13      build/i18n/po/register.js/pt-BR.po
+13     13      build/i18n/po/register.js/ru-RU.po
+13     13      build/i18n/po/register.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/fr-CA.po
+6      6       build/i18n/po/reservation.js/hy-AM.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
+5      5       build/i18n/po/selfcheck.js/es-ES.po
+3      3       build/i18n/po/selfcheck.js/fr-CA.po
+8      8       build/i18n/po/selfcheck.js/hy-AM.po
+3      3       build/i18n/po/selfcheck.js/pt-BR.po
+3      3       build/i18n/po/selfcheck.js/ru-RU.po
+15     15      build/i18n/po/serial.properties/hy-AM.po
+
+commit 76f5c80907fd87b5654ec72d7f08b3d90f44e141
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Tue Aug 21 17:23:26 2012 -0400
+
+    Protect against installs with no locales
+    
+    Installs from source outside of tarballs may not have a built locale,
+    which would result in a make error and an aborted install. Protect
+    against that by checking for the existence of the locale install
+    directory before trying to copy the files into place.
+    
+    In the weird case that Open-ILS/src/data/locale has been generated but
+    there are no files in it, protect against erroring out via the judicious
+    application of the - flag.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+5      3       Open-ILS/src/Makefile.am
+
+commit eb11f49633f496ef59f4b50d224cc79256d94e42
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Mon Aug 20 14:11:50 2012 -0400
+
+    TPAC: Standardize i18n file installation
+    
+    Make TPAC i18n files act like any other i18n file. In short:
+    
+    1. When in build/i18n, a 'make LOCALE=fr-CA install' will copy
+       the i18n file into the Open-ILS/src/data/locale directory.
+    2. In the build root, a 'make install' will copy all files from
+       Open-ILS/src/data/locale into (by default) the
+       /openils/var/data/locale directory.
+    
+    This also means that when tarballs are created, all of the locales will
+    get packaged appropriately.
+    
+    This commit also updates eg_vhost.conf to provide working out-of-the-box
+    examples for any installed locales, by using the names of the actual
+    PO files, and adds some contextual comments to explain how the
+    configuration directives work.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+12     3       Open-ILS/examples/apache/eg_vhost.conf
+4      0       Open-ILS/src/Makefile.am
+3      0       build/i18n/Makefile
+
+commit b90e617c6896a7a5f0e922b5206f2dcf2d383de6
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Aug 17 17:15:25 2012 -0400
+
+    ACQ return-to-[search/invoice] buttons repair
+    
+    With changes in place to support newer version of xulrunner, several
+    buttons no longer work in the staff client.  These include:
+    
+    Return to Search in PO and Selection List pages
+    Return to Invoice in PO and Selection List pages
+    Return in lineitem worksheet page
+    
+    This fix avoids using document.referrer (which is no longer available)
+    with an explicit 'source' CGI parameter, which contains the path and
+    params of the source page.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+4      3       Open-ILS/src/templates/acq/lineitem/worksheet.tt2
+2      4       Open-ILS/src/templates/acq/po/view.tt2
+1      0       Open-ILS/web/js/dojo/openils/acq/Lineitem.js
+1      1       Open-ILS/web/js/dojo/openils/acq/nls/acq.js
+18     6       Open-ILS/web/js/ui/default/acq/common/li_table.js
+8      6       Open-ILS/web/js/ui/default/acq/picklist/view.js
+9      7       Open-ILS/web/js/ui/default/acq/po/view_po.js
+
+commit 44f601f85bd37095fa986ac43e13d851c243ba42
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Fri Aug 17 15:06:59 2012 -0400
+
+    TPAC i18n: Turn UA locales into Evergreen locales
+    
+    We need to convert the likes of fr_ca into fr-CA to be able to pull the
+    appropriate localized values from the database via CStoreEditor.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+14     3       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGWeb.pm
+
+commit d2f0443d1299e4593fb6a3998c63addb137fc17a
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Aug 17 10:11:50 2012 -0400
+
+    Make tpac cache locale-aware
+    
+    Add a locale level to the TPAC object cache.  Each component of the
+    cache now looks like $cache{$component}{$locale}{stuff...}
+    
+    e.g. $cache{list}{en_ca}{aout} = [...] # en_ca-fetched org unit types
+    
+    The calling code in the templates requires no changes (abstraction
+    FTW).
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+36     36      Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
+
+commit 7339fcdfdc41e6dee2fc7a5eac058313646342d4
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Aug 17 10:10:55 2012 -0400
+
+    Set the default CStoreEditor locale on page load
+    
+    Ech CStoreEditor request will use the locale of the current
+    page as the default opensrf session locale.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+4      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGWeb.pm
+
+commit d6067b6fe02a994926a490c3e4326de74a2e12b0
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Aug 17 10:08:16 2012 -0400
+
+    CStoreEditor default session locale
+    
+    Adds a new package-level variable:
+    
+    $OpenILS::Utils::CStoreEditor::default_locale
+    
+    If set, this value is used as the session_locale for new opensrf client
+    sessions.  If unset, the session_locale remains untouched by
+    CStoreEditor.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+13     0       Open-ILS/src/perlmods/lib/OpenILS/Utils/CStoreEditor.pm
+
+commit a5822e48bdc361a40e436f5c58e27d7c79875f86
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Fri Aug 17 15:16:45 2012 -0400
+
+    TPAC: size_bigger, not size-bigger
+    
+    Amusingly, TT2 attempts to treat "bigger" as a value to subtract from
+    "size". Cute. But we don't want the messages in the Apache log.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+1      1       Open-ILS/src/templates/opac/css/style.css.tt2
+
+commit 4a86ff3c808d6e6845376fdceb3be98c7282bf89
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Mon Jul 30 11:30:50 2012 -0400
+
+    TPAC: Autosuggest focus() throws a JS error
+    
+    On page load, the Dojo autosuggest code tries to set focus to the
+    element with the ID "search_box" - which is fine, except when the page
+    does not have said ID. Therefore, test for the existence of the ID
+    before setting focus to it.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Art Rhyno <art632000@yahoo.ca>
+
+9      6       Open-ILS/src/templates/opac/parts/js.tt2
+
+commit 81f67c7a2af3e12610149b6a77a7c1a28f8e4b98
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Fri Aug 17 13:00:36 2012 -0400
+
+    Use XUL_REMOTE_BROWSER constant in reporter
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+1      1       Open-ILS/web/reports/oils_rpt_folder_window.js
+
+commit 101fa34a6bb59d0359e1d6401522d1cc3cf71d5c
+Author: Sally Fortin <sfortin@esilibrary.com>
+Date:   Fri Aug 17 08:22:17 2012 -0400
+
+    Documentation: Add one paragraph to  Auto Override Patron Hold Events.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+3      1       docs/admin/lsa-library_settings_editor.txt
+
+commit 89a318bee2e3f754f601b226210138809955a228
+Author: Sally Fortin <sfortin@esilibrary.com>
+Date:   Fri Aug 17 08:16:05 2012 -0400
+
+    Documentation: add Auto Override Patron Hold Events documentation from ESI.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+48     9       docs/admin/lsa-library_settings_editor.txt
+
+commit 9a5b83b46dcf8bbcdc8d61d437191144a4bcbc6c
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Sat Aug 4 10:26:25 2012 -0400
+
+    TPAC locale picker: use POST instead of GET
+    
+    Users could (deliberately or not) change another's language
+    preferences by sharing links with the "set_eg_locale" GET param given
+    the locale picker's current behaviour. By switching to a POST param, we
+    prevent this result from accidentally occurring.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Art Rhyno <art632000@yahoo.ca>
+
+1      1       Open-ILS/src/templates/opac/parts/locale_picker.tt2
+
+commit fc568aaaeaa6c429690c2ed6028aa3c5811c0424
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Thu Aug 16 15:38:59 2012 -0400
+
+    Fix thinkos in EDI Invoicing
+    
+    The lesson of the day is, test the code you actually commit, not just
+    the bits and pieces.  Thanks to Bill Erickson on this.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+2      2       Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/EDI.pm
+
+commit 53be1e002370ac07e55ea6dbff29f820ff24b3c5
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Thu Aug 16 15:11:29 2012 -0400
+
+    Stamping upgrade script for copy editor field hiding permission
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+11     0       Open-ILS/src/sql/Pg/upgrade/0736.data.copy_editor_perms.sql
+0      6       Open-ILS/src/sql/Pg/upgrade/XXXX.data.copy_editor_perms.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0736.data.copy_editor_perms.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.copy_editor_perms.sql
+
+commit 1388b5f2611dcfbf5216c7c6cfee58443485d4a7
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Thu Aug 16 14:58:01 2012 -0400
+
+    Update permission name to match existing ones
+    
+    To be consistent with our previous naming scheme for these.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+1      1       Open-ILS/src/sql/Pg/upgrade/XXXX.data.copy_editor_perms.sql
+
+commit 8110957bcb6fa686e3c55ae3c13f5968c14824ae
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Thu Aug 16 13:45:23 2012 -0400
+
+    Provide permission for copy editor field hiding
+    
+    We can adjust what fields are available in the copy editor in 2.2+, but that
+    requires the general UPDATE_ORG_SETTING permission.  The YAOUS-specific
+    permission here allows more granular control, so that staff can be given the
+    ability to adjust only that one OU setting.
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+6      3       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+6      0       Open-ILS/src/sql/Pg/upgrade/XXXX.data.copy_editor_perms.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.copy_editor_perms.sql
+
+commit f5e7651ab211d4e3025202569145b2633181207c
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Mon Jul 16 13:27:54 2012 -0400
+
+    Hide OPAC-invisible holdings from SRU/Z39.50
+    
+    The basic_holdings Supercat method filtered out deleted call numbers and
+    copies, but didn't filter out copies based on the OPAC visibility status
+    of copy location / status / the copy itself. This has undesired results
+    when third-party services request copies via SRU or Z39.50 and expose
+    copies that should not be visible to the public.
+    
+    We wrap all of the visibility and deletedness checks for a given copy up
+    into a subroutine so that we can avoid repeating ourselves in the
+    basic_holdings logic. Also, if we missed a test, we can add it in one
+    handy place :)
+    
+    (Thanks to Galen Charlton for finding two missing tests: circ lib
+    visibility and owning lib visibility!)
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Art Rhyno <art632000@yahoo.ca>
+
+20     2       Open-ILS/src/perlmods/lib/OpenILS/Application/SuperCat.pm
+
+commit 5a5da77ecfe9d2e5920ea08dca59ad070f7ea40f
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Mon Aug 13 12:32:26 2012 -0400
+
+    TPAC: Centralize font size definitions
+    
+    The TPAC CSS had a mix of absolute and proportional font size
+    definitions, making it impossible to define a single base size and have
+    the layout adjust appropriately, as well as making it difficult to tweak
+    sizes to, say, eliminate the distinction between 11px and 12px text.
+    
+    Accordingly, create a separate TT2 file to define standard font sizes,
+    define one base font size, and then use proportional percentage-based
+    size definitions for a set of standard font sizes. This way, a site
+    could easily adjust the base font size to 15px and the rest of the
+    layout should automatically adjust, and/or revert to using absolute font
+    sizes for different categories if they prefer.
+    
+    Note that I did simplify some of the categories of font sizes, as the
+    distinction between 111% and 110% was probably not evident to most
+    humans at most font sizes, and even the distinction between 120% and
+    125% would be 14.4px vs. 15px given a base size of 12px - which
+    different user agents could render differently anyway.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+53     53      Open-ILS/src/templates/opac/css/style.css.tt2
+11     0       Open-ILS/src/templates/opac/parts/css/fonts.tt2
+ create mode 100644 Open-ILS/src/templates/opac/parts/css/fonts.tt2
+
+commit 1e57b9023eb93706584a199d615852bf5b18fe04
+Author: Sally Fortin <sfortin@esilibrary.com>
+Date:   Thu Aug 16 10:27:50 2012 -0400
+
+    Documentation: Add triggered events and holds management docs from ESI.
+    
+    Content and images from http://www.esilibrary.com/esi/availableDocs.php.
+    Also fixed some formatting issues for previous committed documentation.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+2      2       docs/admin/lsa-receipt_template_editor.txt
+1      1       docs/admin/lsa-standing_penalties.txt
+2      2       docs/admin/lsa-work_log.txt
+28     0       docs/circulation/holds_management.txt
+72     0       docs/circulation/triggered_events.txt
+-      -       docs/media/Display_Hold_Types_on_Pull_Lists1.jpg
+-      -       docs/media/Triggered_Events_and_Notices1.jpg
+-      -       docs/media/Triggered_Events_and_Notices2.jpg
+-      -       docs/media/Triggered_Events_and_Notices3.jpg
+4      0       docs/root.txt
+ create mode 100644 docs/circulation/holds_management.txt
+ create mode 100644 docs/circulation/triggered_events.txt
+ create mode 100644 docs/media/Display_Hold_Types_on_Pull_Lists1.jpg
+ create mode 100644 docs/media/Triggered_Events_and_Notices1.jpg
+ create mode 100644 docs/media/Triggered_Events_and_Notices2.jpg
+ create mode 100644 docs/media/Triggered_Events_and_Notices3.jpg
+
+commit 2acfba2c29ce2ea6193c3fe229c31b46fd3b217d
+Author: Sally Fortin <sfortin@esilibrary.com>
+Date:   Thu Aug 16 09:25:16 2012 -0400
+
+    Documentation: Add sections to Local System Administration from ESI
+    
+    Content and images from http://www.esilibrary.com/esi/availableDocs.php
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+34     0       docs/admin/lsa-receipt_template_editor.txt
+25     0       docs/admin/lsa-standing_penalties.txt
+25     0       docs/admin/lsa-work_log.txt
+-      -       docs/media/Expanding_the_Work_Log1.jpg
+-      -       docs/media/Expanding_the_Work_Log2.jpg
+-      -       docs/media/Print_Holds_Slip1.jpg
+-      -       docs/media/Print_Holds_Slip2.jpg
+5      0       docs/root.txt
+ create mode 100644 docs/admin/lsa-receipt_template_editor.txt
+ create mode 100644 docs/admin/lsa-standing_penalties.txt
+ create mode 100644 docs/admin/lsa-work_log.txt
+ create mode 100644 docs/media/Expanding_the_Work_Log1.jpg
+ create mode 100644 docs/media/Expanding_the_Work_Log2.jpg
+ create mode 100644 docs/media/Print_Holds_Slip1.jpg
+ create mode 100644 docs/media/Print_Holds_Slip2.jpg
+
+commit 1e2bc6003c6f796b36a2dedb79eed8f61ee3da45
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Fri Aug 10 18:14:23 2012 -0400
+
+    Simplified Hold Pull List: Fix broken filters
+    
+    Only two filterable fields were available, and at least
+    one didn't even work.
+    
+    Now we have a few more, and they seem to all work for me in testing.
+    
+    This problem was reported to me by Thomas Berezansky.
+    
+    While we're at it, also make sure the list of shelving locations in that
+    filter dropdown is sorted alphabetically.  This was Kathy Lussier's
+    request.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+16     11      Open-ILS/src/templates/circ/hold_pull_list.tt2
+11     2       Open-ILS/web/js/dojo/openils/widget/AutoFieldWidget.js
+1      1       Open-ILS/web/js/dojo/openils/widget/FlattenerFilterPane.js
+3      1       Open-ILS/web/js/dojo/openils/widget/FlattenerGrid.js
+4      1       Open-ILS/web/js/dojo/openils/widget/PCrudFilterPane.js
+
+commit 4ecfa5931e5391b09b996790b746794625e2b250
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Tue Aug 14 13:31:27 2012 -0400
+
+    Join subqueries as OR'd groups in QueryParser
+    
+    This makes filter_group_entry(1,2,3) build an OR'd set of the resulting
+    queries instead of just tacking them onto each other as ANDs.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+11     9       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
+
+commit 483e19a42750ca5e9db224d6ccf62e58e33a92b3
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Fri Aug 3 11:34:05 2012 -0400
+
+    Expose ability to use filter groups in TPac
+    
+    Via config options for basic and advanced search.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+3      0       Open-ILS/src/templates/opac/parts/advanced/search.tt2
+16     0       Open-ILS/src/templates/opac/parts/config.tt2
+7      2       Open-ILS/src/templates/opac/parts/searchbar.tt2
+
+commit 842f8f854ecf7004436b0799f43297c04d3752b6
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Fri Aug 10 10:44:47 2012 -0400
+
+    Stage 2: Staff Client
+    
+    Robustify the oils protocol:
+    
+    1 - In the event of a problem URL, abort with about:blank.
+    
+    This prevents a segfault!
+    
+    2 - In the event of the TPac, or KPac, wrap the channel we return.
+    
+    The wrapper helps with redirects, but if applied to XMLHttpRequests will
+    cause full breakage.
+    
+    Without the wrapper redirects end up setting URLs to https://host/...
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+189    8       Open-ILS/xul/staff_client/components/oils_protocol.js
+
+commit ec2ed411a8c8df894d5e54c1980f6660cd5f0238
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Tue Aug 7 20:15:24 2012 -0400
+
+    Stage 1: Perl
+    
+    Attempt to ensure that we always write to oils://remote when needed.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+8      6       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+2      2       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+2      2       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Container.pm
+5      5       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+1      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+
+commit 3bde56c32c3de88112bfae364d992a40b1cc19ec
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Thu Jul 26 16:45:24 2012 -0400
+
+    Trying to update patron CSS color fails here, so don't try
+    
+    After modifying user standing penalties ("messages" in the staff client
+    patron interface), you could get this error message in an alert() dialog:
+        TypeError: patron.display is undefined.
+    
+    We were apparently trying to use patron.util.set_patron_css() wrongly,
+    so the commented out changed verison of the call got farther, but stopped at
+        ...penalties[i].standing_penalty().name is not a function.
+    
+    Which probably has something to do with unfleshed data.  Somebody can
+    get to the bottom of this if they want, but for now it's easier just not
+    to try to do this and make the alert() dialog go away.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+3      3       Open-ILS/xul/staff_client/server/patron/standing_penalties.js
+
+commit 7c793f9cbf9423deb92842f41a4a2ab268090e17
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Tue Jul 31 15:35:21 2012 -0400
+
+    Check for filled hold on transit checkin
+    
+    "Fill related hold" can grab a hold out from under a transit, so check for
+    filled holds in addition to canceled ones.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+2      2       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
+
+commit 1a436930e0e1fd94a4eed6f20c0f8ffdd993630e
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Tue Apr 10 09:10:46 2012 -0400
+
+    SuperCat fixes - Child Init
+    
+    Sometimes it seems that child_init has not run properly for supercat.
+    
+    This attempts to fix that by checking for the global appsession objects. If
+    they are not there we run child_init. The function that does this is being
+    called from all handler entry functions.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+28     0       Open-ILS/src/perlmods/lib/OpenILS/WWW/SuperCat.pm
+
+commit 2ff77ad9ea3f4dcee11b13080999d71c5285714d
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Sat Aug 4 11:04:17 2012 -0400
+
+    Silence warnings in search results for holdable copies
+    
+    Have not yet determined the exact reason the holdable copies size is not
+    defined in some instances in the search results only, but this commit
+    prevents warnings from being spewed by apache about undefined variables.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+2      1       Open-ILS/src/templates/opac/parts/result/table.tt2
+
+commit 2ffba44d3659147ad5bca87f6ff4b224b7c403cc
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Sat Aug 4 10:43:31 2012 -0400
+
+    TPAC: Silence two uninit variable warnings
+    
+    These warnings were being thrown on every TPAC page request, slowly
+    filling the logs:
+    
+    Use of uninitialized value $set_locale in string eq at
+    /usr/local/share/perl/5.10.1/OpenILS/WWW/EGWeb.pm line 159.
+    
+    Use of uninitialized value in pattern match (m//) at
+    /usr/local/share/perl/5.10.1/OpenILS/WWW/EGCatLoader.pm line 250.
+    
+    Banish them.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+2      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+1      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGWeb.pm
+
+commit b12a2b3fe1076805b9da429f09d6e539e48bcb07
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Mon Aug 13 13:53:22 2012 -0400
+
+    TPAC: Give login boxes a border
+    
+    For some reason, the boxes for the login form were stripped of
+    their default border style. Let the natural input box formatting for the
+    border shine through and give users an easier target when logging in.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+0      1       Open-ILS/src/templates/opac/css/style.css.tt2
+
+commit bbc071efaa2d97fa4926d4311cccf78eea2aa956
+Author: Ben Shum <bshum@biblio.org>
+Date:   Mon Aug 6 11:11:54 2012 -0400
+
+    TPAC - Fix footer on hold history page
+    
+    The hold history page was missing an ending div tag to complete the
+    block which leads to the footer being generated incorrectly on that
+    page.
+    
+    Adding the ending tag repairs the display of the footer to match all
+    the other pages.
+    
+    Credit to Melissa Lefebvre for noticing this discrepancy.
+    
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      0       Open-ILS/src/templates/opac/myopac/hold_history.tt2
+
+commit ca3764e52f5d80da030f3bcd16ee331391c5c345
+Author: Melissa Lefebvre <mlefebvre@biblio.org>
+Date:   Tue Aug 14 12:58:18 2012 -0400
+
+    Change grammar for lost and missing failure messages
+    
+    Update to the lost and missing failure wording to make it
+    gramatically correct.  Removed the word "has" from both
+    messages.
+    
+    Signed-off-by: Melissa Lefebvre <mlefebvre@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+2      2       Open-ILS/src/extras/ils_events.xml
+
+commit ab5fcb15d7ef895b0e9059a00568f658fc8a7ef2
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Tue Aug 14 10:50:11 2012 -0400
+
+    Physical Location Fixes/Enhancements
+    
+    Teach the physical location retrieval function about using an ENV var.
+    
+    This allows a subdomain to force a specific physical location, say by adding
+    to their apache config:
+    
+    SetEnv physical_loc 4
+    
+    Rewriterules could also be used for more dynamic configuration.
+    
+    Also, as a fix:
+    
+    Have preferred library use the stored physical location instead of assuming
+    that CGI has the setting all the time.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+3      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+2      2       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
+
+commit 01c58f66605b19fad28de9692cfe56b8a72ba99a
+Author: Ben Shum <bshum@biblio.org>
+Date:   Tue Aug 7 13:48:31 2012 -0400
+
+    TPAC - fix pickup locations for edit holds
+    
+    When a patron goes to edit a hold in TPAC, they have the option to
+    choose a different pickup location. Unfortunately, it looks like that
+    dropdown does not prevent them from selecting locations that aren't
+    normally allowed for pickups, such as system groups or consortium
+    itself.
+    
+    This patch adds a check for 'can_have_vols_only' to the edit holds
+    screen.
+    
+    Credit to Melissa Lefebvre for finally nailing down the source of
+    the issue.
+    
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/templates/opac/myopac/holds/edit.tt2
+
+commit 1d5912e670a328c951a41e333c1a2c0ad564cbbd
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Aug 10 14:59:50 2012 -0400
+
+    Default to current fiscal year in ACQ order upload
+    
+    * Adds a new API call to determine the current fiscal year for a given
+      org unit:  open-ils.acq.org_unit.current_fiscal_year
+    
+    * Use open-ils.acq.org_unit.current_fiscal_year to populate the correct
+      fiscal year in the ACQ order upload selector.
+    
+    This addresses part 2 of LP 1031927
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+37     0       Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Financials.pm
+25     4       Open-ILS/web/js/ui/default/acq/picklist/upload.js
+
+commit b6854d2c06eea5bb4d86a37e461f919379cfc9d8
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Aug 10 14:59:29 2012 -0400
+
+    Enable pcrud access to fiscal year / fiscal calendar
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+4      12      Open-ILS/examples/fm_IDL.xml
+
+commit ea51d9f8e2300799a153d4006939afb9c01812ed
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Aug 10 14:06:36 2012 -0400
+
+    Fiscal year selector in ACQ order record upload
+    
+    * Support a 'fiscal_year' parameter to ACQ order record upload API.
+    * Adds a new "Fiscal Year" selector to the upload form to facilitate
+      uploading orders to different fiscal years.
+    
+    This partially resolves LP 1031927 by allowing manual selection of the
+    correct fiscal year.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+7      5       Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm
+10     0       Open-ILS/src/templates/acq/picklist/upload.tt2
+29     1       Open-ILS/web/js/ui/default/acq/picklist/upload.js
+
+commit d23bd38fe2eaf84c23bb36f3f03f763dbaccfad5
+Author: Ben Shum <bshum@biblio.org>
+Date:   Mon Aug 13 18:08:53 2012 -0400
+
+    Change "Reset form" to "Clear Form"
+    
+    As suggested by Thomas Berezansky in the comments on LP 994058, change
+    the button from "Reset form" to "Clear form" to be absolutely clear
+    that the button now removes all previous search variables.
+    
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/templates/opac/parts/advanced/search.tt2
+
+commit f753885abeb88c48e195c4736883ab1a0955b1bd
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Wed Aug 8 15:08:24 2012 -0400
+
+    TPAC: Reset Form and New Search should clear queries
+    
+    Currently, clicking "Another Search" in the search results page, or
+    "Reset Form" on the advanced search page, keeps the same query terms and
+    type around. Clear these parameters as expected; essentially, we keep
+    only the search location (loc or locg) in scope.
+    
+    Note that we explicitly keep parameters around when someone is going
+    from a basic search to an advanced search, because the assumption is
+    that they want to refine their search further.
+    
+    Also affected are the org_selector, because we want to pull the logic
+    for loc or locg out into a common area (the get_library block in
+    misc_util.tt2), and the style (input.opac-button elements now get styled
+    the same as a.opac-button elements, which makes it easier to intermingle
+    them on the same form).
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+1      1       Open-ILS/src/templates/opac/css/style.css.tt2
+7      11      Open-ILS/src/templates/opac/parts/advanced/search.tt2
+15     0       Open-ILS/src/templates/opac/parts/misc_util.tt2
+5      6       Open-ILS/src/templates/opac/parts/org_selector.tt2
+4      1       Open-ILS/src/templates/opac/results.tt2
+
+commit ff490fbc2c552d33ee11065fe249c0e9e4aa9b8e
+Author: Ben Shum <bshum@biblio.org>
+Date:   Sun Aug 12 03:25:49 2012 -0400
+
+    TPAC - add library scoping to shelf browser
+    
+    The shelf browser currently uses the 'loc' variable to define scoping and
+    limit browsing to specific org units. However, since much of the scoping
+    actually uses 'locg', the scoping was broken for the shelf browser.
+    
+    Additionally, under Advanced Search's Numeric Search, the option for
+    'Call Number (Shelf Browse)' only applies the 'cn' variable to searches
+    and never adds the search scope, despite the search library now being
+    an available filter choice.
+    
+    Based on suggestion by Dan Scott in IRC, this patch uses the function for
+    _get_search_lib() to retrieve the search library and add it to both parts
+    of the shelf browser.
+    
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
+1      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+
+commit 767fcaa324a97288663cf29809264e1d1b42423a
+Author: Jason Stephenson <jstephenson@mvlc.org>
+Date:   Wed Jul 25 13:43:38 2012 -0400
+
+    Make opac/results.tt2 remember facet when sorting, etc.
+    
+    Add a hidden field in the search form and set its value to the value
+    of the CGI 'facet' param if the facet parameter is set.  This appears
+    to work for multiple facets.  Clearing a facet is as simple as clicking
+    on the gray-backgounded facet name.
+    
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+3      0       Open-ILS/src/templates/opac/results.tt2
+
+commit 7eb9ee92f1c3c40b3fa3064831bb979763a1080e
+Author: Ben Shum <bshum@biblio.org>
+Date:   Thu Aug 9 12:27:57 2012 -0400
+
+    TPAC - fix alignment of "You are now browsing..." in shelf browser
+    
+    The "You are now browsing..." message does not align to the center of the
+    page. Changing the <div> to a <p> seems to properly align the text.
+    
+    Along the way, we should remove the extra <span> and <strong> (the strong
+    is redundant with the css being inherited by color_4 class) and make the
+    new single line message more i18n-friendly for future translations.
+    
+    Credit to Michael Peters for noticing the problem and thanks to Dan Scott,
+    Lebbeous Fogle-Weekley, and Thomas Berezansky for help via IRC for the
+    i18n-bits.
+    
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+3      4       Open-ILS/src/templates/opac/parts/record/cnbrowse.tt2
+
+commit 97bf1bb3b78e6b1ae825e26230a0766bce28162c
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Sun Aug 12 15:16:01 2012 -0400
+
+    Fix TPAC shelf browser's previous link
+    
+    Line fix suggested by Thomas Berezansky.
+    
+    The cnoffset was strictly checking for values that start with a digit.
+    But negative numbers start with a "-" instead. Once this check was
+    changed, the previous link will continue to move further into negative
+    offsets.
+    
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/templates/opac/parts/record/cnbrowse.tt2
+
+commit 5391ddb464bc7e55aaa187dd7641b76d12d869fc
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Fri Aug 10 13:03:58 2012 -0400
+
+    Documentation: Fix some issues which caused a2x epub processing to choke.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+2      0       docs/RELEASE_NOTES_2_3.txt
+2      2       docs/root.txt
+
+commit 4a08f184236163217d434b7b18150162250ea584
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Fri Aug 10 12:24:13 2012 -0400
+
+    Documentation: add a missing image.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+-      -       docs/media/Kids_OPAC10.jpg
+ create mode 100644 docs/media/Kids_OPAC10.jpg
+
+commit 0ca4a5a26ec0b8d1e16f5d9b45231c6e5d9157ef
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Fri Aug 10 10:04:59 2012 -0400
+
+    Documentation: remove line break characters from file.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+201    201     docs/opac/kids_opac.txt
+
+commit 067669e687e17a130c890e84f1023f48bf14504d
+Author: Sally Fortin <sfortin@esilibrary.com>
+Date:   Fri Aug 10 09:59:04 2012 -0400
+
+    Documentation: Add kids catalog documentation from ESI site.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+-      -       docs/media/Kids_OPAC1.jpg
+-      -       docs/media/Kids_OPAC11.jpg
+-      -       docs/media/Kids_OPAC12.jpg
+-      -       docs/media/Kids_OPAC13.jpg
+-      -       docs/media/Kids_OPAC14.jpg
+-      -       docs/media/Kids_OPAC15.jpg
+-      -       docs/media/Kids_OPAC16.jpg
+-      -       docs/media/Kids_OPAC17.jpg
+-      -       docs/media/Kids_OPAC2.jpg
+-      -       docs/media/Kids_OPAC4.jpg
+-      -       docs/media/Kids_OPAC5.jpg
+-      -       docs/media/Kids_OPAC6.jpg
+-      -       docs/media/Kids_OPAC7.jpg
+-      -       docs/media/Kids_OPAC8.jpg
+-      -       docs/media/Kids_OPAC9.jpg
+201    0       docs/opac/kids_opac.txt
+2      0       docs/root.txt
+ create mode 100644 docs/media/Kids_OPAC1.jpg
+ create mode 100644 docs/media/Kids_OPAC11.jpg
+ create mode 100644 docs/media/Kids_OPAC12.jpg
+ create mode 100644 docs/media/Kids_OPAC13.jpg
+ create mode 100644 docs/media/Kids_OPAC14.jpg
+ create mode 100644 docs/media/Kids_OPAC15.jpg
+ create mode 100644 docs/media/Kids_OPAC16.jpg
+ create mode 100644 docs/media/Kids_OPAC17.jpg
+ create mode 100644 docs/media/Kids_OPAC2.jpg
+ create mode 100644 docs/media/Kids_OPAC4.jpg
+ create mode 100644 docs/media/Kids_OPAC5.jpg
+ create mode 100644 docs/media/Kids_OPAC6.jpg
+ create mode 100644 docs/media/Kids_OPAC7.jpg
+ create mode 100644 docs/media/Kids_OPAC8.jpg
+ create mode 100644 docs/media/Kids_OPAC9.jpg
+ create mode 100644 docs/opac/kids_opac.txt
+
+commit 135048671b01eacffacba741058ab487a5885b22
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Thu Aug 9 18:25:00 2012 -0400
+
+    Authorities: Fix broken UI due to new XUL/Dojo/regressions
+    
+    New versions of XUL, since Firefox 10, hate dojo.query("foo bar"), so we
+    have to refactor it to use dojo.query("foo").query("bar") instead. At
+    least until we upgrade to a new version of Dojo.
+    
+    In addition, 522d8d82 introduced a regression meaning that the text of
+    the authorities was no longer wrapped in a SPAN element with a class of
+    "text". That in turn meant that the Dojo queries weren't picking up the
+    labels for the merge box, leaving no visual indication to the user as to
+    what authorities exactly were being merged. So, repair that.
+    
+    Also, similar to a fix for the MFHD editor, set the initial height of
+    the spawned MARC Editor for an authority record to something reasonable.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+15     7       Open-ILS/web/js/ui/default/cat/authority/list.js
+
+commit c81118e76cc10529d857233462a6d690c14a9834
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Thu Aug 9 16:31:44 2012 -0400
+
+    Set a sane initial MFHD Editor size
+    
+    For most MFHD records, the size of the MARC Editor window when spawned
+    fits into the confines of a normal desktop. However, for MFHD records
+    with dozens or more rows, the window chrome can be inaccessible because
+    it is bumped off the top of the Windows desktop. This makes it
+    impossible for users to close the window without a workaround like
+    hitting ALT+F4
+    
+    This branch sets the window to an initial height of 40 pixels less than
+    the height of the entire staff client window. This should be enough to
+    enable the chrome on top to be visible. In addition, we have to set the
+    width to something reasonable because XUL seems to otherwise set the
+    window to be extremely skinny once an explicit height is set, so we set
+    that to be half the width of the staff client window.
+    
+    Finally, we allow the new window to be resizable according to the user's
+    preference.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+5      1       Open-ILS/xul/staff_client/chrome/content/cat/opac.js
+
+commit fbc36bfdb1098df6b4cd8f48d59bc9b09cc679d4
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Wed Aug 8 13:50:33 2012 -0400
+
+    Simplified Hold Pull List: Fix several sorting bugs
+    
+    First of all, sorting on most columns was broken due to a bug in the way
+    that the flattener methods of the open-ils.fielder service were
+    constructing their SQL JOINs.  We were coming up with way too many
+    joins, and then losing track of which JOIN's alias to refer to when
+    building the ORDER BY clause later.  This is fixed.
+    
+    Secondly, the shelving location column now sorts automatically by the
+    shelving location *ordering* values, when avaiable.  These are the
+    values that you set up in the drag-and-drop staff client interface
+    titled "Copy Location Order."  When these values are not set for the org
+    unit whose pull list you're viewing, the sorting will fall back to
+    alphabetical.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+5      1       Open-ILS/examples/fm_IDL.xml
+3      0       Open-ILS/src/perlmods/lib/OpenILS/Application/Fielder.pm
+28     3       Open-ILS/src/perlmods/lib/OpenILS/Application/Flattener.pm
+2      2       Open-ILS/src/templates/circ/hold_pull_list.tt2
+
+commit e0e0b53bedae81c6f687cd2ea6db020f9ce9f9b4
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Thu Aug 9 15:17:48 2012 -0400
+
+    Documentation: Update upgrade instruction to 2.3.beta1 and include all docs that were in 2.2.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+11     11      docs/installation/server_upgrade.txt
+50     60      docs/root.txt
+
+commit 807d5ed5a28a2ac9b5caa098eeb339169ff9354f
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Wed Aug 8 10:45:33 2012 -0400
+
+    Documentation: Remove a space causing an error during PDF processing.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+1      1       docs/root.txt
+
+commit 3bee2e65eb4c1d3b297db32df6424a97b8631acd
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Sat Aug 4 11:24:15 2012 -0400
+
+    TPAC: Remove explicit width on "View my list" button
+    
+    .cached_list_div, which defines the style for the "View my list" button
+    on the TPAC button bar once an item has been added to a temporary list,
+    is given an explicit width of 111px, which is problematic for a number
+    of reasons:
+    
+    1. If the font-size of the base style is increased, then the text will
+       likely wrap.
+    2. Translations tend to be longer than English, and indeed in fr-CA
+       "Afficher ma liste" ends up wrapping onto a second line, which makes
+       the button bar look weird.
+    
+    Accordingly, remove the explicit "width:111px" from the style definition
+    for .cached_list_div.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+1      1       Open-ILS/src/templates/opac/css/style.css.tt2
+
+commit 9e95c136931f4abb499ea2862aed3ee56dc2b758
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Tue Aug 7 14:29:37 2012 -0400
+
+    Remove extra xulG redefines
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+0      1       Open-ILS/xul/staff_client/chrome/content/util/widget_prompt.js
+0      2       Open-ILS/xul/staff_client/server/cat/volume_editor.js
+0      2       Open-ILS/xul/staff_client/server/circ/circ_summary.xul
+0      2       Open-ILS/xul/staff_client/server/circ/copy_details.xul
+0      1       Open-ILS/xul/staff_client/server/serial/editor_base.js
+
+commit 6702825122afae72f531bd81d3018be41b71edb9
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Tue Aug 7 14:19:56 2012 -0400
+
+    Fix timestamp typo
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/xul/staff_client/chrome/content/util/timestamp.js
+
+commit b029b810bdba473f5c7743f582aab1e84b60fc85
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Mon Aug 6 12:48:19 2012 -0400
+
+    Redirect to OILS in staff client
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+3      3       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+
+commit 0b8fa1397d0c400f8e85829aa867c4cfbbf2b6ab
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Fri Aug 3 10:59:33 2012 -0400
+
+    Add dependencies for Fedora
+    
+    Noted by Net Wolf on the mailing list, some core dependencies were
+    missing from the Fedora Makefile.install installer. As some of them have
+    recently been packaged for Fedora 17, add them to the package
+    collection; others are still unpackaged, so leave them there.
+    
+    Note: the packages are not available on Fedora 16, but that has a
+    limited remaining shelf life anyway, so consider this a shift to
+    supporting only the latest stable version of Fedora.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+4      1       Open-ILS/src/extras/Makefile.install
+
+commit 23809f373d165481fbdea58111d2b3d079dc691d
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Aug 3 10:02:29 2012 -0400
+
+    Import updated translations from Launchpad; stage 2
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+1      1       build/i18n/po/XULTermLoader.js/XULTermLoader.js.pot
+12     12      build/i18n/po/acq.js/acq.js.pot
+1      1       build/i18n/po/capture.js/capture.js.pot
+16     2       build/i18n/po/circ.properties/circ.properties.pot
+1      1       build/i18n/po/conify.js/conify.js.pot
+810    719     build/i18n/po/db.seed/db.seed.pot
+2537   2345    build/i18n/po/fm_IDL.dtd/fm_IDL.dtd.pot
+15     15      build/i18n/po/ils_events.xml/ils_events.xml.pot
+72     542     build/i18n/po/lang.dtd/lang.dtd.pot
+6      1       build/i18n/po/offline.properties/offline.properties.pot
+2      4       build/i18n/po/opac.dtd/opac.dtd.pot
+1      1       build/i18n/po/opac.js/opac.js.pot
+1      1       build/i18n/po/pull_list.js/pull_list.js.pot
+9      9       build/i18n/po/register.js/register.js.pot
+1      1       build/i18n/po/reservation.js/reservation.js.pot
+1      1       build/i18n/po/selfcheck.js/selfcheck.js.pot
+203    103     build/i18n/po/tpac/tpac.pot
+
+commit 39c37d3bdc1762d329390e287d70b31c51264803
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Aug 3 10:00:54 2012 -0400
+
+    Import updated translations from Launchpad; stage 1
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+21     21      build/i18n/po/Searcher.js/pt-BR.po
+15     16      build/i18n/po/admin.properties/pt-BR.po
+102    0       build/i18n/po/authority.js/tr-TR.po
+65     49      build/i18n/po/cat.properties/pt-BR.po
+4      4       build/i18n/po/circ.properties/cs-CZ.po
+4      4       build/i18n/po/circ.properties/de-DE.po
+4      4       build/i18n/po/circ.properties/en-CA.po
+4      4       build/i18n/po/circ.properties/en-GB.po
+4      4       build/i18n/po/circ.properties/es-ES.po
+4      4       build/i18n/po/circ.properties/fr-CA.po
+4      4       build/i18n/po/circ.properties/hy-AM.po
+74     41      build/i18n/po/circ.properties/pt-BR.po
+4      4       build/i18n/po/circ.properties/ru-RU.po
+5      5       build/i18n/po/conify.js/es-ES.po
+5      5       build/i18n/po/conify.js/pt-BR.po
+2191   2198    build/i18n/po/fm_IDL.dtd/cs-CZ.po
+2188   2195    build/i18n/po/fm_IDL.dtd/de-DE.po
+2191   2198    build/i18n/po/fm_IDL.dtd/en-CA.po
+2191   2198    build/i18n/po/fm_IDL.dtd/en-GB.po
+2188   2195    build/i18n/po/fm_IDL.dtd/es-ES.po
+2225   2232    build/i18n/po/fm_IDL.dtd/fr-CA.po
+2191   2198    build/i18n/po/fm_IDL.dtd/hy-AM.po
+2191   2198    build/i18n/po/fm_IDL.dtd/pt-BR.po
+2191   2198    build/i18n/po/fm_IDL.dtd/ru-RU.po
+2188   2195    build/i18n/po/fm_IDL.dtd/tr-TR.po
+149    142     build/i18n/po/opac.dtd/pt-BR.po
+5      5       build/i18n/po/opac.js/es-ES.po
+15     15      build/i18n/po/pull_list.js/pt-BR.po
+6      6       build/i18n/po/register.js/de-DE.po
+20     20      build/i18n/po/register.js/es-ES.po
+31     31      build/i18n/po/register.js/tr-TR.po
+31     22      build/i18n/po/selfcheck.js/pt-BR.po
+11     11      build/i18n/po/serial.properties/pt-BR.po
+ create mode 100644 build/i18n/po/authority.js/tr-TR.po
+
+commit 78373003944ba3be5535bb4a221cecc4fd01bceb
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Aug 2 12:12:49 2012 -0400
+
+    Initial cut of 2.3 release notes.
+    
+    Basically, the contents of RELEASE_NOTES_NEXT organized into
+    RELEASE_NOTES_2_3.txt and removed from RELEASE_NOTE_NEXT.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+368    0       docs/RELEASE_NOTES_2_3.txt
+0      22      docs/RELEASE_NOTES_NEXT/acq-invoice-li-search.txt
+0      67      docs/RELEASE_NOTES_NEXT/add-to-permanent-bookbag.txt
+0      15      docs/RELEASE_NOTES_NEXT/edi-invoices.txt
+0      60      docs/RELEASE_NOTES_NEXT/new_xulrunner.txt
+0      38      docs/RELEASE_NOTES_NEXT/search-filter-groups.txt
+0      30      docs/RELEASE_NOTES_NEXT/simplified-hold-pull-list.txt
+0      29      docs/RELEASE_NOTES_NEXT/tpac-css-colors.txt
+0      37      docs/RELEASE_NOTES_NEXT/vandelay-copy-overlay.txt
+0      15      docs/RELEASE_NOTES_NEXT/warn-when-adding-to-a-temporary-bookbag.txt
+0      16      docs/RELEASE_NOTES_NEXT/z3950-attr-admin-ui.txt
+ create mode 100644 docs/RELEASE_NOTES_2_3.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/acq-invoice-li-search.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/add-to-permanent-bookbag.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/edi-invoices.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/new_xulrunner.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/search-filter-groups.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/simplified-hold-pull-list.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/tpac-css-colors.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/vandelay-copy-overlay.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/warn-when-adding-to-a-temporary-bookbag.txt
+ delete mode 100644 docs/RELEASE_NOTES_NEXT/z3950-attr-admin-ui.txt
+
+commit 9646deb6f6dcf9b4ae807bcc7cf283485cba5371
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Aug 2 12:09:42 2012 -0400
+
+    Add simple README to RELEASE_NOTE_NEXT
+    
+    Without something in the directory, it will dissappear each time we
+    create release notes from the contents and delete them, since Git
+    removes empty directories.  That would likely just lead to confusion.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+6      0       docs/RELEASE_NOTES_NEXT/README
+ create mode 100644 docs/RELEASE_NOTES_NEXT/README
+
+commit 5aff6e1d57a25720197bd8b0c363c54e16fbdaf5
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Fri Aug 3 09:21:18 2012 -0400
+
+    Documentation: adjust documentation for 2_3 release.
+    
+    Comment out chapters in root.txt except for basic documentation.
+    Update upgrade instructions for the 2.3 alpha2 release.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+12     12      docs/installation/server_upgrade.txt
+53     53      docs/root.txt
+
+commit d197adabb23a0ada11cb4e5e881706ae45ad8050
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Aug 2 11:35:05 2012 -0400
+
+    Repairing upgrade stamp number
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+1      1       Open-ILS/src/sql/Pg/upgrade/0733.data.jedi_with_copies.sql
+
+commit ca2b77886d873c6ba103d77ad157a9174ea0382b
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Thu Aug 2 10:34:44 2012 -0400
+
+    Documentation: Add Staff account management chapter.
+    
+    Converted from 1.6 documentation. Reviewed by Jennifer Turner.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+88     0       docs/admin/permissions.txt
+2      0       docs/root.txt
+ create mode 100644 docs/admin/permissions.txt
+
+commit 2dea1770e821eb05abd38e339eb25de13a49d4c8
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Wed Aug 1 23:05:58 2012 -0400
+
+    Fix up whitespace in a couple of SIP modules
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+292    292     Open-ILS/src/perlmods/lib/OpenILS/SIP.pm
+178    178     Open-ILS/src/perlmods/lib/OpenILS/SIP/Patron.pm
+
+commit 6769c01217e0c8b8a91ba7d3cc8ce6769919bf39
+Author: Jeff Godin <jgodin@tadl.org>
+Date:   Tue Jun 19 15:31:08 2012 -0400
+
+    Add SIP support for Fine Items field
+    
+    Add support for SIP Fine Items, msg 64 field AV.
+    
+    Display outstanding balance, last_billing_type, and a description.
+    
+    For circulation xacts, description is title / author from MODS.
+    
+    For grocery xacts, description is last_billing_note.
+    
+    Wishlist LP 1012328
+    
+    Signed-off-by: Jeff Godin <jgodin@tadl.org>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+15     1       Open-ILS/src/perlmods/lib/OpenILS/SIP/Patron.pm
+
+commit a188139d906bf35c0e0a0184711b0f440c4bb02e
+Author: Jeff Godin <jgodin@tadl.org>
+Date:   Tue Jun 19 15:10:07 2012 -0400
+
+    Pass authtoken to OpenILS::SIP::Patron objects
+    
+    To support retrieval of billing details, OpenILS::SIP::Patron
+    objects need an auth token.
+    
+    Teach OpenILS::SIP->find_patron to pass patron objects an auth
+    token, and also move existing "find patron by what key: barcode or
+    database id?" logic into find_patron (and out of
+    OpenILS::SIP::Patron->new).
+    
+    Signed-off-by: Jeff Godin <jgodin@tadl.org>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+8      1       Open-ILS/src/perlmods/lib/OpenILS/SIP.pm
+2      6       Open-ILS/src/perlmods/lib/OpenILS/SIP/Patron.pm
+
+commit abc738f57e52871192f9a027e5356deb8f7424d5
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Wed Aug 1 17:33:48 2012 -0400
+
+    Wrap upgrade script for search filter group admin UI
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+31     0       Open-ILS/src/sql/Pg/upgrade/0735.data.search_filter_group_perms.sql
+0      29      Open-ILS/src/sql/Pg/upgrade/XXXX.data.search_filter_group_perms.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0735.data.search_filter_group_perms.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.search_filter_group_perms.sql
+
+commit 4d424d03934f7ebb4e5ffe3ae2d7335586a6c5e4
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed Jul 25 09:43:43 2012 -0400
+
+    Search filter group doc repair
+    
+    Change the example in the docs to have correct syntax:
+    
+    filter_group=reading_level becomes filter_group='reading_level'
+    
+    Thanks to kmlussier for pointing this out.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Kathy Lussier <klussier@masslnc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       docs/RELEASE_NOTES_NEXT/search-filter-groups.txt
+
+commit 176078548035aa3781b91e66d7df578b0a43858d
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu May 31 10:06:17 2012 -0400
+
+    Add missing search filter group view/admin perm
+    
+    ADMIN_SEARCH_FILTER_GROUP
+    VIEW_SEARCH_FILTER_GROUP
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Kathy Lussier <klussier@masslnc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+5      1       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+29     0       Open-ILS/src/sql/Pg/upgrade/XXXX.data.search_filter_group_perms.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.search_filter_group_perms.sql
+
+commit e9771beffe8ffcdb0d7f02eb2bfce6962a4e1ac5
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu May 31 09:27:40 2012 -0400
+
+    Search filter groups release notes
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Kathy Lussier <klussier@masslnc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+38     0       docs/RELEASE_NOTES_NEXT/search-filter-groups.txt
+ create mode 100644 docs/RELEASE_NOTES_NEXT/search-filter-groups.txt
+
+commit 67095d5acccdd7947aef2a7bcc4a2c232e0db33c
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu May 31 09:37:58 2012 -0400
+
+    Search filter groups admin UI staff menu entry
+    
+    Admin -> Local Administration -> Search Filter Groups
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Kathy Lussier <klussier@masslnc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      0       Open-ILS/web/opac/locale/en-US/lang.dtd
+4      0       Open-ILS/xul/staff_client/chrome/content/main/menu.js
+3      0       Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul
+
+commit 42505e6c89ef51cdba62d112222739114e8de8dd
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri May 25 09:22:36 2012 -0400
+
+    Search filter groups admin UI / API
+    
+    UI for managing search filter groups and group entries.
+    
+    This inclues a new API call for performing CRUD actions on filter
+    group entries:
+    
+    open-ils.actor.filter_group_entry.crud
+    
+    This new API call was necessary because entries link to
+    actor.search_query's, whose write access cannot be controled by pcrud.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Kathy Lussier <klussier@masslnc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+2      2       Open-ILS/examples/fm_IDL.xml
+112    0       Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm
+104    0       Open-ILS/src/templates/conify/global/actor/search_filter_group.tt2
+182    0       Open-ILS/web/js/ui/default/conify/global/actor/search_filter_group.js
+ create mode 100644 Open-ILS/src/templates/conify/global/actor/search_filter_group.tt2
+ create mode 100644 Open-ILS/web/js/ui/default/conify/global/actor/search_filter_group.js
+
+commit 5d355e3262c3cf5a528762d5162a8526649efcbb
+Author: Jason Stephenson <jason@sigio.com>
+Date:   Wed Apr 25 15:06:38 2012 -0400
+
+    Add WEBDIR to Open-ILS/xul/staff_client/Makefile.am.
+    
+    Signed-off-by: Jason Stephenson <jason@sigio.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/xul/staff_client/Makefile.am
+
+commit 61a95875189d27ed3543f45edb63d3e243aa272a
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Wed Aug 1 16:40:51 2012 -0400
+
+    Fix place hold hiding logic
+    
+    Always show the place hold link for staff with permission to place holds
+    that won't fill currently.
+    
+    Otherwise, only show the link if:
+    There are holdable copies
+    AND
+    We aren't blocking OR there are no available copies
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+3      4       Open-ILS/src/templates/opac/parts/record/summary.tt2
+3      5       Open-ILS/src/templates/opac/parts/result/table.tt2
+
+commit f58ad303473a992b11cbefe704dafd1a8eb03ae3
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Wed Aug 1 16:54:32 2012 -0400
+
+    TPAC: Wrap "holdable copies" upgrade script
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+145    0       Open-ILS/src/sql/Pg/upgrade/0734.tpac_holdable_check.sql
+0      137     Open-ILS/src/sql/Pg/upgrade/XXXX.tpac_holdable_check.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0734.tpac_holdable_check.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.tpac_holdable_check.sql
+
+commit 8151ed9d949a6613c1bf40d605c59f2d07efd06c
+Author: Art Rhyno <art632000@yahoo.ca>
+Date:   Fri Jul 27 11:39:14 2012 -0400
+
+    Block "Place Hold" link in TPAC if item is available
+    
+    Suppress the display of the "Place Hold" link based on whether an item
+    is available. This is set as a preference in config.tt2. Some sites
+    may want the ability to place holds regardless of availability.
+    
+    Signed-off-by: Art Rhyno <art632000@yahoo.ca>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    
+    Conflicts:
+       Open-ILS/src/templates/opac/parts/record/summary.tt2
+       Open-ILS/src/templates/opac/parts/result/table.tt2
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+9      0       Open-ILS/src/templates/opac/parts/config.tt2
+3      1       Open-ILS/src/templates/opac/parts/misc_util.tt2
+8      2       Open-ILS/src/templates/opac/parts/record/summary.tt2
+9      2       Open-ILS/src/templates/opac/parts/result/table.tt2
+
+commit a6170ad241d22e936def92dd0896ee955ae48e53
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Wed Apr 18 17:03:05 2012 -0400
+
+    TPac: Hide place hold links when not holdable
+    
+    The only check done is on the holdable flags:
+    Copy
+    Status
+    Location
+    
+    Hold rules themselves are not checked.
+    
+    Note that place hold links are shown either way when you can have the
+    PLACE_UNFILLABLE_HOLD permission and are logged into the staff client.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+45     0       Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm
+1      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+45     0       Open-ILS/src/sql/Pg/040.schema.asset.sql
+2      1       Open-ILS/src/sql/Pg/990.schema.unapi.sql
+137    0       Open-ILS/src/sql/Pg/upgrade/XXXX.tpac_holdable_check.sql
+2      0       Open-ILS/src/templates/opac/parts/record/summary.tt2
+2      0       Open-ILS/src/templates/opac/parts/result/table.tt2
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.tpac_holdable_check.sql
+
+commit 77fdad1194178d217b46c4c49d9930a2c31cd5be
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Thu Apr 12 10:23:12 2012 -0400
+
+    Operator Change Fun
+    
+    Allow for temporary, staff, and permanent operator changes.
+    
+    Temporary uses a temp authtoken for a few minute timeout.
+    
+    Staff uses a normal staff login authtoken for a multi-hour timeout.
+    
+    Permanent is a staff change that disregards the previous login instead of
+    allowing it to be recovered by using the menu item again.
+    
+    I also fixed things up so later timeouts can re-use the previous duration
+    and fixed up some title bar issues:
+    
+    1 - Login screen shows version again (needed a document in the title set)
+    2 - Menu windows don't forget the server name
+    3 - Menu windows keep the same number for their lifetime
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+6      0       Open-ILS/web/opac/locale/en-US/lang.dtd
+1      1       Open-ILS/xul/staff_client/chrome/content/main/main.js
+11     6       Open-ILS/xul/staff_client/chrome/content/main/menu.js
+2      1       Open-ILS/xul/staff_client/chrome/content/main/menu_frame.xul
+12     11      Open-ILS/xul/staff_client/chrome/content/util/network.js
+30     4       Open-ILS/xul/staff_client/server/main/simple_auth.xul
+
+commit 5dd2ae5ac5e85e3a7c25816e195a621835e5c106
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Wed Apr 11 19:53:48 2012 -0400
+
+    Rip modal_xulG_stack out, replace with openDialog
+    
+    This converts the util/window.js open function to a wrapper around the
+    openDialog function and passes xulG in that way, as well as teaches
+    global_util.js to look for it having been passed in via the arguments
+    parameter on window.
+    
+    The non-modal "push it into place" is still done as well, in case some
+    window isn't using global_util.js and needs xulG.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+4      31      Open-ILS/xul/staff_client/chrome/content/OpenILS/global_util.js
+3      5       Open-ILS/xul/staff_client/chrome/content/main/menu.js
+7      10      Open-ILS/xul/staff_client/chrome/content/main/simple_auth.xul
+11     29      Open-ILS/xul/staff_client/chrome/content/util/fancy_prompt.xul
+1      1       Open-ILS/xul/staff_client/chrome/content/util/print.js
+17     25      Open-ILS/xul/staff_client/chrome/content/util/timestamp.js
+10     13      Open-ILS/xul/staff_client/chrome/content/util/widget_prompt.js
+1      1       Open-ILS/xul/staff_client/chrome/content/util/widget_prompt.xul
+12     97      Open-ILS/xul/staff_client/chrome/content/util/window.js
+0      13      Open-ILS/xul/staff_client/server/cat/bib_brief.js
+6      7       Open-ILS/xul/staff_client/server/cat/copy_editor.js
+1      1       Open-ILS/xul/staff_client/server/cat/copy_notes.xul
+0      10      Open-ILS/xul/staff_client/server/cat/marc_view.xul
+0      1       Open-ILS/xul/staff_client/server/cat/record_buckets_quick.xul
+1      2       Open-ILS/xul/staff_client/server/cat/volume_editor.js
+4      8       Open-ILS/xul/staff_client/server/circ/backdate_post_checkin.js
+1      3       Open-ILS/xul/staff_client/server/circ/circ_summary.xul
+1      3       Open-ILS/xul/staff_client/server/circ/copy_details.xul
+7      10      Open-ILS/xul/staff_client/server/main/simple_auth.xul
+1      1       Open-ILS/xul/staff_client/server/patron/bill_cc_info.xul
+15     23      Open-ILS/xul/staff_client/server/patron/bill_wizard.js
+9      13      Open-ILS/xul/staff_client/server/patron/edit_standing_penalty.js
+3      7       Open-ILS/xul/staff_client/server/patron/hold_cancel.js
+3      7       Open-ILS/xul/staff_client/server/patron/new_standing_penalty.js
+8      9       Open-ILS/xul/staff_client/server/serial/editor_base.js
+4      4       Open-ILS/xul/staff_client/server/serial/notes.xul
+2      2       Open-ILS/xul/staff_client/server/serial/select_aou.xul
+2      2       Open-ILS/xul/staff_client/server/serial/select_unit.xul
+
+commit 8227dd59af80c12740ad51ea076d7e5806b8ff62
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Wed Aug 1 15:17:59 2012 -0400
+
+    Stamping upgrade script for JEDI with Copies
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+187    0       Open-ILS/src/sql/Pg/upgrade/0733.data.jedi_with_copies.sql
+0      183     Open-ILS/src/sql/Pg/upgrade/XXXX.data.jedi_with_copies.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0733.data.jedi_with_copies.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.jedi_with_copies.sql
+
+commit ab47e65292278af4213df9dc7a6afa020bc208e4
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jul 27 12:11:23 2012 -0400
+
+    EDI ORDER template, now with copies
+    
+    Adds a new "copies" structure to the stock JEDI ORDER template.  Copies
+    are ultimately mapped into one or more GIR segments in the outbound EDI.
+    This commit only adds the change to the stock template (seed data).  It
+    also adds entries to the environment for the stock template and existing
+    template 23 via upgrade script (to expedite local template editing).
+    
+    With the current template, GIR segments look like so:
+    
+    GIR+001+8:LCO+TESTFUND2:LFN+SYS1-BR1:LLO+FIC ROW 456:LSM+Stacks:LSQ'
+    GIR+002+9:LCO+TESTFUND2:LFN+SYS1-BR1:LLO+FIC ROW 456:LSM+Stacks:LSQ'
+    GIR+003+10:LCO+TESTFUND2:LFN+SYS1-BR1:LLO+FIC ROW 456:LSM+Stacks:LSQ'
+    GIR+004+11:LCO+TESTFUND2:LFN+SYS1-BR1:LLO+FIC ROW 456:LSM+Stacks:LSQ'
+    GIR+005+12:LCO+TESTFUND2:LFN+SYS1-BR1:LLO+FIC ROW 456:LSM+Stacks:LSQ'
+    GIR+006+13:LCO+TESTFUND2:LFN+SYS1-BR2:LLO+FIC ROW 456:LSM+Young Adult:LSQ'
+    GIR+007+14:LCO+TESTFUND2:LFN+SYS1-BR2:LLO+FIC ROW 456:LSM+Young Adult:LSQ'
+    GIR+008+15:LCO+TESTFUND2:LFN+SYS1-BR2:LLO+FIC ROW 456:LSM+Young Adult:LSQ'
+    
+    LQT / quantity is also supported.
+    
+    The current implementation is meant to cover all possible fields so that
+    users can remove/alter items on a vendor by vendor basis as needed.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+31     2       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+183    0       Open-ILS/src/sql/Pg/upgrade/XXXX.data.jedi_with_copies.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.jedi_with_copies.sql
+
+commit d6bab7ae43feb872af795022106f6848f41f09ad
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jul 27 11:11:25 2012 -0400
+
+    Added debug-only option to edi_pusher.pl
+    
+    Option causes the final EDI to be printed to STDOUT, but does not
+    populate any data in the DB nor does it FTP the file to the vendor.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+10     1       Open-ILS/src/support-scripts/edi_pusher.pl
+
+commit 1741ce377f536f47bc1380d6144b2d88eced387c
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Thu Jul 26 10:17:06 2012 -0400
+
+    Feed JEDI to the EDI translator to get EDI, and vice versa.
+    
+    Run this script as the opensrf user.
+    
+    INPUT_IS_EDI=1 perl test_edi_translator.pl < blob.edi
+    
+    -or-
+    
+    perl test_edi_translator.pl < blob.jedi
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+57     0       Open-ILS/src/edi_translator/test_edi_translator.pl
+ create mode 100644 Open-ILS/src/edi_translator/test_edi_translator.pl
+
+commit cff5fb73738b1ef632c9de88a4156f5b291c4d71
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Wed Aug 1 14:51:39 2012 -0400
+
+    Whitespace fixes in Collections.pm
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+761    761     Open-ILS/src/perlmods/lib/OpenILS/Application/Collections.pm
+
+commit 375054cfe65304c5717f13c7fbe15e66183ff2ab
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Apr 12 11:44:44 2012 -0400
+
+    Collections user balance API / batch file output
+    
+    New API open-ils.collections.user_balance_summary.generate,
+    which generates summary information on patron balance owed for all open
+    transactions that occurred at the requested location.  Optional flag
+    supports including per-xact summary information as well.  The summary
+    information is written to an XML file and placed in a protected, shared
+    web directory for download after the file has been generated.
+    
+    During creation, the output file will have a .tmp suffix, allowing
+    clients to poll for file completion.
+    
+    Includes a new opensrf.xml app_setting for open-ils.collections to
+    specifiy the batch file directory as well as a sample Apache config in
+    eg_vhost.conf
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+14     0       Open-ILS/examples/apache/eg_vhost.conf
+4      0       Open-ILS/examples/opensrf.xml.example
+229    0       Open-ILS/src/perlmods/lib/OpenILS/Application/Collections.pm
+
+commit 1d03a65e7a7c19acbf6644f60a7473934702a817
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Apr 12 11:07:10 2012 -0400
+
+    Fieldmapper toXML repairs and additions
+    
+    1. Be sure the append the current element to the document in progress
+    
+    2. Use the class hint instead of the fully qualified class_name (e.g.
+    Fielmapper::actor::user) to avoid XML errors:
+    
+    namespace error : Failed to parse QName 'Fieldmapper:'
+    
+    3. Added support for additional options including "no_virt" which tells
+    the routine to skip all virtual fields and "skip_fields" to support
+    leaving specific fields out of the output.  The main use case for skip
+    fields is au => ['passwd'], but other examples might include large
+    fields like bre => ['marc'].
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+14     3       Open-ILS/src/perlmods/lib/OpenILS/Utils/Fieldmapper.pm
+
+commit a5fd2cae1b6ad5fa1fd03a8672d4646af2554418
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Tue Apr 10 16:28:40 2012 -0400
+
+    Teach Fieldmapper how to turn FM objects into simple XML
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+41     0       Open-ILS/src/perlmods/lib/OpenILS/Utils/Fieldmapper.pm
+
+commit af90956986c220751c7b9f0aec5663ab9ce2c69a
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Wed Aug 1 14:30:07 2012 -0400
+
+    Stamping upgrade script 0732
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+56     0       Open-ILS/src/sql/Pg/upgrade/0732.schema.acq-lineitem-summary.sql
+0      53      Open-ILS/src/sql/Pg/upgrade/XXXX.schema.acq-lineitem-summary.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0732.schema.acq-lineitem-summary.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.acq-lineitem-summary.sql
+
+commit 460d34e561fbeb9e9c878fb2f7faa45b260ee9a3
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed Aug 1 13:54:00 2012 -0400
+
+    ACQ unified search submit on enter (for real)
+    
+    This replaces the old-style submit on enter handler which was based
+    attaching key handlers to the dijit domNode, which does not work for
+    filtering selects (i.e. more complicated dijits) w/ the dijit-sanctioned
+    dojo.connect(..., 'onkeyup', ...), which works regardless.  This also
+    covers more form input elements which were overlooked with the original
+    submit-on-enter code.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+15     3       Open-ILS/web/js/ui/default/acq/search/unified.js
+
+commit 8b27613b0bf67e9c14d1d8ed3121d544c8bc41c5
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jul 12 15:26:50 2012 -0400
+
+    ACQ invoice formatting improvements
+    
+    Prevent # invoiced and # paid inputs from wrapping.  Also, make the text
+    boxes a little smaller to reduce horizontal space requirements.  It's
+    still possible to enter any value, but only the 4 least significant
+    digits are visible.  Since it's not common to invoice 10k+ copies of the
+    same item, this seems like a fair trade off.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      3       Open-ILS/src/templates/acq/invoice/view.tt2
+5      1       Open-ILS/web/js/ui/default/acq/invoice/view.js
+
+commit d7177aa1a4ad46d00dbea4489e3388d0ba1cc772
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Jul 10 11:07:53 2012 -0400
+
+    ACQ invoice inline lineitem search and add
+    
+    The Invoice UI is how composed of two tabs, the main invoice tab and a new
+    Search tab.  The search tab consists of a subset of the Acquisitions unified
+    search interface.  The goal is to allow users to search for lineitems to
+    invoice.  Search results may be added directly to the growing invoice.  A
+    number of small usability features are included.
+    
+    Features
+    ~~~~~~~~
+    
+        * Option (default) to limit searches to invoiceable items.
+            ** These are lineitems that are not cancelled, have at least one
+               invoiceable copy, linked to a PO whose provider matches that of the
+               current invoice, and are not already linked to the current invoice.
+    
+        * Search defaults to last-run search (on workstation).
+        * New Lineitem Detail filter options
+        * Sort searches by lineitem number (default) and title.
+        * There is a new Expected Cost field which includes both the total invoiced
+          cost plus the anticipated cost of lineitems as they are added.
+        * New Price per Copy field
+        * Lineitem count field
+        * Show / Hide Invoice details button.  Details are displayed by default, but
+          hidden when the user enters the search tab.  From there it remains hidden
+          until manually shown (or a new invoice is opened).
+        * A new "Save & Clear" button which saves the current invoice then clears
+          the invoice display to create a new invoice.
+        * Provider, shipper, and receiver fields are auto-populated from the
+          first-added invoice data (when not already set).
+        * Totals are now read-only, since they are derived from existing data (and
+          are informational only).
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+43     3       Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Search.pm
+298    107     Open-ILS/src/templates/acq/invoice/view.tt2
+1      1       Open-ILS/web/css/skin/default/acq.css
+23     3       Open-ILS/web/js/ui/default/acq/invoice/common.js
+283    26      Open-ILS/web/js/ui/default/acq/invoice/view.js
+101    75      Open-ILS/web/js/ui/default/acq/search/unified.js
+22     0       docs/RELEASE_NOTES_NEXT/acq-invoice-li-search.txt
+ create mode 100644 docs/RELEASE_NOTES_NEXT/acq-invoice-li-search.txt
+
+commit f502f9e4265603e47f9747d4dc30ee73c26dac07
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jul 20 13:53:35 2012 -0400
+
+    EditPane setFieldValue method
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+9      0       Open-ILS/web/js/dojo/openils/widget/EditPane.js
+
+commit 07ba14c420cfda48dc550cf0888fd96d29603e76
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jul 20 11:15:25 2012 -0400
+
+    EditPane.js API repairs
+    
+    By default, don't throw an exception from EditPane.getFieldValue when a
+    field is required and the value is null.  Otherwise, external code is
+    unable to use this method for inspecting the pane.  Make checkRequired
+    an additional method flag.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+5      3       Open-ILS/web/js/dojo/openils/widget/EditPane.js
+
+commit 7b12ae81a56b1d998eb6c9f239ef259d3e23027a
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jul 20 10:25:39 2012 -0400
+
+    ACQ lineitem summary moved to real DB view
+    
+    This is allows us to create new IDL views based on the lineitem summary.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+19     53      Open-ILS/examples/fm_IDL.xml
+50     0       Open-ILS/src/sql/Pg/200.schema.acq.sql
+53     0       Open-ILS/src/sql/Pg/upgrade/XXXX.schema.acq-lineitem-summary.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.acq-lineitem-summary.sql
+
+commit 8ab88c90f5c4e71c0d5adea27b54bdb472c6bd0a
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Tue Jul 17 17:59:23 2012 -0400
+
+    EDI Invoicing
+    
+    Includes patch for edi4r to make invoice parsing possible.
+    
+    Also adds OpenILS::Utils::LooseEDI module.  This doesn't try to do the
+    validation and other helpful things that Business::EDI aims to do, but it
+    does let us get up and running relatively quickly at getting data from EDI
+    invoices if we know what we're looking for.
+    
+    [Amended to add bits about tax, plus release note blurb.]
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+10     0       Open-ILS/src/edi_translator/misc/edi4r-break-on-nil-seg.patch
+278    1       Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/EDI.pm
+144    0       Open-ILS/src/perlmods/lib/OpenILS/Utils/LooseEDI.pm
+15     0       docs/RELEASE_NOTES_NEXT/edi-invoices.txt
+ create mode 100644 Open-ILS/src/edi_translator/misc/edi4r-break-on-nil-seg.patch
+ create mode 100644 Open-ILS/src/perlmods/lib/OpenILS/Utils/LooseEDI.pm
+ create mode 100644 docs/RELEASE_NOTES_NEXT/edi-invoices.txt
+
+commit 2de2799ae0606dbad4280c348f80ef08dd0bbe74
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jul 27 16:11:54 2012 -0400
+
+    Vandelay Copy Overlay support
+    
+    Vandelay Item Attributes (Cataloging -> MARC Import /
+    Export -> Import Item Attribute Definitions) contains
+    a new field called "Overlay Match ID".  The presence of data
+    in this field extracted from an import-item copy indicates
+    to the Vandelay import process that a copy overlay is requested
+    instead of new copy creation.  The value for the field is the
+    copy id for bib record queues and the ACQ lineitem_detail ID for
+    Acquisitions Queues.  For either type of queue, however, overlay
+    occurs against a real copy (asset.copy).  In the ACQ queue case,
+    we use the lineitem_detail ID because this is the data ACQ
+    providers and sub-systems will have access to.
+    
+    When a match point ID value is a set and a matching copy is found,
+    the values extracted from the inbound copy data are used to replace
+    values on the existing found copy, including the call-number label.
+    Any fields on the inbound copy that are empty are ignored.
+    
+    One use case for this feature are shelf-ready items produced by a
+    3rd-party (e.g. ACQ provider) and delivered to the library via MARC
+    file for upload.  The file might contain improved MARC bibliographic
+    data as well as real barcodes (i.e. not temporary ACQ generated
+    barcodes) for the copies already purchased through the vendor.
+    
+    Permission
+    ~~~~~~~~~
+    
+    This adds a new permission called IMPORT_OVERLAY_COPY which is
+    required to perform the copy overlay step.
+    
+    Regardless of permission, it is not possible to overlay values on
+    a copy unless the imported bib record links (creates/overlays/merges)
+    to/with the owning bib record for the copy to be overlaid.  This is
+    both for security and removal of a potent foot-gun.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+2      0       Open-ILS/examples/fm_IDL.xml
+199    58      Open-ILS/src/perlmods/lib/OpenILS/Application/Vandelay.pm
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+3      1       Open-ILS/src/sql/Pg/012.schema.vandelay.sql
+3      1       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+14     1       Open-ILS/src/sql/Pg/999.functions.global.sql
+452    0       Open-ILS/src/sql/Pg/upgrade/0731.schema.vandelay_item_overlay.sql
+1      0       Open-ILS/src/templates/vandelay/inc/upload.tt2
+12     1       Open-ILS/web/js/ui/default/vandelay/vandelay.js
+37     0       docs/RELEASE_NOTES_NEXT/vandelay-copy-overlay.txt
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0731.schema.vandelay_item_overlay.sql
+ create mode 100644 docs/RELEASE_NOTES_NEXT/vandelay-copy-overlay.txt
+
+commit de7b7f758220db82107f94a90bd1b1602f45426b
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Jul 31 09:14:40 2012 -0400
+
+    Stamping Encumbrance-only rollover DB upgrade
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+312    0       Open-ILS/src/sql/Pg/upgrade/0730.schema.acq-function-dedup.sql
+0      312     Open-ILS/src/sql/Pg/upgrade/XXXX.schema.acq-function-dedup.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0730.schema.acq-function-dedup.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.acq-function-dedup.sql
+
+commit ed2cdd9b633999f738bedfa80367706e849cf0d2
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Fri Jul 27 13:32:12 2012 -0400
+
+    Finishing off rollover-without-money feature
+    
+    - Minor correction to make stock schema match upgrade script match.
+    - OU setting determining whether to offer rollover-without-money in UI
+       and allow it in DB.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+11     2       Open-ILS/src/sql/Pg/200.schema.acq.sql
+20     1       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+34     1       Open-ILS/src/sql/Pg/upgrade/XXXX.schema.acq-function-dedup.sql
+2      2       Open-ILS/src/templates/acq/fund/list.tt2
+15     0       Open-ILS/web/js/ui/default/acq/financial/list_funds.js
+
+commit c25e5a3a9a5de07a6c0614093eaac83d4cc37fc3
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Thu Jul 26 09:35:01 2012 -0400
+
+    Allow propagation of encumbrances without funds
+    
+    Some libraries must return all unspent money to some funding agencies at the
+    end of the year.  To support this, we give the year-end close-out operation
+    the ability to dump the money from rollover-enabled funds into the void. Funds
+    are still created for the next year, and encumbrances are moved to theses
+    analogous funds.
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+7      11      Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Financials.pm
+20     265     Open-ILS/src/sql/Pg/200.schema.acq.sql
+279    0       Open-ILS/src/sql/Pg/upgrade/XXXX.schema.acq-function-dedup.sql
+15     0       Open-ILS/src/templates/acq/fund/list.tt2
+4      1       Open-ILS/web/js/ui/default/acq/financial/list_funds.js
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.acq-function-dedup.sql
+
+commit 4fee07d5c7be39a21fa6df602c9b6855d3315fb1
+Author: Jeff Godin <jgodin@tadl.org>
+Date:   Tue Jun 19 12:31:03 2012 -0400
+
+    Support SIP payment type 02 - credit card
+    
+    Record SIP payments with payment type 02 as credit_card_payment in
+    Evergreen.
+    
+    Signed-off-by: Jeff Godin <jgodin@tadl.org>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+
+2      2       Open-ILS/src/perlmods/lib/OpenILS/SIP.pm
+13     3       Open-ILS/src/perlmods/lib/OpenILS/SIP/Transaction/FeePayment.pm
+
+commit 564f768051caacc79c1b7fdfc31d0d7feb6b9dd2
+Author: Steven Chan <schan@sitka.bclibraries.ca>
+Date:   Sun Jul 8 11:20:11 2012 -0700
+
+    Fix LP 829630, Show in Catalogue not working on Bills screen
+    
+    The page is looking for a messagecatalog XUL element with id
+    'catStrings', but is not finding it, and so we add it to the relevant
+    XUL file.
+    
+    It's odd why it is omitted, because a browse through the repository
+    doesn't show any changes that would explain the error.
+    
+    Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      0       Open-ILS/xul/staff_client/server/patron/bill2.xul
+
+commit 87fe87866c391e86c0df50e7c905f81da4a0a3d4
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Thu Jun 14 07:34:12 2012 -0400
+
+    Use bash and the postgres built-in array_agg
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+3      3       Open-ILS/examples/build-eg-replication.sh
+
+commit 4acbcfc9e799eeb6a342a26cb6eac8932b57bf75
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Mon Jul 30 16:24:45 2012 -0400
+
+    Wrap upgrade script for TPAC advanced search VR formats
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+59     0       Open-ILS/src/sql/Pg/upgrade/0729.vr_format_value_maps.sql
+0      49      Open-ILS/src/sql/Pg/upgrade/XXXX.vr_format_value_maps.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0729.vr_format_value_maps.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.vr_format_value_maps.sql
+
+commit ea72a97aaa3cfd6bfb3d41c53dae665756f56507
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Fri Apr 13 17:24:43 2012 -0400
+
+    TPac: Advanced Search Config
+    
+    Move advanced search limiter config to config.tt2.
+    
+    This should, in theory, make it much easier to customize the fields shown
+    for searching in TPac.
+    
+    Also adds the VR Format Coded Value Maps so that we can populate that
+    limiter with them.
+    
+    And removes dojo.css from being loaded - That includes reset stuff that
+    messes with our CSS but doesn't seem to give us any benefit.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+29     0       Open-ILS/src/sql/Pg/002.schema.config.sql
+22     0       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+49     0       Open-ILS/src/sql/Pg/upgrade/XXXX.vr_format_value_maps.sql
+1      1       Open-ILS/src/templates/opac/parts/advanced/global_row.tt2
+36     54      Open-ILS/src/templates/opac/parts/advanced/search.tt2
+0      1       Open-ILS/src/templates/opac/parts/base.tt2
+33     0       Open-ILS/src/templates/opac/parts/config.tt2
+1      1       Open-ILS/src/templates/opac/parts/qtype_selector.tt2
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.vr_format_value_maps.sql
+
+commit dbc5fe423f30eb2a826ce57ded79d70c8da8c2e1
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Sun Jul 29 23:19:21 2012 -0400
+
+    TPAC: Address remaining colors and background URL image
+    
+    Thanks to Thomas Berezansky for finding these remaining hard-coded CSS
+    colors, and raising a question about one of the background images that
+    turns out to not currently being in use.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+24     41      Open-ILS/src/templates/opac/css/style.css.tt2
+1      1       Open-ILS/src/templates/opac/parts/css/colors.tt2
+-      -       Open-ILS/web/images/facet_box_bg_bottom.png
+29     0       docs/RELEASE_NOTES_NEXT/tpac-css-colors.txt
+ delete mode 100644 Open-ILS/web/images/facet_box_bg_bottom.png
+ create mode 100644 docs/RELEASE_NOTES_NEXT/tpac-css-colors.txt
+
+commit 5ab9f4c4e727449f547f170784179ac65ed09cef
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Sun Jul 29 00:31:14 2012 -0400
+
+    TPAC CSS: catch new colours added to master recently
+    
+    A few new colours were added to the CSS with recent features; roll them
+    into the CSS templates for good measure.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+27     27      Open-ILS/src/templates/opac/css/style.css.tt2
+3      0       Open-ILS/src/templates/opac/parts/css/colors.tt2
+
+commit b7e2789d529fe9831e555fc69a0f4a125da6c15d
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Sun Jul 29 00:19:30 2012 -0400
+
+    TPAC CSS: Whitespace consistency
+    
+    Resolve the spaces and tabs quandary.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+333    333     Open-ILS/src/templates/opac/css/style.css.tt2
+
+commit 140c05d8a9807d94472a15d5e487487d072781f1
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Sun Jul 29 00:15:07 2012 -0400
+
+    TPAC CSS: Remove unused classes and associated images
+    
+    Combing through the remaining url() usages in the TPAC CSS, it seems
+    that most of the usages are unreferenced in the actual TPAC. Therefore,
+    delete the cruft.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+0      104     Open-ILS/src/templates/opac/css/style.css.tt2
+0      1       Open-ILS/web/css/skin/default/opac/semiauto.css
+-      -       Open-ILS/web/images/banner-bg.png
+-      -       Open-ILS/web/images/dropdown-hover.gif
+-      -       Open-ILS/web/images/dropdown.gif
+-      -       Open-ILS/web/images/hp-links-mid.jpg
+-      -       Open-ILS/web/images/utils-corner-left.png
+ delete mode 100644 Open-ILS/web/images/banner-bg.png
+ delete mode 100644 Open-ILS/web/images/dropdown-hover.gif
+ delete mode 100644 Open-ILS/web/images/dropdown.gif
+ delete mode 100644 Open-ILS/web/images/hp-links-mid.jpg
+ delete mode 100644 Open-ILS/web/images/utils-corner-left.png
+
+commit 6a6010e68e3badef023e57c1dd6ab275b2357cc4
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Thu Jul 26 17:39:06 2012 -0400
+
+    Templatize TPAC styles
+    
+    Begin by gathering the colors together in one consistent file, such that
+    skinning for the purposes of color only needs to touch one small file.
+    Also, it should make things easier for designers to reduce drastically
+    the number of colors that are actually used in the design.
+    
+    Also, enable TT to handle the CSS files in Apache configuration.
+    
+    Also, convert the login background image into a simple gradient.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+1      1       Open-ILS/examples/apache/eg_vhost.conf
+1      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+6      2       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGWeb.pm
+1559   0       Open-ILS/src/templates/opac/css/style.css.tt2
+1      1       Open-ILS/src/templates/opac/parts/base.tt2
+33     0       Open-ILS/src/templates/opac/parts/css/colors.tt2
+0      1552    Open-ILS/web/css/skin/default/opac/style.css
+-      -       Open-ILS/web/images/login-bg.jpg
+ create mode 100644 Open-ILS/src/templates/opac/css/style.css.tt2
+ create mode 100644 Open-ILS/src/templates/opac/parts/css/colors.tt2
+ delete mode 100644 Open-ILS/web/css/skin/default/opac/style.css
+ delete mode 100644 Open-ILS/web/images/login-bg.jpg
+
+commit 3a7a4ad057cfdab823e2788cc0a872d32aba7207
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Sun Jul 29 12:49:20 2012 -0400
+
+    New XUL user perm editor
+    
+    The xhtml one doesn't work in newer xulrunners.
+    
+    Also, as the same issue breaks the pre-2.0 user editor I have removed it
+    outright, including taking a stab at removing old language strings.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+5      101     Open-ILS/web/opac/locale/en-US/lang.dtd
+1      1       Open-ILS/xul/staff_client/chrome/content/main/constants.js
+0      1       Open-ILS/xul/staff_client/server/main/data.xul
+0      824     Open-ILS/xul/staff_client/server/patron/ue.js
+0      1008    Open-ILS/xul/staff_client/server/patron/ue.xhtml
+0      1167    Open-ILS/xul/staff_client/server/patron/ue_config.js
+0      468     Open-ILS/xul/staff_client/server/patron/ue_ui.js
+40     86      Open-ILS/xul/staff_client/server/patron/user_edit.js
+0      162     Open-ILS/xul/staff_client/server/patron/user_edit.xhtml
+124    0       Open-ILS/xul/staff_client/server/patron/user_edit.xul
+5      0       Open-ILS/xul/staff_client/server/skin/patron_display.css
+ delete mode 100644 Open-ILS/xul/staff_client/server/patron/ue.js
+ delete mode 100644 Open-ILS/xul/staff_client/server/patron/ue.xhtml
+ delete mode 100644 Open-ILS/xul/staff_client/server/patron/ue_config.js
+ delete mode 100644 Open-ILS/xul/staff_client/server/patron/ue_ui.js
+ delete mode 100644 Open-ILS/xul/staff_client/server/patron/user_edit.xhtml
+ create mode 100644 Open-ILS/xul/staff_client/server/patron/user_edit.xul
+
+commit 7513dfff14a1bb2bb10a3e8ff3a0a1d4ff9bb084
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Mon Jul 30 15:06:22 2012 -0400
+
+    Stamping KPAC upgrade script
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+35     0       Open-ILS/src/sql/Pg/upgrade/0728.data.kpac_filter_group.sql
+0      35      Open-ILS/src/sql/Pg/upgrade/XXXX.data.kpac_filter_group.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0728.data.kpac_filter_group.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.kpac_filter_group.sql
+
+commit 0ccbb21d0a35e011db38631f7f6e95b75cdd16b8
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Jul 9 10:22:51 2012 -0400
+
+    kpac : repair skin2 logout link
+    
+    Replace non-existent logout image with logout text, including username,
+    similar to skin1.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+5      1       Open-ILS/examples/web/templates/kpac/parts/header.tt2
+
+commit 7a0bd3f10422836bf37fd0d2bad56b91c2a3058a
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Jun 26 15:36:50 2012 -0400
+
+    kpac : repair Top link
+    
+    Template Toolkit string.replace() does an inline replacement instead of
+    returning a value.  Use .replace() correctly when building the Top URL,
+    or the result will be an empty href, which direct to "here" in
+    Firefox/Chrome, but directs to "here, minus the page name in the URL"
+    (e.g. http://domain/eg/kpac/) in IE, which ultimately directs the user
+    to /eg/opac/login (since it doesn't match any configured paths).
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+4      2       Open-ILS/src/templates/kpac/parts/paginate.tt2
+
+commit e11428488b60110c480df420bb8fa9c6ff32b74f
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jun 21 09:07:18 2012 -0400
+
+    kpac : better wording for the Save It dialog
+    
+    This removes any mention of selecting a location, which is not needed
+    for saving items to lists.  It also adds some language about saving
+    items to existing lists.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+7      1       Open-ILS/src/templates/kpac/getit.tt2
+
+commit c5a7ca87c4e95a9654247e15346545c049db49b0
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jun 15 12:18:31 2012 -0400
+
+    kpac : typo Successfull => Successful
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/templates/kpac/getit_results.tt2
+
+commit 47a69a51296f00f72c8c5f40aecc2943f025f3fb
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed Jun 6 14:12:17 2012 -0400
+
+    kpac : hrefs for back/top links in category page, avoid dupe cgi param
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/templates/kpac/category.tt2
+
+commit 5a320a1f2688626edc9d2a5d6dda74b06cae2aec
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed Jun 6 13:55:21 2012 -0400
+
+    kpac : hrefs for back/top links in category page
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+4      2       Open-ILS/src/templates/kpac/category.tt2
+
+commit b8283bdafd65cf84140a982bf4816276b68f6eca
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed Jun 6 13:28:01 2012 -0400
+
+    kpac : honor no-search propagation (nosprop) param on homesearch (alt skin)
+    
+    When performing category-based searches, do not propagate the searches
+    into the search box on the home page, similar to the results page search
+    box.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+4      1       Open-ILS/examples/web/templates/kpac/home.tt2
+
+commit a47189f0438790229306a4291010d6edff096235
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 29 12:05:16 2012 -0400
+
+    tpac/kpac : search_filter_group cache repairs
+    
+    Repaired bug in search_filter_group which lead to empty results
+    delivered when data was in the cache.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+2      2       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
+
+commit 7dee810ca835530f4a8d1517045994a8341bb03e
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 29 10:01:25 2012 -0400
+
+    kpac : hide font-size image/link pending design
+    
+    Will need to get some input on how this action should behave.  My
+    personal pref. is to use the browser's page zoom behavior, since it's
+    the only way to truly resize everything in the page.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+2      0       Open-ILS/examples/web/templates/kpac/parts/header.tt2
+
+commit bc71954cf586be3030a5725500881380bcd8adb0
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 29 09:48:45 2012 -0400
+
+    kpac : hide font-size image/link pending design
+    
+    Will need to get some input on how this action should behave.  My
+    personal pref. is to use the browser's page zoom behavior, since it's
+    the only way to truly resize everything in the page.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+2      0       Open-ILS/src/templates/kpac/parts/header.tt2
+
+commit 4c61ac7ed1c18d8876fa23c30796044cbc78ed80
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 29 09:43:07 2012 -0400
+
+    kpac : honor no-search propagation (nosprop) param on homesearch
+    
+    When performing category-based searches, do not propagate the searches
+    into the search box on the home page, similar to the results page search
+    box.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+2      1       Open-ILS/src/templates/kpac/home.tt2
+
+commit 785124d2f39097072fa96376c8230bf5b999d0dd
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 29 09:39:58 2012 -0400
+
+    tpac : sanity check record ID in detail page path
+    
+    If the ID is malformed (or nonexistent), return a BAD_REQUEST status and
+    exit early to avoid any unnecessary DB lookups and error logging.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+4      2       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
+
+commit a3d44706598482088c42b02fe449da25475e29fe
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri May 25 09:47:02 2012 -0400
+
+    kpac : added content
+    
+    Integrate the added content support from tpac and clean up the old added
+    content stub code.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+54     0       Open-ILS/src/templates/kpac/parts/addedcontent.tt2
+1      63      Open-ILS/src/templates/kpac/record.tt2
+7      16      Open-ILS/web/css/skin/default/kpac/style.css
+ create mode 100644 Open-ILS/src/templates/kpac/parts/addedcontent.tt2
+
+commit d47ed5d4e28595561e773dd442de60bb11f73b00
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed May 23 13:35:55 2012 -0400
+
+    kpac : show name of logged in user w/ logout link
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+2      1       Open-ILS/src/templates/kpac/parts/header.tt2
+
+commit c06d8381ab25769a3d9647089a7eaff6e4884f22
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed May 23 13:08:10 2012 -0400
+
+    kpac : make hold-placement terminology more clear
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/templates/kpac/getit.tt2
+2      2       Open-ILS/src/templates/kpac/getit_results.tt2
+
+commit 3940e94c41f2a3bfbe30d2b04a93872f8f21b92e
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed May 23 13:03:44 2012 -0400
+
+    kpac : repair logged-in temp list saving
+    
+    Allow users to save items to temp lists when logged in.  Also make the
+    language in the drop-down more clear regarding temporary list saving.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/templates/kpac/getit.tt2
+
+commit 6e2595680350282237266887bd0ab0034b8c0cda
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed May 23 11:51:04 2012 -0400
+
+    kpac : clear more params from breadcrumb links
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/templates/kpac/parts/breadcrumb.tt2
+
+commit b81065a3a915d2ab8078e71cf8622b7f45dd9277
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed May 23 11:44:28 2012 -0400
+
+    kpac : global filter config option
+    
+    Allows for configuration of an always-on global search filter.  All
+    searches, regardless of origin, in the kpac will be appended by this
+    filter when configured.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+9      0       Open-ILS/examples/kpac.xml.example
+2      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+1      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+
+commit daa378ef6fab24ed20786f444007060df8d55db6
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed May 23 11:21:37 2012 -0400
+
+    kpac : integrate stock search filter group
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+10     4       Open-ILS/src/templates/kpac/parts/searchbox.tt2
+
+commit 63da6c1d692addd8725a9c6d878801feace2eaa9
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed May 23 11:20:00 2012 -0400
+
+    KPAC : sample search filter group main search selector
+    
+    Provide a default search filter group for the kid's opac main search
+    selector.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+31     0       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+35     0       Open-ILS/src/sql/Pg/upgrade/XXXX.data.kpac_filter_group.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.kpac_filter_group.sql
+
+commit 51c3e8cf7f34c328b0e690ca0c39470ac9af26a0
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed May 23 11:10:41 2012 -0400
+
+    TPAC filter group selector supports class / pos
+    
+    * Sort filter group entry options by position
+    * Allow caller to pass in a class attribute for the filter group selector
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+4      3       Open-ILS/src/templates/opac/parts/filter_group_selector.tt2
+
+commit 8dc2fd73d4d71ea71e471429935cb1874be54e09
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 22 10:51:34 2012 -0400
+
+    kpac : config file cleanup; vim modeline
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+9      16      Open-ILS/examples/kpac.xml.example
+
+commit 88edf584264cb9024b84b69bd8b136646c2ca046
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 22 09:43:26 2012 -0400
+
+    kpac : wire up print page link w/ JS
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/templates/kpac/parts/header.tt2
+
+commit 54ed57dc92379e5502e805e57e7e373bc9325a03
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 22 09:43:07 2012 -0400
+
+    kpac: clear some form params from breadcrumb links
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+4      3       Open-ILS/src/templates/kpac/parts/breadcrumb.tt2
+
+commit e0788aa3c364a574f1589b7babfc13769510dcba
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri May 18 08:31:05 2012 -0400
+
+    kpac : initial added content cleanup
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+8      2       Open-ILS/src/templates/kpac/record.tt2
+
+commit 1df6aed1b6f7de0f22e8b19ad6cc29c43843cee1
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu May 17 09:35:16 2012 -0400
+
+    kpac; set record detail link in breadcrumbs
+    
+    On the getit page, the record title link in the breadcrumb now returns
+    to the main record page.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/templates/kpac/parts/breadcrumb.tt2
+
+commit a2aa7b9de077f6870db14996d0b5ececc02f9e73
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Apr 23 16:17:35 2012 -0400
+
+    kpac2 : update print/textsize image links
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+2      2       Open-ILS/examples/web/templates/kpac/parts/header.tt2
+
+commit 912c1fc9a4a3b68f2986e8bf6fe867a1ca3a1cea
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Apr 23 15:44:02 2012 -0400
+
+    kpac : remove action CGI after getit results
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/templates/kpac/getit_results.tt2
+
+commit 6420551af462e9051d6c5cfa0b9ca3156ced772a
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Apr 23 15:43:46 2012 -0400
+
+    kpac : repair hold retrieval code
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+
+commit bd0e1f5220756fe45ca565a9b1a32e0550e04c41
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Apr 17 10:40:42 2012 -0400
+
+    kpac2 : rename some images to avoid collision w/ kpac
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+-      -       Open-ILS/examples/web/images/kpac/hp_print_btn.png
+-      -       Open-ILS/examples/web/images/kpac/hp_text_size_btn.png
+-      -       Open-ILS/examples/web/images/kpac/print_btn.png
+-      -       Open-ILS/examples/web/images/kpac/text_size_btn.png
+ create mode 100755 Open-ILS/examples/web/images/kpac/hp_print_btn.png
+ create mode 100755 Open-ILS/examples/web/images/kpac/hp_text_size_btn.png
+ delete mode 100755 Open-ILS/examples/web/images/kpac/print_btn.png
+ delete mode 100755 Open-ILS/examples/web/images/kpac/text_size_btn.png
+
+commit 403894252fd8e0acfbb7f94ec76a3ae05a74e68e
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Apr 16 17:03:44 2012 -0400
+
+    kpac2 : results page
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+48     45      Open-ILS/examples/web/templates/kpac/home.tt2
+6      5       Open-ILS/examples/web/templates/kpac/parts/base.tt2
+0      34      Open-ILS/examples/web/templates/kpac/parts/home_search.tt2
+ delete mode 100644 Open-ILS/examples/web/templates/kpac/parts/home_search.tt2
+
+commit cf4875ecf60b8d907310f9881c39c6a96f6d8652
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Apr 16 15:52:31 2012 -0400
+
+    kpac2 : home search; header; images
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+28     28      Open-ILS/examples/web/css/skin/kpac2/kpac/style.css
+-      -       Open-ILS/examples/web/images/get_a_card_btn.png
+-      -       Open-ILS/examples/web/images/help_btn.png
+-      -       Open-ILS/examples/web/images/hp_banner.png
+-      -       Open-ILS/examples/web/images/hp_banner_bgl.png
+-      -       Open-ILS/examples/web/images/hp_banner_bgr.png
+-      -       Open-ILS/examples/web/images/hp_search_btn.png
+-      -       Open-ILS/examples/web/images/kpac/get_a_card_btn.png
+-      -       Open-ILS/examples/web/images/kpac/help_btn.png
+-      -       Open-ILS/examples/web/images/kpac/hp_banner.png
+-      -       Open-ILS/examples/web/images/kpac/hp_banner_bgl.png
+-      -       Open-ILS/examples/web/images/kpac/hp_banner_bgr.png
+-      -       Open-ILS/examples/web/images/kpac/hp_search_btn.png
+-      -       Open-ILS/examples/web/images/kpac/login_btn.png
+-      -       Open-ILS/examples/web/images/kpac/print_btn.png
+-      -       Open-ILS/examples/web/images/kpac/star_off.png
+-      -       Open-ILS/examples/web/images/kpac/text_size_btn.png
+-      -       Open-ILS/examples/web/images/login_btn.png
+-      -       Open-ILS/examples/web/images/print_btn.png
+-      -       Open-ILS/examples/web/images/star_off.png
+-      -       Open-ILS/examples/web/images/text_size_btn.png
+64     0       Open-ILS/examples/web/templates/kpac/home.tt2
+6      4       Open-ILS/examples/web/templates/kpac/parts/base.tt2
+24     0       Open-ILS/examples/web/templates/kpac/parts/header.tt2
+34     0       Open-ILS/examples/web/templates/kpac/parts/home_search.tt2
+ delete mode 100755 Open-ILS/examples/web/images/get_a_card_btn.png
+ delete mode 100755 Open-ILS/examples/web/images/help_btn.png
+ delete mode 100755 Open-ILS/examples/web/images/hp_banner.png
+ delete mode 100755 Open-ILS/examples/web/images/hp_banner_bgl.png
+ delete mode 100755 Open-ILS/examples/web/images/hp_banner_bgr.png
+ delete mode 100755 Open-ILS/examples/web/images/hp_search_btn.png
+ create mode 100755 Open-ILS/examples/web/images/kpac/get_a_card_btn.png
+ create mode 100755 Open-ILS/examples/web/images/kpac/help_btn.png
+ create mode 100755 Open-ILS/examples/web/images/kpac/hp_banner.png
+ create mode 100755 Open-ILS/examples/web/images/kpac/hp_banner_bgl.png
+ create mode 100755 Open-ILS/examples/web/images/kpac/hp_banner_bgr.png
+ create mode 100755 Open-ILS/examples/web/images/kpac/hp_search_btn.png
+ create mode 100755 Open-ILS/examples/web/images/kpac/login_btn.png
+ create mode 100755 Open-ILS/examples/web/images/kpac/print_btn.png
+ create mode 100755 Open-ILS/examples/web/images/kpac/star_off.png
+ create mode 100755 Open-ILS/examples/web/images/kpac/text_size_btn.png
+ delete mode 100755 Open-ILS/examples/web/images/login_btn.png
+ delete mode 100755 Open-ILS/examples/web/images/print_btn.png
+ delete mode 100755 Open-ILS/examples/web/images/star_off.png
+ delete mode 100755 Open-ILS/examples/web/images/text_size_btn.png
+ create mode 100644 Open-ILS/examples/web/templates/kpac/home.tt2
+ create mode 100644 Open-ILS/examples/web/templates/kpac/parts/header.tt2
+ create mode 100644 Open-ILS/examples/web/templates/kpac/parts/home_search.tt2
+
+commit 4b0a31e79d831d560fc7494fd7989394933ef1e9
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Apr 16 11:54:31 2012 -0400
+
+    kpac2 : some initial files
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1081   0       Open-ILS/examples/web/css/skin/kpac2/kpac/style.css
+-      -       Open-ILS/examples/web/images/get_a_card_btn.png
+-      -       Open-ILS/examples/web/images/help_btn.png
+-      -       Open-ILS/examples/web/images/hp_banner.png
+-      -       Open-ILS/examples/web/images/hp_banner_bgl.png
+-      -       Open-ILS/examples/web/images/hp_banner_bgr.png
+-      -       Open-ILS/examples/web/images/hp_search_btn.png
+-      -       Open-ILS/examples/web/images/login_btn.png
+-      -       Open-ILS/examples/web/images/print_btn.png
+-      -       Open-ILS/examples/web/images/star_off.png
+-      -       Open-ILS/examples/web/images/text_size_btn.png
+21     0       Open-ILS/examples/web/templates/kpac/parts/base.tt2
+ create mode 100755 Open-ILS/examples/web/css/skin/kpac2/kpac/style.css
+ create mode 100755 Open-ILS/examples/web/images/get_a_card_btn.png
+ create mode 100755 Open-ILS/examples/web/images/help_btn.png
+ create mode 100755 Open-ILS/examples/web/images/hp_banner.png
+ create mode 100755 Open-ILS/examples/web/images/hp_banner_bgl.png
+ create mode 100755 Open-ILS/examples/web/images/hp_banner_bgr.png
+ create mode 100755 Open-ILS/examples/web/images/hp_search_btn.png
+ create mode 100755 Open-ILS/examples/web/images/login_btn.png
+ create mode 100755 Open-ILS/examples/web/images/print_btn.png
+ create mode 100755 Open-ILS/examples/web/images/star_off.png
+ create mode 100755 Open-ILS/examples/web/images/text_size_btn.png
+ create mode 100644 Open-ILS/examples/web/templates/kpac/parts/base.tt2
+
+commit 4f3184d25fc9e57c83e6bd40ab4ac871b7d5a8d2
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Apr 16 11:51:36 2012 -0400
+
+    Created examples web dir
+    
+    Created Open-ILS/examples/web for storing example templates and sample
+    template overrides and their associated resources (js, css, images).
+    
+    Moved the sample flattener_test.tt2 into the new web/templates dir.
+    
+    Added a simple README exaplaining the purpose of the directory.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+0      49      Open-ILS/examples/tt2/flattener_test.tt2
+27     0       Open-ILS/examples/web/README
+49     0       Open-ILS/examples/web/templates/flattener_test.tt2
+ delete mode 100644 Open-ILS/examples/tt2/flattener_test.tt2
+ create mode 100644 Open-ILS/examples/web/README
+ create mode 100644 Open-ILS/examples/web/templates/flattener_test.tt2
+
+commit e1b9856d6f01cb9afd62dbac7a004fab4186113e
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Apr 17 11:39:21 2012 -0400
+
+    kpac : tech reference
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+97     0       docs/TechRef/KidsOPAC.txt
+ create mode 100644 docs/TechRef/KidsOPAC.txt
+
+commit 00f99bde4dcfd8312a2b2e8cfa31b4f60784d988
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Apr 17 11:39:04 2012 -0400
+
+    kpac : default apache config repair
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/examples/apache/eg_vhost.conf
+
+commit 049ffc264f8bb866cc1f006f73a1e382da1dac69
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Apr 17 10:35:43 2012 -0400
+
+    EGWeb trim template paths to unique set
+    
+    The list of template paths may have the same path added multiple times,
+    depending on the Apache configuration.  Trim them down to a unique set
+    to avoid excess template lookups.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    
+    Conflicts:
+       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGWeb.pm
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+2      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGWeb.pm
+
+commit 8bd6620d08dac540b1ebde0534c39df59dec05f2
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Mon Jul 30 09:44:17 2012 -0400
+
+    TPAC advanced search org unit selector
+    
+    Make the advanced search org selector a bit more i18n and accessibility
+    friendly by giving the fields an explicit label. We shouldn't really build
+    strings out of individual parts like "in" out of context, because the
+    translators won't know what "in" refers to; and the label elements help
+    guide screen readers.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Kathy Lussier <klussier@masslnc.org>
+
+15     11      Open-ILS/src/templates/opac/parts/advanced/expert.tt2
+8      3       Open-ILS/src/templates/opac/parts/advanced/numeric.tt2
+
+commit f7094d7cfb239762975bf16ebd25a21dcc0237d2
+Author: Kathy Lussier <klussier@masslnc.org>
+Date:   Mon Jul 23 23:23:55 2012 -0400
+
+    Add the library selector to numeric and expert search pages.
+    
+    Signed-off-by: Kathy Lussier <klussier@masslnc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+13     7       Open-ILS/src/templates/opac/parts/advanced/expert.tt2
+4      1       Open-ILS/src/templates/opac/parts/advanced/numeric.tt2
+1      0       Open-ILS/web/css/skin/default/opac/style.css
+
+commit b56f3a9d9dae0e7a89d30d132f629c4195ac6b3e
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Apr 16 17:04:10 2012 -0400
+
+    kpac : html escape title/author in record rows
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+2      2       Open-ILS/src/templates/kpac/parts/record_row.tt2
+
+commit b5ac5a6d54dfd0f010269f66526f27d7f31e27b5
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Apr 9 15:45:49 2012 -0400
+
+    kpac : search link cgi improvements
+    
+    1. avoid showing the search terms from canned searches in the simple
+    search box.  Patrons, kids especially, probably don't want to see
+    potentially complicated canned search queries in the search box when the
+    whole point is that they are accessible by clicking on images.
+    
+    2. Avoid propagating the search qtype param to canned searches.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+2      1       Open-ILS/src/templates/kpac/parts/grid.tt2
+2      1       Open-ILS/src/templates/kpac/parts/searchbox.tt2
+
+commit 727d0647b41d71b09d9a8b08dd906c723eb3fb50
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Apr 9 15:26:40 2012 -0400
+
+    kpac : ensure the single-hit redirect goes to kpac
+    
+    ... instead of to the tpac record detail page.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+16     1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+
+commit 1327ffb06c3199bb40c4b4b9d5868d1c5c631d96
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Apr 9 13:59:56 2012 -0400
+
+    kpac : no results message
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+21     13      Open-ILS/src/templates/kpac/results.tt2
+
+commit b057cff72846fe42438fd4afb428fbe7b2ee8ff0
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Apr 6 16:32:13 2012 -0400
+
+    kpac : added content work
+    
+    1. Consolidated added content apache configs under /eg
+    2. Added (untested) code to support LibraryThing reviews.
+     -- It looks like we'll need to coordinate w/ LT to get it all hooked
+     up.  More research pending.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+17     17      Open-ILS/examples/apache/eg_vhost.conf
+29     0       Open-ILS/src/templates/kpac/parts/acimport.tt2
+1      1       Open-ILS/src/templates/kpac/parts/base.tt2
+0      13      Open-ILS/src/templates/kpac/parts/chilifresh.tt2
+1      0       Open-ILS/src/templates/kpac/record.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/parts/acimport.tt2
+ delete mode 100644 Open-ILS/src/templates/kpac/parts/chilifresh.tt2
+
+commit c18603ae246551837c10d240b5ae1e40c816d978
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Apr 5 17:30:54 2012 -0400
+
+    kpac : hold placement; more auth refresh repairs
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+2      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+41     17      Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+13     5       Open-ILS/src/templates/kpac/getit_results.tt2
+2      1       Open-ILS/src/templates/kpac/parts/base.tt2
+
+commit 9c17d8b6dd34075935318d504348d000c99c4144
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Apr 5 15:31:49 2012 -0400
+
+    kpac : wire up home search; auth timeout redirect fixes
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+7      5       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+21     12      Open-ILS/src/templates/kpac/home.tt2
+
+commit 295f64b981fc93bb66ca4360bbdcc9ff32283eae
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Apr 5 12:35:39 2012 -0400
+
+    kpac : initial login + place hold combined action
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+30     0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+47     39      Open-ILS/src/templates/kpac/getit.tt2
+
+commit bde0e9b42bdc755eb659977332f2d5c80365dcc9
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed Apr 4 16:33:33 2012 -0400
+
+    kpac : initial chilifresh integration
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      0       Open-ILS/src/templates/kpac/parts/base.tt2
+13     0       Open-ILS/src/templates/kpac/parts/chilifresh.tt2
+17     2       Open-ILS/src/templates/kpac/record.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/parts/chilifresh.tt2
+
+commit cd60d1c12d17f8582ea106c75d87bfd6b8ff77c8
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed Apr 4 15:02:11 2012 -0400
+
+    kpac : getit save to existing list
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+41     3       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+52     15      Open-ILS/src/templates/kpac/getit_results.tt2
+
+commit 50ed740439e80b31cdf15c21dd9017cbb680293c
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Mar 26 15:32:08 2012 -0400
+
+    tpac: minor code formatting
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+8      9       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+
+commit 5db8fb03ca1a7ebbe176bc05936018b411f93b4d
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Mar 26 14:02:00 2012 -0400
+
+    kpac: save to anon-list
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+26     1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+17     14      Open-ILS/src/templates/kpac/getit.tt2
+
+commit aa33fc0ef3f2d80de7474a6815ee629c9d0fca8a
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Mar 16 12:00:58 2012 -0400
+
+    kpac : config and template work
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      0       Open-ILS/examples/apache/eg_vhost.conf
+0      58      Open-ILS/examples/kpac.xml
+58     0       Open-ILS/examples/kpac.xml.example
+1      0       Open-ILS/src/Makefile.am
+42     15      Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+15     11      Open-ILS/src/templates/kpac/getit.tt2
+ delete mode 100644 Open-ILS/examples/kpac.xml
+ create mode 100644 Open-ILS/examples/kpac.xml.example
+
+commit 9b7b60e345c04716de866c2674428987c67bb8ca
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Feb 14 14:47:13 2012 -0500
+
+    kpac : i18n, cleanup
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+3      3       Open-ILS/src/templates/kpac/home.tt2
+4      4       Open-ILS/src/templates/kpac/parts/footer.tt2
+
+commit 33e75c06ce05826eac9e5abdf2bd2c813db58f88
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Feb 14 14:34:21 2012 -0500
+
+    kpac : rename files/paths for tpac consistency
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+8      14      Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+0      114     Open-ILS/src/templates/kpac/checkout.tt2
+0      22      Open-ILS/src/templates/kpac/checkout_results.tt2
+0      133     Open-ILS/src/templates/kpac/detailed.tt2
+114    0       Open-ILS/src/templates/kpac/getit.tt2
+22     0       Open-ILS/src/templates/kpac/getit_results.tt2
+53     0       Open-ILS/src/templates/kpac/home.tt2
+0      53      Open-ILS/src/templates/kpac/index.tt2
+2      2       Open-ILS/src/templates/kpac/parts/breadcrumb.tt2
+1      1       Open-ILS/src/templates/kpac/parts/grid.tt2
+1      1       Open-ILS/src/templates/kpac/parts/header.tt2
+4      4       Open-ILS/src/templates/kpac/parts/record_row.tt2
+1      1       Open-ILS/src/templates/kpac/parts/searchbox.tt2
+1      1       Open-ILS/src/templates/kpac/parts/subpage.tt2
+133    0       Open-ILS/src/templates/kpac/record.tt2
+28     0       Open-ILS/src/templates/kpac/results.tt2
+0      28      Open-ILS/src/templates/kpac/search_results.tt2
+-      -       Open-ILS/web/images/kpac/stars!.png
+-      -       Open-ILS/web/images/kpac/stars!_gray.png
+-      -       Open-ILS/web/images/kpac/stars.png
+-      -       Open-ILS/web/images/kpac/stars_grey.png
+ delete mode 100644 Open-ILS/src/templates/kpac/checkout.tt2
+ delete mode 100644 Open-ILS/src/templates/kpac/checkout_results.tt2
+ delete mode 100644 Open-ILS/src/templates/kpac/detailed.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/getit.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/getit_results.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/home.tt2
+ delete mode 100644 Open-ILS/src/templates/kpac/index.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/record.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/results.tt2
+ delete mode 100644 Open-ILS/src/templates/kpac/search_results.tt2
+ delete mode 100755 Open-ILS/web/images/kpac/stars!.png
+ delete mode 100755 Open-ILS/web/images/kpac/stars!_gray.png
+ create mode 100755 Open-ILS/web/images/kpac/stars.png
+ create mode 100755 Open-ILS/web/images/kpac/stars_grey.png
+
+commit 32a8dc563d245e11ab35ee0361f27763a1d79978
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Jan 30 14:46:30 2012 -0500
+
+    kpac : holds, misc
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+3      3       Open-ILS/examples/kpac.xml
+97     106     Open-ILS/src/templates/kpac/checkout.tt2
+1      1       Open-ILS/src/templates/kpac/parts/base.tt2
+26     0       Open-ILS/src/templates/kpac/parts/help_popups.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/parts/help_popups.tt2
+
+commit b1384443bc5e0053793dba6aca90795705880d01
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Jan 30 12:32:43 2012 -0500
+
+    kpac : initial holds; misc
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+7      15      Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+10     19      Open-ILS/src/templates/kpac/checkout.tt2
+1      2       Open-ILS/src/templates/kpac/detailed.tt2
+9      3       Open-ILS/src/templates/kpac/parts/header.tt2
+40     0       Open-ILS/src/templates/kpac/parts/record_row.tt2
+2      1       Open-ILS/src/templates/kpac/parts/searchbox.tt2
+1      36      Open-ILS/src/templates/kpac/search_results.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/parts/record_row.tt2
+
+commit 7bc9514f57403251bc1e6c648bf6849a8bb4abf2
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jan 27 12:15:05 2012 -0500
+
+    kpac : copy table; record details
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/examples/kpac.xml
+1      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+14     21      Open-ILS/src/templates/kpac/detailed.tt2
+8      5       Open-ILS/src/templates/kpac/parts/breadcrumb.tt2
+82     0       Open-ILS/src/templates/kpac/parts/copy_table.tt2
+1      1       Open-ILS/src/templates/kpac/parts/grid.tt2
+0      1       Open-ILS/src/templates/kpac/parts/searchbox.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/parts/copy_table.tt2
+
+commit b15308f7ece1f843e25f5b86ed809723107747b2
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jan 26 18:05:46 2012 -0500
+
+    kpac : record details
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    
+    Conflicts:
+       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+2      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
+1      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+123    106     Open-ILS/src/templates/kpac/detailed.tt2
+6      1       Open-ILS/src/templates/kpac/parts/breadcrumb.tt2
+1      0       Open-ILS/src/templates/kpac/parts/searchbox.tt2
+1      1       Open-ILS/src/templates/kpac/search_results.tt2
+
+commit 65d27ce405f6113d541537cec74fc5209000b5d4
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jan 26 14:38:42 2012 -0500
+
+    kpac : trucking along
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+117    117     Open-ILS/src/templates/kpac/detailed.tt2
+2      2       Open-ILS/src/templates/kpac/parts/header.tt2
+
+commit 97da25f286aa91d903ee874c3bd49dad78992523
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jan 26 14:24:07 2012 -0500
+
+    kpac : basic search box
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+43     0       Open-ILS/src/templates/kpac/parts/searchbox.tt2
+2      38      Open-ILS/src/templates/kpac/parts/subpage.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/parts/searchbox.tt2
+
+commit 6393ead3b28965149197cacaf5b3838db6601db3
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jan 26 11:49:55 2012 -0500
+
+    kpac : breadcrumbs, paging, misc
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+12     9       Open-ILS/examples/kpac.xml
+8      2       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+5      3       Open-ILS/src/templates/kpac/category.tt2
+1      1       Open-ILS/src/templates/kpac/index.tt2
+2      35      Open-ILS/src/templates/kpac/parts/base.tt2
+38     0       Open-ILS/src/templates/kpac/parts/breadcrumb.tt2
+8      0       Open-ILS/src/templates/kpac/parts/footer.tt2
+15     24      Open-ILS/src/templates/kpac/parts/grid.tt2
+23     0       Open-ILS/src/templates/kpac/parts/header.tt2
+50     0       Open-ILS/src/templates/kpac/parts/paginate.tt2
+6      14      Open-ILS/src/templates/kpac/parts/subpage.tt2
+44     0       Open-ILS/src/templates/kpac/parts/util.tt2
+11     42      Open-ILS/src/templates/kpac/search_results.tt2
+3      1       Open-ILS/web/css/skin/default/kpac/style.css
+ create mode 100644 Open-ILS/src/templates/kpac/parts/breadcrumb.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/parts/footer.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/parts/header.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/parts/paginate.tt2
+ mode change 100755 => 100644 Open-ILS/src/templates/kpac/parts/subpage.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/parts/util.tt2
+
+commit 93c2707e0ba849a48394f5d6e96564c8bc89da2a
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Jan 23 16:49:29 2012 -0500
+
+    kpac : first steps
+    
+    initial pile of template integration and apache configuration
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+14     0       Open-ILS/examples/apache/eg_vhost.conf
+55     0       Open-ILS/examples/kpac.xml
+96     0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+22     0       Open-ILS/src/templates/kpac/category.tt2
+132    0       Open-ILS/src/templates/kpac/checkout.tt2
+22     0       Open-ILS/src/templates/kpac/checkout_results.tt2
+124    0       Open-ILS/src/templates/kpac/detailed.tt2
+53     0       Open-ILS/src/templates/kpac/index.tt2
+52     0       Open-ILS/src/templates/kpac/parts/base.tt2
+51     0       Open-ILS/src/templates/kpac/parts/grid.tt2
+75     0       Open-ILS/src/templates/kpac/parts/subpage.tt2
+94     0       Open-ILS/src/templates/kpac/search_results.tt2
+-      -       Open-ILS/web/css/skin/default/kpac/fonts/Cabin-Regular.eot
+5187   0       Open-ILS/web/css/skin/default/kpac/fonts/Cabin-Regular.svg
+-      -       Open-ILS/web/css/skin/default/kpac/fonts/Cabin-Regular.ttf
+-      -       Open-ILS/web/css/skin/default/kpac/fonts/Cabin-Regular.woff
+-      -       Open-ILS/web/css/skin/default/kpac/fonts/Cabin-SemiBold.eot
+4820   0       Open-ILS/web/css/skin/default/kpac/fonts/Cabin-SemiBold.svg
+-      -       Open-ILS/web/css/skin/default/kpac/fonts/Cabin-SemiBold.ttf
+-      -       Open-ILS/web/css/skin/default/kpac/fonts/Cabin-SemiBold.woff
+-      -       Open-ILS/web/css/skin/default/kpac/fonts/Kreon.eot
+3499   0       Open-ILS/web/css/skin/default/kpac/fonts/Kreon.svg
+-      -       Open-ILS/web/css/skin/default/kpac/fonts/Kreon.ttf
+-      -       Open-ILS/web/css/skin/default/kpac/fonts/Kreon.woff
+1032   0       Open-ILS/web/css/skin/default/kpac/style.css
+-      -       Open-ILS/web/images/kpac/arrow_last.png
+-      -       Open-ILS/web/images/kpac/arrow_next.png
+-      -       Open-ILS/web/images/kpac/back_to_book.png
+-      -       Open-ILS/web/images/kpac/back_to_results_btn.png
+-      -       Open-ILS/web/images/kpac/box1_top.png
+-      -       Open-ILS/web/images/kpac/bread_green_last.png
+-      -       Open-ILS/web/images/kpac/bread_green_mid.png
+-      -       Open-ILS/web/images/kpac/btn_arrow.png
+-      -       Open-ILS/web/images/kpac/cancel_back_btn.png
+-      -       Open-ILS/web/images/kpac/category.png
+-      -       Open-ILS/web/images/kpac/get_it_btn.png
+-      -       Open-ILS/web/images/kpac/get_it_btn_sm.png
+-      -       Open-ILS/web/images/kpac/go_back_btn.png
+-      -       Open-ILS/web/images/kpac/home_icon.png
+-      -       Open-ILS/web/images/kpac/icon_bg.png
+-      -       Open-ILS/web/images/kpac/icon_book.png
+-      -       Open-ILS/web/images/kpac/item_image.jpg
+-      -       Open-ILS/web/images/kpac/kcls_logo.jpg
+-      -       Open-ILS/web/images/kpac/library_card.png
+-      -       Open-ILS/web/images/kpac/logo_left.png
+-      -       Open-ILS/web/images/kpac/logo_mid.png
+-      -       Open-ILS/web/images/kpac/logo_right.png
+-      -       Open-ILS/web/images/kpac/main_bl_corner.png
+-      -       Open-ILS/web/images/kpac/main_bottom_bg.png
+-      -       Open-ILS/web/images/kpac/main_bottom_bg_sub.png
+-      -       Open-ILS/web/images/kpac/main_br_corner.png
+-      -       Open-ILS/web/images/kpac/main_left_shadow.png
+-      -       Open-ILS/web/images/kpac/main_right_shadow.png
+-      -       Open-ILS/web/images/kpac/main_tl_corner.png
+-      -       Open-ILS/web/images/kpac/main_top_bg.png
+-      -       Open-ILS/web/images/kpac/main_top_bg_sub.png
+-      -       Open-ILS/web/images/kpac/main_tr_corner.png
+-      -       Open-ILS/web/images/kpac/more_info_btn.png
+-      -       Open-ILS/web/images/kpac/popup_arrow_bm.png
+-      -       Open-ILS/web/images/kpac/popup_bl.png
+-      -       Open-ILS/web/images/kpac/popup_bm.png
+-      -       Open-ILS/web/images/kpac/popup_br.png
+-      -       Open-ILS/web/images/kpac/popup_lm.png
+-      -       Open-ILS/web/images/kpac/popup_rm.png
+-      -       Open-ILS/web/images/kpac/popup_tl.png
+-      -       Open-ILS/web/images/kpac/popup_tm.png
+-      -       Open-ILS/web/images/kpac/popup_tr.png
+-      -       Open-ILS/web/images/kpac/print_btn.png
+-      -       Open-ILS/web/images/kpac/question_mark.png
+-      -       Open-ILS/web/images/kpac/review_submit_btn.png
+-      -       Open-ILS/web/images/kpac/reviews_top.png
+-      -       Open-ILS/web/images/kpac/search_bg.png
+-      -       Open-ILS/web/images/kpac/search_btn.png
+-      -       Open-ILS/web/images/kpac/search_btn_sub.png
+-      -       Open-ILS/web/images/kpac/star_oiff.png
+-      -       Open-ILS/web/images/kpac/star_on.png
+-      -       Open-ILS/web/images/kpac/stars!.png
+-      -       Open-ILS/web/images/kpac/stars!_gray.png
+-      -       Open-ILS/web/images/kpac/sub_side_bg.png
+-      -       Open-ILS/web/images/kpac/text_size_btn.png
+-      -       Open-ILS/web/images/kpac/to_top_btn.png
+82     0       Open-ILS/web/js/ui/default/kpac/functions.js
+ create mode 100644 Open-ILS/examples/kpac.xml
+ create mode 100644 Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
+ create mode 100644 Open-ILS/src/templates/kpac/category.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/checkout.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/checkout_results.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/detailed.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/index.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/parts/base.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/parts/grid.tt2
+ create mode 100755 Open-ILS/src/templates/kpac/parts/subpage.tt2
+ create mode 100644 Open-ILS/src/templates/kpac/search_results.tt2
+ create mode 100755 Open-ILS/web/css/skin/default/kpac/fonts/Cabin-Regular.eot
+ create mode 100755 Open-ILS/web/css/skin/default/kpac/fonts/Cabin-Regular.svg
+ create mode 100755 Open-ILS/web/css/skin/default/kpac/fonts/Cabin-Regular.ttf
+ create mode 100755 Open-ILS/web/css/skin/default/kpac/fonts/Cabin-Regular.woff
+ create mode 100755 Open-ILS/web/css/skin/default/kpac/fonts/Cabin-SemiBold.eot
+ create mode 100755 Open-ILS/web/css/skin/default/kpac/fonts/Cabin-SemiBold.svg
+ create mode 100755 Open-ILS/web/css/skin/default/kpac/fonts/Cabin-SemiBold.ttf
+ create mode 100755 Open-ILS/web/css/skin/default/kpac/fonts/Cabin-SemiBold.woff
+ create mode 100755 Open-ILS/web/css/skin/default/kpac/fonts/Kreon.eot
+ create mode 100755 Open-ILS/web/css/skin/default/kpac/fonts/Kreon.svg
+ create mode 100755 Open-ILS/web/css/skin/default/kpac/fonts/Kreon.ttf
+ create mode 100755 Open-ILS/web/css/skin/default/kpac/fonts/Kreon.woff
+ create mode 100755 Open-ILS/web/css/skin/default/kpac/style.css
+ create mode 100755 Open-ILS/web/images/kpac/arrow_last.png
+ create mode 100755 Open-ILS/web/images/kpac/arrow_next.png
+ create mode 100755 Open-ILS/web/images/kpac/back_to_book.png
+ create mode 100755 Open-ILS/web/images/kpac/back_to_results_btn.png
+ create mode 100755 Open-ILS/web/images/kpac/box1_top.png
+ create mode 100755 Open-ILS/web/images/kpac/bread_green_last.png
+ create mode 100755 Open-ILS/web/images/kpac/bread_green_mid.png
+ create mode 100755 Open-ILS/web/images/kpac/btn_arrow.png
+ create mode 100755 Open-ILS/web/images/kpac/cancel_back_btn.png
+ create mode 100755 Open-ILS/web/images/kpac/category.png
+ create mode 100755 Open-ILS/web/images/kpac/get_it_btn.png
+ create mode 100755 Open-ILS/web/images/kpac/get_it_btn_sm.png
+ create mode 100755 Open-ILS/web/images/kpac/go_back_btn.png
+ create mode 100755 Open-ILS/web/images/kpac/home_icon.png
+ create mode 100755 Open-ILS/web/images/kpac/icon_bg.png
+ create mode 100755 Open-ILS/web/images/kpac/icon_book.png
+ create mode 100755 Open-ILS/web/images/kpac/item_image.jpg
+ create mode 100755 Open-ILS/web/images/kpac/kcls_logo.jpg
+ create mode 100755 Open-ILS/web/images/kpac/library_card.png
+ create mode 100755 Open-ILS/web/images/kpac/logo_left.png
+ create mode 100755 Open-ILS/web/images/kpac/logo_mid.png
+ create mode 100755 Open-ILS/web/images/kpac/logo_right.png
+ create mode 100755 Open-ILS/web/images/kpac/main_bl_corner.png
+ create mode 100755 Open-ILS/web/images/kpac/main_bottom_bg.png
+ create mode 100755 Open-ILS/web/images/kpac/main_bottom_bg_sub.png
+ create mode 100755 Open-ILS/web/images/kpac/main_br_corner.png
+ create mode 100755 Open-ILS/web/images/kpac/main_left_shadow.png
+ create mode 100755 Open-ILS/web/images/kpac/main_right_shadow.png
+ create mode 100755 Open-ILS/web/images/kpac/main_tl_corner.png
+ create mode 100755 Open-ILS/web/images/kpac/main_top_bg.png
+ create mode 100755 Open-ILS/web/images/kpac/main_top_bg_sub.png
+ create mode 100755 Open-ILS/web/images/kpac/main_tr_corner.png
+ create mode 100755 Open-ILS/web/images/kpac/more_info_btn.png
+ create mode 100755 Open-ILS/web/images/kpac/popup_arrow_bm.png
+ create mode 100755 Open-ILS/web/images/kpac/popup_bl.png
+ create mode 100755 Open-ILS/web/images/kpac/popup_bm.png
+ create mode 100755 Open-ILS/web/images/kpac/popup_br.png
+ create mode 100755 Open-ILS/web/images/kpac/popup_lm.png
+ create mode 100755 Open-ILS/web/images/kpac/popup_rm.png
+ create mode 100755 Open-ILS/web/images/kpac/popup_tl.png
+ create mode 100755 Open-ILS/web/images/kpac/popup_tm.png
+ create mode 100755 Open-ILS/web/images/kpac/popup_tr.png
+ create mode 100755 Open-ILS/web/images/kpac/print_btn.png
+ create mode 100755 Open-ILS/web/images/kpac/question_mark.png
+ create mode 100755 Open-ILS/web/images/kpac/review_submit_btn.png
+ create mode 100755 Open-ILS/web/images/kpac/reviews_top.png
+ create mode 100755 Open-ILS/web/images/kpac/search_bg.png
+ create mode 100755 Open-ILS/web/images/kpac/search_btn.png
+ create mode 100755 Open-ILS/web/images/kpac/search_btn_sub.png
+ create mode 100755 Open-ILS/web/images/kpac/star_oiff.png
+ create mode 100755 Open-ILS/web/images/kpac/star_on.png
+ create mode 100755 Open-ILS/web/images/kpac/stars!.png
+ create mode 100755 Open-ILS/web/images/kpac/stars!_gray.png
+ create mode 100755 Open-ILS/web/images/kpac/sub_side_bg.png
+ create mode 100755 Open-ILS/web/images/kpac/text_size_btn.png
+ create mode 100755 Open-ILS/web/images/kpac/to_top_btn.png
+ create mode 100755 Open-ILS/web/js/ui/default/kpac/functions.js
+
+commit df16ba71822e48b7661b1057d523b15deb20f7c8
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Fri Jul 27 17:24:07 2012 -0400
+
+    Fix summary display in TPAC; avoid Content Cafe
+    
+    While in misc_util.tt2 we're grabbing args.summary as a single string,
+    and args.summaries as the list of summaries, this gets complicated
+    elsewhere in the summaries display chain, where we're checking for the
+    number of list elements in "summary" (which is now a string), as well as
+    a confusion of logic where ContentCafe was being displayed whether or
+    not the environment variable existed.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+1      1       Open-ILS/src/templates/opac/parts/record/extras.tt2
+5      4       Open-ILS/src/templates/opac/parts/record/summaryplus.tt2
+
+commit be736f312fd5d078714740e9afc866fe977a5bf5
+Author: Ben Shum <bshum@biblio.org>
+Date:   Fri Jul 27 16:06:28 2012 -0400
+
+    TPAC - repair summary statement display
+    
+    Change variable from summary to summaries to properly associate values
+    for the summary statement display in Tpac.
+    
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/templates/opac/parts/misc_util.tt2
+
+commit 639d3fbb8ec26ad07dd30f53170dce6aa53c4f84
+Author: Kathy Lussier <klussier@masslnc.org>
+Date:   Thu Jul 26 07:09:11 2012 -0400
+
+    Two new list fields. Adds the publication date and format to the My Lists
+    display in tpac.
+    
+    Signed-off-by: Kathy Lussier <klussier@masslnc.org>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+14     1       Open-ILS/src/templates/opac/myopac/lists.tt2
+
+commit f6f6c9d73073cdc7282c2e9f5aaf830f0309f89c
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Sat Jul 28 15:17:40 2012 -0400
+
+    Window.open fixes
+    
+    Add a window.open compatible "browser" file for unsecured calls.
+    
+    Add "chrome" to most window.open calls to bypass the wrapper.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/web/js/dojo/openils/Util.js
+3      3       Open-ILS/web/js/ui/default/acq/common/li_table.js
+1      1       Open-ILS/web/js/ui/default/acq/financial/claim_voucher.js
+1      1       Open-ILS/web/js/ui/default/booking/populator.js
+1      1       Open-ILS/web/js/ui/default/cat/authority/list.js
+1      1       Open-ILS/web/js/ui/default/circ/selfcheck/selfcheck.js
+1      1       Open-ILS/web/js/ui/default/vandelay/vandelay.js
+1      1       Open-ILS/web/opac/common/js/utils.js
+1      1       Open-ILS/web/opac/skin/default/js/rdetail.js
+1      1       Open-ILS/web/reports/oils_rpt_utils.js
+1      1       Open-ILS/xul/staff_client/chrome/content/cat/opac.js
+4      4       Open-ILS/xul/staff_client/chrome/content/util/print.js
+15     0       Open-ILS/xul/staff_client/chrome/content/util/untrusted_window.xul
+2      2       Open-ILS/xul/staff_client/defaults/preferences/standalone_xul_app.js
+1      1       Open-ILS/xul/staff_client/server/cat/marcedit.js
+ create mode 100644 Open-ILS/xul/staff_client/chrome/content/util/untrusted_window.xul
+
+commit 27bcb6740e92198523c80d5eef3f63eb8804ad7e
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Fri Jul 27 16:00:27 2012 -0400
+
+    Change popups to menupopups in marc edit
+    
+    Because popups are transparent by default.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+5      5       Open-ILS/xul/staff_client/server/cat/marcedit.js
+
+commit 194a33b381bd5d719deb0988de1858daa2794a6c
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Fri Jul 27 12:22:00 2012 -0400
+
+    Fix over-zealous constant change
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/xul/staff_client/chrome/content/main/constants.js
+
+commit abade21a678eb3ca1ec2e6c423b4c67aa8695a0f
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Thu Jul 26 16:52:55 2012 -0400
+
+    Another missing height for the pattern wizard
+    
+    Missed this one on the previous pass.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/web/js/ui/default/serial/subscription/caption_and_pattern.js
+
+commit c45d702d26a423f8136c52e8659ae5d229a99220
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Thu Jul 26 16:18:02 2012 -0400
+
+    Fix pattern wizard
+    
+    CSS3 selectors break things. And some height would be nice.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+4      3       Open-ILS/xul/staff_client/server/serial/pattern_wizard.js
+1      1       Open-ILS/xul/staff_client/server/serial/scap_editor.js
+
+commit d320a7e659dfbf7768e8191d0edeb6bf0f9c1dcc
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Thu Jul 26 15:52:35 2012 -0400
+
+    More oils:// wrapping
+    
+    To avoid breaking some newer interfaces in particular.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+4      4       Open-ILS/xul/staff_client/chrome/content/main/constants.js
+
+commit aa19b9626845b940e189839ebc1210193dd5244d
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Thu Jul 26 10:00:34 2012 -0400
+
+    Have oilsBasePath include protocol and domain
+    
+    As seen by the other end, anyway. This fixes some authtoken related issues
+    when things like ACQ build links that would otherwise default to http.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/templates/base.tt2
+
+commit ee8fcf051ca41be9cdf0dec5329b6f616f205992
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Thu May 17 12:19:48 2012 -0400
+
+    Switch to XUL for printer settings editor
+    
+    Because in later versions of XULRunner we apparently can't do bindings
+    outside of XUL documents, and messagecatalogs are binding-based.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/web/opac/locale/en-US/lang.dtd
+1      1       Open-ILS/xul/staff_client/chrome/content/main/menu.js
+1      1       Open-ILS/xul/staff_client/server/admin/index.xhtml
+0      61      Open-ILS/xul/staff_client/server/admin/printer_settings.html
+68     0       Open-ILS/xul/staff_client/server/admin/printer_settings.xul
+ delete mode 100644 Open-ILS/xul/staff_client/server/admin/printer_settings.html
+ create mode 100644 Open-ILS/xul/staff_client/server/admin/printer_settings.xul
+
+commit adee850f88dcedfd65a19d41a7fb4948d4c7eee3
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Mon Feb 27 09:03:51 2012 -0500
+
+    Improve Firefox/XULRunner Support
+    
+    XULRunner/Firefox 4+ change the rules significantly, and to support them
+    significant changes have to be made in Evergreen.
+    
+    This commit covers a number of things:
+    
+    1 - Remote XUL Issues
+    
+    Later versions of XULRunner disable support for Remote XUL without using a
+    whitelist entry, and whitelisting may stop working eventually as well. The
+    solution here is the addition of a new protocol wrapper that allows Remote
+    XUL to act like Local XUL.
+    
+    The wrapper is oils:// and acts like HTTPS for the most part. The "host" the
+    client connects to is always "remote", however, and use of the wrapper has
+    multiple effects.
+    
+    The first of these effects is the enabling of Remote XUL content, with as
+    close to the Local XUL security level as I could manage. This means that
+    nearly anything Local XUL can do, Remote XUL should be able to do too.
+    
+    The second of these effects is the disabling of JavaScript-visible cookies.
+    XUL doesn't have cookies, and as such a side effect of the wrapper allowing
+    remote content to appear to be local content is the lack of cookies. This
+    does *not* affect server side visibility of cookies, however, so things like
+    TPac can still see cookies. This required fixing a lot of places that were
+    built to read data like authtokens out of cookies.
+    
+    The third of these effects is the "hiding" of the hostname for anything
+    going through the wrapper. This prevents oils_persist from saving things
+    correctly. I thus made oils_persist check for the wrapper and use the data
+    stash to get the hostname instead. I suspect that we can get rid of the
+    location.hostname check entirely at this point, but have not done so.
+    
+    The wrapper also sets a request header of OILS-Wrapper, value of 'true'.
+    That allows the server to know that the request came through the wrapper. I
+    used that ability to have TPac go into "Staff" mode when the wrapper is in
+    use. This will enhance extension use, where the same authtoken will be seen
+    by both the staff client and Firefox browsing.
+    
+    I willi also  note that I rigged the wrapper to be easily adjusted for a
+    second, hard-coded host for selfcheck use, using oils://selfcheck instead of
+    oils://remote, that could be very easily turned into a minimal Firefox
+    extension. That would enable the selfcheck code to have permission to work
+    with printers and such without enablePrivilege (see next section).
+    
+    2 - enablePrivilege Deprecation
+    
+    The enablePrivilege security model has been removed and no longer functions,
+    and the staff client depended heavily upon it.
+    
+    The Remote XUL fix provided us with a way to fix the enablePrivilege issues,
+    however. Because the Remote XUL has the Local XUL security context it
+    doesn't need enablePrivilege anymore. However, because enablePrivilege no
+    longer functions for those things *not* loaded through the wrapper some
+    things had to be changed.
+    
+    For one, because if you are loaded through the wrapper you can't see
+    cookies, and if you can see cookies you can't do "XUL" things, the "XUL"
+    cookie has been removed. However, the wrapper can be detected by the
+    protocol you are using, so I added protocol checking to the isXUL checks I
+    know of. I am unsure about what, if anything, to do about the IAMXUL flag
+    that is set by the browser code, though.
+    
+    For two, the JavaScript OPAC needs to be passed through the wrapper for some
+    staff functions to work currently. This has the additional side effect of
+    effectively forcing SSL mode for JSPac regardless of other settings.
+    
+    For three, I went ahead and removed all enablePrivilege calls I could find
+    outside of the selfcheck code. As they no longer work they were just extra
+    cruft.
+    
+    3 - Component changes
+    
+    Component loading has changed significantly, and the easiest way to
+    accommodate the changes was to re-write our components. The command line
+    handler and force external components (the latter from another branch of
+    mine) were simple enough, especially as they aren't interacted with by other
+    code in the system (and as I wrote them I understood them anyway). While I
+    was at it I made the force external component more extension-friendly.
+    
+    The data stash, however, was using a hack to accomplish what a singleton
+    component could do more easily. That and I couldn't get it to function as
+    it was. My solution was to re-write it as a singleton, removing the
+    interface definition that was not needed. As I changed how it functioned so
+    significantly I had to update all calls to it.
+    
+    In addition, I hid a window loading routine in the data stash component for
+    easier loading of a *single* main Evergreen window from the Firefox
+    overlays.
+    
+    4 - Extension changes
+    
+    First off, Venkman, the DOM Inspector, and Chrome List are not guaranteed
+    compatible with XULRunner anymore. As such, I have removed the out of date
+    versions. Instead, I have added routines for loading Venkman and the DOM
+    Inspector as Extensions. This keeps them easy to update to later versions,
+    and makes us play much nicer when we are an extension. Also, now the
+    buttons/menu items for loading these interfaces disable themselves if the
+    extensions don't appear to be loaded.
+    
+    A side effect of that was that Windows installers compressed with zlib were
+    unhappy. I switched to solid lzma, which in theory will get us smaller file
+    sizes too.
+    
+    Secondly, Extensions have changed significantly in Firefox 4+, and Evergreen
+    had to be adjusted to deal with some of the changes. I adjusted the overlay
+    to take into account the new application menu, and I re-wrote the hotkey set
+    loading routines to deal with the fact that extensions don't get extracted
+    by default.
+    
+    5 - Staff Client Build Process
+    
+    XULRunner has some changes that needed accounting for, such as a root level
+    chrome.manifest being needed. Extension mode, as mentioned above, needed
+    tweaks as well, and other issues were run into along the way. Both XULRunner
+    and Firefox version support has been extended to 14.* and the base XULRunner
+    download has been bumped to 14.0.1.
+    
+    In addition to the changes needed to support later XULRunner versions, I
+    also included alternate application name support and support for OS-specific
+    branding folders. Mainly because I ended up using all of them in testing,
+    and decided to leave them in afterwards.
+    
+    6 - Miscellaneous fixes
+    
+    MARC View was building a data URL and dumping it into an attribute without
+    escaping it. Apparently this made XULRunner unhappy, so I added in escaping.
+    
+    7 - Miscellaneous tweaks
+    
+    In addition to everything else, while I was running through my various tests
+    I changed a few other things.
+    
+    I enabled the navigation buttons on the OPAC interface embedded in the
+    patron overview for hold placement. With Remote XUL having the same security
+    context as Local XUL they now work.
+    
+    I removed all non-SSL authtoken cookie assignments I could find, and flagged
+    all the SSL ones I could find as being "secure" cookies. On the subject of
+    cookies, I also told the logoff code to not erase every cookie, as those
+    running in extension mode might dislike all cookies going away. I know that
+    during my testing I disliked it, anyway.
+    
+    I removed the code that messes with the user agent. Extensions are basically
+    not allowed to do that, and I don't think we need, or should rely on, a
+    modified user agent elsewhere, so adding a check specifically for when we
+    are not an extension didn't make a lot of sense to me.
+    
+    I also made it so that the automatic login command line options will work
+    after a logoff (but they won't trigger a logoff) during a testing run where
+    I was logging off, clearing cache, and logging in again repeatedly.
+    
+    To deal with CSS changes I changed most (but not all) popup elements to
+    menupop elements. Popups in later XULRunners are transparent by default.
+    
+    Also for CSS changes, a menubar CSS entry in global.css was causing issues
+    with menu visibility on Linux. Things look fine without it, so I went ahead
+    and removed it outright.
+    
+    In the reporter I found that "class" was being used as a variable name, but
+    that is a reserved keyword. I changed it to aClass.
+    
+    To make things easier for url_prefix use I made it so that the urls hash is
+    checked by the url_prefix function. It looks for names up to the first of
+    several characters: /, ?, |. If urls contains that name it is replaced into
+    place. For | the | itself is removed in this process.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+2      2       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+2      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/Proxy.pm
+2      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/Proxy/Authen.pm
+1      5       Open-ILS/src/templates/opac/parts/footer.tt2
+1      1       Open-ILS/src/templates/opac/parts/header.tt2
+5      0       Open-ILS/web/conify/global/actor/org_unit.js
+5      0       Open-ILS/web/conify/global/actor/org_unit_type.js
+5      0       Open-ILS/web/conify/global/config/copy_status.js
+5      0       Open-ILS/web/conify/global/config/marc_code_maps.js
+5      0       Open-ILS/web/conify/global/permission/grp_tree.js
+5      0       Open-ILS/web/conify/global/permission/perm_list.js
+4      32      Open-ILS/web/js/dojo/openils/XUL.js
+7      1       Open-ILS/web/js/dojo/openils/widget/TranslatorPopup.js
+1      1       Open-ILS/web/js/ui/base.js
+1      3       Open-ILS/web/js/ui/default/acq/common/li_table.js
+0      1       Open-ILS/web/js/ui/default/actor/user/register.js
+0      1       Open-ILS/web/js/ui/default/cat/authority/list.js
+1      1       Open-ILS/web/js/ui/default/serial/subscription.js
+1      4       Open-ILS/web/js/ui/default/serial/subscription/caption_and_pattern.js
+0      1       Open-ILS/web/js/ui/default/vandelay/vandelay.js
+3      6       Open-ILS/web/opac/common/js/RemoteRequest.js
+8      6       Open-ILS/web/opac/common/js/opac_utils.js
+5      0       Open-ILS/web/opac/extras/circ/alt_holds_print.html
+0      1       Open-ILS/web/opac/skin/default/js/rdetail.js
+2      2       Open-ILS/web/reports/oils_rpt.js
+5      1       Open-ILS/web/reports/xul/source-setup.js
+2      2       Open-ILS/web/reports/xul/template-config.js
+1      1       Open-ILS/web/reports/xul/template_builder.xul
+58     2       Open-ILS/xul/staff_client/Makefile.am
+1      1       Open-ILS/xul/staff_client/application.ini
+27     0       Open-ILS/xul/staff_client/chrome.manifest
+0      42      Open-ILS/xul/staff_client/chrome/chrome.manifest
+-      -       Open-ILS/xul/staff_client/chrome/chrome_list.jar
+8      23      Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js
+18     8       Open-ILS/xul/staff_client/chrome/content/OpenILS/global_util.js
+3      2       Open-ILS/xul/staff_client/chrome/content/OpenILS/util_overlay_chrome.xul
+3      2       Open-ILS/xul/staff_client/chrome/content/OpenILS/util_overlay_offline.xul
+0      1       Open-ILS/xul/staff_client/chrome/content/admin/survey_wizard.xul
+2      2       Open-ILS/xul/staff_client/chrome/content/auth/controller.js
+16     3       Open-ILS/xul/staff_client/chrome/content/auth/session.js
+32     35      Open-ILS/xul/staff_client/chrome/content/cat/opac.js
+0      1       Open-ILS/xul/staff_client/chrome/content/cat/opac.xul
+0      3       Open-ILS/xul/staff_client/chrome/content/circ/offline.js
+0      1       Open-ILS/xul/staff_client/chrome/content/circ/offline.xul
+0      2       Open-ILS/xul/staff_client/chrome/content/circ/offline_checkin.js
+0      2       Open-ILS/xul/staff_client/chrome/content/circ/offline_checkout.js
+0      2       Open-ILS/xul/staff_client/chrome/content/circ/offline_in_house_use.js
+0      2       Open-ILS/xul/staff_client/chrome/content/circ/offline_register.js
+0      2       Open-ILS/xul/staff_client/chrome/content/circ/offline_renew.js
+13     14      Open-ILS/xul/staff_client/chrome/content/firefox/overlay.xul
+130    120     Open-ILS/xul/staff_client/chrome/content/main/constants.js
+87     71      Open-ILS/xul/staff_client/chrome/content/main/main.js
+94     77      Open-ILS/xul/staff_client/chrome/content/main/menu.js
+0      1       Open-ILS/xul/staff_client/chrome/content/main/menu_frame.xul
+1      1       Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul
+0      1       Open-ILS/xul/staff_client/chrome/content/main/simple_auth.xul
+0      18      Open-ILS/xul/staff_client/chrome/content/util/browser.js
+3      5       Open-ILS/xul/staff_client/chrome/content/util/browser.xul
+0      3       Open-ILS/xul/staff_client/chrome/content/util/clipboard.js
+0      2       Open-ILS/xul/staff_client/chrome/content/util/deck.js
+0      6       Open-ILS/xul/staff_client/chrome/content/util/error.js
+0      1       Open-ILS/xul/staff_client/chrome/content/util/fancy_prompt.xul
+0      17      Open-ILS/xul/staff_client/chrome/content/util/file.js
+0      1       Open-ILS/xul/staff_client/chrome/content/util/fm_view.xul
+0      2       Open-ILS/xul/staff_client/chrome/content/util/list.js
+0      1       Open-ILS/xul/staff_client/chrome/content/util/list_clipboard.xul
+0      5       Open-ILS/xul/staff_client/chrome/content/util/mozilla.js
+2      7       Open-ILS/xul/staff_client/chrome/content/util/network.js
+0      14      Open-ILS/xul/staff_client/chrome/content/util/print.js
+3      5       Open-ILS/xul/staff_client/chrome/content/util/rbrowser.xul
+0      2       Open-ILS/xul/staff_client/chrome/content/util/shell.js
+0      3       Open-ILS/xul/staff_client/chrome/content/util/sound.js
+0      1       Open-ILS/xul/staff_client/chrome/content/util/widget_prompt.js
+0      4       Open-ILS/xul/staff_client/chrome/content/util/widgets.js
+6      14      Open-ILS/xul/staff_client/chrome/content/util/window.js
+1      1       Open-ILS/xul/staff_client/chrome/content/util/xuledit.xul
+-      -       Open-ILS/xul/staff_client/chrome/inspector.jar
+0      2       Open-ILS/xul/staff_client/chrome/skin/global.css
+-      -       Open-ILS/xul/staff_client/chrome/venkman.jar
+130    227     Open-ILS/xul/staff_client/components/clh.js
+37     128     Open-ILS/xul/staff_client/components/forceexternal.js
+0      179     Open-ILS/xul/staff_client/components/inspector-cmdline.js
+0      6       Open-ILS/xul/staff_client/components/nsIOpenILS.idl
+-      -       Open-ILS/xul/staff_client/components/nsIOpenILS.xpt
+40     60      Open-ILS/xul/staff_client/components/nsOpenILS.js
+64     0       Open-ILS/xul/staff_client/components/oils_protocol.js
+0      619     Open-ILS/xul/staff_client/components/venkman-service.js
+0      1       Open-ILS/xul/staff_client/external/dojo_template.js
+0      3       Open-ILS/xul/staff_client/external/template.js
+1      2       Open-ILS/xul/staff_client/external/template.xul
+2      2       Open-ILS/xul/staff_client/install.rdf
+8      0       Open-ILS/xul/staff_client/server/admin/adminlib.js
+0      1       Open-ILS/xul/staff_client/server/admin/circ_age_to_lost.js
+8      0       Open-ILS/xul/staff_client/server/admin/copy_locations.js
+0      1       Open-ILS/xul/staff_client/server/admin/do_not_auto_attempt_print_setting.js
+0      3       Open-ILS/xul/staff_client/server/admin/font_settings.xul
+0      1       Open-ILS/xul/staff_client/server/admin/hold_pull_list_classic.js
+1      1       Open-ILS/xul/staff_client/server/admin/index.xhtml
+11     16      Open-ILS/xul/staff_client/server/admin/offline_manage_xacts.js
+0      1       Open-ILS/xul/staff_client/server/admin/offline_manage_xacts.xul
+5      0       Open-ILS/xul/staff_client/server/admin/org_unit_settings.js
+0      2       Open-ILS/xul/staff_client/server/admin/patrons_due_refunds.js
+2      2       Open-ILS/xul/staff_client/server/admin/patrons_due_refunds.xul
+1      1       Open-ILS/xul/staff_client/server/admin/printer_settings.html
+0      6       Open-ILS/xul/staff_client/server/admin/printer_settings.js
+8      0       Open-ILS/xul/staff_client/server/admin/stat_cat_editor.js
+0      1       Open-ILS/xul/staff_client/server/admin/toolbar.js
+2      3       Open-ILS/xul/staff_client/server/admin/transit_list.xul
+1      2       Open-ILS/xul/staff_client/server/admin/upload_xacts.js
+0      1       Open-ILS/xul/staff_client/server/admin/work_log.js
+4      4       Open-ILS/xul/staff_client/server/admin/work_log.xul
+2      5       Open-ILS/xul/staff_client/server/cat/bib_brief.js
+2      3       Open-ILS/xul/staff_client/server/cat/bibs_abreast.js
+1      1       Open-ILS/xul/staff_client/server/cat/bibs_abreast.xul
+7      14      Open-ILS/xul/staff_client/server/cat/copy_browser.js
+2      3       Open-ILS/xul/staff_client/server/cat/copy_browser.xul
+0      1       Open-ILS/xul/staff_client/server/cat/copy_buckets.xul
+0      1       Open-ILS/xul/staff_client/server/cat/copy_buckets_quick.xul
+0      3       Open-ILS/xul/staff_client/server/cat/copy_editor.js
+0      2       Open-ILS/xul/staff_client/server/cat/copy_notes.xul
+0      1       Open-ILS/xul/staff_client/server/cat/copy_summary.xul
+0      2       Open-ILS/xul/staff_client/server/cat/manage_multi_home_items.js
+2      2       Open-ILS/xul/staff_client/server/cat/manage_multi_home_items.xul
+2      6       Open-ILS/xul/staff_client/server/cat/marc_new.xul
+0      2       Open-ILS/xul/staff_client/server/cat/marc_view.html
+2      3       Open-ILS/xul/staff_client/server/cat/marc_view.xul
+1      4       Open-ILS/xul/staff_client/server/cat/marcedit.js
+70     70      Open-ILS/xul/staff_client/server/cat/marcedit.xul
+4      8       Open-ILS/xul/staff_client/server/cat/record_buckets.js
+0      2       Open-ILS/xul/staff_client/server/cat/record_buckets.xul
+0      1       Open-ILS/xul/staff_client/server/cat/record_buckets_quick.xul
+0      3       Open-ILS/xul/staff_client/server/cat/spine_labels.js
+11     12      Open-ILS/xul/staff_client/server/cat/util.js
+0      1       Open-ILS/xul/staff_client/server/cat/volume_buckets.xul
+2      5       Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js
+0      1       Open-ILS/xul/staff_client/server/cat/volume_copy_editor.js
+2      2       Open-ILS/xul/staff_client/server/cat/volume_copy_editor.xul
+2      2       Open-ILS/xul/staff_client/server/cat/volume_copy_editor_horiz.xul
+0      1       Open-ILS/xul/staff_client/server/cat/volume_editor.js
+8      14      Open-ILS/xul/staff_client/server/cat/z3950.js
+1      2       Open-ILS/xul/staff_client/server/cat/z3950.xul
+0      1       Open-ILS/xul/staff_client/server/circ/alternate_copy_summary.js
+0      1       Open-ILS/xul/staff_client/server/circ/checkin.xul
+2      2       Open-ILS/xul/staff_client/server/circ/checkin_overlay.xul
+1      2       Open-ILS/xul/staff_client/server/circ/checkout.js
+0      1       Open-ILS/xul/staff_client/server/circ/checkout.xul
+0      1       Open-ILS/xul/staff_client/server/circ/circ_brief.xul
+0      1       Open-ILS/xul/staff_client/server/circ/circ_summary.xul
+0      1       Open-ILS/xul/staff_client/server/circ/copy_details.xul
+5      9       Open-ILS/xul/staff_client/server/circ/copy_status.js
+0      1       Open-ILS/xul/staff_client/server/circ/copy_status.xul
+5      5       Open-ILS/xul/staff_client/server/circ/copy_status_overlay.xul
+0      1       Open-ILS/xul/staff_client/server/circ/in_house_use.xul
+0      1       Open-ILS/xul/staff_client/server/circ/missing_pieces.js
+0      1       Open-ILS/xul/staff_client/server/circ/pre_cat_fields.xul
+1      7       Open-ILS/xul/staff_client/server/circ/print_list_template_editor.js
+1      2       Open-ILS/xul/staff_client/server/circ/print_list_template_editor.xul
+0      1       Open-ILS/xul/staff_client/server/circ/renew.xul
+2      2       Open-ILS/xul/staff_client/server/circ/renew_overlay.xul
+6      6       Open-ILS/xul/staff_client/server/circ/util.js
+5      6       Open-ILS/xul/staff_client/server/index.xhtml
+1      13      Open-ILS/xul/staff_client/server/main/data.xul
+0      5       Open-ILS/xul/staff_client/server/main/gen_offline_widgets.xul
+0      1       Open-ILS/xul/staff_client/server/main/simple_auth.xul
+0      3       Open-ILS/xul/staff_client/server/main/ws_info.xul
+1      2       Open-ILS/xul/staff_client/server/patron/barcode_entry.xul
+0      3       Open-ILS/xul/staff_client/server/patron/bill2.js
+2      2       Open-ILS/xul/staff_client/server/patron/bill2.xul
+0      1       Open-ILS/xul/staff_client/server/patron/bill_cc_info.xul
+0      1       Open-ILS/xul/staff_client/server/patron/bill_check_info.xul
+0      2       Open-ILS/xul/staff_client/server/patron/bill_details.js
+0      1       Open-ILS/xul/staff_client/server/patron/bill_history.js
+0      1       Open-ILS/xul/staff_client/server/patron/bill_wizard.js
+4      22      Open-ILS/xul/staff_client/server/patron/display.js
+0      2       Open-ILS/xul/staff_client/server/patron/display.xul
+0      2       Open-ILS/xul/staff_client/server/patron/display_horiz.xul
+0      3       Open-ILS/xul/staff_client/server/patron/hold_details.js
+10     22      Open-ILS/xul/staff_client/server/patron/holds.js
+0      1       Open-ILS/xul/staff_client/server/patron/holds.xul
+3      3       Open-ILS/xul/staff_client/server/patron/holds_overlay.xul
+6      8       Open-ILS/xul/staff_client/server/patron/info_group.js
+2      2       Open-ILS/xul/staff_client/server/patron/info_group.xul
+0      2       Open-ILS/xul/staff_client/server/patron/info_notes.xul
+0      1       Open-ILS/xul/staff_client/server/patron/info_stat_cats.xul
+0      1       Open-ILS/xul/staff_client/server/patron/info_surveys.xul
+2      2       Open-ILS/xul/staff_client/server/patron/items.js
+0      1       Open-ILS/xul/staff_client/server/patron/items.xul
+4      4       Open-ILS/xul/staff_client/server/patron/items_overlay.xul
+0      2       Open-ILS/xul/staff_client/server/patron/place_hold.js
+0      2       Open-ILS/xul/staff_client/server/patron/search_form.xul
+0      2       Open-ILS/xul/staff_client/server/patron/search_form_horiz.xul
+0      1       Open-ILS/xul/staff_client/server/patron/search_result.xul
+1      3       Open-ILS/xul/staff_client/server/patron/staged.js
+2      2       Open-ILS/xul/staff_client/server/patron/staged.xul
+0      4       Open-ILS/xul/staff_client/server/patron/standing_penalties.js
+2      2       Open-ILS/xul/staff_client/server/patron/standing_penalties.xul
+0      2       Open-ILS/xul/staff_client/server/patron/summary.js
+0      5       Open-ILS/xul/staff_client/server/patron/summary.xul
+2      2       Open-ILS/xul/staff_client/server/patron/summary_overlay.xul
+4      4       Open-ILS/xul/staff_client/server/patron/summary_overlay_horiz.xul
+0      2       Open-ILS/xul/staff_client/server/patron/user_buckets.xul
+1      3       Open-ILS/xul/staff_client/server/patron/util.js
+8      4       Open-ILS/xul/staff_client/server/serial/batch_receive.js
+0      1       Open-ILS/xul/staff_client/server/serial/editor_base.js
+2      8       Open-ILS/xul/staff_client/server/serial/manage_dists.js
+2      3       Open-ILS/xul/staff_client/server/serial/manage_dists.xul
+1      1       Open-ILS/xul/staff_client/server/serial/manage_items.js
+2      3       Open-ILS/xul/staff_client/server/serial/manage_items.xul
+1      7       Open-ILS/xul/staff_client/server/serial/manage_subs.js
+2      3       Open-ILS/xul/staff_client/server/serial/manage_subs.xul
+0      2       Open-ILS/xul/staff_client/server/serial/notes.xul
+0      1       Open-ILS/xul/staff_client/server/serial/sbsum_editor.js
+1      3       Open-ILS/xul/staff_client/server/serial/scap_editor.js
+0      1       Open-ILS/xul/staff_client/server/serial/sdist_editor.js
+0      1       Open-ILS/xul/staff_client/server/serial/select_aou.xul
+0      1       Open-ILS/xul/staff_client/server/serial/select_unit.xul
+2      2       Open-ILS/xul/staff_client/server/serial/serctrl_main.xul
+0      1       Open-ILS/xul/staff_client/server/serial/siss_editor.js
+0      1       Open-ILS/xul/staff_client/server/serial/sisum_editor.js
+0      1       Open-ILS/xul/staff_client/server/serial/sitem_editor.js
+0      1       Open-ILS/xul/staff_client/server/serial/sitem_editor.xul
+0      1       Open-ILS/xul/staff_client/server/serial/sssum_editor.js
+0      1       Open-ILS/xul/staff_client/server/serial/sstr_editor.js
+0      1       Open-ILS/xul/staff_client/server/serial/ssub_editor.js
+0      2       Open-ILS/xul/staff_client/server/skin/custom.js.example
+3      0       Open-ILS/xul/staff_client/windowssetup.nsi
+60     0       docs/RELEASE_NOTES_NEXT/new_xulrunner.txt
+ create mode 100644 Open-ILS/xul/staff_client/chrome.manifest
+ delete mode 100644 Open-ILS/xul/staff_client/chrome/chrome_list.jar
+ delete mode 100644 Open-ILS/xul/staff_client/chrome/inspector.jar
+ delete mode 100644 Open-ILS/xul/staff_client/chrome/venkman.jar
+ delete mode 100644 Open-ILS/xul/staff_client/components/inspector-cmdline.js
+ delete mode 100644 Open-ILS/xul/staff_client/components/nsIOpenILS.idl
+ delete mode 100644 Open-ILS/xul/staff_client/components/nsIOpenILS.xpt
+ create mode 100644 Open-ILS/xul/staff_client/components/oils_protocol.js
+ delete mode 100644 Open-ILS/xul/staff_client/components/venkman-service.js
+ create mode 100644 docs/RELEASE_NOTES_NEXT/new_xulrunner.txt
+
+commit 0202761608cc6e3ea512e7171b9bcad8af8bc8ff
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Mon Jul 30 10:25:31 2012 -0400
+
+    Wrap upgrade script for "pretty-print XML" function
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+32     0       Open-ILS/src/sql/Pg/upgrade/0727.function.xml_pretty_print.sql
+0      21      Open-ILS/src/sql/Pg/upgrade/XXXX.function.xml_pretty_print.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0727.function.xml_pretty_print.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.function.xml_pretty_print.sql
+
+commit ec8b943faef89235c0806db983864398acba5b2c
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Fri Mar 16 21:49:45 2012 -0400
+
+    Add an XML pretty printer database function
+    
+    Andrew Dunstan was kind enough to share an XML pretty printer function
+    for PostgreSQL, and it sure is handy when you're debugging things like
+    in-database unapi and MARCXML.
+    
+    Note that it expects honest-to-goodness XML data type input, so for
+    biblio.record_entry.marc columns you'll need to cast it from TEXT.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+
+21     0       Open-ILS/src/sql/Pg/000.functions.general.sql
+21     0       Open-ILS/src/sql/Pg/upgrade/XXXX.function.xml_pretty_print.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.function.xml_pretty_print.sql
+
+commit 3670571e47fba3dc38aeec11a5f73ddc6cbea0ce
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Tue Jul 24 12:39:49 2012 -0400
+
+    TPAC: Fix org_unit location detection for login
+    
+    The TPAC login function currently looks for a 'loc' param to pass
+    to the login service.  This isn't right because:
+    
+    A. 'loc' is a search-related param, and shouldn't affect logins
+    B. The login form doesn't actually pass through the 'loc' param
+    C. The 'loc' param has been more or less replaced by 'locg'
+    
+    No, this isn't multiple choice, it's all of the above.  Our best
+    option at this point is to use the 'physical_loc' value instead.
+    This matches what was done in JSPAC (though it was called 'ol' for
+    "original location" back then).
+    
+    Finally, this commit is 95% the work of Dan Scott, including the
+    additions of logging info and a few whitespace fixes.
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+9      4       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+
+commit a93650be26cfcd0118c8c816955a2cb2e8724acc
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Fri Jun 15 16:11:57 2012 -0400
+
+    Extend AuthProxy.pm Support to TPAC
+    
+    AuthProxy-enabled logins (e.g. LDAP) were not yet wired into TPAC.
+    This adds TPAC support equivalent to that in JSPAC.
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+26     9       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+
+commit d128743dccb6a252f2765d93fcd5cefc0e7f958d
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Fri Jul 27 16:27:29 2012 -0400
+
+    Use MARC::Field objects to append new fields
+    
+    While the deprecated MARC::Record::add_fields() method allows you to add
+    a list of fields using a list object, append_fields() requires
+    MARC::Field objects.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+8      10      Open-ILS/src/sql/Pg/002.functions.config.sql
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+103    0       Open-ILS/src/sql/Pg/upgrade/0726.schema.fix_maintain_901_regex.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0726.schema.fix_maintain_901_regex.sql
+
+commit ad3af2aca6ad7d7d7e497b477e679c762d016f5d
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jul 27 13:51:05 2012 -0400
+
+    Repair PCrudFilterPane localeStrings namespace pollution
+    
+    Avoid using the global 'localeStrings' variable in PCrudFilterPane
+    because it clobbers the variable for UIs that use the same variable
+    name.
+    
+    Originally repaired in working =>
+    collab/berick/acq-fund-rollover-repairs, but the change was lost with
+    competing feature development.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+18     19      Open-ILS/web/js/dojo/openils/widget/PCrudFilterPane.js
+
+commit 6517e6fbeb80601a8aab8478484f6dbd22e3b001
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Fri Jun 22 17:42:57 2012 -0400
+
+    Fix some failings of the Triggered Event Viewer
+    
+    1) give choices in a dropdown for the Reactor field
+    
+    2) like searching automatically wraps search terms in % except when at
+    least one % is already present.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+39     0       Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm
+25     1       Open-ILS/src/templates/actor/user/event_log.tt2
+12     2       Open-ILS/web/js/dojo/openils/widget/PCrudFilterPane.js
+
+commit 8c79b3cecf8bbd977c864a0ba72435374e01cf4c
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Fri Jul 27 10:57:52 2012 -0400
+
+    Triggered Event Log: Add title and author columns for hold-related events
+    
+    Correcting an omission spotted by Sally Fortin.
+    
+    NOTE:  This adds pcrud as a controller to ahr.  Only the retrieve
+    operation is allowed at this time, and only with a VIEW_HOLD permission
+    at the pickup lib (same setup as ahopl, the class powering the new pull
+    list).
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+6      1       Open-ILS/examples/fm_IDL.xml
+2      0       Open-ILS/src/templates/actor/user/event_log.tt2
+
+commit bc84c7b6d47e1fdfe381ce96e2d2fb78a3d9907f
+Author: Galen Charlton <gmc@esilibrary.com>
+Date:   Fri Jul 27 11:23:46 2012 -0400
+
+    lp1028514: fix syntax-o in PL/PERLU version of maintain_901()
+    
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+2      2       Open-ILS/src/sql/Pg/002.functions.config.sql
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+105    0       Open-ILS/src/sql/Pg/upgrade/0725.schema.fix_maintain_901_regex.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0725.schema.fix_maintain_901_regex.sql
+
+commit d153502f9b2b89b364742a41c0fbe9313c544ec9
+Author: Galen Charlton <gmc@esilibrary.com>
+Date:   Fri Jul 27 09:29:35 2012 -0400
+
+    stamp upgrade script for lp1028514
+    
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+105    0       Open-ILS/src/sql/Pg/upgrade/0724.schema.fix_maintain_901_regex.sql
+0      99      Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fix_maintain_901_regex.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0724.schema.fix_maintain_901_regex.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fix_maintain_901_regex.sql
+
+commit 119034544e2934f223ec71a63f884f1eed487d6a
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Tue Jul 24 14:14:01 2012 -0400
+
+    Switch to a PLPERLU maintain_901() trigger function
+    
+    We've been burned by regexes that fail to grok XML properly numerous
+    times now. Standardizing on something that actually understands MARC
+    seems like a good idea.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+94     57      Open-ILS/src/sql/Pg/002.functions.config.sql
+97     66      Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fix_maintain_901_regex.sql
+
+commit b0c85c31df44e962c0ecc87e08e067513d6c4825
+Author: Galen Charlton <gmc@esilibrary.com>
+Date:   Tue Jul 24 11:51:52 2012 -0400
+
+    lp1028514: fix regex replace in maintain_901()
+    
+    The regex used to insert the 901 field can put the new
+    field in the wrong location if the MARCXML record being
+    modified uses namespace prefixes.  This patch tightens
+    the regexp to avoid this problem.
+    
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+4      4       Open-ILS/src/sql/Pg/002.functions.config.sql
+68     0       Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fix_maintain_901_regex.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fix_maintain_901_regex.sql
+
+commit 5fd92464a3046a38806bcd88d5e82591494609e2
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Thu Jul 26 10:45:25 2012 -0400
+
+    Get the TPAC basic link inline for <noscript>
+    
+    The TPAC basic link appeared outside the <p> tag inside the <noscript>
+    section of the JSPAC, meaning that it would display on the far left
+    border of the screen rather than right after the colon. Fix that by
+    getting it inline.
+    
+    Also apply a style to the link so it appears as some kind of a link.
+    What kind of madman overrode the basic <a> element style to make it
+    appear as plain text by default in the first place? :P
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/web/opac/skin/default/xml/home/index_body.xml
+
+commit 98559e35f091153bc61172fab7e59ebfe732aadc
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Mon Jun 18 14:09:51 2012 -0400
+
+    patron name border color for Notes
+    
+    not Notes specifically, but this catches any non-alert non-blocking penalties
+    and prevents a colorless border from happening
+    
+    Colors chosen from mrpeters' patch at
+    https://bugs.launchpad.net/evergreen/+bug/921817
+    
+    Thanks!
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+2      4       Open-ILS/xul/staff_client/server/skin/patron_display.css
+
+commit 4f7db675a60f9a2a002ca924ee91836f5fb03ca5
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Wed Jul 25 15:37:46 2012 -0400
+
+    Documentation: Fix typo in upgrade instructions reported in launchpad bug #1028978.
+    
+    https://bugs.launchpad.net/evergreen/+bug/1028978
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+1      1       docs/installation/server_upgrade.txt
+
+commit 76976c7fd09e47ca71ebb8c2311b690f11dac594
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jun 21 16:19:10 2012 -0400
+
+    ACQ Provider holding subfield field name options
+    
+    Provide a list of valid holding subfield types for the provider holding
+    subfield grid in the provider admin UI.
+    
+    The current list includes:
+    
+    quantity
+    estimated_price
+    owning_lib
+    call_number
+    fund_code
+    circ_modifier
+    note
+    copy_location
+    barcode
+    collection_code
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Kathy Lussier <klussier@masslnc.org>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+14     0       Open-ILS/src/templates/conify/global/acq/provider.tt2
+4      0       Open-ILS/web/js/ui/default/conify/global/acq/provider.js
+
+commit 370e61be2a1fcf8f9e63dece7c770358c3237ae0
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jun 21 16:18:40 2012 -0400
+
+    Fire onEditPane handler for edit dialogs spawned from AutoGrid
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+1      0       Open-ILS/web/js/dojo/openils/widget/AutoGrid.js
+
+commit e087d43fc733c96563a50abdd3ce33865f234ee4
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Wed Jul 25 12:45:27 2012 -0400
+
+    Add evergreen.get_locale_name() function to base schema
+    
+    I added the evergreen.get_locale_name() function to the database schema
+    upgrades in 0723 but failed to add it to the base schema, resulting in
+    errors like: 'egweb: template error: undef error - Can't call method
+    "maketext"'. Get rid of that problem!
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+37     0       Open-ILS/src/sql/Pg/020.schema.functions.sql
+
+commit 0b1d3ca56e7113be185f869a632fd8e49912d040
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed Jul 25 09:14:06 2012 -0400
+
+    lp1028906 : Vandelay inspect queue page load repair
+    
+    This is the result of a bug in the code that went unnoticed until
+    c108746532548fd8d3fadd15736375a57208d485 (CGI.js additions).  This patch
+    repairs how Vandelay checks the CGI param to determine if it should
+    load the 'inspectq' page on load.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/web/js/ui/default/vandelay/vandelay.js
+
+commit 8a81d00af028deb2c291d944bfc1d7d73d319685
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Jun 19 08:45:59 2012 -0400
+
+    2.2 upgrade missing vandelay.authority_match.quality column
+    
+    This column slipped through the cracks of the 2.1 to 2.2 upgrade.
+    
+    ALTER TABLE vandelay.authority_match ADD COLUMN quality INTEGER NOT NULL DEFAULT 0;
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      0       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+
+commit 939f1e7d3e12051fa6d49a537de2ab9c00701d6d
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Fri Jul 20 13:41:50 2012 -0400
+
+    TPAC: Decode translated strings into UTF8
+    
+    Without the _decode pragma, Locale::Maketext::Lexixcon did not
+    understand that it was being handed Unicode and generated some funky
+    output in the TPAC templates.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+3      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGWeb.pm
+
+commit 06e77b31369e770708f907fa7e0b7b4506310cf2
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Tue Jul 17 17:37:54 2012 -0400
+
+    TPAC: Implement a locale picker
+    
+    In situations in which more than a single locale is configured, display
+    a locale picker in the TPAC header based on the registered locales. We
+    set the eg_locale cookie if passed a set_eg_locale GET param. Default
+    the selection to the currently selected locale (if any) and resubmit the
+    current page request.
+    
+    Grabs the localized locale names, if available, from the database;
+    otherwise falls back to the en-US version of the locale names.
+    
+    The locale picker form resubmits the current page with any variables
+    that were present in the current page request, so that switching locales
+    should still maintain state.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+31     5       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGWeb.pm
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+47     0       Open-ILS/src/sql/Pg/upgrade/0723.function.get_locale_name.sql
+23     0       Open-ILS/src/templates/opac/parts/locale_picker.tt2
+1      0       Open-ILS/src/templates/opac/parts/topnav.tt2
+12     0       Open-ILS/web/css/skin/default/opac/style.css
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0723.function.get_locale_name.sql
+ create mode 100644 Open-ILS/src/templates/opac/parts/locale_picker.tt2
+
+commit 9390b25f1904ff01093409ff8f29f49b6a2f1289
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed Nov 23 10:54:51 2011 -0500
+
+    Add constraint to ACQ PO state value
+    
+    Limit 'state' values to
+    
+    'new','pending','on-order','received','cancelled'
+    
+    https://bugs.launchpad.net/evergreen/+bug/893193
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+2      1       Open-ILS/src/sql/Pg/200.schema.acq.sql
+12     0       Open-ILS/src/sql/Pg/upgrade/0722.schema.acq-po-state-constraint.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0722.schema.acq-po-state-constraint.sql
+
+commit 75c5dbedacc9dce74510eac72aaa06be15a866d9
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Wed Jan 25 12:47:40 2012 -0500
+
+    Add component to *force* external browser use
+    
+    For http/https urls that don't go to the host we are logged into.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+143    0       Open-ILS/xul/staff_client/components/forceexternal.js
+ create mode 100644 Open-ILS/xul/staff_client/components/forceexternal.js
+
+commit b10b52d842f609708e52897fc171b2c75c94e339
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Wed Jan 25 11:18:39 2012 -0500
+
+    Allow opening of links in default browser
+    
+    And do so for the "Get Help With Evergreen" portal link.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+16     0       Open-ILS/xul/staff_client/chrome/content/main/menu.js
+5      0       Open-ILS/xul/staff_client/defaults/preferences/standalone_xul_app.js
+2      9       Open-ILS/xul/staff_client/server/index.xhtml
+
+commit 04611dffa458982ada067357e1b7aa54a075356c
+Author: Kathy Lussier <klussier@masslnc.org>
+Date:   Mon Jul 9 22:46:05 2012 -0400
+
+    Signed-off-by: Kathy Lussier <klussier@masslnc.org>
+    
+    LP: Allow user to change activation options for suspended holds.
+    
+    Activation options were hidden from users when holds were in a suspended
+    state.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/templates/opac/myopac/holds/edit.tt2
+
+commit 9332a68d06cb6caa0af3f560d5acfaaf6b716be7
+Author: Steven Chan <schan@sitka.bclibraries.ca>
+Date:   Wed Jul 18 11:22:14 2012 -0700
+
+    Fix LP800480, ACQ - Vendor Invoice Won't Save
+    
+    1. Upon submitting the form, the client prepares two auxiliary data
+    objects containing service charges and line items. The two objects are
+    normally 'fleshed', ie, contain references to other data objects, but in
+    the versions sent to the server, they must be 'unfleshed', ie, the
+    referent objects are converted back to ID values. If the user resubmits
+    the form, the client should not unflesh again. However, the software for
+    preparing line items contain lines of code that unfleshes without
+    checking if the objects are already unflesh. When unfleshing a second
+    time, we get an uncaught reference error. Ironically, the software also
+    contains lines of code to do it correctly, so the errant lines of code
+    are also duplicates.
+    
+    To fix problem 1, we remove the duplicate errant lines of code. We
+    define a helper unflesh() method and use it to replace the current lines
+    of code to unflesh.
+    
+    2. When the user submits the form without filling in required data
+    fields in the invoice, including Vendor Invoice ID, the client does not
+    validate before making a service request. The server tries to complete
+    the database transaction, but gets an error.  When the response comes
+    back, the client shows the same form so that the user can retry.
+    However, the message alert to the user is not informative; it indicates
+    an error at the database level, but does not indicate the probable
+    reason.
+    
+    To fix problem 2, We move the lines of code preparing the invoice object
+    earlier in the sequence.  We define a helper method mapValues() to
+    prepare the invoice object from the values in the UI widget object.
+    mapValues() will return an error object if it detects that required
+    values are null. We check for the error object, and will show an alert
+    message to the user and abort the submit operation early, allowing the
+    user to retry.
+    
+    3. When an invoice with line items is saved, the invoice is re-rendered
+    with new buttons to allow receiving. It also contains a new button to
+    enable the user to view the line items in list format. However, it does
+    not work in a non-Firefox browser, because a debug statement using the
+    'dump()' function is left uncommented. (Inspection of all other
+    appearances of dump() show they are all commented out.) There is an
+    uncaught reference because dump() is not found.
+    
+    Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+16     0       Open-ILS/web/js/dojo/openils/widget/EditPane.js
+1      1       Open-ILS/web/js/ui/default/acq/invoice/receive.js
+35     29      Open-ILS/web/js/ui/default/acq/invoice/view.js
+
+commit 4e6f44ab34f1c53c7d462d6077f1073bd3ab40d1
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Jul 9 14:46:41 2012 -0400
+
+    Batch lineitem create / link-to invoice action
+    
+    In the PO lineitem list page and lineitem search restuls page,  there
+    are two new actions in the top-level actions selector: "Create Invoice
+    from Selected Lineitems" and "Link To Invoice for Selected Lineitems".
+    Both behave the same as create/link invoice for single lineitems, but
+    now it's possible to select multiple lineitems for invoicing.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+2      0       Open-ILS/src/templates/acq/common/li_table.tt2
+27     1       Open-ILS/web/js/ui/default/acq/common/li_table.js
+
+commit adcf4e7684e9953a37a4c5c0b0828e7ae0fcfca1
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Jul 9 14:45:15 2012 -0400
+
+    Invoice link dialog supports multiple lineitems/POs
+    
+    Adds support to the invoice linking dialog for linking sets of lineitems
+    or POs instead of just one.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+8      2       Open-ILS/web/js/ui/default/acq/common/inv_dialog.js
+
+commit b32c7f26a6fef15419639c38448c0028bb8f4a60
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Jul 9 13:34:26 2012 -0400
+
+    Attach multiple lineitems / POs to invoice
+    
+    Adds support to the Invoice interface for attaching multiple lineitems
+    or POs via the existing attach_li and attach_po URL params.  These can
+    be used by other invoice create/link UIs for batch linking.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+31     15      Open-ILS/web/js/ui/default/acq/invoice/view.js
+
+commit 7a100875f813b3319aec1872460a7e7261dd6b8b
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Tue Jul 24 13:01:48 2012 -0400
+
+    Documentation: Add line breaks in authorities chapter to fix
+    asciidoc formatting.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+15     10      docs/admin/authorities.txt
+
+commit df90cb78bc9ef86bea4ccef7f87ce5147e5e0a7d
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Tue Jul 24 12:46:08 2012 -0400
+
+    Acq: PO view interface sometimes fails to load in development enviroments
+    
+    Should not affect production environments, but requiring
+    dijit.form.Button quiets an error on my system when I don't have
+    a openils_dojo.js bundle installed.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      0       Open-ILS/web/js/ui/default/acq/po/view_po.js
+
+commit 92ae1ecae956c2a2772a585f7d8602712cbfd9e9
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jul 13 12:07:56 2012 -0400
+
+    ACQ : lineitem recovers focus from various interfaces
+    
+    1. When viewing an invoice then clicking on the title link for a lineitem,
+    the user is taken away to the copy grid within the PO page for the
+    lineitem.This adds a "Return to Invoice" button in the copy grid which
+    takes the user back to the invoice, focused on the lineitem in question.
+    
+    2. Adds a "Return to Search" button for PL/PO pages to return to the
+    lineitem in question when the PL or PO links are selected for a lineitem
+    in a set of search results.
+    
+    3. Adds a "Return to Invoice" button to PO/Picklist pages with lineitem
+    focus when the page was accessed from the invoice UI.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+4      0       Open-ILS/src/templates/acq/common/li_table.tt2
+7      0       Open-ILS/src/templates/acq/picklist/view.tt2
+10     0       Open-ILS/src/templates/acq/po/view.tt2
+1      1       Open-ILS/web/js/dojo/openils/acq/nls/acq.js
+11     2       Open-ILS/web/js/ui/default/acq/common/li_table.js
+19     0       Open-ILS/web/js/ui/default/acq/picklist/view.js
+20     0       Open-ILS/web/js/ui/default/acq/po/view_po.js
+
+commit 2353b9392fd60d37be326e8548bdd01faf8fd756
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jul 13 16:31:41 2012 -0400
+
+    ACQ : Support lineitem fucus in ACQ unified search
+    
+    Adds support for a "focus_li" URL parameter to ACQ unified search
+    results pages.  When present, the page of results containing the
+    requested lineitem are loaded (instead of the default page 1) and the
+    lineitem is made visible in the viewable screen using the lineitem table
+    focusLi mechanism.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+34     0       Open-ILS/web/js/ui/default/acq/common/li_table_pager.js
+16     0       Open-ILS/web/js/ui/default/acq/search/unified.js
+
+commit 3b637c3583d661bc9f4f08d1b2a9aa5f7c0aa9c3
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jul 12 16:23:14 2012 -0400
+
+    ACQ : Support for lineitem focus in invoice UI
+    
+    Adds support for a "focus_li" URL parameter.  When set, the UI will
+    scroll to the lineitem and provide a brief color change on the table row
+    to help orient.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/web/js/dojo/openils/acq/Lineitem.js
+41     0       Open-ILS/web/js/ui/default/acq/invoice/view.js
+
+commit 01f4982df0ec1bdc1aa9daa7eaf45c34acaeb0ce
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jul 12 14:09:32 2012 -0400
+
+    ACQ : worksheet Return action focuses lineitem
+    
+    Adds a new Return button to the lineitem worksheet page which returns
+    the user to the previous interface with the lineitem in question
+    focused.  Uses a new CGI param "focus_li".
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+9      2       Open-ILS/src/templates/acq/lineitem/worksheet.tt2
+
+commit 0fcae937415f3971ca0ca5bee8a7d7175d3c9a7a
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jul 12 14:01:50 2012 -0400
+
+    ACQ : Lineitem recovers focus after actions
+    
+    After useing the Copies, Notes, or title-click actions on a lineitem,
+    using the "Return" button will now cause the lineitem in question to be
+    visible on the lineitem list page upon return.  After returning, there
+    is also a brief border coloration around the lineitem to help the user
+    re-orient.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/templates/acq/common/li_table.tt2
+46     0       Open-ILS/web/js/ui/default/acq/common/li_table.js
+
+commit c108746532548fd8d3fadd15736375a57208d485
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jul 13 11:49:00 2012 -0400
+
+    Support custom URL mangling in openils.CGI JS lib
+    
+    Adds a new optoinal parameter to the openils.CGI constructor called
+    'args', which currently supports 'url' and 'query' fields.  If the URL
+    is provided, CGI uses the value from args.url instead of location.href
+    and location.search.  Additionally, if 'query' is provided, it's used
+    instead of location.search and takes precedence over any query in
+    args.url;
+    
+    It's also now possible to set parameter values.  By default, setting a
+    value overwrites the full array of values from multi-value params.  You
+    can use the 'push' argument to push the value onto the list instead of
+    clobbering it.
+    
+    There are two new methods, queryString() and url().  The first returns
+    the query string, the second the full URL with uri-escaped query string
+    included.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+79     14      Open-ILS/web/js/dojo/openils/CGI.js
+
+commit 0438399769af9d9747a0185a8ae73a3cc944c00d
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Jul 23 10:44:41 2012 -0400
+
+    ACQ order record fetcher and uploader script
+    
+    Some ACQ vendors support delivering MARC order record files directly
+    from their order system to an ILS via FTP.  (I've heard this called
+    "one-click" ordering in the past).  This commit includes a script to
+    seek out such order record files and pass them on to the Acquisitions
+    service for PO creation and potential activation.
+    
+    The script supports a number of options, configured in opensrf.xml,
+    including which Vandelay (record import) options to use during record
+    import/merge/overlay.  See opensrf.xml.example for details.
+    
+    Example:
+    
+    ./acq_order_reader.pl \
+        --user admin \
+        --password demo123 \
+        -poll-interval 3 \
+        --debug &
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+48     0       Open-ILS/examples/opensrf.xml.example
+381    0       Open-ILS/src/support-scripts/acq_order_reader.pl
+ create mode 100755 Open-ILS/src/support-scripts/acq_order_reader.pl
+
+commit b1c9f9c8b030060aa4df4ebc98c37cc05f5f6207
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Jul 17 11:08:35 2012 -0400
+
+    Support Purchase Order name extraction from upload
+    
+    It's now possible to extract a purchase order name from a MARC order
+    record file received from a vendor.  If the provider has an attribute
+    definition (Admin -> Server Admin -> Acquisitions -> Providers ->
+    Attribute Definitions) configured with code "purchase_order" and the
+    order record contains a PO name at the configured MARC field/subfield,
+    the PO name will be used for the newly created purchase order.
+    
+    Example attribute configuration:
+    
+    code            => purchase_order
+    xpath           => //*[@tag="980"]/*[@code="p"]
+    Is Identifier   => false
+    
+    *note 980p is arbitrary
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+43     0       Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm
+
+commit 967a96332af446b7224e4c236b6a3a87f601b2a1
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Tue Jul 24 11:51:29 2012 -0400
+
+    Stamping upgrade script for Capture/Fulfill penalty blocks
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+251    0       Open-ILS/src/sql/Pg/upgrade/0721.data.hold_cap_fill_penalty_blocks.sql
+0      249     Open-ILS/src/sql/Pg/upgrade/XXXX.data.hold_cap_fill_penalty_blocks.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0721.data.hold_cap_fill_penalty_blocks.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.hold_cap_fill_penalty_blocks.sql
+
+commit ef0842aba78178d9df85c1edbfb295c54109630a
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Jul 17 09:19:46 2012 -0400
+
+    Apply HOLD block on new holds, CAPTURE block on existing
+    
+    With the addition of the CAPTURE block, the HOLD block should only apply
+    for newly placed holds in the hold permit test
+    (action.hold_request_permit_test).
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+9      1       Open-ILS/src/sql/Pg/110.hold_matrix.sql
+229    0       Open-ILS/src/sql/Pg/upgrade/XXXX.data.hold_cap_fill_penalty_blocks.sql
+
+commit bd98f2adea3937bd848cf0386e8220095e3d8118
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jun 21 14:37:11 2012 -0400
+
+    Avoid CAPTURE-blocked holds in pull list (IDL view)
+    
+    Update the new IDL holds pull list view to avoid returning holds for
+    users that have CAPTURE penalties.
+    
+    Note that items are blocked from the pull list only if the hold pickup
+    lib is within the CAPTURE penalty org unit range.  This means that users
+    could be blocked at one branch, but use a pickup lib at another to avoid
+    the block.  To prevent this type of abuse, set the org_depth to 0 on any
+    penalties that apply the CAPTURE block.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+13     0       Open-ILS/examples/fm_IDL.xml
+
+commit fecdfe5dcb1a87cd2b12733b4b06c56e5c5ab4b5
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jun 21 14:26:25 2012 -0400
+
+    hold CAP/FILL blocks : pair FULFILL with CIRC in stock penalties
+    
+    FULFILL is really a block on circulation, not holds, so pair the FULFILL
+    block with CIRC blocks for the stock data.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+4      4       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+11     2       Open-ILS/src/sql/Pg/upgrade/XXXX.data.hold_cap_fill_penalty_blocks.sql
+
+commit 08075458b3fad3d9112d8dc2f2f6655056f8513d
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jun 21 14:11:47 2012 -0400
+
+    hold CAP/FILL blocks : more event test collection repairs
+    
+    Further improving the logic which decides which patron permit events are
+    valid for a given set of circumstances.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+16     13      Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
+
+commit 169731b8569a378bae748c98514e42bd89954d17
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Jun 21 14:00:51 2012 -0400
+
+    hold CAP/FILL blocks : repair event test in patron permit
+    
+    Repairs in oversight in the patron permit event testing code that caused
+    the test to miss events when the checkout was not there to fulfill a
+    hold.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+2      0       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
+
+commit 1b36e7a6af73c06417a4cbf19bf0585125b32a36
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Apr 10 16:24:59 2012 -0400
+
+    Avoid CAPTURE-blocked holds in pull list
+    
+    Otherwise, staff will be pulling items for holds that cannot be
+    captured.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+10     0       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
+
+commit 266fc54ebaab9806af3ee86ba39b778bc192ebf8
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Tue Apr 10 10:21:02 2012 -0400
+
+    Avoid checkin capture for CAPTURE-blocked holds
+    
+    Teach the nearest_hold sub about CAPTURE-blocking penalties
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+8      3       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
+
+commit a8155fc4c4728adbfd3e734a9ede7eca1f067c78
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Apr 10 15:42:17 2012 -0400
+
+    hold CAP/FILL blocks : separate CIRC and FULFILL blocks
+    
+    This breaks the CIRC standing penalty block out into two separate
+    blocks.  The existing CIRC block now prevents circulations on checkouts
+    where the checkout is not fulfilling a hold.  A new FULFILL block type
+    is added which, when applied to a user, (only) prevents the user from
+    checking out items that fulfill a hold.
+    
+    To always prevents checkouts, use both blocks.  Use individual blocks
+    where one or the other behavior is desired.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+77     10      Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
+
+commit ae0e26ed0862b3694415806ce2dc05e128868c24
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Apr 10 15:41:51 2012 -0400
+
+    DB seed data for CAPTURE and FULFILL penalty blocks
+    
+    All occurrences of HOLD in the block list for any existing penalties are
+    updated to HOLD|CAPTURE|FULFILL for backwards compatibility, minus the
+    handful of STAFF_* penalties whose codes match their respective
+    block_lists.
+    
+    To use these new block types, simply update existing penalties as
+    desired or add new local pentalty types for staff-managed patron
+    blocking messages.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+3      3       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+11     0       Open-ILS/src/sql/Pg/upgrade/XXXX.data.hold_cap_fill_penalty_blocks.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.hold_cap_fill_penalty_blocks.sql
+
+commit ea3a318233a63168882f93945add1cdd8a18ff61
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Jul 23 18:51:45 2012 -0400
+
+    ACQ "Fund Summary" combined IDL reporter view
+    
+    IDL view which produces summary information for funds for reporting.
+    The resulting "table" looks like a fund w/ four additional fields:
+    allocated_total, spent_total, encumbrance_total, and combined_balance.
+    
+    The view is marked as reporter:core="true" so it will be visible in the
+    main reporter sources.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+45     1       Open-ILS/examples/fm_IDL.xml
+
+commit bf836230020982a229b95dcf8ed3f47e401293a4
+Author: Ben Shum <bshum@biblio.org>
+Date:   Tue Jul 24 10:36:49 2012 -0400
+
+    Remove retrieve permissions from org units
+    
+    Noticeably broken for the new simplified pull list when org units were not
+    visible from the interface to users without the following permissions:
+    
+    CREATE_ORG_UNIT
+    UPDATE_ORG_UNIT
+    DELETE_ORG_UNIT
+    
+    Since regular staff accounts would never be given any of these permissions
+    and nothing really secretive is included in org unit lookup, this change
+    removes those permissionas being required for retrieve.
+    
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      4       Open-ILS/examples/fm_IDL.xml
+
+commit f16f7a84b73f83b6248560f212fddc1dd0c3b094
+Author: Jeff Godin <jgodin@tadl.org>
+Date:   Tue Jul 24 02:23:17 2012 -0400
+
+    Fix TPAC recognition of logged-in users via http
+    
+    Fixes bug: LP 957375
+    tpac: catalog does not immediately recognize "stay logged in" users
+    https://bugs.launchpad.net/evergreen/+bug/957375
+    
+    The issue: during the login process, the user is redirected to an
+    https connection and receives a cookie with the "secure" flag set.
+    
+    Since this cookie is not sent over normal http connections,
+    following an external link or manually entering an http catalog url
+    will result in an unexpected "not logged in" experience.
+    
+    Selecting the login link or any other action requiring login is
+    enough to return to the "logged in" experience, without a need to
+    re-enter credentials. Still, we can do better.
+    
+    This affects users who have checked the persistent login checkbox
+    and those who have left it unchecked. Users selecting the persistent
+    login option are more likely to encounter the issue, especially if
+    the link they typically follow/enter is to a non-https catalog url.
+    
+    The solution:
+    
+    Add a new cookie (constant COOKIE_LOGGEDIN)
+     - contains a "hint" that the user may be logged in already
+     - set/cleared at login/logout time
+     - contains no sensitive auth/session data
+     - "secure" flag not set (sent for both http and https requests)
+    
+    When a user's browser presents the COOKIE_LOGGEDIN cookie in a
+    request for a non-https URL, the user is automatically redirected to
+    the https version of that url.
+    
+    At that time, if the user has a valid COOKIE_SES cookie set, they
+    will be recognized as a logged in user. If their COOKIE_SES value is
+    no longer valid, a logout is performed, clearing both cookies.
+    
+    If for some reason the COOKIE_SES cookie is not present but the
+    COOKIE_LOGGEDIN is present, there is a harmless redirection to https
+    and the user is not logged in, but can log in via the usual means.
+    
+    To test, after applying:
+    - log in to the TPAC
+    - navigate to http://example/eg/opac/home
+    - You should be redirected to https://example/eg/opac/home and you
+      should see your name, count of checked out / on hold / etc items
+    
+    Prior to this, the above steps would result in you remaining on the
+    http URL and seeing only a "Your Account Log In" button.
+    
+    Signed-off-by: Jeff Godin <jgodin@tadl.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+43     13      Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+
+commit 827c7f915a1175f663e4c9371e6883a3bb7784b1
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Jul 10 16:29:39 2012 -0400
+
+    Show zero-copy lineitem's in zero-copy activation warning
+    
+    When PO activation fails as a result of zero-copy lineitems, show the
+    IDs of the zero-copy lineitems along with the failure message.
+    
+    This adds a new API call
+    
+    open-ils.acq.purchase_order.no_copy_lineitems.id_list(auth, po_id)
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+39     0       Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm
+15     0       Open-ILS/web/js/ui/default/acq/po/view_po.js
+
+commit a0f9b77361a434c42ce39eb88661c7926d158395
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Jul 10 11:56:05 2012 -0400
+
+    Control PO activation for zero-copy lineitems
+    
+    By default, prevent activation of POs when any lineitems are present
+    that have no copies attached.  This adds a new option in the PO UI
+    called "Allow activation with zero-copy lineitems", which will allow the
+    activation to continue even when zero-copy lineitems exist.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+13     5       Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm
+5      0       Open-ILS/src/templates/acq/po/view.tt2
+12     2       Open-ILS/web/js/ui/default/acq/po/view_po.js
+
+commit 37953470cdd9b9a7441722275aeead3c232d1466
+Author: Ben Shum <bshum@biblio.org>
+Date:   Mon Jul 23 16:59:33 2012 -0400
+
+    TPAC - repair editions statement display
+    
+    Change && back to || and repair editions display in TPAC.
+    
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+2      2       Open-ILS/src/templates/opac/parts/misc_util.tt2
+
+commit aff37795825b477a9b82560fe16ea4685202d201
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Jul 23 18:01:50 2012 -0400
+
+    ACQ repair reverse exchange rate in fund transfer
+    
+    Updated fund transfer code to use the DB exchange rate stored procedure.
+    In addition to code consolidation, this allows the fund trasnfer
+    operation to work if an exchange rate for the two currencies involved is
+    only defined in one direction.  The existing code required that the rate
+    be defined in both directions in the database or it would produce an
+    error in the logs and no visible error in the interface.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+15     15      Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Financials.pm
+
+commit 26e4a209438aa3ccc97a739d33b3afddac40fe60
+Author: Galen Charlton <gmc@esilibrary.com>
+Date:   Tue Jul 24 09:53:01 2012 -0400
+
+    wording improvement for 2.2 release notes
+    
+    Patch by Sally Fortin <sfortin@esilibrary.com> to fix
+    typo noticed by James Keenan.
+    
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+
+2      2       docs/RELEASE_NOTES_2_2.txt
+
+commit c0a3be41982ade814597ea3f258e3e19821ff95d
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Tue May 22 08:00:12 2012 -0400
+
+    Always display the hold type indicator
+    
+    We should be showing the type of hold on any pull-list or hold detail
+    interface we build.  The primary use case is to alert staff when an
+    alternate identical copy of the same title will (very likely) be usable
+    by a hold, and (as in the case of C-like holds) it will not.
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+2      0       Open-ILS/web/opac/extras/circ/alt_holds_print.html
+1      0       Open-ILS/xul/staff_client/server/admin/hold_pull_list.js
+1      0       Open-ILS/xul/staff_client/server/admin/hold_pull_list.xhtml
+1      0       Open-ILS/xul/staff_client/server/admin/hold_pull_list_classic.js
+1      1       Open-ILS/xul/staff_client/server/admin/hold_pull_list_classic.xhtml
+1      0       Open-ILS/xul/staff_client/server/patron/hold_details.js
+
+commit 8f4f548ad2c13ca62e3a8906a701ceb02b4cabfc
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Tue Jul 24 08:11:23 2012 -0400
+
+    Stamping upgrade for Copy Location Circ Limits
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+441    0       Open-ILS/src/sql/Pg/upgrade/0720.schema.copy_loc_circ_limits.sql
+0      437     Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_loc_circ_limits.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0720.schema.copy_loc_circ_limits.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_loc_circ_limits.sql
+
+commit 8ebc2398f1dc28a17bd82809ab2b806766f95499
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jun 22 12:04:41 2012 -0400
+
+    Add Copy Location to circ matrix matchpoint
+    
+    Similar to circulation modifiers, circ policies can now be based on copy
+    location.
+    
+    This also adds copy location to the circ matrix weights.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+3      0       Open-ILS/examples/fm_IDL.xml
+1      0       Open-ILS/src/sql/Pg/099.matrix_weights.sql
+5      1       Open-ILS/src/sql/Pg/100.circ_matrix.sql
+5      5       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+207    0       Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_loc_circ_limits.sql
+1      1       Open-ILS/src/templates/conify/global/config/circ_matrix_matchpoint.tt2
+
+commit 74ffd2aabb28b0655102531ac55c4a7e1ad38b9b
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Apr 13 16:19:03 2012 -0400
+
+    Copy Location Circ Limit Sets Admin UI
+    
+    Changes are applied to the existing Admin -> Local Administration ->
+    Circ Limit Sets interface to support copy location limit groups.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    
+    Copy Location Circ Limit Sets : UI 2
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+21     0       Open-ILS/src/templates/conify/global/config/circ_limit_set.tt2
+80     0       Open-ILS/web/js/ui/default/conify/global/config/circ_limit_set.js
+
+commit f60b9829c0a970ac94e001270e2d8bb57c5e1584
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Apr 13 15:39:18 2012 -0400
+
+    Copy Location Circ Limit Sets : DB and IDL
+    
+    Support for copy location-based circulation limit sets.  Similar to circ
+    mod limit sets, this allows staff to configure a maximum number of items
+    allowed checked out based on copy location(s) and link that rule to
+    circulation policies to control who the rule affects.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+25     0       Open-ILS/examples/fm_IDL.xml
+9      0       Open-ILS/src/sql/Pg/100.circ_matrix.sql
+230    0       Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_loc_circ_limits.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_loc_circ_limits.sql
+
+commit a91ca6193237a2ee1eb8e640636fb607e73867ab
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Mon Jul 23 12:09:03 2012 -0400
+
+    JSPAC: Point to TPAC from <noscript> section
+    
+    TPAC was built for browsers with no JavaScript. Ironically, we're still
+    pointing to the SlimPAC from the <noscript> section of the JSPAC... fix
+    that.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      2       Open-ILS/web/opac/locale/en-US/opac.dtd
+1      0       Open-ILS/web/opac/skin/default/xml/home/index_body.xml
+
+commit 488d6535c75189e7654c95337f3b2d0005938018
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Mon Jul 23 16:13:36 2012 -0400
+
+    Stamping upgrade script for Trigger Event Log
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+46     0       Open-ILS/src/sql/Pg/upgrade/0719.data.actor-event-log-settings.sql
+0      46      Open-ILS/src/sql/Pg/upgrade/XXXX.data.actor-event-log-settings.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0719.data.actor-event-log-settings.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.actor-event-log-settings.sql
+
+commit 26f1217aab212750d5f5ef8447a835119ae0cefd
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Fri May 18 12:12:55 2012 -0400
+
+    Trigger Event Log
+    
+    A better, more browsy/filtery way to browse Action Trigger Events
+    related to holds and circs, which staff users sometimes want to filter
+    by patron barcode.
+    
+    This is accessed from various menus around the staff client, notably the
+    patron interface and the item status interface.
+    
+    This has better printing capabilities than previous versions of this
+    interface, too.
+    
+    There's also a new org unit setting to go with this,
+    "circ.staff.max_visible_event_age", which if set, should hide any events
+    older than the configured age.
+    
+    One new permission: VIEW_TRIGGER_EVENT.  This does what it sounds like
+    it does.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    
+    Conflicts (resolved):
+       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+       Open-ILS/web/js/dojo/openils/widget/PCrudFilterDialog.js
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+84     1       Open-ILS/examples/fm_IDL.xml
+33     2       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+46     0       Open-ILS/src/sql/Pg/upgrade/XXXX.data.actor-event-log-settings.sql
+282    0       Open-ILS/src/templates/actor/user/event_log.tt2
+0      29      Open-ILS/src/templates/actor/user/trigger_events.tt2
+7      0       Open-ILS/web/css/skin/default.css
+5      51      Open-ILS/web/js/dojo/openils/widget/FlattenerFilterDialog.js
+57     0       Open-ILS/web/js/dojo/openils/widget/FlattenerFilterPane.js
+66     23      Open-ILS/web/js/dojo/openils/widget/FlattenerGrid.js
+7      626     Open-ILS/web/js/dojo/openils/widget/PCrudFilterDialog.js
+756    0       Open-ILS/web/js/dojo/openils/widget/PCrudFilterPane.js
+0      19      Open-ILS/web/js/dojo/openils/widget/nls/PCrudFilterDialog.js
+20     0       Open-ILS/web/js/dojo/openils/widget/nls/PCrudFilterPane.js
+0      87      Open-ILS/web/js/ui/default/actor/user/trigger_events.js
+2      2       Open-ILS/xul/staff_client/chrome/content/main/constants.js
+4      2       Open-ILS/xul/staff_client/server/circ/copy_status.js
+4      2       Open-ILS/xul/staff_client/server/patron/display.js
+8      4       Open-ILS/xul/staff_client/server/patron/items.js
+0      234     Open-ILS/xul/staff_client/server/patron/trigger_events.js
+0      88      Open-ILS/xul/staff_client/server/patron/trigger_events.xul
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.actor-event-log-settings.sql
+ create mode 100644 Open-ILS/src/templates/actor/user/event_log.tt2
+ delete mode 100644 Open-ILS/src/templates/actor/user/trigger_events.tt2
+ create mode 100644 Open-ILS/web/js/dojo/openils/widget/FlattenerFilterPane.js
+ create mode 100644 Open-ILS/web/js/dojo/openils/widget/PCrudFilterPane.js
+ delete mode 100644 Open-ILS/web/js/dojo/openils/widget/nls/PCrudFilterDialog.js
+ create mode 100644 Open-ILS/web/js/dojo/openils/widget/nls/PCrudFilterPane.js
+ delete mode 100644 Open-ILS/web/js/ui/default/actor/user/trigger_events.js
+ delete mode 100644 Open-ILS/xul/staff_client/server/patron/trigger_events.js
+ delete mode 100644 Open-ILS/xul/staff_client/server/patron/trigger_events.xul
+
+commit e382960d71558c9453f008160b684aa00d6f7210
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Thu Jul 12 19:12:06 2012 -0400
+
+    TPAC: Set autofocus appropriately for different contexts
+    
+    At login, the basic search bar was fighting (and winning) for the
+    default focus rather than the username field. Additionally, in the
+    advanced search pages, no field was getting focus. Therefore, check to
+    see if we expect to be in a context where it makes sense to set the
+    default focus to the basic search input field; otherwise, set the focus
+    to the login username field or the appropriate advanced search field.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      12      Open-ILS/src/templates/opac/login.tt2
+1      1       Open-ILS/src/templates/opac/parts/advanced/expert.tt2
+1      1       Open-ILS/src/templates/opac/parts/advanced/global_row.tt2
+1      1       Open-ILS/src/templates/opac/parts/advanced/numeric.tt2
+1      1       Open-ILS/src/templates/opac/parts/js.tt2
+1      1       Open-ILS/src/templates/opac/parts/login/form.tt2
+1      1       Open-ILS/src/templates/opac/parts/searchbar.tt2
+3      1       Open-ILS/src/templates/opac/record.tt2
+
+commit fc6469fcb532709e595e0746aeaa6ff2f2fa0beb
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Mon Jul 23 08:12:15 2012 -0400
+
+    Documentation:  Fix typo in upgrade instructions. Bug #1027752 reported  by Jeff Green.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+1      1       docs/installation/server_upgrade.txt
+
+commit 2508f4dfee6322ca59af6791a98540a8c7cc3244
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Sun Jul 22 18:58:11 2012 -0400
+
+    Fix / improve bookbag list paging
+    
+    The prior code used CSS to hide elements, which is a bit weird given
+    that we can simply avoid creating the element in the first place and
+    keep the DOM a lot simpler.
+    
+    Also, the previous code was subject to some bugs if it wasn't given
+    an explicit offset GET param or paging at the end of a list
+    (particularly given that the LIMIT parameter ensured that the number of
+    bookbags returned would always be equal to or less than the LIMIT
+    parameter).
+    
+    Finally, the changes related the permanent bookbags didn't pass through
+    one of the context parameters we needed (bookbag_count) to enable
+    paging.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+9      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+12     6       Open-ILS/src/templates/opac/myopac/lists.tt2
+
+commit 428e36c9335aec96e2f6d5015bd01ae507825676
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Sun Jul 22 16:01:38 2012 -0400
+
+    Wrap upgrade script for permanent bookbag lists
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+69     0       Open-ILS/src/sql/Pg/upgrade/0718.data.add-to-permanent-bookbag.sql
+0      68      Open-ILS/src/sql/Pg/upgrade/XXXX.data.add-to-permanent-bookbag.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0718.data.add-to-permanent-bookbag.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.add-to-permanent-bookbag.sql
+
+commit 3f07573c83b34d6d6f080ee5c58d41c6bc218aec
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Wed Jul 18 12:27:08 2012 -0400
+
+    TPAC: Refactor bookbag list actions into a common template
+    
+    The "add to bookbag" actions in both the search results and record
+    details pages contained a large amount of duplicated code; consolidate
+    those into a single template that can be included into each page.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+83     0       Open-ILS/src/templates/opac/parts/bookbag_actions.tt2
+1      57      Open-ILS/src/templates/opac/parts/record/summary.tt2
+1      60      Open-ILS/src/templates/opac/parts/result/table.tt2
+ create mode 100644 Open-ILS/src/templates/opac/parts/bookbag_actions.tt2
+
+commit fd7752cfdcdb801779d1ffbc42e293443a2dff72
+Author: Jason Stephenson <jason@sigio.com>
+Date:   Wed Jul 11 08:59:48 2012 -0400
+
+    Ability to add records to permanent bookbags in TPAC.
+    
+    Add an actor usr setting for holding the name of a default book
+    list: opac.default_list.
+    
+    Add a button on the my list interface to choose a list should as
+    the default list for adding titles.  There is presently no way to
+    unset a default menu, though the default can be changed to any
+    other menu at any time by clicking that list's button.
+    
+    Modify opac/record and opac/results so that if a patron is logged
+    in their my lists will populate a menu.  This menu will include
+    options to add to a temporary list, the default list (if any), up
+    to 10 of the user's other lists, to add to a newly created list,
+    or to see all of their lists and add to one that does not appear
+    on the menu.
+    
+    Adding to a temporary list will function the same as adding to a
+    list does prior to this enhancement.
+    
+    Adding to a list chosen from the menu will add the record to that
+    list, and return the user to the search results or record page
+    that they were looking at.
+    
+    Choosing to add to a new list will take the user to their "my
+    lists" page where they can create a new list.  After the list is
+    created, the record they wanted to add will be added to the new
+    list and they will be returned to the search results or record
+    that they were looking at.
+    
+    Choosing the "see all" menu option will also take the user to
+    their "my lists" page.  However, all of their bookbags will be
+    visible and not just the normal limit of 10.  Their will be a
+    button next to each list's name with the text "Add to this list."
+    When the user clicks one of those buttons, the record will be
+    added to that list and the user's session redirected back to
+    their search or result page.
+    
+    The user will have the option to create a new list when viewing
+    all of their lists.
+    
+    The user will also be able to use the "Add to this list" feature
+    when they have chosen the "Add to new list" menu option.  This is
+    done from simplicity in the design, but also allows the user to
+    change their mind at the last second.
+    
+    If a patron is not logged in, the add to my list will appear the
+    same as it does prior to this development.  It will continue to
+    function as it does prior to this development.
+    
+    Add coust for opac.patron_temporary_list_warn to let an ou enable
+    warning users when adding records to a temporary book bag.
+    
+    Add cust opac.temporary_list_no_warn to let patrons disable
+    the warning for themselves.
+    
+    Add the opac.default_list usr_setting_type. This will be used to track a
+    user's default bookbag.
+    
+    Add the upgrade script to create new coust and custs.
+    
+    Insert coust (opac.patron.temporary_list_warn) and cust
+    (opac.temporary_list_no_warn, opac.default_list) into the respective
+    tables.
+    
+    Add release notes for add to permanent bookbag feature.
+    
+    Add a warning when the user adds a record to a temporary list.
+    
+    TPAC has been modified so that a user will see a warning before adding
+    a record to a temporary bookbag.  This message serves to inform the
+    user that they are adding to a temporary list that will disappear when
+    their session ends.
+    
+    A new org. unit setting has been added,
+    opac.patron.temporary_list_warn, that will enable this warning when
+    set.  Sites may choose not to display this warning.
+    
+    The user may also set a preference in their search preferences to
+    disable this warning.  The setting only works when a user is logged
+    in, of course.
+    
+    Add release notes for the temporary list warning feature.
+    
+    Signed-off-by: Jason Stephenson <jason@sigio.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+2      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+112    8       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+58     0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Container.pm
+6      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
+3      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+20     0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
+61     0       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+68     0       Open-ILS/src/sql/Pg/upgrade/XXXX.data.add-to-permanent-bookbag.sql
+35     1       Open-ILS/src/templates/opac/myopac/lists.tt2
+8      1       Open-ILS/src/templates/opac/myopac/prefs_settings.tt2
+61     1       Open-ILS/src/templates/opac/parts/record/summary.tt2
+64     1       Open-ILS/src/templates/opac/parts/result/table.tt2
+28     0       Open-ILS/src/templates/opac/temp_warn.tt2
+72     0       Open-ILS/web/css/skin/default/opac/style.css
+67     0       docs/RELEASE_NOTES_NEXT/add-to-permanent-bookbag.txt
+15     0       docs/RELEASE_NOTES_NEXT/warn-when-adding-to-a-temporary-bookbag.txt
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.add-to-permanent-bookbag.sql
+ create mode 100644 Open-ILS/src/templates/opac/temp_warn.tt2
+ create mode 100644 docs/RELEASE_NOTES_NEXT/add-to-permanent-bookbag.txt
+ create mode 100644 docs/RELEASE_NOTES_NEXT/warn-when-adding-to-a-temporary-bookbag.txt
+
+commit 571a82c493fa8f6ef1dbbb1ea148fce2da156869
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Thu Jul 19 13:35:49 2012 -0400
+
+    Documentation: remove those darn Windows carriage returns.
+    
+    I am using linux based system for editing so I am not sure where they are coming from.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+239    239     docs/reports/reporter_add_data_source.txt
+42     42      docs/reports/reporter_cloning_shared_templates.txt
+291    291     docs/reports/reporter_create_templates.txt
+64     64      docs/reports/reporter_daemon.txt
+56     56      docs/reports/reporter_export_usingpgAdmin.txt
+76     76      docs/reports/reporter_folder.txt
+87     87      docs/reports/reporter_generating_reports.txt
+42     42      docs/reports/reporter_running_recurring_reports.txt
+107    107     docs/reports/reporter_template_terminology.txt
+41     41      docs/reports/reporter_view_output.txt
+
+commit 96b5e854d7059a102a9dcbcd5353350278350e24
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Thu Jul 19 13:23:18 2012 -0400
+
+    Documentation: Migrate reports documentation from 2.1
+    
+    Content reviewed by Jenny Turner. I converted to asciidoc and tested
+    processing. I also added index terms.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+239    0       docs/reports/reporter_add_data_source.txt
+42     0       docs/reports/reporter_cloning_shared_templates.txt
+291    0       docs/reports/reporter_create_templates.txt
+64     0       docs/reports/reporter_daemon.txt
+56     0       docs/reports/reporter_export_usingpgAdmin.txt
+76     0       docs/reports/reporter_folder.txt
+87     0       docs/reports/reporter_generating_reports.txt
+42     0       docs/reports/reporter_running_recurring_reports.txt
+107    0       docs/reports/reporter_template_terminology.txt
+41     0       docs/reports/reporter_view_output.txt
+20     0       docs/root.txt
+ create mode 100644 docs/reports/reporter_add_data_source.txt
+ create mode 100644 docs/reports/reporter_cloning_shared_templates.txt
+ create mode 100644 docs/reports/reporter_create_templates.txt
+ create mode 100644 docs/reports/reporter_daemon.txt
+ create mode 100644 docs/reports/reporter_export_usingpgAdmin.txt
+ create mode 100644 docs/reports/reporter_folder.txt
+ create mode 100644 docs/reports/reporter_generating_reports.txt
+ create mode 100644 docs/reports/reporter_running_recurring_reports.txt
+ create mode 100644 docs/reports/reporter_template_terminology.txt
+ create mode 100644 docs/reports/reporter_view_output.txt
+
+commit e25888ad8156c03c65984746255fd8572f78f97e
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Wed Jul 18 21:49:02 2012 -0400
+
+    Documentation: Format text to limit line length to 80 characters.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+313    154     docs/circulation/circulation_patron_records.txt
+
+commit 288a86cbcc562ace01e0d6300803b242b9580f2d
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Wed Jul 11 23:37:11 2012 -0400
+
+    Add Journal Title search to stock TPAC filters
+    
+    Academics need access to a quick and easy Journal Title search, this
+    gives it to them. Due to the requirement to combine search index + bib
+    level, we define a special search index that can then be acted upon
+    accordingly.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+11     0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+1      0       Open-ILS/src/templates/opac/parts/qtype_selector.tt2
+
+commit ca5bdf3f82277c4fba2693593f5901f91560dec1
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Wed Jul 18 10:16:09 2012 -0400
+
+    Documentation: Fix various issues causing errors during processing.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+1      1       docs/acquisitions/vandelay_acquisitions_integration.txt
+1      1       docs/circulation/circulation_patron_records.txt
+1      3       docs/licensing.txt
+0      5       docs/root.txt
+
+commit 48178388d925e1469f5b7811a7fd318275aa4e02
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Tue Jul 17 12:55:39 2012 -0400
+
+    TPAC: Use % font size + bold to highlight login failure
+    
+    Loved the idea to call more attention to login failures, but wanted to
+    try to stick to % for font sizes where possible. Testing suggested that
+    font-weight:bold and a little padding on top would help the display as
+    well.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Melissa Lefebvre <mlefebvre@biblio.org>
+
+3      1       Open-ILS/web/css/skin/default/opac/style.css
+
+commit e0e67c5f478072fd7543f87a509a3c71cda480dd
+Author: Melissa Lefebvre <mlefebvre@biblio.org>
+Date:   Fri May 11 11:07:50 2012 -0400
+
+    Tpac CSS: Login failure message
+    
+    To draw attention to failed logins, the font size was increased
+    to 16px and the font color changed from black to red.
+    
+    Signed-off-by: Melissa Lefebvre <mlefebvre@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+5      0       Open-ILS/web/css/skin/default/opac/style.css
+
+commit 961037561d3fe7b70fbe9d7a196502527374d8f6
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Tue Jul 17 12:39:37 2012 -0400
+
+    TPAC: Slightly more accessible user-visible account notes display
+    
+    Rather than a table layout that resembles an unordered list, use a real
+    table with table header so that screen readers will know what to
+    associate each column with.
+    
+    Also, move the table display into its own class so that we don't pick up
+    the uppercase transform, and move it out of the div box so that we can
+    use whatever screen real estate is given to us, rather than forcing
+    notes into the hard-coded 662px box.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+12     9       Open-ILS/src/templates/opac/parts/myopac/main_base.tt2
+14     0       Open-ILS/web/css/skin/default/opac/style.css
+
+commit b1727008e92003d04558c310310eae95fed8959b
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Jun 19 14:24:33 2012 -0400
+
+    TPAC: show patron-visible notes in my-account
+    
+    Notes display in the 'Account Summary' box on the first page of
+    my-account.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+6      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+10     0       Open-ILS/src/templates/opac/parts/myopac/main_base.tt2
+
+commit e1348fb435a757f6cc96fe28029677efe0cfc5ad
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Fri Jun 15 22:59:23 2012 -0400
+
+    TPAC: Physical description, now with spaces
+    
+    Record details will regularly include physical descriptions like
+    "Physical Description: 1 sound disc :33 1/3 rpm, mono." where the colon
+    is jammed up against the content from the following subfield. Easily
+    fixed by using a space as the joiner for the subfields.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+
+1      1       Open-ILS/src/templates/opac/parts/misc_util.tt2
+
+commit 50de1a4f5c417c30f891347ddb6516e6ff491214
+Author: Ben Shum <bshum@biblio.org>
+Date:   Wed Jun 27 14:01:24 2012 -0400
+
+    Move Prefix field ahead of Names in patron editor
+    
+    In earlier versions of Evergreen (1.6 and earlier), the Prefix field
+    was used to enter title information, such as Mr., Mrs., etc. When the
+    field was eventually added to the newer patron registration screens
+    (2.0+), it was added before the patron's last name field. Ideally,
+    the prefix should be listed prior to the patron's first name instead.
+    
+    In addition, address label issues by changing "Suffix/Title" back to
+    only "Suffix" and making "Prefix" into "Prefix/Title".
+    
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+2      2       Open-ILS/examples/fm_IDL.xml
+1      1       Open-ILS/src/templates/actor/user/register_table.tt2
+
+commit cde5d7218d4b6cfa782257cf488a1a317542fa13
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Jul 16 16:56:10 2012 -0400
+
+    Squelch uninitialized var warning from hold_copy_targeter
+    
+    open-ils.storage_stderr.log was getting filled with entries like:
+    
+    "Use of uninitialized value in concatenation (.) or string at
+    /usr/local/share/perl/5.10.1/OpenILS/Application/Storage/Publisher/action.pm"
+    
+    ... consuming disk space endlessly. Stop that!
+    
+    (Stealing Lebbeous' footwork and providing a slightly different solution.)
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
+
+commit 4b2edba197b25dc86001d1de35aca64d7f3aa266
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Mon Jul 16 17:22:16 2012 -0400
+
+    Searchbar spacing: move inline CSS into a style
+    
+    In keeping with our attempt to control styles via the CSS file rather
+    than inline overrides, define a class for the searchbar and style that.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Melissa Lefebvre <mlefebvre@biblio.org>
+
+1      1       Open-ILS/src/templates/opac/parts/searchbar.tt2
+5      0       Open-ILS/web/css/skin/default/opac/style.css
+
+commit 151d61a32b17aae7a4bf1851be1d82898e5c8ace
+Author: Melissa Lefebvre <mlefebvre@biblio.org>
+Date:   Tue Jul 3 12:53:09 2012 -0400
+
+    TPAC: Search wrapper spacing
+    
+    Currently the search box options are "smooshed up" against the
+    links toolbar.  The following changes address this.
+    
+    Padding was added to style.css search_box_wrapper in order to
+    bring the "Search the Catalog" down lower from the link toolbar.
+    
+    Padding was also added to the searchbar.tt2 in order to bring the
+    search filter options down lower from the "Search the Catalog"
+    wording.
+    
+    Signed-off-by: Melissa Lefebvre <mlefebvre@biblio.org>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/templates/opac/parts/searchbar.tt2
+3      1       Open-ILS/web/css/skin/default/opac/style.css
+
+commit b6de97d55f67480e459b68473acc5ae84ec84f57
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Thu May 10 14:18:37 2012 -0400
+
+    increase the default width for the xul list line number column
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+3      0       Open-ILS/xul/staff_client/server/skin/global.css
+
+commit 9a9d1efd7f7166bab1f8653c13d4ce42127c835a
+Author: Jennifer Turner <jennifer.turner@mnsu.edu>
+Date:   Sat Jul 14 18:51:25 2012 -0400
+
+    Documentation: Add Patron Bills section to Patron Management chapter.
+    
+    Converted to asciidoc by Robert Soulliere
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+159    0       docs/circulation/circulation_patron_records.txt
+-      -       docs/media/circulation_patron_bills-1.png
+-      -       docs/media/circulation_patron_bills-10.png
+-      -       docs/media/circulation_patron_bills-11.png
+-      -       docs/media/circulation_patron_bills-12.png
+-      -       docs/media/circulation_patron_bills-13.png
+-      -       docs/media/circulation_patron_bills-14.png
+-      -       docs/media/circulation_patron_bills-15.png
+-      -       docs/media/circulation_patron_bills-2.png
+-      -       docs/media/circulation_patron_bills-3.png
+-      -       docs/media/circulation_patron_bills-4.png
+-      -       docs/media/circulation_patron_bills-5.png
+-      -       docs/media/circulation_patron_bills-6.png
+-      -       docs/media/circulation_patron_bills-7.png
+-      -       docs/media/circulation_patron_bills-8.png
+-      -       docs/media/circulation_patron_bills-9.png
+ create mode 100644 docs/media/circulation_patron_bills-1.png
+ create mode 100644 docs/media/circulation_patron_bills-10.png
+ create mode 100644 docs/media/circulation_patron_bills-11.png
+ create mode 100644 docs/media/circulation_patron_bills-12.png
+ create mode 100644 docs/media/circulation_patron_bills-13.png
+ create mode 100644 docs/media/circulation_patron_bills-14.png
+ create mode 100644 docs/media/circulation_patron_bills-15.png
+ create mode 100644 docs/media/circulation_patron_bills-2.png
+ create mode 100644 docs/media/circulation_patron_bills-3.png
+ create mode 100644 docs/media/circulation_patron_bills-4.png
+ create mode 100644 docs/media/circulation_patron_bills-5.png
+ create mode 100644 docs/media/circulation_patron_bills-6.png
+ create mode 100644 docs/media/circulation_patron_bills-7.png
+ create mode 100644 docs/media/circulation_patron_bills-8.png
+ create mode 100644 docs/media/circulation_patron_bills-9.png
+
+commit d391a380ae637f23e326659a81c097bae4d2c34b
+Author: Kathy Lussier <kmlussier@masslnc.org>
+Date:   Fri Jul 6 17:01:51 2012 -0400
+
+    When a user views holds in their account, clicking "only available"
+    on the holds screen or "Ready for Pickup" in the navbar will add an
+    "available=1" parameter. However, if the user then attempts to return
+    to a list of all holds, the "available" parameter is not cleared, and
+    the user will only see holds available for pickup.
+    
+    This commit will clear those parameters.
+    
+    Signed-off-by: Kathy Lussier <kmlussier@masslnc.org>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+1      1       Open-ILS/src/templates/opac/myopac/holds.tt2
+1      1       Open-ILS/src/templates/opac/parts/topnav.tt2
+
+commit 4a03ac99e460833c45ab484b7f7a46c1d651b571
+Author: Jennifer Turner <jennifer.turner@mnsu.edu>
+Date:   Fri Jul 13 14:16:32 2012 -0400
+
+    Documentation: Add Circulation, Patron management Chapter
+    
+    Content provided by Jennifer Turner at PALS. Converted to Asciidoc by Robert Soulliere. Robert also added indexing terms. Appendices for documentation cleaned up as well.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+1      0       docs/attributions.txt
+318    0       docs/circulation/circulation_patron_records.txt
+1      0       docs/licensing.txt
+-      -       docs/media/circulation_patron_records-1.png
+-      -       docs/media/circulation_patron_records-10.png
+-      -       docs/media/circulation_patron_records-11.png
+-      -       docs/media/circulation_patron_records-12.png
+-      -       docs/media/circulation_patron_records-13.png
+-      -       docs/media/circulation_patron_records-14.png
+-      -       docs/media/circulation_patron_records-15.png
+-      -       docs/media/circulation_patron_records-16.png
+-      -       docs/media/circulation_patron_records-17.png
+-      -       docs/media/circulation_patron_records-18.png
+-      -       docs/media/circulation_patron_records-19.png
+-      -       docs/media/circulation_patron_records-2.png
+-      -       docs/media/circulation_patron_records-20.png
+-      -       docs/media/circulation_patron_records-21.png
+-      -       docs/media/circulation_patron_records-22.png
+-      -       docs/media/circulation_patron_records-23.png
+-      -       docs/media/circulation_patron_records-24.png
+-      -       docs/media/circulation_patron_records-25.png
+-      -       docs/media/circulation_patron_records-26.png
+-      -       docs/media/circulation_patron_records-27.png
+-      -       docs/media/circulation_patron_records-28.png
+-      -       docs/media/circulation_patron_records-29.png
+-      -       docs/media/circulation_patron_records-3.png
+-      -       docs/media/circulation_patron_records-30.png
+-      -       docs/media/circulation_patron_records-31.png
+-      -       docs/media/circulation_patron_records-4.png
+-      -       docs/media/circulation_patron_records-5.png
+-      -       docs/media/circulation_patron_records-6.png
+-      -       docs/media/circulation_patron_records-7.png
+-      -       docs/media/circulation_patron_records-8.png
+-      -       docs/media/circulation_patron_records-9.png
+7      1       docs/root.txt
+ create mode 100644 docs/circulation/circulation_patron_records.txt
+ create mode 100644 docs/media/circulation_patron_records-1.png
+ create mode 100644 docs/media/circulation_patron_records-10.png
+ create mode 100644 docs/media/circulation_patron_records-11.png
+ create mode 100644 docs/media/circulation_patron_records-12.png
+ create mode 100644 docs/media/circulation_patron_records-13.png
+ create mode 100644 docs/media/circulation_patron_records-14.png
+ create mode 100644 docs/media/circulation_patron_records-15.png
+ create mode 100644 docs/media/circulation_patron_records-16.png
+ create mode 100644 docs/media/circulation_patron_records-17.png
+ create mode 100644 docs/media/circulation_patron_records-18.png
+ create mode 100644 docs/media/circulation_patron_records-19.png
+ create mode 100644 docs/media/circulation_patron_records-2.png
+ create mode 100644 docs/media/circulation_patron_records-20.png
+ create mode 100644 docs/media/circulation_patron_records-21.png
+ create mode 100644 docs/media/circulation_patron_records-22.png
+ create mode 100644 docs/media/circulation_patron_records-23.png
+ create mode 100644 docs/media/circulation_patron_records-24.png
+ create mode 100644 docs/media/circulation_patron_records-25.png
+ create mode 100644 docs/media/circulation_patron_records-26.png
+ create mode 100644 docs/media/circulation_patron_records-27.png
+ create mode 100644 docs/media/circulation_patron_records-28.png
+ create mode 100644 docs/media/circulation_patron_records-29.png
+ create mode 100644 docs/media/circulation_patron_records-3.png
+ create mode 100644 docs/media/circulation_patron_records-30.png
+ create mode 100644 docs/media/circulation_patron_records-31.png
+ create mode 100644 docs/media/circulation_patron_records-4.png
+ create mode 100644 docs/media/circulation_patron_records-5.png
+ create mode 100644 docs/media/circulation_patron_records-6.png
+ create mode 100644 docs/media/circulation_patron_records-7.png
+ create mode 100644 docs/media/circulation_patron_records-8.png
+ create mode 100644 docs/media/circulation_patron_records-9.png
+
+commit 689c3952dcb546435b4d8c0e06aeff464205d4ff
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Fri Jul 13 09:56:54 2012 -0400
+
+    TPAC: Use .staff variant for MARC Expert Search
+    
+    Inside the staff client, we want to use the .staff method to retrieve
+    records that match the MARC Expert Search, so that records with no
+    attached copies can be found and returned.
+    
+    Fixes LP # 1024382.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+
+3      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+
+commit f08d08c091ff85337338f6ba12fa281d92b4a18d
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Jun 11 15:23:17 2012 -0400
+
+    Cache propagated funds in fund rollover action
+    
+    Repair display of propagated funds grid which was likely broken with
+    b9bb6d47.  Propagated funds must be collected and added to the local
+    cache for grid getter functions to find them.
+    
+    https://bugs.launchpad.net/evergreen/+bug/1011789
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+4      0       Open-ILS/web/js/ui/default/acq/financial/list_funds.js
+
+commit 4635f7a29db33dc3982093460ffe17b6d9172e42
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Jun 11 15:19:48 2012 -0400
+
+    Repair PCrudFilter localeStrings variable collisions
+    
+    Rename PCrudFilter's localeStrings global variable to avoid name
+    collisions with UI scripts that define the same variable.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+18     19      Open-ILS/web/js/dojo/openils/widget/PCrudFilterDialog.js
+
+commit a54cd9c3c0a50887561eb7633efc12fb22ca322d
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Thu Jul 12 15:46:29 2012 -0400
+
+    Set unix file format to remove trailing "\r"s in file.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+51     51      docs/serials/Group_Serials_Issues_in_the_OPAC_2.2.txt
+
+commit c4c51d1f768929e8f56f44a3873da53a857b8324
+Author: Sally Fortin <sfortin@esilibrary.com>
+Date:   Thu Jul 12 15:36:03 2012 -0400
+
+    Add Group Serials Issues Chapter from Sally Fortin at Equinox Software. Source: http://www.esilibrary.com/esi/availableDocs.php.
+    
+    Tested in documentation  processing.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+-      -       docs/media/Group_Serials_Issues_in_the_OPAC2.jpg
+-      -       docs/media/Group_Serials_Issues_in_the_OPAC5.jpg
+-      -       docs/media/Group_Serials_Issues_in_the_OPAC7.jpg
+1      0       docs/root.txt
+51     0       docs/serials/Group_Serials_Issues_in_the_OPAC_2.2.txt
+ create mode 100644 docs/media/Group_Serials_Issues_in_the_OPAC2.jpg
+ create mode 100644 docs/media/Group_Serials_Issues_in_the_OPAC5.jpg
+ create mode 100644 docs/media/Group_Serials_Issues_in_the_OPAC7.jpg
+ create mode 100644 docs/serials/Group_Serials_Issues_in_the_OPAC_2.2.txt
+
+commit db7247c91163a98f41a1e096ccfa97cbc9e14904
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Thu Jun 14 13:41:33 2012 -0400
+
+    TPac: Disable caching for auth-required pages
+    
+    To make back buttons less likely to show sensitive info.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+4      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+
+commit 3b2705a0b32580ab3aec9090669a7d0386ca7843
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Thu Jul 12 09:16:12 2012 -0400
+
+    Silence undef string concatenation warning in AutoSuggest
+    
+    Addressing LP #1023651 reported by Dan Scott.
+    
+    When building a cache key, use processed input values that are
+    guaranteed to be defined rather than raw ones.
+    
+    This will mean brief cache misses for AutoSuggest once applied, but
+    the default life of AutoSuggest cache entries is only 5 minutes anyway.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+4      7       Open-ILS/src/perlmods/lib/OpenILS/WWW/AutoSuggest.pm
+
+commit fe78c09e77a439e8f454195e0ec139d32cb2a050
+Author: Jeff Godin <jgodin@tadl.org>
+Date:   Wed Jul 11 11:54:34 2012 -0400
+
+    Fix titles/tabs in Account Preferences subpages
+    
+    Adjust the value of myopac_page in the Notification Preferences and
+    Search Preferences pages so that the page title and tab
+    color/hilight will be correct.
+    
+    Signed-off-by: Jeff Godin <jgodin@tadl.org>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+1      1       Open-ILS/src/templates/opac/myopac/prefs_notify.tt2
+1      1       Open-ILS/src/templates/opac/myopac/prefs_settings.tt2
+
+commit aa2cbcf1dd8d073838edddb58d3a0b2832a8ea4d
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Wed Jul 11 18:41:55 2012 -0400
+
+    Get Z39.50 source names to be linked as expected
+    
+    The direct thead/th approach appeared to be interfering with the JS
+    event that was supposed to link the Z39.50 source names; adding the
+    expected tr layer resolved that.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+1      1       Open-ILS/src/templates/conify/global/config/z3950_source.tt2
+
+commit b825315fcffce55bccae770e5421d30d83377919
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Jun 19 10:23:22 2012 -0400
+
+    Z39.50 attributes management interface
+    
+    From the release notes:
+    
+    There is a new interface for managing Z39.50 attributes on a Z39.50
+    source.  The interface is linked from each source name in the Z39.50
+    Source administrative interface.
+    
+    Cloning
+    ~~~~~~
+    
+    In addition to attribute creation, deletion, and editing, it's also
+    possible to clone a set of attributes from one source into another.
+    When cloning, any attributes present in the cloned source that are
+    not present in the destination source are copied into the destination
+    source.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+9      1       Open-ILS/examples/fm_IDL.xml
+56     1       Open-ILS/src/templates/conify/global/config/z3950_source.tt2
+64     1       Open-ILS/web/js/ui/default/conify/global/config/z3950_source.js
+16     0       docs/RELEASE_NOTES_NEXT/z3950-attr-admin-ui.txt
+ create mode 100644 docs/RELEASE_NOTES_NEXT/z3950-attr-admin-ui.txt
+
+commit d4e67fa909be91c5918bf08a96566e7e6d1040dd
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Jun 19 10:18:44 2012 -0400
+
+    Flattener grid defines override args in constructor
+    
+    ...instead of the seconday load handler.  Otherwise, the
+    grid.overrideEditWidget, etc. containers may be undefined at page load
+    time.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+4      4       Open-ILS/web/js/dojo/openils/widget/FlattenerGrid.js
+
+commit 8f04f89529a97c065675803bceda275704d9d1b9
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Jun 26 13:54:53 2012 -0400
+
+    Repaired typo in example rsyslog config file
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+1      1       Open-ILS/examples/evergreen-rsyslog.conf
+
+commit b7d90ccbd7d6fddb88dc9149148e580d55ba6f0c
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Fri Jun 15 13:25:29 2012 -0400
+
+    TPAC: Handle multiple matches for an XPath expression
+    
+    Per LP 1009980, "If a record has multiple subfield b's in the 260 field,
+    tpac will not display the publisher or publication date in the record
+    details page and will not display the publisher on the search results
+    page".
+    
+    This is because we're calling textContent on a nodeset, rather than an
+    individual node, and therefore get null back rather than any content.
+    
+    To avoid this, always expect a nodeset and iterate over it to populate a
+    list of the strings.  To maintain the same semantics of expecting a
+    single text string back for, say, args.pubdate, we define the list as
+    args.pubdates (plural name), and then grab the first item from the list
+    and populate that as args.pubdate (singular name).
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+56     13      Open-ILS/src/templates/opac/parts/misc_util.tt2
+
+commit bbf645e0f936ca4b0b5b29b070abfbdee29bb5dc
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Wed Jul 11 10:54:44 2012 -0400
+
+    Avoid problem with 2.1 -> 2.2 upgrade script issuing error
+    
+    The error is:
+        > ERROR: cannot ALTER TABLE "thesaurus" because it has pending
+        > trigger events.
+    
+    Reported by Justin Hopkins, George Duimovich, and Bill Erickson.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Justin Hopkins <hopkinsju@gmail.com>
+
+4      2       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+
+commit a8338b6194cd5bded07210316ff9376a7865f5e0
+Author: Bob Wicksall <bwicksall@pls-net.org>
+Date:   Fri Jun 29 14:33:22 2012 -0400
+
+    TPac: Add paging to My Lists
+    
+    - Added paging to My Lists based on the code from the Checkout History tab.
+    - Fixed a bug where adding more than 10 items to the Temporary list failed
+    - After adding paging renaming a list on page 2+ would fail.  Fixed.
+    - Redirect after saving a list now leaves you on the same page
+    - Paging was bleeding between My Lists, Holds History and Circ History.
+      Fixed.
+    
+    List contents were also limited to the first 10.  I have upped the limit to
+    1000 rather than having nested paging.  This should be revisited.
+    
+    CSV download of lists is still limited to the first 10.  Not sure where to
+    fix this.
+    
+    Signed-off-by: Bob Wicksall <bwicksall@pls-net.org>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+42     35      Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+5      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Container.pm
+18     1       Open-ILS/src/templates/opac/myopac/lists.tt2
+1      1       Open-ILS/src/templates/opac/parts/myopac/base.tt2
+
+commit 81774d99db4de4dd5b118f898f23f919a5d395f2
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Tue Jun 19 12:23:55 2012 -0400
+
+    Update Evergreen upgrade instructions to reflect the 2.2.0 release.
+    
+    Update download reference to point to 2.2.0. Also moved
+    database updates to the end of the process. It seemed out of order since
+    the database update scripts were run before the download of the 2.2 tar file.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+39     38      docs/installation/server_upgrade.txt
+
+commit 4c8a1b71ebd961ebe2a5dffcb1690ea6fb6b281b
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Tue Jun 26 15:03:37 2012 -0400
+
+    Teach the autosuggest web service to cache suggestions where appropriate
+    
+    Should spare some DB load on sites.
+    
+    LFW: I'm not sure the update to the Apache config made any difference,
+    but it doesn't hurt.
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+1      0       Open-ILS/examples/apache/eg.conf
+46     1       Open-ILS/src/perlmods/lib/OpenILS/WWW/AutoSuggest.pm
+
+commit 68a4e3b1c8133c9c98503f5d2128e054bf1d2114
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Mar 12 15:05:50 2012 -0400
+
+    Org unit retrieval cleanup
+    
+    Clean up and consolidate the various org unit retrieval method (in Perl)
+    to reduce code/confusion and make it easier to integrate changes to the
+    org unit tree in the future.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+
+0      40      Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm
+4      104     Open-ILS/src/perlmods/lib/OpenILS/Application/AppUtils.pm
+2      2       Open-ILS/src/perlmods/lib/OpenILS/Application/Cat.pm
+1      10      Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/ScriptBuilder.pm
+1      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Collections.pm
+1      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm
+1      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Search/CNBrowse.pm
+
+commit 1ff35716fba49fa35b36e41325761f08beb706ca
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Jun 12 16:04:09 2012 -0400
+
+    tpac: repair some straggling bookbag CGI param names
+    
+    We missed some going from "id" to "bbid"
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+
+3      3       Open-ILS/src/templates/opac/myopac/lists.tt2
+
+commit 55a82b570ee8562f3d9eaedad42f22d15b1b8205
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Wed Jun 20 11:13:11 2012 -0400
+
+    Acq: fix widget choice for user-linked fields in Acquisitions Search
+    
+    The Acquisitions Search interface (which also sits underneath the
+    Purchase Orders inteface, My Selection Lists, and one or two others)
+    stopped presenting the correct widget for search terms linked to
+    actor.usr.  This was brought on when PCRUD control was added to
+    actor.usr, so that means the bug affects only master, not rel_2_2 or
+    earlier.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+5      1       Open-ILS/web/js/ui/default/acq/search/unified.js
+
+commit 13d4fbac3cb5905da1baad673fe8418b6245a053
+Author: Galen Charlton <gmc@esilibrary.com>
+Date:   Mon Jun 18 10:11:17 2012 -0400
+
+    lp#1014664: add new columns to CDBI table definitions
+    
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+2      2       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI/action.pm
+1      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI/actor.pm
+
+commit 345372b5252775e967f5b33859562f07619da568
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Wed Jun 13 13:16:51 2012 -0400
+
+    Fix Title Holds
+    
+    Holdable formats was being filled in with oargs, causing random failures.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
+
+commit e04600edfd5292249528b7cdbd91dc423d01bc79
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Thu Jun 21 10:01:56 2012 -0400
+
+    Fix version numbers in 2.1 -> 2.2 upgrade script
+    
+    Justin Hopkins spotted the problem, and offered a fix in LP #1015807.
+    I'm just doing it slightly differently here.  Thanks Justin!
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+3      3       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+
+commit c2e7e5aa53fe0e4579be4dfbb87fae1e1dcc3ca4
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Tue Jun 19 16:43:42 2012 -0400
+
+    Stop editing README header
+    
+    We no longer have the version in the README header, so we don't need to
+    update it with a new value.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+1      2       build/tools/make_release
+
+commit d194ab9156b31fe4f222cabdeedc23a7846a2f91
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Thu Jun 14 15:16:51 2012 -0400
+
+    Avoid file extensions on scripts
+    
+    Borrowing from the Debian policy, you might reimplement the same
+    functionality using a different language such as Perl or Python. So
+    avoid having a file extension in the first place. What are we, Windows
+    users?
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+327    0       build/tools/make_release
+0      327     build/tools/make_release.sh
+ create mode 100755 build/tools/make_release
+ delete mode 100755 build/tools/make_release.sh
+
+commit 8e6bc98a05ad041940fc6dca20723e2f989cfc8c
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Mon Jun 4 12:33:56 2012 -0400
+
+    Revert to generic ftp.mozilla.org hostname
+    
+    download02.mozilla.org started returning 403 errors; ftp.mozilla.org
+    seems to work again, so let's go with that.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+2      2       build/tools/make_release.sh
+
+commit 3501b65ad2be61a31bd9b4af9488bdcadc2629f0
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Sat Jun 2 23:25:53 2012 -0400
+
+    git2cl mangles the changelog; let's just use git's log
+    
+    git2cl does bizarre things to line wrapping. The log it generates looks
+    deranged. Let's just use what git gives us; it's clean and easy to
+    parse, even if it doesn't adhere to the GNU changelog standards
+    (www.gnu.org/prep/standards/html_node/Style-of-Change-Logs.html).
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+1      4       build/tools/make_release.sh
+
+commit 6f64d385e251341a889e1bbd93616288a1b383aa
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Wed Sep 28 15:05:22 2011 -0400
+
+    Release Building Script
+    
+    make_release.sh [-v VERSION] [-f PREV_BRANCH | -t | -b] [-F PREV_VERSION] [-n] [-p]
+       VERSION is auto-detected by default and is based on the currently checked out branch.
+       PREV_BRANCH is auto-detected by default but that isn't reliable. Include remote name!
+       PREV_VERSION Is auto-detected by default and is based on the PREV_BRANCH's name.
+       -n specifies that you don't want an upgrade script to be auto-generated.
+       -p specifies that this is a preview build.
+       -t turns on tag only mode.
+       -b turns on build only mode.
+       NOTE: -t and -b override PREV_BRANCH/PREV_VERSION, but -b overrides -t.
+    
+    When building a release you should have git2cl in your PATH as well as
+    all packages needed for building i18n and staff clients.
+    
+    Usage examples:
+    
+    Tagging a major version root (no need for git2cl/staff client deps):
+    
+        git checkout -b rel_X_Y origin/master
+        build/tools/make_release.sh -t
+    
+    Building a release:
+    
+        git checkout -b rel_X_Y_Z rel_X_Y
+        build/tools/make_release.sh
+    
+    Building a new major release:
+    
+        git checkout -b rel_X_Y_Z rel_X_Y
+        build/tools/make_release.sh -f origin/tags/rel_U_V_W
+    
+    Specifying a version outright:
+    
+        build/tools/make_release.sh -v X.Y.Z
+    
+    Very Specific Example: Building the 2.2 RC1 release:
+    
+        git checkout -b rel_2_2_rc2 origin/rel_2_2
+        build/tools/make_release -f origin/rel_2_1 -n -p
+    
+    Release files are placed in a "release" folder one level up from your git
+    root directory.
+    
+    Nothing is pushed to remote servers, but dojo and xulrunner files may be
+    downloaded. Dojo to install in the release tarball properly, xulrunner for
+    building the staff client and avoiding issues with xulrunner changes if
+    end-users build a custom staff client (say, for autoupdate purposes).
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+330    0       build/tools/make_release.sh
+ create mode 100755 build/tools/make_release.sh
+
+commit 79a412315e9ef8d09d0997c78fb918b24ed49ead
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Fri Jun 15 22:10:15 2012 -0400
+
+    TPAC: Add record detail navigation to page bottom
+    
+    A usability rule of thumb suggests that navigation on long pages should
+    not require you to scroll back up to the top of the page from the
+    bottom; that gets old fast. We already do this on search results pages;
+    bring the same good practice to record details.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+2      39      Open-ILS/src/templates/opac/parts/record/body.tt2
+38     0       Open-ILS/src/templates/opac/parts/record/navigation.tt2
+4      4       Open-ILS/web/css/skin/default/opac/style.css
+ create mode 100644 Open-ILS/src/templates/opac/parts/record/navigation.tt2
+
+commit 8c7eedc44c26e5825a2a35fd165cfc3ccd3b896d
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Thu Jun 14 14:35:24 2012 -0400
+
+    Remove antiquated 1.6 directory from docs folder.
+    
+    This was used for early DocBook testing and is no longer needed.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+0      233     docs/1.6/book1/sysadmin/indexedfieldweighting.xml
+0      104     docs/1.6/styleguide/admon.xml
+0      93      docs/1.6/styleguide/authoring.xml
+0      256     docs/1.6/styleguide/books.xml
+0      37      docs/1.6/styleguide/build.xml
+0      117     docs/1.6/styleguide/chapter.xml
+0      203     docs/1.6/styleguide/conditional.xml
+0      370     docs/1.6/styleguide/exclude.xml
+0      169     docs/1.6/styleguide/figures.xml
+0      76      docs/1.6/styleguide/filenames.xml
+0      208     docs/1.6/styleguide/general.xml
+0      18      docs/1.6/styleguide/glossary.xml
+0      74      docs/1.6/styleguide/indexterms.xml
+0      489     docs/1.6/styleguide/links.xml
+0      400     docs/1.6/styleguide/lists.xml
+0      149     docs/1.6/styleguide/overview.xml
+0      493     docs/1.6/styleguide/programming.xml
+0      133     docs/1.6/styleguide/structure.xml
+0      26      docs/1.6/styleguide/styleguide.xml
+0      818     docs/1.6/styleguide/tables.xml
+ delete mode 100644 docs/1.6/book1/sysadmin/indexedfieldweighting.xml
+ delete mode 100644 docs/1.6/styleguide/admon.xml
+ delete mode 100644 docs/1.6/styleguide/authoring.xml
+ delete mode 100644 docs/1.6/styleguide/books.xml
+ delete mode 100644 docs/1.6/styleguide/build.xml
+ delete mode 100644 docs/1.6/styleguide/chapter.xml
+ delete mode 100644 docs/1.6/styleguide/conditional.xml
+ delete mode 100644 docs/1.6/styleguide/exclude.xml
+ delete mode 100644 docs/1.6/styleguide/figures.xml
+ delete mode 100644 docs/1.6/styleguide/filenames.xml
+ delete mode 100644 docs/1.6/styleguide/general.xml
+ delete mode 100644 docs/1.6/styleguide/glossary.xml
+ delete mode 100644 docs/1.6/styleguide/indexterms.xml
+ delete mode 100644 docs/1.6/styleguide/links.xml
+ delete mode 100644 docs/1.6/styleguide/lists.xml
+ delete mode 100644 docs/1.6/styleguide/overview.xml
+ delete mode 100644 docs/1.6/styleguide/programming.xml
+ delete mode 100644 docs/1.6/styleguide/structure.xml
+ delete mode 100644 docs/1.6/styleguide/styleguide.xml
+ delete mode 100644 docs/1.6/styleguide/tables.xml
+
+commit 5f3743508d44a679ba71ec9aea88e04f3af61b19
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Tue Jun 12 17:26:39 2012 -0400
+
+    Security fix: For auth, give same stacktrace for all cases of LOGIN_FAILED
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+9      3       Open-ILS/src/c-apps/oils_auth.c
+
+commit 300dc300beb72524f79cbf6216933588c7d87c87
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Mon Jun 11 14:16:34 2012 -0400
+
+    Security fix: Prevent login by deleted and barred users
+    
+    An existing comment in the code suggested that we thought we were already
+    keeping barred users out.  LP #1010671 brings up that deleted users were
+    not being kept out.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+16     2       Open-ILS/src/c-apps/oils_auth.c
+
+commit e524c68ffba4cc7fb342b280409c810cec4b259f
+Author: Jason Stephenson <jstephenson@mvlc.org>
+Date:   Mon Jun 11 16:12:54 2012 -0400
+
+    Security fix for Launchpad Bug 1003052.
+    
+    Bug reported by James Fournie:
+    
+    Revoking the UPDATE_MARC permission doesn't actually seem to prevent a
+    user from editing a record. Our use case is that we would like a user
+    to create new records but not edit existing MARC records.
+    
+    Changing CREATE_MARC to UPDATE_MARC in OpenILS::Application::Cat's
+    biblio_record_replace_marc() method seems to fix the problem.
+    
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Cat.pm
+
+commit 664516c733997dfa1954a7ce6cb80a4a153cb07c
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Wed Jun 13 10:12:05 2012 -0400
+
+    Fix in-transit hold retarget
+    
+    Tell the abort transit function to not commit our editor on us, basically.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
+2      2       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Transit.pm
+
+commit e4246f0bc28d615a57ccd3d95febd20a0eb2d1dd
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Fri Jun 8 09:26:25 2012 -0400
+
+    Remove unsafe thesaurus/control-set mapping
+    
+    Evergreen 2.2 and beyond includes new Authority Control Set functionality
+    intended to allow the definition of locally defined authority control
+    headings.  The primary mechanism for determining which Control Set is used
+    by any given authority record is to look at the thesaurus fixed field
+    (mnemonic: Subj), which currently must be uniquely linked to a Control Set.
+    Failing that (in the case of no thesaurus code at all), there is a backup
+    mechanism: if the thesaurus value for the authority record is missing or not
+    used by any configured Control Set then Evergreen will look at the first Main
+    Entry (1xx) field in the record, and find a control set which uses this field.
+    This is, obviously, not perfect, but for non-overlapping authority field
+    schemes, it works very well.
+    
+    However, the seed data for Evergreen currently includes the "no attempt to
+    code" value of "|" in the set of thesauri that point to the LoC Control Set.
+    This value ("|") is also the default value for the Subj fixed field.  This
+    means that the fallback mechanism is very likely never reached, and anything
+    short of fully specifying an appropriate thesaurus code for any non-LoC
+    authority record will run afoul of a similar outcome as the bib-data loss
+    situation described in bug #983487.
+    
+    We can avoid this situation in most cases by /not/ tying the "|" thesaurus
+    value to the LoC control set.
+    
+    This commit accomplishes this goal by allowing the Control Set for a thesaurus
+    to be NULL, removing the Control Set for "|" and removing the Control Set
+    recorded for records with "|" as the thesaurus value, thereby forcing Main
+    Entry inspection on any use of the authority record where Control Set is
+    required.
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+1      1       Open-ILS/src/sql/Pg/011.schema.authority.sql
+1      1       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+14     0       Open-ILS/src/sql/Pg/upgrade/0717.data.safer-control-set-defaults.sql
+13     0       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+9      1       Open-ILS/web/js/ui/default/cat/authority/list.js
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0717.data.safer-control-set-defaults.sql
+
+commit ace51daec9cb7065b67bea336ef09debc0a034e4
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Tue Jun 12 09:03:31 2012 -0400
+
+    Serial Note Sort Fix
+    
+    Serial notes are currently sorting backwards from what is intended
+    (and what is expected based on other interfaces).  This was caused
+    by adding a sort to the middle-layer code which resulted in an
+    unwanted double reverse.
+    
+    [whitespace adjustment by LFW per request of DBS]
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+5      1       Open-ILS/xul/staff_client/server/serial/notes.xul
+
+commit 21d99800e0e3f99615cbe2725c6e1a371256166c
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Mon Jun 11 09:43:08 2012 -0400
+
+    Vandelay: Add some padding for inspect queue list
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+2      0       Open-ILS/web/css/skin/default/vandelay.css
+
+commit 1839b4447b869a65769cd7fba6f8eb2ed22c47e1
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Mon Jun 11 09:26:17 2012 -0400
+
+    Vandelay: Update Current Type/ID on queue retrieve
+    
+    Because other parts of the javascript need those values.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+2      0       Open-ILS/web/js/ui/default/vandelay/vandelay.js
+
+commit c2da665dd33ad80a601c8cc65698306ad6a8d092
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Wed Mar 14 12:04:25 2012 -0400
+
+    Vandelay: Rewrite Inspect Queues Interface
+    
+    This accomplishes several things:
+    1 - Load the list of queues on page load
+    2 - Single-click access (rather than select and click) to queues
+    3 - Batch Deletion of Queues
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+24     23      Open-ILS/src/templates/vandelay/inc/queueselect.tt2
+63     31      Open-ILS/web/js/ui/default/vandelay/vandelay.js
+
+commit e31c4337304ae6ebe819011ad8e1bd396acd0761
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Thu Apr 19 22:37:56 2012 -0400
+
+    fix double-click in Holdings Maintenance
+    
+    so that it won't attempt to spawn the Item Editor for non-items
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+3      1       Open-ILS/xul/staff_client/server/cat/copy_browser.js
+
+commit d873aa64c0812f3a9a2776a1d7a4dd7c38af37fe
+Author: Ben Shum <bshum@biblio.org>
+Date:   Sun May 27 16:55:39 2012 -0400
+
+    Convert docs files from DOS to UNIX format.
+    
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+25     25      docs/acquisitions/introduction.txt
+73     73      docs/acquisitions/receive_items_from_invoice.txt
+136    136     docs/acquisitions/selection_lists_po.txt
+69     69      docs/acquisitions/vandelay_acquisitions_integration.txt
+490    490     docs/admin/acquisitions_admin.txt
+32     32      docs/admin/auto_suggest_search.txt
+199    199     docs/admin/booking-admin.txt
+46     46      docs/admin/cn_prefixes_and_suffixes.txt
+59     59      docs/admin/customize_staff_client.txt
+49     49      docs/admin/recent_staff_searches.txt
+49     49      docs/admin/restrict_Z39.50_sources_by_perm_group.txt
+23     23      docs/admin/staff_client-double_clicking.txt
+42     42      docs/admin/staff_client-recent_searches.txt
+6      6       docs/admin/staff_client-return_to_results_from_marc.txt
+59     59      docs/admin/staff_client-sorting_columns.txt
+6      6       docs/admin/staff_client-tab_buttons.txt
+32     32      docs/admin/user_activity_type.txt
+214    214     docs/cataloging/batch_importing_MARC.txt
+57     57      docs/cataloging/monograph_parts.txt
+55     55      docs/cataloging/overlay_record_3950_import.txt
+272    272     docs/circulation/booking.txt
+327    327     docs/circulation/circulating_items.txt
+212    212     docs/installation/edi_setup.txt
+63     63      docs/opac/my_lists.txt
+320    320     docs/root.txt
+
+commit 253fb585af95071514c0d98e3b9222d078349e14
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Mon Jun 11 11:18:08 2012 -0400
+
+    Show Vandelay Buckets in Manage Record Buckets
+    
+    The 'Manage Record Buckets' view is currently filtered to show
+    only 'staff_client' type buckets.  This expands the filter to
+    include 'vandelay_queue' buckets.
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+1      1       Open-ILS/xul/staff_client/server/cat/record_buckets.js
+
+commit 11f1e52976660cf71df351157181d99ba5507135
+Author: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+Date:   Mon Jun 11 13:27:07 2012 -0400
+
+    Remove licensing info redarding removed PDF icon.
+    
+    Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
+
+0      176     docs/licensing.txt
+
+commit 6b7381979d6bb2d7636325078f57705d06700c09
+Author: Steven Callender <stevecallender@esilibrary.com>
+Date:   Thu Apr 19 09:47:46 2012 -0400
+
+    Added a days_back parameter to authority_control_fields.pl in order to process bibs edited X amount of days ago.
+    
+    The days_back parameter can be used to easily run the script through cron nightly and have it process all newly created or newly added bib records. Ideally it would be ran once a day at nighttime prior to midnight using the --days_back 0 option.
+    
+    Signed-off-by: Steven Callender <stevecallender@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+40     0       Open-ILS/src/support-scripts/authority_control_fields.pl.in
+
+commit dafaf313a1b8ede49c5cb2f7b19a69f1e65db51b
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jun 8 15:51:50 2012 -0400
+
+    Load Vandelay queue list in Inspect Queue
+    
+    When the Inspect Queue tab is opened, ensure the list of queues for the
+    default selected type (bib queues) is loaded.
+    
+    https://bugs.launchpad.net/evergreen/+bug/1010636
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+3      1       Open-ILS/web/js/ui/default/vandelay/vandelay.js
+
+commit 37aa19848f43d2a9210265d88c93f2650fcdf65f
+Author: Michael Peters <mrpeters@library.in.gov>
+Date:   Tue Apr 10 16:12:13 2012 -0400
+
+    LP#845096 - coded_value_map_id_seq doesn't have a proper last_value
+    
+    Thanks to Kathy Lussier for the original report.  Kathy discovered
+    that users were unable to add new Coded Value Maps via the staff client.
+    
+    With some log digging, I discovered the culprit was a rash of
+    primary key errors.
+    
+    With help from Dan Scott, I was able to rectify this via a quick bit
+    of SQL which properly sets the last_value in the sequence.
+    
+    Thanks, Kathy and Dan!
+    
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+1      0       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+9      0       Open-ILS/src/sql/Pg/upgrade/0716.coded_value_map_id_seq_fix.sql
+7      0       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0716.coded_value_map_id_seq_fix.sql
+
+commit b5c968d59c24baadaf0bf63982c7767d689ac725
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Thu Jun 7 10:32:59 2012 -0400
+
+    Fix broken non-RSS bookbag feeds
+    
+    This commit addresses LP#1010036 by defining a stub 'description()'
+    method.  Lack of such a method was causing internal server errors
+    for other kinds of feeds.
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/SuperCat/Feed.pm
+
+commit a689278e2f76f7d4e28de064dc70a03d4731941c
+Author: James Fournie <jfournie@sitka.bclibraries.ca>
+Date:   Wed Jun 6 14:47:30 2012 -0700
+
+    LP1009752: activate purchase orders with patron requests
+    
+    Simple typo: "actor_hold_request" should be "action_hold_request".
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm
+
+commit a28c7ea48d6361e7e1ac7601f1190c0f6be607f8
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Wed Jun 6 23:19:10 2012 -0400
+
+    Update 2.1.2 DB schema upgrade script
+    
+    As part of the march to 2.1.2, and in time for 2.2.0, update the
+    2.1.1-2.1.2 update script.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+70     16      Open-ILS/src/sql/Pg/version-upgrade/2.1.1-2.1.2-upgrade-db.sql
+
+commit 8065029bbbb8457d7132477737da0a6eb0d1d320
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Wed Jun 6 17:43:33 2012 -0400
+
+    Add TPAC translations
+    
+    We're still working out our translation update process; new PO files can
+    fairly easily slip through the net. Fix that for TPAC, which is a pretty
+    big deal for 2.2.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+2352   0       build/i18n/po/tpac/ar-AR.po
+2457   0       build/i18n/po/tpac/cs-CZ.po
+2373   0       build/i18n/po/tpac/de-DE.po
+2447   0       build/i18n/po/tpac/en-CA.po
+2447   0       build/i18n/po/tpac/en-GB.po
+2352   0       build/i18n/po/tpac/es-ES.po
+2461   0       build/i18n/po/tpac/fr-CA.po
+2352   0       build/i18n/po/tpac/he-IL.po
+2352   0       build/i18n/po/tpac/hu-HU.po
+2352   0       build/i18n/po/tpac/hy-AM.po
+2352   0       build/i18n/po/tpac/oc-FR.po
+2467   0       build/i18n/po/tpac/pt-BR.po
+2352   0       build/i18n/po/tpac/ru-RU.po
+2352   0       build/i18n/po/tpac/sv-SE.po
+46     22      build/i18n/po/tpac/tpac.pot
+2354   0       build/i18n/po/tpac/tr-TR.po
+ create mode 100644 build/i18n/po/tpac/ar-AR.po
+ create mode 100644 build/i18n/po/tpac/cs-CZ.po
+ create mode 100644 build/i18n/po/tpac/de-DE.po
+ create mode 100644 build/i18n/po/tpac/en-CA.po
+ create mode 100644 build/i18n/po/tpac/en-GB.po
+ create mode 100644 build/i18n/po/tpac/es-ES.po
+ create mode 100644 build/i18n/po/tpac/fr-CA.po
+ create mode 100644 build/i18n/po/tpac/he-IL.po
+ create mode 100644 build/i18n/po/tpac/hu-HU.po
+ create mode 100644 build/i18n/po/tpac/hy-AM.po
+ create mode 100644 build/i18n/po/tpac/oc-FR.po
+ create mode 100644 build/i18n/po/tpac/pt-BR.po
+ create mode 100644 build/i18n/po/tpac/ru-RU.po
+ create mode 100644 build/i18n/po/tpac/sv-SE.po
+ create mode 100644 build/i18n/po/tpac/tr-TR.po
+
+commit 26fc7f7cbaf58f5b1ec4939cf95545b6c7cf67f1
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Mon Jun 4 18:15:57 2012 -0400
+
+    Commit i18n POT file changes after 'make newpot'
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+3      3       build/i18n/po/circ.properties/circ.properties.pot
+2186   2193    build/i18n/po/fm_IDL.dtd/fm_IDL.dtd.pot
+25     45      build/i18n/po/tpac/tpac.pot
+
+commit 5a16c30485d78de0a77f1037dfad22d643fc18d2
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Wed Jun 6 16:39:10 2012 -0400
+
+    Import updated translations from Launchpad
+    
+    Lebbeous Fogle-Weekley originally imported these updated translations
+    from Launchpad. Dan Scott just weeded out a few metadata-only changes
+    to PO files that didn't need to be pushed to git.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+11     11      build/i18n/po/Searcher.js/de-DE.po
+14     14      build/i18n/po/Searcher.js/pt-BR.po
+7      4       build/i18n/po/XULTermLoader.js/de-DE.po
+6      6       build/i18n/po/XULTermLoader.js/pt-BR.po
+32     4       build/i18n/po/admin.properties/cs-CZ.po
+29     3       build/i18n/po/admin.properties/de-DE.po
+32     4       build/i18n/po/admin.properties/en-CA.po
+32     4       build/i18n/po/admin.properties/en-GB.po
+29     3       build/i18n/po/admin.properties/es-ES.po
+40     6       build/i18n/po/admin.properties/fr-CA.po
+29     3       build/i18n/po/admin.properties/hy-AM.po
+29     3       build/i18n/po/admin.properties/oc-FR.po
+37     5       build/i18n/po/admin.properties/pt-BR.po
+29     3       build/i18n/po/admin.properties/ru-RU.po
+49     11      build/i18n/po/admin.properties/tr-TR.po
+47     27      build/i18n/po/authority.js/cs-CZ.po
+43     23      build/i18n/po/authority.js/de-DE.po
+47     27      build/i18n/po/authority.js/en-CA.po
+47     27      build/i18n/po/authority.js/en-GB.po
+41     21      build/i18n/po/authority.js/es-ES.po
+48     28      build/i18n/po/authority.js/fr-CA.po
+46     26      build/i18n/po/authority.js/hy-AM.po
+43     23      build/i18n/po/authority.js/oc-FR.po
+48     28      build/i18n/po/authority.js/pt-BR.po
+8      8       build/i18n/po/capture.js/pt-BR.po
+158    30      build/i18n/po/cat.properties/cs-CZ.po
+132    19      build/i18n/po/cat.properties/de-DE.po
+157    29      build/i18n/po/cat.properties/en-CA.po
+147    101     build/i18n/po/cat.properties/en-GB.po
+138    66      build/i18n/po/cat.properties/es-ES.po
+153    29      build/i18n/po/cat.properties/fr-CA.po
+140    109     build/i18n/po/cat.properties/hy-AM.po
+147    23      build/i18n/po/cat.properties/pt-BR.po
+147    116     build/i18n/po/cat.properties/ru-RU.po
+124    17      build/i18n/po/cat.properties/tr-TR.po
+56     17      build/i18n/po/circ.properties/cs-CZ.po
+36     10      build/i18n/po/circ.properties/de-DE.po
+59     18      build/i18n/po/circ.properties/en-CA.po
+53     107     build/i18n/po/circ.properties/en-GB.po
+51     14      build/i18n/po/circ.properties/es-ES.po
+53     16      build/i18n/po/circ.properties/fr-CA.po
+48     134     build/i18n/po/circ.properties/hy-AM.po
+53     16      build/i18n/po/circ.properties/pt-BR.po
+53     139     build/i18n/po/circ.properties/ru-RU.po
+31     9       build/i18n/po/common.properties/cs-CZ.po
+21     5       build/i18n/po/common.properties/de-DE.po
+30     8       build/i18n/po/common.properties/en-CA.po
+28     31      build/i18n/po/common.properties/en-GB.po
+29     7       build/i18n/po/common.properties/es-ES.po
+34     12      build/i18n/po/common.properties/fr-CA.po
+27     33      build/i18n/po/common.properties/hy-AM.po
+21     5       build/i18n/po/common.properties/oc-FR.po
+32     10      build/i18n/po/common.properties/pt-BR.po
+27     33      build/i18n/po/common.properties/ru-RU.po
+8      4       build/i18n/po/conify.dtd/cs-CZ.po
+7      3       build/i18n/po/conify.dtd/de-DE.po
+8      4       build/i18n/po/conify.dtd/en-CA.po
+9      5       build/i18n/po/conify.dtd/en-GB.po
+7      3       build/i18n/po/conify.dtd/es-ES.po
+8      4       build/i18n/po/conify.dtd/fr-CA.po
+7      3       build/i18n/po/conify.dtd/hy-AM.po
+11     7       build/i18n/po/conify.dtd/pt-BR.po
+7      3       build/i18n/po/conify.dtd/ru-RU.po
+7      3       build/i18n/po/conify.js/cs-CZ.po
+7      3       build/i18n/po/conify.js/de-DE.po
+8      4       build/i18n/po/conify.js/en-CA.po
+9      5       build/i18n/po/conify.js/en-GB.po
+7      3       build/i18n/po/conify.js/es-ES.po
+7      3       build/i18n/po/conify.js/fr-CA.po
+7      3       build/i18n/po/conify.js/hy-AM.po
+7      3       build/i18n/po/conify.js/pt-BR.po
+7      3       build/i18n/po/conify.js/ru-RU.po
+7      3       build/i18n/po/conify.js/tr-TR.po
+1726   2554    build/i18n/po/db.seed/cs-CZ.po
+1357   2113    build/i18n/po/db.seed/de-DE.po
+1652   2471    build/i18n/po/db.seed/en-CA.po
+1565   3527    build/i18n/po/db.seed/en-GB.po
+1493   2144    build/i18n/po/db.seed/es-ES.po
+1816   2418    build/i18n/po/db.seed/fr-CA.po
+1813   3952    build/i18n/po/db.seed/hy-AM.po
+1347   2099    build/i18n/po/db.seed/oc-FR.po
+1687   2478    build/i18n/po/db.seed/pt-BR.po
+1530   3604    build/i18n/po/db.seed/ru-RU.po
+1287   2039    build/i18n/po/db.seed/tr-TR.po
+3032   2309    build/i18n/po/fm_IDL.dtd/cs-CZ.po
+2897   2190    build/i18n/po/fm_IDL.dtd/de-DE.po
+2978   2252    build/i18n/po/fm_IDL.dtd/en-CA.po
+2971   2269    build/i18n/po/fm_IDL.dtd/en-GB.po
+2901   2191    build/i18n/po/fm_IDL.dtd/es-ES.po
+2889   2182    build/i18n/po/fm_IDL.dtd/fr-CA.po
+2970   2268    build/i18n/po/fm_IDL.dtd/hy-AM.po
+2957   2236    build/i18n/po/fm_IDL.dtd/pt-BR.po
+2962   2260    build/i18n/po/fm_IDL.dtd/ru-RU.po
+3310   2074    build/i18n/po/fm_IDL.dtd/tr-TR.po
+330    286     build/i18n/po/ils_events.xml/cs-CZ.po
+320    282     build/i18n/po/ils_events.xml/de-DE.po
+330    289     build/i18n/po/ils_events.xml/en-CA.po
+332    502     build/i18n/po/ils_events.xml/en-GB.po
+334    303     build/i18n/po/ils_events.xml/es-ES.po
+324    513     build/i18n/po/ils_events.xml/fr-CA.po
+323    503     build/i18n/po/ils_events.xml/hy-AM.po
+326    288     build/i18n/po/ils_events.xml/pt-BR.po
+323    500     build/i18n/po/ils_events.xml/ru-RU.po
+723    68      build/i18n/po/lang.dtd/ar-AR.po
+898    165     build/i18n/po/lang.dtd/cs-CZ.po
+759    75      build/i18n/po/lang.dtd/de-DE.po
+827    89      build/i18n/po/lang.dtd/en-CA.po
+821    99      build/i18n/po/lang.dtd/en-GB.po
+756    78      build/i18n/po/lang.dtd/es-ES.po
+1182   404     build/i18n/po/lang.dtd/fr-CA.po
+822    100     build/i18n/po/lang.dtd/hy-AM.po
+809    93      build/i18n/po/lang.dtd/pt-BR.po
+803    86      build/i18n/po/lang.dtd/ru-RU.po
+2671   1156    build/i18n/po/lang.dtd/tr-TR.po
+150    4       build/i18n/po/offline.properties/cs-CZ.po
+139    4       build/i18n/po/offline.properties/de-DE.po
+140    36      build/i18n/po/offline.properties/en-CA.po
+142    38      build/i18n/po/offline.properties/en-GB.po
+136    19      build/i18n/po/offline.properties/es-ES.po
+133    27      build/i18n/po/offline.properties/fr-CA.po
+128    41      build/i18n/po/offline.properties/hy-AM.po
+141    7       build/i18n/po/offline.properties/pt-BR.po
+130    38      build/i18n/po/offline.properties/ru-RU.po
+138    6       build/i18n/po/offline.properties/tr-TR.po
+67     10      build/i18n/po/opac.dtd/cs-CZ.po
+59     11      build/i18n/po/opac.dtd/de-DE.po
+63     36      build/i18n/po/opac.dtd/en-CA.po
+63     25      build/i18n/po/opac.dtd/en-GB.po
+56     9       build/i18n/po/opac.dtd/es-ES.po
+53     51      build/i18n/po/opac.dtd/fr-CA.po
+46     8       build/i18n/po/opac.dtd/he-IL.po
+53     42      build/i18n/po/opac.dtd/hy-AM.po
+46     8       build/i18n/po/opac.dtd/oc-FR.po
+71     12      build/i18n/po/opac.dtd/pt-BR.po
+51     7       build/i18n/po/opac.dtd/ru-RU.po
+53     12      build/i18n/po/opac.dtd/tr-TR.po
+18     14      build/i18n/po/opac.js/cs-CZ.po
+23     19      build/i18n/po/opac.js/de-DE.po
+18     23      build/i18n/po/opac.js/en-CA.po
+19     15      build/i18n/po/opac.js/en-GB.po
+17     22      build/i18n/po/opac.js/es-ES.po
+19     24      build/i18n/po/opac.js/fr-CA.po
+17     22      build/i18n/po/opac.js/hy-AM.po
+15     20      build/i18n/po/opac.js/oc-FR.po
+36     31      build/i18n/po/opac.js/pt-BR.po
+16     21      build/i18n/po/opac.js/ru-RU.po
+15     11      build/i18n/po/opac.js/sv-SE.po
+16     12      build/i18n/po/opac.js/tr-TR.po
+178    13      build/i18n/po/patron.properties/cs-CZ.po
+151    5       build/i18n/po/patron.properties/de-DE.po
+170    7       build/i18n/po/patron.properties/en-CA.po
+164    40      build/i18n/po/patron.properties/en-GB.po
+151    5       build/i18n/po/patron.properties/es-ES.po
+150    40      build/i18n/po/patron.properties/fr-CA.po
+148    38      build/i18n/po/patron.properties/hy-AM.po
+155    9       build/i18n/po/patron.properties/pt-BR.po
+145    38      build/i18n/po/patron.properties/ru-RU.po
+151    5       build/i18n/po/patron.properties/tr-TR.po
+6      6       build/i18n/po/pickup_and_return.js/pt-BR.po
+28     14      build/i18n/po/pull_list.js/tr-TR.po
+49     13      build/i18n/po/register.js/cs-CZ.po
+48     12      build/i18n/po/register.js/de-DE.po
+49     13      build/i18n/po/register.js/en-CA.po
+50     14      build/i18n/po/register.js/en-GB.po
+47     11      build/i18n/po/register.js/es-ES.po
+48     12      build/i18n/po/register.js/fr-CA.po
+48     12      build/i18n/po/register.js/hy-AM.po
+50     14      build/i18n/po/register.js/pt-BR.po
+48     12      build/i18n/po/register.js/ru-RU.po
+45     9       build/i18n/po/register.js/tr-TR.po
+8      4       build/i18n/po/reservation.js/cs-CZ.po
+7      3       build/i18n/po/reservation.js/de-DE.po
+8      4       build/i18n/po/reservation.js/en-CA.po
+9      5       build/i18n/po/reservation.js/en-GB.po
+7      3       build/i18n/po/reservation.js/es-ES.po
+7      3       build/i18n/po/reservation.js/fr-CA.po
+7      3       build/i18n/po/reservation.js/hy-AM.po
+12     8       build/i18n/po/reservation.js/pt-BR.po
+7      3       build/i18n/po/reservation.js/ru-RU.po
+16     4       build/i18n/po/selfcheck.js/cs-CZ.po
+15     3       build/i18n/po/selfcheck.js/de-DE.po
+17     5       build/i18n/po/selfcheck.js/en-CA.po
+17     5       build/i18n/po/selfcheck.js/en-GB.po
+15     3       build/i18n/po/selfcheck.js/es-ES.po
+15     3       build/i18n/po/selfcheck.js/fr-CA.po
+15     3       build/i18n/po/selfcheck.js/hy-AM.po
+18     6       build/i18n/po/selfcheck.js/pt-BR.po
+15     3       build/i18n/po/selfcheck.js/ru-RU.po
+52     4       build/i18n/po/serial.properties/cs-CZ.po
+51     3       build/i18n/po/serial.properties/de-DE.po
+52     4       build/i18n/po/serial.properties/en-CA.po
+63     4       build/i18n/po/serial.properties/en-GB.po
+51     3       build/i18n/po/serial.properties/es-ES.po
+65     17      build/i18n/po/serial.properties/fr-CA.po
+51     3       build/i18n/po/serial.properties/hy-AM.po
+65     18      build/i18n/po/serial.properties/pt-BR.po
+
+commit 522d8d8292e5b5255c14dd7900597b27e2d4720b
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Tue Jun 5 17:44:37 2012 -0400
+
+    Address LP #983487: Avoid clobbering bib records at authority merge
+    
+    If you've set up a relationship between bib record and authority records
+    based on arbitrary sets of controlling and controlled fields, but your
+    authority records don't have the right Subj fixed field value
+    corresponding to a control set that defines the controlling and
+    controlled fields you're using, authority merge operations may wipe out
+    lots of bib data.
+    
+    Yamil Suarez encountered this bug in testing, and in his case what he
+    needed to do was set the Subj fixed field in his authority records to
+    'A' to match his Song Title Index (see the launchpad bug referened
+    above).
+    
+    Previously, you could not actually save the Subj fixed field in the MARC
+    editor (which showed HeadSubj instead of Subj for authority records, and
+    didn't work).  Now you can.
+    
+    Thanks to Mike Rylander for help in figuring out the above.
+    
+    To provide additional protection against merging authority records when
+    they might not be linked with the right control set, the Manage
+    Authorities interface will now also show you the linked control set for
+    any given records.
+    
+    The implementation of that last bit incidentally meant making sure flesh
+    and flesh_fields get passed through to PermaCrud for retrieve() calls via
+    the Javascript openils.PermaCrud wrapper.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+8      1       Open-ILS/src/templates/cat/authority/list.tt2
+5      1       Open-ILS/web/js/dojo/openils/PermaCrud.js
+42     8       Open-ILS/web/js/ui/default/cat/authority/list.js
+2      2       Open-ILS/xul/staff_client/server/cat/marcedit.xul
+
+commit b711ed2db385b1d72a0cf862486329cd7787169b
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Tue Jun 5 09:17:52 2012 -0400
+
+    Move 2.0.11 upgrade script into version_upgrade dir
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+0      501     Open-ILS/src/sql/Pg/2.0.10-2.0.11-upgrade-db.sql
+501    0       Open-ILS/src/sql/Pg/version-upgrade/2.0.10-2.0.11-upgrade-db.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/2.0.10-2.0.11-upgrade-db.sql
+ create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/2.0.10-2.0.11-upgrade-db.sql
+
+commit 0d5509c6e21ef2f07236d52867dc5223f5370f4a
+Author: Jason Stephenson <jstephenson@mvlc.org>
+Date:   Thu May 10 13:56:41 2012 -0400
+
+    Add the 2.0.10-2.0.11 upgrade script.
+    
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+501    0       Open-ILS/src/sql/Pg/2.0.10-2.0.11-upgrade-db.sql
+ create mode 100644 Open-ILS/src/sql/Pg/2.0.10-2.0.11-upgrade-db.sql
+
+commit 0531087af9e3c650d9a488deaa8a6ac81564d0ad
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Sat Jun 2 20:06:30 2012 -0400
+
+    Distinguish route-to-cataloging exception circ messages
+    
+    It appears as though a copy-and-paste error introduced duplicate keys in
+    circ.properties, which in turn makes newer versions of the Translate
+    Toolkit unhappy and results in empty translated files. Tracing through
+    the pertinent code in xul/staff_client/server/circ/util.js, it looks
+    like the desired key was for "not_found" for the second "cataloging" key
+    - so change that accordingly.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/xul/staff_client/server/locale/en-US/circ.properties
+
+commit 82d8571e34435a0d15e37142b4b6593c5a4a33d1
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Sat Jun 2 19:51:55 2012 -0400
+
+    Fix check for duplicate strings in i18n properties
+    
+    We had the core of the check in place - just failed to check the
+    property we were iterating over. Doh.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+3      2       build/i18n/tests/check_properties.py
+
+commit c9adcd1e3fb97ca702e61263aa6a4cbde03937b2
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Sun Jun 3 01:09:26 2012 -0400
+
+    Improve Fedora prereqs and instructions
+    
+    Fedora 16 and 17 need the makensis package.
+    
+    As well, make the Makefile.install target "fedora" to match the OpenSRF
+    target, and adjust the docs accordingly. This should lead to fewer
+    changes in the future as Fedora 18, 19, etc roll out.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+7      4       Open-ILS/src/extras/Makefile.install
+4      4       docs/installation/server_installation.txt
+
+commit 40e34d5274bcb3a045f605a9d35949db39c61256
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Wed May 9 10:30:17 2012 -0400
+
+    LP975422 patron search from portal/splash page
+    
+    make it consider the "Patron circulation summary is horizontal" library setting
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+3      5       Open-ILS/xul/staff_client/server/index.xhtml
+
+commit a10bd90bbdb50424054b63ba3db3983cb1f6e2f9
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu May 3 16:36:38 2012 -0400
+
+    TPAC: Prevent unitialized variable warnings in My Account (repair)
+    
+    The logic in the second IF test was slightly altered by the fix.  An
+    undef value for username_unlimit should result in executing the block.
+    Since org setting values are stored as real boolean values, I simplified
+    the test to a simple if(!username_unlimit) test.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+2      2       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+
+commit c2eb7d12fc491d15217995340b37e35565dd57d6
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Tue Apr 10 23:34:24 2012 -0400
+
+    TPAC: Prevent unitialized variable warnings in My Account
+    
+    Viewing a user's account preferences would trigger two uninitialized
+    variable warnings if the corresponding org unit settings were not set.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+4      4       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+
+commit 07fe6601dde861e25ded9174358e6807654d1a1e
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Mar 23 15:17:50 2012 -0400
+
+    ACQ guarantee no PO re-activation
+    
+    Prevent the possibility of double PO activation by preventing it within
+    the API.  There have been reports in the wild of double-activation, even
+    though the UI is supposed to prevent it.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+4      0       Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm
+
+commit 9d7807b356d75453a5892e75b5538dcc2c908c40
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Fri Jun 1 15:43:54 2012 -0400
+
+    Fix broken menu entries under "Other -> Booking" in patron interface
+    
+    This issue was reported to me by Steve Callender.  The menu entries
+    under "Other -> Booking" had all stopped working.
+    
+    There's a catalog of URL constants under window.urls sometimes, and
+    formerly (or other times?) at xulG.urls for XUL-based staff client
+    interfaces.  There's a new-tab-opening method that needed to be more
+    flexible when looking for that catalog.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+2      1       Open-ILS/web/js/dojo/openils/XUL.js
+
+commit 91773a97d7047b1215ee1509c016c3d6f477655e
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri Jun 1 10:28:28 2012 -0400
+
+    Override arguments parameter repairs
+    
+    In some cases, the override arguments were passed as a paramater after
+    an @array or %hash argument.  In such cases, any params following are
+    clumped into the array/hash and the trailing parameters get no values.
+    Let's explicitly push the $oargs into the preceeding structures.
+    
+    In the case of Circulate.pm:new, no $oargs argument is needed, as all keys
+    within the %args hash are tacked onto the circulator object.
+    
+    Also, for consistency, this change affects one of the hold API calls by
+    moving $oargs into $params even when not strictly necessary.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+4      5       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
+11     9       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
+
+commit 2004f9b2103deee59df4e6adacfa1e4a05e09a84
+Author: Galen Charlton <gmc@esilibrary.com>
+Date:   Thu May 31 23:31:11 2012 -0400
+
+    lp#1007248: tweak order in which pgt rows are renumbered
+    
+    Need to renumber from highest to lowest.  Because the primary
+    key constraint is not deferred, doing the renumbering in a single
+    statement will fail if there is overlap between the set of
+    existing pgt.id values and the set of {pgt.id + 100}.
+    
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+10     1       Open-ILS/src/sql/Pg/version-upgrade/2.0-2.1-upgrade-db.sql
+
+commit 509c09ed9e472f15da0753f64e82f920efb0edaa
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri May 25 14:41:18 2012 -0400
+
+    TPAC bookbag CGI param changed to bbid
+    
+    To avoid propagating a generic URL parameter like 'id', which can be
+    picked up by other pages and cause breakage, use 'bbid' instead.  Also,
+    clear the 'bbid' param from the my-account tabs.
+    
+    While we're in there, silence an uninitialized string warning.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+5      5       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+8      8       Open-ILS/src/templates/opac/myopac/lists.tt2
+1      1       Open-ILS/src/templates/opac/parts/myopac/base.tt2
+
+commit c0c481c333e30d9a100ca15557009cff045af7a8
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Thu Apr 19 22:22:53 2012 -0400
+
+    Work Log entry for holds placed from "Search the Catalog"
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+34     1       Open-ILS/xul/staff_client/chrome/content/cat/opac.js
+
+commit 7ec151d7bbcfd042dc1e5213d6a468ad3e41202f
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Thu Apr 19 21:02:12 2012 -0400
+
+    Work Log entry for holds placed within patron display
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+18     0       Open-ILS/src/templates/opac/parts/place_hold_result.tt2
+2      0       Open-ILS/xul/staff_client/chrome/locale/en-US/offline.properties
+26     1       Open-ILS/xul/staff_client/server/patron/holds.js
+
+commit b754f4adcd7c82fff361dd7d8265f475b4047918
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Thu Apr 19 21:01:35 2012 -0400
+
+    fix error reporting when using list.wrap_in_full_retrieve
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+1      1       Open-ILS/xul/staff_client/chrome/content/util/list.js
+
+commit 30b9e2a30487f207165a87bccfbdb0901b79908a
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Tue Apr 17 17:03:21 2012 -0400
+
+    work log entries for payments received
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+6      0       Open-ILS/xul/staff_client/server/locale/en-US/circ.properties
+32     0       Open-ILS/xul/staff_client/server/patron/bill2.js
+
+commit 860ef994ddeb6bd7a5c0373c94afa4b23d26e03e
+Author: Jeff Davis <jdavis@sitka.bclibraries.ca>
+Date:   Wed Apr 11 12:04:19 2012 -0400
+
+    LP#856708 - Scrolling/div size issues in action trigger interface
+    
+    The event definition content pane does not properly accommodate its contents.
+    In the Event Definitions tab, the list of event definitions exceeds the height of the
+    pane, but you can't scroll all the way down to the bottom of the list -- some of the
+    content gets cut off. Likewise, when editing an event definition, you can't scroll
+    all the way to the bottom of the page; the Cancel and Save buttons are cut off, and
+    you have to use the Tab key to move the focus down to those buttons, which forces
+    the pane to scroll to the bottom so that they're visible.
+    
+    Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+2      1       Open-ILS/src/templates/conify/global/action_trigger/event_definition.tt2
+
+commit f58737e7f2a78c48c36a0dcdb06dc39f2255021a
+Author: Galen Charlton <gmc@esilibrary.com>
+Date:   Sat May 26 12:42:20 2012 -0400
+
+    trivial whitespace change
+    
+    (for testing post-receive hook after Gitolite upgrade)
+    
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/Proxy.pm
+
+commit 994c5b431d6cf1a5b9637487b9e79c8f8edd5f07
+Author: Galen Charlton <gmc@esilibrary.com>
+Date:   Sat May 26 12:17:58 2012 -0400
+
+    DOC: fix a couple typos
+    
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+
+2      2       docs/admin/acquisitions_admin.txt
+
+commit 24bf58fa0d8d5871f9985449f00cedea0a3b28a5
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri May 25 14:54:23 2012 -0400
+
+    Stamping upgrade for ACQ org setting group
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+12     0       Open-ILS/src/sql/Pg/upgrade/0715.data.add_acq_config_group.sql
+0      6       Open-ILS/src/sql/Pg/upgrade/XXXX.data.add_acq_config_group.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0715.data.add_acq_config_group.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.add_acq_config_group.sql
+
+commit dc59cbc5d2fee3403a08d5dd6023c035d98ea3a0
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Wed Apr 11 21:56:56 2012 -0400
+
+    Group acquisition OU settings in a new "Acquisitions" group
+    
+    As seen in LP867465, the current grouping of acquisition OU settings
+    under the generic "lib" group leads to confusion about which
+    context "default shelf location" and the like apply to. Creating a new
+    "Acquisitions" group will help clarify that current ambiguity.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+10     9       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+6      0       Open-ILS/src/sql/Pg/upgrade/XXXX.data.add_acq_config_group.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.add_acq_config_group.sql
+
+commit 8fe840ca0e54d999617c5770009e02d83439ff1d
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri May 25 14:00:44 2012 -0400
+
+    Repair tpac QueryParser bookbag/container filter
+    
+    The container() filter SQL now JOINs on m.source instead of mrd.id,
+    since mrd is not yet defined in the query (and m.source == mrd.id).
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
+
+commit 912e78d8200e9c2009f34754f3a5d273442a3b52
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Tue May 8 14:20:24 2012 -0400
+
+    Acq: Use scope to constrain choice of lineitem alerts
+    
+    This commit addresses this launchpad bug:
+    https://bugs.launchpad.net/evergreen/+bug/996033
+    
+    The controlled vocabulary of acq lineitem alert text is set up in an
+    interface labeled "Line Item Alerts" in the staff client admin menu. In
+    the PO and selection list interfaces (where alerts can be applied), we
+    will limit the user to selecting alerts from those owned at the user's
+    workstation org unit (or its ancestors).
+    
+    When we display applied alerts, we can also display the shortname of the
+    org unit at which the alert text is defined (the owning_lib column).
+    This should help clarify what's going on with alerts that have already
+    been applied using alert text from another org unit.
+    
+    [Amended since original reference on Launchpad to also show the
+    owning_lib's shortname when confirming alerts at receive time.]
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+21     3       Open-ILS/web/js/ui/default/acq/common/li_table.js
+
+commit cfc68f04ee84a461539ae7dcf1ee467fadff7eb5
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Tue Apr 10 15:35:31 2012 -0400
+
+    menu entry Circulation->Clear Shelf-Expired Holds
+    
+    This spawns the Browse Hold Shelf interface but automatically triggers the View
+    Shelf-Expired Holds and Clear these Holds options.
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+2      0       Open-ILS/web/opac/locale/en-US/lang.dtd
+17     0       Open-ILS/xul/staff_client/chrome/content/main/menu.js
+2      0       Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul
+5      0       Open-ILS/xul/staff_client/chrome/content/main/menu_frame_overlay.xul
+9      1       Open-ILS/xul/staff_client/server/patron/holds.js
+1      0       Open-ILS/xul/staff_client/server/patron/holds.xul
+
+commit a8c34b4547e92bd004fbfbad2734b125f5fc082c
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Fri May 25 11:16:50 2012 -0400
+
+    Stamping upgrade script for TPAC hold override setting
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+28     0       Open-ILS/src/sql/Pg/upgrade/0714.data.tpac-override-hold-ou-setting.sql
+0      28      Open-ILS/src/sql/Pg/upgrade/XXXX.data.tpac-override-hold-ou-setting.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0714.data.tpac-override-hold-ou-setting.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.tpac-override-hold-ou-setting.sql
+
+commit f0a90567ee4f57851ff9f6547ee6061f93865fd9
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 22 17:40:04 2012 -0400
+
+    TPAC auto-override permissable patron hold fail events
+    
+    This adds a new org unit setting which tells the tpac to automatically
+    override hold placement failure events in cases where the patron has the
+    permission to do so.  The goal is to skip the confirmation step
+    currently required by patrons when overridding a tpac hold.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+9      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+21     0       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+28     0       Open-ILS/src/sql/Pg/upgrade/XXXX.data.tpac-override-hold-ou-setting.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.tpac-override-hold-ou-setting.sql
+
+commit f0cb658f6b7cc62a1529d7d81c42d94111f11445
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Thu May 24 11:45:36 2012 -0400
+
+    Allow more granular overrides
+    
+    This adds a new parameter to backend override functions. In most cases the
+    system will act like a hash with all set to 1 was passed in when nothing was
+    passed in by the caller.
+    
+    The new parameter should be a hash containing zero or more of the following
+    options:
+    
+    all - If true (1) override all events
+    events - Should be an array of event textcodes to override
+    
+    For hold placement the "all" option is ignored for possibility checks, but
+    is checked for other events like HOLD_EXISTS.
+    
+    Also included for hold placement is to always run possibility checks for
+    the test and create batch method.
+    
+    Overall, the default is to act like things did previously.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+6      4       Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm
+39     20      Open-ILS/src/perlmods/lib/OpenILS/Application/Cat.pm
+18     3       Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/AssetCommon.pm
+11     2       Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/BibCommon.pm
+5      3       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ.pm
+19     11      Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
+55     33      Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
+3      2       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Survey.pm
+
+commit f77d3e4c08f2422a4a5cf3dda390ee18c5546202
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Fri May 25 10:59:38 2012 -0400
+
+    Stamping upgrade script for the flattener-based pull list
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+24     0       Open-ILS/src/sql/Pg/upgrade/0713.data.simplified-hold-pull-list.sql
+0      24      Open-ILS/src/sql/Pg/upgrade/XXXX.schema.simplified-hold-pull-list.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0713.data.simplified-hold-pull-list.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.simplified-hold-pull-list.sql
+
+commit b3d45facd05ac505b3fde745ac18bf6829a5c4e6
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Sat Mar 31 12:17:40 2012 -0400
+
+    New pull list interface taking advantage of flattener for speed,
+    
+    and advanced sorting.  For now, access it by the "Simplifed Pull List"
+    button along the bottom edge of the existing holds pull list interface
+    (but I think when/if this thing is widely accepted, it should replace
+    the existing interface outright).
+    
+    With thanks to Mike Peters for testing an early version.  Now including
+    some updates requested by Thomas Berezansky.  Specifically, the
+    queue_position column and its relatives fthat come from the same
+    calculation were removed, as they're [very] expensive in computing time to
+    produce and generally useless to pull lists.
+    
+    One exception to the characterization of those fields as "useless" is the
+    "number of potential copies" column, which we should add back later
+    assuming we can find a fast way to do it rather than the previous ways,
+    which were slow.
+    
+    Thanks to Bill Erickson for helping fix my issues in making auto-generated
+    columns coöperate with the column picker (his changes are squashed into
+    this).  I think it's finally right.
+    
+    Now with release notes.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+133    7       Open-ILS/examples/fm_IDL.xml
+2      0       Open-ILS/src/perlmods/lib/OpenILS/Application/Flattener.pm
+2      0       Open-ILS/src/perlmods/lib/OpenILS/Utils/Fieldmapper.pm
+20     5       Open-ILS/src/perlmods/lib/OpenILS/WWW/FlatFielder.pm
+20     0       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+24     0       Open-ILS/src/sql/Pg/upgrade/XXXX.schema.simplified-hold-pull-list.sql
+99     0       Open-ILS/src/templates/circ/hold_pull_list.tt2
+186    87      Open-ILS/web/js/dojo/openils/FlattenerStore.js
+267    70      Open-ILS/web/js/dojo/openils/widget/FlattenerGrid.js
+49     16      Open-ILS/web/js/dojo/openils/widget/GridColumnPicker.js
+2      0       Open-ILS/web/opac/locale/en-US/lang.dtd
+7      0       Open-ILS/xsl/FlatFielder2HTML.xsl
+43     0       Open-ILS/xul/staff_client/server/patron/holds.js
+2      0       Open-ILS/xul/staff_client/server/patron/holds_overlay.xul
+30     0       docs/RELEASE_NOTES_NEXT/simplified-hold-pull-list.txt
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.simplified-hold-pull-list.sql
+ create mode 100644 Open-ILS/src/templates/circ/hold_pull_list.tt2
+ create mode 100644 docs/RELEASE_NOTES_NEXT/simplified-hold-pull-list.txt
+
+commit f30c649e795496000b49cde1b9b32900ee2606b6
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu May 24 10:30:09 2012 -0400
+
+    tpac : uri escape added content key
+    
+    The added content key may have spaces, etc.  URI escape the key to
+    prevent Net::HTTP from croaking in the URL.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
+
+commit a352eb833c9c7e1e11b68560525b2797e2d56085
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri May 18 13:23:53 2012 -0400
+
+    tpac added content default type improvements
+    
+    * In the pre-JS state, only choose a default display type when the type
+    is known to have data.
+    
+    * If no default type is chosen for the main tab link, because no data
+    was available to the template, set the default from the first added
+    content type determined to be available via JS.
+    
+    * Move added content JS to separate template file for easier override.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+55     0       Open-ILS/src/templates/opac/parts/acjs.tt2
+1      35      Open-ILS/src/templates/opac/parts/js.tt2
+3      1       Open-ILS/src/templates/opac/parts/record/extras.tt2
+ create mode 100644 Open-ILS/src/templates/opac/parts/acjs.tt2
+
+commit 551b0ab65ce8f34db142f72ccb7a4e0a42518dd1
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 15 10:11:37 2012 -0400
+
+    TPAC added content data retrieval sanity check
+    
+    On the backend, avoid fetching added content data when initial request
+    returns 404.  This prevents edge case where a specific type may be
+    selected (e.g. via bookmark) even though no data exists for the type.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
+
+commit 918166be5e75e2ab3dd1d0764c2be2f3075edfb1
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 15 09:56:27 2012 -0400
+
+    TPAC added content shows default tab
+    
+    Use the first available content as the default tab to show when the main
+    added content tab is expanded.
+    
+    Note, if no content is known to exist until after JS has run, it's still
+    possible to expand the main tab and have no content selected by default.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+12     4       Open-ILS/src/templates/opac/parts/record/extras.tt2
+
+commit baad6d08cfdf0c6b4dad7985d37e74bfbfbd387b
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 15 09:46:11 2012 -0400
+
+    TPAC added content improvements
+    
+    * Style the sub-tabs to indicate which is selected
+    * If the template knows there is no content, hide the main tab
+    * cleanup
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+18     20      Open-ILS/src/templates/opac/parts/js.tt2
+9      2       Open-ILS/src/templates/opac/parts/record/addedcontent.tt2
+15     6       Open-ILS/src/templates/opac/parts/record/extras.tt2
+3      1       Open-ILS/web/css/skin/default/opac/style.css
+
+commit 5a6956654d190aab736366bee72501eef06d09be
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon May 14 15:22:08 2012 -0400
+
+    TPAC added content integration
+    
+    https://bugs.launchpad.net/evergreen/+bug/984963
+    
+    This adds a new tab on the detail page called Additional Content
+    (suggestions welcome).  When the tab is expanded, available content is
+    presented to the user via a series of sub-tabs.
+    
+    At the start of loading the record detail page, kick off a series of
+    asynchronous HTTP HEAD requests, one per type of added content.  At the
+    end of context loading, read the results of the HTTP requests for any
+    that have completed.  If the status for a type is 200, the type is
+    marked as available.  If it's not 200 (usually 404) it's marked as not
+    available.  Otherwise, it's marked as unknown.
+    
+    In the template, available content produces a link the user can click
+    to view the content.  Non-available content produces no links.  Unknown
+    content produces a link that may lead to content or no content when
+    JS/dojo is disabled.  When dojo is enabled, unknown content sends a
+    series of JS queries to determine the state of the content
+    asynchronously and results in displayed links for any type that is later
+    determined to have content.
+    
+    TODO: when the user expands the Additional Content tab, no type is
+    chosen by default.  A default (available) type needs to be selected on
+    initial display.
+    
+    TODO: better styling, particularly in the sub-tabs.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+126    3       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
+38     0       Open-ILS/src/templates/opac/parts/js.tt2
+49     0       Open-ILS/src/templates/opac/parts/record/addedcontent.tt2
+1      0       Open-ILS/src/templates/opac/parts/record/body.tt2
+2      1       Open-ILS/src/templates/opac/parts/record/extras.tt2
+4      0       Open-ILS/web/css/skin/default/opac/style.css
+ create mode 100644 Open-ILS/src/templates/opac/parts/record/addedcontent.tt2
+
+commit b53d7120da33d7f027b535cf64feca7828178618
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Tue May 22 11:11:01 2012 -0400
+
+    minor fix.. this was working, but not in the same vein of other 'render' elements
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+4      2       Open-ILS/xul/staff_client/server/patron/holds.js
+
+commit 27320c83266d8920e90e74db0e1ac7c11ce1cc42
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Fri May 25 03:14:46 2012 -0400
+
+    README: Bump OpenSRF prerequisite to 2.1 for Evergreen 2.2+
+    
+    Also use a title that fits into the DIG documentation more smoothly, and
+    be consistent about sentence-style capitalization of sub-headings.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+4      4       docs/installation/server_installation.txt
+
+commit 1cf719479266e488a700cfa40fb811e7cf4174c6
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 22 16:22:14 2012 -0400
+
+    TPAC: recover the ability to override hold placement failures
+    
+    There is a certain class of hold failure events (e.g. HOLD_EXISTS,
+    HOLD_ITEM_CHECKED_OUT) that can be overridden by patrons when they have
+    the correct override permission.  This change recovers that ability,
+    which was recently removed with 99e8fc893a.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+4      2       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+
+commit 5537727d1b7e50452f1933e401998de192ecfe02
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Tue May 22 15:10:14 2012 -0400
+
+    stamping upgrade script for saved queries
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+80     0       Open-ILS/src/sql/Pg/upgrade/0712.schema.search_query_groups.sql
+0      78      Open-ILS/src/sql/Pg/upgrade/XXXX.schema.search_query_groups.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0712.schema.search_query_groups.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.search_query_groups.sql
+
+commit aaa3b6c77d54f59fcb2cb7d709797a80aeac908a
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Feb 23 17:01:28 2012 -0500
+
+    TPAC: Search Filter Groups
+    
+    Adds support for a new CGI param:
+    
+    fg:<filter_group_code>=filter_group_entry
+    
+    Each filter group entry will be mapped to a filter_group_entry()
+    filter and appended to the current search query.
+    
+    This includes a new filter selector builder at
+    parts/filter_group_selector.tt2.
+    
+    Usage, assuming a filter_group with code "audience":
+    
+    <span>[% ctx.filter_groups.audience.label %]<span>
+    <span>
+    [%
+        INCLUDE 'opac/parts/filter_group_selector.tt2'
+        filter_group=audience
+        none_ok=1
+    %]
+    <span>
+    
+    The set of filter groups available to the TPAC are those defined at the
+    search org unit and its ancestors.  If multiple filters have the same
+    code name, the filter owned closest to the context org unit is used.
+    This allows for global filters with local overrides.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+9      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+33     1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
+31     0       Open-ILS/src/templates/opac/parts/filter_group_selector.tt2
+ create mode 100644 Open-ILS/src/templates/opac/parts/filter_group_selector.tt2
+
+commit 36592af1e51f4534fcf2207de19706c19daf9efe
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed Apr 18 16:15:46 2012 -0400
+
+    tpac : search_HINT cache fixes
+    
+    When searching for multiple values like a list of IDs, generate the
+    cache key from the sorted JSON form of the search value instead of the
+    bare ARRAY ref.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+5      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
+
+commit 4c61706238fe44ee4c5afe41366a760583d3e797
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Apr 19 13:54:34 2012 -0400
+
+    New QueryParser filter_group_entry filter
+    
+    filter_group_entry() takes one or more filter_group_entry IDs as
+    parameters and applies the included sub-searches as filters on the
+    current search.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+18     0       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
+
+commit e808d718a1104217a884ea2f353b9c1fec8ca101
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Wed Apr 18 13:25:06 2012 -0400
+
+    Give the PG QP driver a subquery callback for the new saved_query() filter
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+18     0       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
+
+commit 712720c419d6f42576426cff43feac773da65b09
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Wed Apr 18 13:24:24 2012 -0400
+
+    Teach QueryParser about search filter callbacks, and if a callback returns a value, parse it at the current recursion level
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+31     2       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/QueryParser.pm
+
+commit 497430ca0a24713c6885fbd26324707baf616d5e
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Feb 23 14:28:50 2012 -0500
+
+    Search Filter Groups and Generic Queries : DB / IDL
+    
+    Adds 3 new tables.  The first is a general purpose container for
+    query-parser queries.  These can be used by other entities for storing
+    saved searches, saved search filters, etc.  Each contains a query string
+    and a label.
+    
+    The two other tables are for creating org unit saved search filter
+    groups.  A filter group is a named set of search queries, treated as
+    filters, collected to create a high-level search filter.  Filter group
+    entries use search_query's under the covers, so the content of the
+    filter can be any valid query string, including other filters or even
+    other filter groups.
+    
+    For example, you could create an "Audience" filter group with entries
+    like, "Children" => "audience(a, b) locations(3,4,5)" to filter on copy
+    location in addition to the MARC audience data.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+62     0       Open-ILS/examples/fm_IDL.xml
+27     0       Open-ILS/src/sql/Pg/005.schema.actors.sql
+78     0       Open-ILS/src/sql/Pg/upgrade/XXXX.schema.search_query_groups.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.search_query_groups.sql
+
+commit 287a3e2052f5699daacddb7c536b6a15631fcf16
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon May 21 10:32:56 2012 -0400
+
+    Query Parser merged copy / non-dynamic filters
+    
+    When more than one copy-level filter (e.g. locations()) is used in a
+    query-parser query, all but the first are ignored.  The goal of this
+    work is to compress multiple copy-level filters into a single filter
+    that represents the full collection.  Wherever possible, boolean
+    structures will be honored, to the extent possible for post-search
+    copy-level filters.
+    
+    Examples:
+    
+    concerto locations(1,2) locations(3,4)
+    
+    ==> concerto locations(1,2,3,4)
+    
+    ( concerto locations(3,4,5) ) || (piano locations(3,5,7) )
+    
+    ==> ( concerto || piano ) locations(3,4,5,6,7)
+    
+    ( concerto locations(3,4,5) ) && ( piano locations(3,5,7) )
+    
+    ==> concerto piano locations(3,5)
+    
+    Note, in the last 2 examples, the final query does not exactly match the
+    original.  This is because copy-level filters are applied after the
+    initial search and cannot be executed as part of the  nested query.  The
+    best we can do is create a representation of the final copy-level
+    filter, based on the nesting, and apply it to the final result of the
+    nested search.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+70     2       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/QueryParser.pm
+
+commit b90330614c99c08f67b6e51cdf2aa035edfba66b
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 15 18:00:30 2012 -0400
+
+    Query Parser nested dynamic filters
+    
+    Dynamic filters (from metabib.record_attr) are now parsed along with
+    search strings and facets as Query Parser descends the parse tree.  The
+    WHERE clause for the query as a whole is now a combination of the main
+    WHERE and the ON clause for JOINing to metabib.record_attr.  This gives
+    us the ability to create complex boolean nested queries using
+    SVF/record_attr filters, unlike before where nested filters were either
+    ignored or always treated as global filters.
+    
+    For example:
+    
+    concerto && ( ( item_type(a) subject|topic[Music] ) || item_form(a) )
+    
+    This query now successfully limits the "concerto" search to results that
+    have either (item_type(a) AND subject|topic[Music]) OR item_form(a).
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+82     42      Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
+4      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/QueryParser.pm
+
+commit 81dbf4d6a4a2c008cac9ca3fef8b0a8158157794
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue May 15 17:59:56 2012 -0400
+
+    QueryParser test script
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+105    0       Open-ILS/src/support-scripts/test-scripts/query_parser.pl
+ create mode 100755 Open-ILS/src/support-scripts/test-scripts/query_parser.pl
+
+commit 130ba6db26674313416a0309a0290fe98ec7404e
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Mon May 21 15:09:59 2012 -0400
+
+    Use spaces instead of tabs in QueryParser.pm
+    
+    Copying swathes of SQL from logs into psql would often trigger the
+    autocompletion that psql offers, garbling a query awfully. Define the
+    local $spc var as two spaces and use that instead, leaving open the
+    option for reverting to tabs or anything else people prefer.
+    
+    Also remove trailing whitespace, as this whole thing is about space.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+18     16      Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
+
+commit f09d75c476244080512e143366a38cde683e192b
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Mon May 21 14:22:40 2012 -0400
+
+    Makes a warning go away when running fts-replacement.pl, but may have...
+    
+    ...consequences.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+11     3       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
+
+commit e81a006e5d453fdf7ca8f6c98ac91c01fc3e0d9e
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Mon May 21 14:02:11 2012 -0400
+
+    Fix typo in TEST_SETUP for QueryParser.pm
+    
+    "author|coporate" doesn't exist, probably doesn't matter much in
+    principle but is worthwhile getting rid of the distraction.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+3      3       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
+
+commit 33734b49a46374cce5ae05e7f33c32496334f600
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Thu Dec 29 11:36:20 2011 -0500
+
+    abstract query representations from QueryParser
+    
+    When you perform a search, you now also get back an abstract
+    representation of your search query.  fts-replacement.pl is a test
+    script that shows you things that QueryParser does, including the new
+    abstract query feature, and it also reconstitutes a string from the
+    abstract query to demonstrate the correctness of that query.
+    
+    [Also]
+    Make last-wins true for facets, filters and modifiers -- arg!; Parameterized values win in the staged-search QP wrapper
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+57     0       Open-ILS/src/extras/fts-replacement.pl
+134    62      Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm
+429    19      Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/QueryParser.pm
+ create mode 100755 Open-ILS/src/extras/fts-replacement.pl
+
+commit 7abdb32ecbfecc3f01016c64b8f3f8faff45a93e
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Mon May 21 14:46:53 2012 -0400
+
+    QueryParser: comma-delimit multiple WITH clauses
+    
+    Bill Erickson's fix for my breakage of QueryParser.pm for the speedup
+    via the WITH common table expression usage inadvertently left out
+    the commas required to delimit multiple WITH clauses, resulting in SQL
+    query errors.
+    
+    This fixes that oversight. Note that the fts-replacement.pl script came
+    in quite handy for testing this; recommended.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+2      2       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
+
+commit 65a75840f824e104792c8913336e8fa18d358339
+Author: Jason Stephenson <jason@sigio.com>
+Date:   Fri May 18 22:51:14 2012 -0400
+
+    Add libnet-https-any-perl as precise deb requirement in Makefile.install.
+    
+    Business::OnlinePayment::PayPal requires it, and it does not always want
+    to install from CPAN. It says it require either Net-SSLeay or
+    Crypt-SSLeay but the CPAN package never wants to install unless they
+    both are installed. The deb package for Ubuntu seems to do the right
+    thing.
+    
+    Signed-off-by: Jason Stephenson <jason@sigio.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+2      1       Open-ILS/src/extras/Makefile.install
+
+commit 08297491c797391c199475a9e47b00550f4804fb
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri May 18 16:42:19 2012 -0400
+
+    QP support for nested WITH construction
+    
+    Nested query plans build their own tsquery chunks which have to be
+    individually JOINed to the final query.  To do this, each tsquery SELECT
+    gets its own entry in the top-level WITH, complete with alias for
+    joining.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+10     3       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
+
+commit 2ecc6a34c78a50bda4989821c042f28492429a4d
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Sun May 20 23:02:09 2012 -0400
+
+    Further integration: link README to server install docs
+    
+    We will now have the INSTALL file linking to the README file which in
+    turn leads to the docs/installation/server_installation.text file. But
+    it all works!
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      549     README
+4      4       docs/installation/server_installation.txt
+ mode change 100644 => 120000 README
+
+commit c273bc47545ff56b4b0b5113775b69b6d9b6d53e
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Sun May 20 22:51:52 2012 -0400
+
+    Merge the Evergreen docs into the code repository
+    
+    Rather than maintaining two separate repositories, with dual maintenance
+    of what are essentially single-sourced files in the release notes and
+    the install instructions, make better use of the docs/ subfolder of the
+    Evergreen repository. If this crazy scheme works, DIG can commit to the
+    docs/ subfolder, and devs can commit there too.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+2      0       .gitignore
+0      25      acquisitions/introduction.txt
+0      73      acquisitions/receive_items_from_invoice.txt
+0      136     acquisitions/selection_lists_po.txt
+0      69      acquisitions/vandelay_acquisitions_integration.txt
+0      122     admin/SMS_messaging.txt
+0      490     admin/acquisitions_admin.txt
+0      170     admin/authorities.txt
+0      32      admin/auto_suggest_search.txt
+0      199     admin/booking-admin.txt
+0      46      admin/cn_prefixes_and_suffixes.txt
+0      59      admin/customize_staff_client.txt
+0      53      admin/hold_driven_recalls.txt
+0      38      admin/lsa-library_settings_editor.txt
+0      79      admin/lsa-statcat.txt
+0      49      admin/recent_staff_searches.txt
+0      49      admin/restrict_Z39.50_sources_by_perm_group.txt
+0      23      admin/staff_client-double_clicking.txt
+0      42      admin/staff_client-recent_searches.txt
+0      6       admin/staff_client-return_to_results_from_marc.txt
+0      59      admin/staff_client-sorting_columns.txt
+0      6       admin/staff_client-tab_buttons.txt
+0      294     admin/template_toolkit.txt
+0      32      admin/user_activity_type.txt
+0      46      attributions.txt
+0      214     cataloging/batch_importing_MARC.txt
+0      106     cataloging/conjoined_items.txt
+0      57      cataloging/monograph_parts.txt
+0      55      cataloging/overlay_record_3950_import.txt
+0      0       circulation/README
+0      272     circulation/booking.txt
+0      327     circulation/circulating_items.txt
+0      0       development/README
+0      54      development/updating_translations_launchpad.txt
+4      5       docs/RELEASE_NOTES_2_2.txt
+25     0       docs/acquisitions/introduction.txt
+73     0       docs/acquisitions/receive_items_from_invoice.txt
+136    0       docs/acquisitions/selection_lists_po.txt
+69     0       docs/acquisitions/vandelay_acquisitions_integration.txt
+122    0       docs/admin/SMS_messaging.txt
+490    0       docs/admin/acquisitions_admin.txt
+170    0       docs/admin/authorities.txt
+32     0       docs/admin/auto_suggest_search.txt
+199    0       docs/admin/booking-admin.txt
+46     0       docs/admin/cn_prefixes_and_suffixes.txt
+59     0       docs/admin/customize_staff_client.txt
+53     0       docs/admin/hold_driven_recalls.txt
+38     0       docs/admin/lsa-library_settings_editor.txt
+79     0       docs/admin/lsa-statcat.txt
+49     0       docs/admin/recent_staff_searches.txt
+49     0       docs/admin/restrict_Z39.50_sources_by_perm_group.txt
+23     0       docs/admin/staff_client-double_clicking.txt
+42     0       docs/admin/staff_client-recent_searches.txt
+6      0       docs/admin/staff_client-return_to_results_from_marc.txt
+59     0       docs/admin/staff_client-sorting_columns.txt
+6      0       docs/admin/staff_client-tab_buttons.txt
+294    0       docs/admin/template_toolkit.txt
+32     0       docs/admin/user_activity_type.txt
+46     0       docs/attributions.txt
+214    0       docs/cataloging/batch_importing_MARC.txt
+106    0       docs/cataloging/conjoined_items.txt
+57     0       docs/cataloging/monograph_parts.txt
+55     0       docs/cataloging/overlay_record_3950_import.txt
+0      0       docs/circulation/README
+272    0       docs/circulation/booking.txt
+327    0       docs/circulation/circulating_items.txt
+0      0       docs/development/README
+54     0       docs/development/updating_translations_launchpad.txt
+212    0       docs/installation/edi_setup.txt
+549    0       docs/installation/server_installation.txt
+244    0       docs/installation/server_upgrade.txt
+32     0       docs/installation/system_requirements.txt
+189    0       docs/licensing.txt
+-      -       docs/media/1.png
+-      -       docs/media/10.png
+-      -       docs/media/11.png
+-      -       docs/media/12.png
+-      -       docs/media/13.png
+-      -       docs/media/14.png
+-      -       docs/media/15.png
+-      -       docs/media/2.png
+-      -       docs/media/3.png
+-      -       docs/media/4.png
+-      -       docs/media/5.png
+-      -       docs/media/6.png
+-      -       docs/media/7.png
+-      -       docs/media/8.png
+-      -       docs/media/9.png
+-      -       docs/media/Authority_Control_Sets1.jpg
+-      -       docs/media/Authority_Control_Sets1.jpg.1
+-      -       docs/media/Authority_Control_Sets2.jpg
+-      -       docs/media/Authority_Control_Sets2.jpg.1
+-      -       docs/media/Authority_Control_Sets3.jpg
+-      -       docs/media/Authority_Control_Sets3.jpg.1
+-      -       docs/media/Authority_Control_Sets4.jpg
+-      -       docs/media/Authority_Control_Sets4.jpg.1
+-      -       docs/media/Authority_Control_Sets5.jpg
+-      -       docs/media/Authority_Control_Sets5.jpg.1
+-      -       docs/media/Authority_Control_Sets6.jpg
+-      -       docs/media/Authority_Control_Sets6.jpg.1
+-      -       docs/media/Authority_Control_Sets7.jpg
+-      -       docs/media/Authority_Control_Sets7.jpg.1
+-      -       docs/media/Authority_Control_Sets8.jpg
+-      -       docs/media/Authority_Control_Sets8.jpg.1
+-      -       docs/media/Authority_Control_Sets9.jpg
+-      -       docs/media/Authority_Control_Sets9.jpg.1
+-      -       docs/media/Auto_Suggest_in_Catalog_Search1.jpg
+-      -       docs/media/Auto_Suggest_in_Catalog_Search2.jpg
+-      -       docs/media/Batch_Importing_MARC_Records1.jpg
+-      -       docs/media/Batch_Importing_MARC_Records10.jpg
+-      -       docs/media/Batch_Importing_MARC_Records11.jpg
+-      -       docs/media/Batch_Importing_MARC_Records12.jpg
+-      -       docs/media/Batch_Importing_MARC_Records13.jpg
+-      -       docs/media/Batch_Importing_MARC_Records14.jpg
+-      -       docs/media/Batch_Importing_MARC_Records15.jpg
+-      -       docs/media/Batch_Importing_MARC_Records2.jpg
+-      -       docs/media/Batch_Importing_MARC_Records3.jpg
+-      -       docs/media/Batch_Importing_MARC_Records4.jpg
+-      -       docs/media/Batch_Importing_MARC_Records5.jpg
+-      -       docs/media/Batch_Importing_MARC_Records6.jpg
+-      -       docs/media/Batch_Importing_MARC_Records7.jpg
+-      -       docs/media/Batch_Importing_MARC_Records8.jpg
+-      -       docs/media/Batch_Importing_MARC_Records9.jpg
+-      -       docs/media/Call_Number_Prefixes_and_Suffixes_2_21.jpg
+-      -       docs/media/Call_Number_Prefixes_and_Suffixes_2_22.jpg
+-      -       docs/media/Call_Number_Prefixes_and_Suffixes_2_22.jpg.1
+-      -       docs/media/Customizable_Toolbar1.jpg
+-      -       docs/media/Customizable_Toolbar2.jpg
+-      -       docs/media/Customizable_Toolbar3.jpg
+-      -       docs/media/Customizable_Toolbar4.jpg
+-      -       docs/media/Double_Click1.jpg
+-      -       docs/media/Double_Click2.jpg
+-      -       docs/media/Double_Click3.jpg
+-      -       docs/media/My_Lists1.jpg
+-      -       docs/media/My_Lists3.jpg
+-      -       docs/media/My_Lists4.jpg
+-      -       docs/media/My_Lists5.jpg
+-      -       docs/media/My_Lists6.jpg
+-      -       docs/media/My_Lists7.jpg
+-      -       docs/media/New_Tab_Button1.jpg
+-      -       docs/media/Overlay_Existing_Record_via_Z39_50_Import1.jpg
+-      -       docs/media/Overlay_Existing_Record_via_Z39_50_Import2.jpg
+-      -       docs/media/Overlay_Existing_Record_via_Z39_50_Import3.jpg
+-      -       docs/media/Overlay_Existing_Record_via_Z39_50_Import4.jpg
+-      -       docs/media/Overlay_Existing_Record_via_Z39_50_Import5.jpg
+-      -       docs/media/Overlay_Existing_Record_via_Z39_50_Import6.jpg
+-      -       docs/media/Receive_Items_From_an_Invoice1.jpg
+-      -       docs/media/Receive_Items_From_an_Invoice2.jpg
+-      -       docs/media/Receive_Items_From_an_Invoice3.jpg
+-      -       docs/media/Receive_Items_From_an_Invoice4.jpg
+-      -       docs/media/Receive_Items_From_an_Invoice5.jpg
+-      -       docs/media/Receive_Items_From_an_Invoice6.jpg
+-      -       docs/media/Receive_Items_From_an_Invoice7.jpg
+-      -       docs/media/Restrict_Z39_50_Sources_by_Permission_Group1.jpg
+-      -       docs/media/Restrict_Z39_50_Sources_by_Permission_Group2.jpg
+-      -       docs/media/Restrict_Z39_50_Sources_by_Permission_Group3.jpg
+-      -       docs/media/SMS_Text_Messaging1.jpg
+-      -       docs/media/SMS_Text_Messaging10.jpg
+-      -       docs/media/SMS_Text_Messaging11.jpg
+-      -       docs/media/SMS_Text_Messaging12.jpg
+-      -       docs/media/SMS_Text_Messaging13.jpg
+-      -       docs/media/SMS_Text_Messaging2.jpg
+-      -       docs/media/SMS_Text_Messaging3.jpg
+-      -       docs/media/SMS_Text_Messaging4.jpg
+-      -       docs/media/SMS_Text_Messaging5.jpg
+-      -       docs/media/SMS_Text_Messaging6.jpg
+-      -       docs/media/SMS_Text_Messaging7.jpg
+-      -       docs/media/SMS_Text_Messaging8.jpg
+-      -       docs/media/SMS_Text_Messaging9.jpg
+-      -       docs/media/Saved_Catalog_Searches_2_21.jpg
+-      -       docs/media/Saved_Catalog_Searches_2_21.jpg.1
+-      -       docs/media/Saved_Catalog_Searches_2_22.jpg
+-      -       docs/media/Saved_Catalog_Searches_2_22.jpg.1
+-      -       docs/media/Search_Results1.jpg
+-      -       docs/media/Sorting_Columns2.jpg
+-      -       docs/media/Sorting_Columns3.jpg
+-      -       docs/media/Sorting_Columns3.jpg.1
+-      -       docs/media/Sorting_Columns4.jpg
+-      -       docs/media/Sorting_Columns5.jpg
+-      -       docs/media/Target_Pickup_Lib1.jpg
+-      -       docs/media/Target_Pickup_Lib2.jpg
+-      -       docs/media/User_Activity_Types1A.jpg
+-      -       docs/media/User_Activity_Types2A.jpg
+-      -       docs/media/Vandelay_Integration_into_Acquisitions1.jpg
+-      -       docs/media/Vandelay_Integration_into_Acquisitions2.jpg
+-      -       docs/media/Vandelay_Integration_into_Acquisitions3.jpg
+-      -       docs/media/Vandelay_Integration_into_Acquisitions4.jpg
+-      -       docs/media/Vandelay_Integration_into_Acquisitions5.jpg
+-      -       docs/media/Vandelay_Integration_into_Acquisitions6.jpg
+-      -       docs/media/acq_activate.png
+-      -       docs/media/acq_apply_claim_policy.png
+-      -       docs/media/acq_brief_record-2.png
+-      -       docs/media/acq_brief_record.png
+-      -       docs/media/acq_cancel_copy.png
+-      -       docs/media/acq_cancel_line_items.png
+-      -       docs/media/acq_claim_item-2.png
+-      -       docs/media/acq_claim_item-3.png
+-      -       docs/media/acq_claim_item-4.png
+-      -       docs/media/acq_claim_item-5.png
+-      -       docs/media/acq_claim_item.png
+-      -       docs/media/acq_export_list.png
+-      -       docs/media/acq_funds-2.png
+-      -       docs/media/acq_funds.png
+-      -       docs/media/acq_invoice_blanket.png
+-      -       docs/media/acq_invoice_line_items.png
+-      -       docs/media/acq_invoice_link.png
+-      -       docs/media/acq_invoice_purchase_order.png
+-      -       docs/media/acq_invoice_view-2.png
+-      -       docs/media/acq_invoice_view.png
+-      -       docs/media/acq_line_items_add_copies-2.png
+-      -       docs/media/acq_line_items_add_copies-3.png
+-      -       docs/media/acq_line_items_add_copies.png
+-      -       docs/media/acq_line_items_add_notes.png
+-      -       docs/media/acq_line_items_alerts-2.png
+-      -       docs/media/acq_line_items_alerts.png
+-      -       docs/media/acq_line_items_link-2.png
+-      -       docs/media/acq_line_items_link.png
+-      -       docs/media/acq_line_items_update_barcodes.png
+-      -       docs/media/acq_line_items_view_history.png
+-      -       docs/media/acq_line_items_worksheet.png
+-      -       docs/media/acq_load_records.png
+-      -       docs/media/acq_marc_search-2.png
+-      -       docs/media/acq_marc_search.png
+-      -       docs/media/acq_purchase_order_add_charges.png
+-      -       docs/media/acq_purchase_order_add_note.png
+-      -       docs/media/acq_purchase_order_create.png
+-      -       docs/media/acq_purchase_order_history.png
+-      -       docs/media/acq_purchase_order_name.png
+-      -       docs/media/acq_purchase_order_print.png
+-      -       docs/media/acq_purchase_order_split-2.png
+-      -       docs/media/acq_purchase_order_split.png
+-      -       docs/media/acq_purchase_order_view-2.png
+-      -       docs/media/acq_purchase_order_view.png
+-      -       docs/media/acq_search.png
+-      -       docs/media/acq_selection_clone.png
+-      -       docs/media/acq_selection_create.png
+-      -       docs/media/acq_selection_mark_ready-2.png
+-      -       docs/media/acq_selection_mark_ready.png
+-      -       docs/media/acq_selection_merge.png
+-      -       docs/media/acq_workflow.jpg
+-      -       docs/media/add_holdings-1.png
+-      -       docs/media/add_holdings-2.png
+-      -       docs/media/add_holdings-3.png
+-      -       docs/media/add_holdings-4.png
+-      -       docs/media/add_holdings-5.png
+-      -       docs/media/application-pdf.png
+-      -       docs/media/ascv-distr.jpg
+-      -       docs/media/ascv-issues.jpg
+-      -       docs/media/ascv-sub.jpg
+-      -       docs/media/backdate_checkin.png
+-      -       docs/media/backdate_post_checkin.png
+-      -       docs/media/backdate_post_date.png
+-      -       docs/media/backdate_red.png
+-      -       docs/media/bills-1.png
+-      -       docs/media/bills-10.png
+-      -       docs/media/bills-11.png
+-      -       docs/media/bills-12.png
+-      -       docs/media/bills-13.png
+-      -       docs/media/bills-14.png
+-      -       docs/media/bills-15.png
+-      -       docs/media/bills-16.png
+-      -       docs/media/bills-17.png
+-      -       docs/media/bills-18.png
+-      -       docs/media/bills-19.png
+-      -       docs/media/bills-2.png
+-      -       docs/media/bills-20.png
+-      -       docs/media/bills-3.png
+-      -       docs/media/bills-4.png
+-      -       docs/media/bills-5.png
+-      -       docs/media/bills-6.png
+-      -       docs/media/bills-7.png
+-      -       docs/media/bills-8.png
+-      -       docs/media/bills-9.png
+-      -       docs/media/booking-cancel-1.png
+-      -       docs/media/booking-cancel-2.png
+-      -       docs/media/booking-cancel-3.png
+-      -       docs/media/booking-cancel-4.png
+-      -       docs/media/booking-capture-1.png
+-      -       docs/media/booking-capture-2.png
+-      -       docs/media/booking-capture-3.png
+-      -       docs/media/booking-create-1.png
+-      -       docs/media/booking-create-2.png
+-      -       docs/media/booking-create-3.png
+-      -       docs/media/booking-create-4.png
+-      -       docs/media/booking-create-5.png
+-      -       docs/media/booking-create-6.png
+-      -       docs/media/booking-create-7.png
+-      -       docs/media/booking-create-8.png
+-      -       docs/media/booking-create-9.png
+-      -       docs/media/booking-create-bookable-1.png
+-      -       docs/media/booking-create-bookable-2.png
+-      -       docs/media/booking-create-bookable-3.png
+-      -       docs/media/booking-create-bookable-4.png
+-      -       docs/media/booking-create-bookable-5.png
+-      -       docs/media/booking-create-bookable-6.png
+-      -       docs/media/booking-create-module-1.png
+-      -       docs/media/booking-create-module-2.png
+-      -       docs/media/booking-create-module-3.png
+-      -       docs/media/booking-create-module-4.png
+-      -       docs/media/booking-create-resourcetype-1.png
+-      -       docs/media/booking-create-resourcetype-2.png
+-      -       docs/media/booking-create-resourcetype-3.png
+-      -       docs/media/booking-create-resourcetype-4.png
+-      -       docs/media/booking-create-resourcetype-5.png
+-      -       docs/media/booking-pickup-1.png
+-      -       docs/media/booking-pickup-2.png
+-      -       docs/media/booking-pickup-3.png
+-      -       docs/media/booking-pickup-module-1.png
+-      -       docs/media/booking-pull-1.png
+-      -       docs/media/booking-pull-2.png
+-      -       docs/media/booking-pull-3.png
+-      -       docs/media/booking-return-2.png
+-      -       docs/media/booking-return-module-1.png
+-      -       docs/media/booking-return-module-2.png
+-      -       docs/media/booking-return-module-4.png
+-      -       docs/media/cap-wiz-cal.jpg
+-      -       docs/media/cap-wiz-chan.jpg
+-      -       docs/media/cap-wiz-chron.jpg
+-      -       docs/media/cap-wiz-freq.jpg
+-      -       docs/media/cap-wiz-num.jpg
+-      -       docs/media/catalogue-10.png
+-      -       docs/media/catalogue-11.png
+-      -       docs/media/catalogue-3.png
+-      -       docs/media/catalogue-4.png
+-      -       docs/media/catalogue-5.png
+-      -       docs/media/catalogue-6.png
+-      -       docs/media/catalogue-7.png
+-      -       docs/media/catalogue-8.png
+-      -       docs/media/catalogue-9.png
+-      -       docs/media/caution.png
+-      -       docs/media/ccbysa.png
+-      -       docs/media/check_in_menu.png
+-      -       docs/media/checkin_barcode.png
+-      -       docs/media/checkin_options.png
+-      -       docs/media/checkout_item_barcode.png
+-      -       docs/media/checkout_menu.png
+-      -       docs/media/circulation-1.png
+-      -       docs/media/circulation-10.png
+-      -       docs/media/circulation-11.png
+-      -       docs/media/circulation-12.png
+-      -       docs/media/circulation-13.png
+-      -       docs/media/circulation-14.png
+-      -       docs/media/circulation-15.png
+-      -       docs/media/circulation-16.png
+-      -       docs/media/circulation-17.png
+-      -       docs/media/circulation-18.png
+-      -       docs/media/circulation-19.png
+-      -       docs/media/circulation-2.png
+-      -       docs/media/circulation-20.png
+-      -       docs/media/circulation-21.png
+-      -       docs/media/circulation-22.png
+-      -       docs/media/circulation-23.png
+-      -       docs/media/circulation-24.png
+-      -       docs/media/circulation-25.png
+-      -       docs/media/circulation-26.png
+-      -       docs/media/circulation-27.png
+-      -       docs/media/circulation-28.png
+-      -       docs/media/circulation-29.png
+-      -       docs/media/circulation-3.png
+-      -       docs/media/circulation-30.png
+-      -       docs/media/circulation-31.png
+-      -       docs/media/circulation-32.png
+-      -       docs/media/circulation-33.png
+-      -       docs/media/circulation-34.png
+-      -       docs/media/circulation-35.png
+-      -       docs/media/circulation-36.png
+-      -       docs/media/circulation-4.png
+-      -       docs/media/circulation-5.png
+-      -       docs/media/circulation-6.png
+-      -       docs/media/circulation-7.png
+-      -       docs/media/circulation-8.png
+-      -       docs/media/circulation-9.png
+-      -       docs/media/claimed_date.png
+-      -       docs/media/conj1.jpg
+-      -       docs/media/conj10.jpg
+-      -       docs/media/conj2.jpg
+-      -       docs/media/conj3.jpg
+-      -       docs/media/conj4.jpg
+-      -       docs/media/conj5.jpg
+-      -       docs/media/conj6.jpg
+-      -       docs/media/conj7.jpg
+-      -       docs/media/conj8.jpg
+-      -       docs/media/conj9.jpg
+-      -       docs/media/copy_alert_message.png
+-      -       docs/media/copy_edit_alert.png
+-      -       docs/media/create-template-1.png
+-      -       docs/media/create-template-10.png
+-      -       docs/media/create-template-11.png
+-      -       docs/media/create-template-12.png
+-      -       docs/media/create-template-13.png
+-      -       docs/media/create-template-15.png
+-      -       docs/media/create-template-16.png
+-      -       docs/media/create-template-17.png
+-      -       docs/media/create-template-19.png
+-      -       docs/media/create-template-2.png
+-      -       docs/media/create-template-20.png
+-      -       docs/media/create-template-21.png
+-      -       docs/media/create-template-22.png
+-      -       docs/media/create-template-23.png
+-      -       docs/media/create-template-24.png
+-      -       docs/media/create-template-25.png
+-      -       docs/media/create-template-26.png
+-      -       docs/media/create-template-27.png
+-      -       docs/media/create-template-28.png
+-      -       docs/media/create-template-29.png
+-      -       docs/media/create-template-3.png
+-      -       docs/media/create-template-30.png
+-      -       docs/media/create-template-31.png
+-      -       docs/media/create-template-32.png
+-      -       docs/media/create-template-33.png
+-      -       docs/media/create-template-34.png
+-      -       docs/media/create-template-35.png
+-      -       docs/media/create-template-4.png
+-      -       docs/media/create-template-5.png
+-      -       docs/media/create-template-6.png
+-      -       docs/media/create-template-7.png
+-      -       docs/media/create-template-8.png
+-      -       docs/media/create-template-9.png
+-      -       docs/media/due_date_display.png
+-      -       docs/media/edit_due_date_action.png
+-      -       docs/media/epub_logo_color_ht39.gif
+-      -       docs/media/evergreen_logo.gif
+-      -       docs/media/folder-1.png
+-      -       docs/media/folder-10.png
+-      -       docs/media/folder-11.png
+-      -       docs/media/folder-12.png
+-      -       docs/media/folder-13.png
+-      -       docs/media/folder-14.png
+-      -       docs/media/folder-7a.png
+-      -       docs/media/generate-report-1.png
+-      -       docs/media/generate-report-10.png
+-      -       docs/media/generate-report-14.png
+-      -       docs/media/generate-report-2.png
+-      -       docs/media/generate-report-3.png
+-      -       docs/media/generate-report-8.png
+-      -       docs/media/generate-report-9.png
+-      -       docs/media/hold-1.png
+-      -       docs/media/hold-10.png
+-      -       docs/media/hold-11.png
+-      -       docs/media/hold-12.png
+-      -       docs/media/hold-14.png
+-      -       docs/media/hold-15.png
+-      -       docs/media/hold-16.png
+-      -       docs/media/hold-17.png
+-      -       docs/media/hold-18.png
+-      -       docs/media/hold-19.png
+-      -       docs/media/hold-2.png
+-      -       docs/media/hold-20.png
+-      -       docs/media/hold-21.png
+-      -       docs/media/hold-22.png
+-      -       docs/media/hold-23.png
+-      -       docs/media/hold-24.png
+-      -       docs/media/hold-25.png
+-      -       docs/media/hold-26.png
+-      -       docs/media/hold-27.png
+-      -       docs/media/hold-28.png
+-      -       docs/media/hold-29.png
+-      -       docs/media/hold-4.png
+-      -       docs/media/hold-5.png
+-      -       docs/media/hold-6.png
+-      -       docs/media/hold-7.png
+-      -       docs/media/hold-8.png
+-      -       docs/media/hold-9.png
+-      -       docs/media/holds-clearing-1.png
+-      -       docs/media/holds-clearing-2.png
+-      -       docs/media/holds-clearing-3.png
+-      -       docs/media/holds-clearing-4.png
+-      -       docs/media/holds-managing-1.png
+-      -       docs/media/holds-managing-10.png
+-      -       docs/media/holds-managing-11.png
+-      -       docs/media/holds-managing-12.png
+-      -       docs/media/holds-managing-13.png
+-      -       docs/media/holds-managing-14.png
+-      -       docs/media/holds-managing-15.png
+-      -       docs/media/holds-managing-16.png
+-      -       docs/media/holds-managing-17.png
+-      -       docs/media/holds-managing-18.png
+-      -       docs/media/holds-managing-19.png
+-      -       docs/media/holds-managing-2.png
+-      -       docs/media/holds-managing-3.png
+-      -       docs/media/holds-managing-4.png
+-      -       docs/media/holds-managing-5.png
+-      -       docs/media/holds-managing-6.png
+-      -       docs/media/holds-managing-7.png
+-      -       docs/media/holds-managing-8.png
+-      -       docs/media/holds-managing-9.png
+-      -       docs/media/holds-notifications-1.png
+-      -       docs/media/holds-notifications-2.png
+-      -       docs/media/holds-notifications-3.png
+-      -       docs/media/holds-notifications-4.png
+-      -       docs/media/holds-placing-1.png
+-      -       docs/media/holds-placing-10.png
+-      -       docs/media/holds-placing-11.png
+-      -       docs/media/holds-placing-2.png
+-      -       docs/media/holds-placing-3.png
+-      -       docs/media/holds-placing-4.png
+-      -       docs/media/holds-placing-5.png
+-      -       docs/media/holds-placing-6.png
+-      -       docs/media/holds-placing-7.png
+-      -       docs/media/holds-placing-8.png
+-      -       docs/media/holds-placing-9.png
+-      -       docs/media/holds-pull-1.png
+-      -       docs/media/holds-pull-2.png
+-      -       docs/media/holds-pull-3.png
+-      -       docs/media/holds-pull-4.png
+-      -       docs/media/holds-pull-5.png
+-      -       docs/media/holds-pull-5a.png
+-      -       docs/media/holds-pull-6.png
+-      -       docs/media/holds-pull-7.png
+-      -       docs/media/holds-pull-8.png
+-      -       docs/media/holds-pull-9.png
+-      -       docs/media/in_house_use.png
+-      -       docs/media/item_status_altview.png
+-      -       docs/media/item_status_barcode.png
+-      -       docs/media/item_status_list_view.png
+-      -       docs/media/item_status_menu.png
+-      -       docs/media/items_out_click.png
+-      -       docs/media/k_book_record.png
+-      -       docs/media/last_few_circs_action.png
+-      -       docs/media/last_few_circs_display.png
+-      -       docs/media/lost_cr_section.png
+-      -       docs/media/lsa-1.png
+-      -       docs/media/lsa-10.jpg
+-      -       docs/media/lsa-11.jpg
+-      -       docs/media/lsa-12.jpg
+-      -       docs/media/lsa-14.jpg
+-      -       docs/media/lsa-16.jpg
+-      -       docs/media/lsa-17.jpg
+-      -       docs/media/lsa-18.jpg
+-      -       docs/media/lsa-2.jpg
+-      -       docs/media/lsa-22.png
+-      -       docs/media/lsa-23.jpg
+-      -       docs/media/lsa-25.jpg
+-      -       docs/media/lsa-26.jpg
+-      -       docs/media/lsa-27.jpg
+-      -       docs/media/lsa-28.jpg
+-      -       docs/media/lsa-32.jpg
+-      -       docs/media/lsa-33.jpg
+-      -       docs/media/lsa-4.jpg
+-      -       docs/media/lsa-5.jpg
+-      -       docs/media/lsa-7.jpg
+-      -       docs/media/lsa-8.jpg
+-      -       docs/media/lsa-closed-mountain-1.png
+-      -       docs/media/lsa-closed-mountain-2.png
+-      -       docs/media/lsa-group-0.png
+-      -       docs/media/lsa-group-1.png
+-      -       docs/media/lsa-group-1a.png
+-      -       docs/media/lsa-group-2.png
+-      -       docs/media/lsa-group-3.png
+-      -       docs/media/lsa-group-4.png
+-      -       docs/media/lsa-group-5.png
+-      -       docs/media/lsa-group-6.png
+-      -       docs/media/lsa-statcat-1.png
+-      -       docs/media/lsa-statcat-2.png
+-      -       docs/media/lsa-statcat-3.png
+-      -       docs/media/lsa-statcat-4.png
+-      -       docs/media/lsa-statcat-5.png
+-      -       docs/media/lsa-statcat-6.png
+-      -       docs/media/lsa-statcat-7.png
+-      -       docs/media/lsa-statcat-8.png
+-      -       docs/media/main_logo.jpg
+-      -       docs/media/mark_claims_returned.png
+-      -       docs/media/mark_lost.png
+-      -       docs/media/mark_missing_damaged.png
+-      -       docs/media/monograph_parts1.jpg
+-      -       docs/media/monograph_parts2.jpg
+-      -       docs/media/monograph_parts3.jpg
+-      -       docs/media/monograph_parts4.jpg
+-      -       docs/media/monograph_parts5.jpg
+-      -       docs/media/myaccount-bookbags.png
+-      -       docs/media/myaccount-itemrenew.png
+-      -       docs/media/myaccount-itemscheckedout.png
+-      -       docs/media/myaccount-itemsonhold.png
+-      -       docs/media/myaccount-login-arrow.png
+-      -       docs/media/myaccount-login-info.png
+-      -       docs/media/myaccount-login.png
+-      -       docs/media/myaccount-loginpasswordupdate.png
+-      -       docs/media/myaccount-summary.png
+-      -       docs/media/note.png
+-      -       docs/media/offline-1.png
+-      -       docs/media/offline-10.png
+-      -       docs/media/offline-11.png
+-      -       docs/media/offline-12.png
+-      -       docs/media/offline-13.png
+-      -       docs/media/offline-14.png
+-      -       docs/media/offline-15.png
+-      -       docs/media/offline-16.png
+-      -       docs/media/offline-17.png
+-      -       docs/media/offline-18.png
+-      -       docs/media/offline-19.png
+-      -       docs/media/offline-2.png
+-      -       docs/media/offline-20.png
+-      -       docs/media/offline-21.png
+-      -       docs/media/offline-22.png
+-      -       docs/media/offline-23.png
+-      -       docs/media/offline-24.png
+-      -       docs/media/offline-25.png
+-      -       docs/media/offline-26.png
+-      -       docs/media/offline-27.png
+-      -       docs/media/offline-28.png
+-      -       docs/media/offline-29.png
+-      -       docs/media/offline-3.png
+-      -       docs/media/offline-30.png
+-      -       docs/media/offline-31.png
+-      -       docs/media/offline-32.png
+-      -       docs/media/offline-33.png
+-      -       docs/media/offline-34.png
+-      -       docs/media/offline-35.png
+-      -       docs/media/offline-36.png
+-      -       docs/media/offline-4.png
+-      -       docs/media/offline-5.png
+-      -       docs/media/offline-6.png
+-      -       docs/media/offline-7.png
+-      -       docs/media/offline-8.png
+-      -       docs/media/offline-9.png
+-      -       docs/media/overdue_checkin.png
+-      -       docs/media/passwordresetmessage.png
+-      -       docs/media/patron-1.png
+-      -       docs/media/patron-10.png
+-      -       docs/media/patron-11.png
+-      -       docs/media/patron-12.png
+-      -       docs/media/patron-13.png
+-      -       docs/media/patron-14.png
+-      -       docs/media/patron-15.png
+-      -       docs/media/patron-16.png
+-      -       docs/media/patron-17.png
+-      -       docs/media/patron-18.png
+-      -       docs/media/patron-19.png
+-      -       docs/media/patron-2.png
+-      -       docs/media/patron-20.png
+-      -       docs/media/patron-21.png
+-      -       docs/media/patron-22.png
+-      -       docs/media/patron-23.png
+-      -       docs/media/patron-24.png
+-      -       docs/media/patron-25.png
+-      -       docs/media/patron-26.png
+-      -       docs/media/patron-27.png
+-      -       docs/media/patron-28.png
+-      -       docs/media/patron-29.png
+-      -       docs/media/patron-3.png
+-      -       docs/media/patron-30.png
+-      -       docs/media/patron-31.png
+-      -       docs/media/patron-32.png
+-      -       docs/media/patron-3a.png
+-      -       docs/media/patron-4.png
+-      -       docs/media/patron-5.png
+-      -       docs/media/patron-6.png
+-      -       docs/media/patron-7.png
+-      -       docs/media/patron-8.png
+-      -       docs/media/patron-9.png
+-      -       docs/media/patron-record-status-1.png
+-      -       docs/media/patron-record-status-dark-grey.png
+-      -       docs/media/patron-record-status-green.png
+-      -       docs/media/patron-record-status-light-grey.png
+-      -       docs/media/patron-record-status-orange.png
+-      -       docs/media/patron-record-status-purple.png
+-      -       docs/media/patron-record-status-red.png
+-      -       docs/media/patron-record-status-yellow.png
+-      -       docs/media/patron_summary_checkouts.jpg
+-      -       docs/media/pdf_icon.gif
+-      -       docs/media/pre_cat_alert.png
+-      -       docs/media/precat.png
+-      -       docs/media/profile-5.png
+-      -       docs/media/profile-6.png
+-      -       docs/media/profile-7.png
+-      -       docs/media/receipt-10.jpg
+-      -       docs/media/receipt-11.jpg
+-      -       docs/media/receipt-12.jpg
+-      -       docs/media/receipt-13.jpg
+-      -       docs/media/receipt-14.jpg
+-      -       docs/media/receipt-15.jpg
+-      -       docs/media/receipt-16.png
+-      -       docs/media/receipt-17.jpg
+-      -       docs/media/receipt-18.jpg
+-      -       docs/media/receipt-19.jpg
+-      -       docs/media/receipt-2.jpg
+-      -       docs/media/receipt-20.jpg
+-      -       docs/media/receipt-21.jpg
+-      -       docs/media/receipt-22.jpg
+-      -       docs/media/receipt-23.jpg
+-      -       docs/media/receipt-24.jpg
+-      -       docs/media/receipt-3.jpg
+-      -       docs/media/receipt-4.jpg
+-      -       docs/media/receipt-5.jpg
+-      -       docs/media/receipt-6.jpg
+-      -       docs/media/receipt-7.jpg
+-      -       docs/media/receipt-8.jpg
+-      -       docs/media/receipt-9.jpg
+-      -       docs/media/record_in_house_action.png
+-      -       docs/media/renew_action.png
+-      -       docs/media/renew_item.png
+-      -       docs/media/renew_item_calendar.png
+-      -       docs/media/renew_specific_date.png
+-      -       docs/media/retrieve_patron.png
+-      -       docs/media/scv-crec.jpg
+-      -       docs/media/scv-distr.jpg
+-      -       docs/media/scv-iss.jpg
+-      -       docs/media/scv-rec.jpg
+-      -       docs/media/scv-srec.jpg
+-      -       docs/media/scv-sub.jpg
+-      -       docs/media/server-3.png
+-      -       docs/media/server-4.png
+-      -       docs/media/server-5.png
+-      -       docs/media/server-6.png
+-      -       docs/media/shared-template-6.png
+-      -       docs/media/shared-template-7.png
+-      -       docs/media/shared-template-9.png
+-      -       docs/media/small_logo_white.jpg
+-      -       docs/media/specify_due_date1.png
+-      -       docs/media/specify_due_date2.png
+-      -       docs/media/staffclient-1.png
+-      -       docs/media/staffclient-2.png
+-      -       docs/media/staffclient-3.png
+-      -       docs/media/staffclient-4.png
+-      -       docs/media/staffclient-5.png
+-      -       docs/media/staffclient-6.png
+-      -       docs/media/staffclient-6a.png
+-      -       docs/media/staffclient-6b.png
+-      -       docs/media/staffclient-6c.png
+-      -       docs/media/staffclient-6d.png
+-      -       docs/media/staffclient-7.png
+-      -       docs/media/staffclient-7a.png
+-      -       docs/media/staffclient-8.png
+-      -       docs/media/staffclient-9.png
+-      -       docs/media/staffclientinstallation-proxy-putty-1.png
+-      -       docs/media/staffclientinstallation-proxy-socks-1.png
+-      -       docs/media/staffclientinstallation-proxy-socks-2.png
+-      -       docs/media/staffclientinstallation-staffclient-1.png
+-      -       docs/media/staffclientinstallation-staffclient-2.png
+-      -       docs/media/staffclientinstallation-staffclient-3.png
+-      -       docs/media/staffclientinstallation-staffclient-4.png
+-      -       docs/media/staffclientinstallation-staffclient-workstationnames-1.png
+-      -       docs/media/staffclientinstallation-staffclient-workstationnames-2.png
+-      -       docs/media/staffclientinstallation-staffclient-workstationnames-3.png
+-      -       docs/media/staffclientinstallation-tabbed-1.png
+-      -       docs/media/survey-1.png
+-      -       docs/media/survey-10.png
+-      -       docs/media/survey-2.png
+-      -       docs/media/survey-3.png
+-      -       docs/media/survey-4.png
+-      -       docs/media/survey-5.png
+-      -       docs/media/survey-6.png
+-      -       docs/media/survey-7.png
+-      -       docs/media/survey-8.png
+-      -       docs/media/survey-9.png
+-      -       docs/media/tip.png
+-      -       docs/media/transit-1.png
+-      -       docs/media/transit-10.png
+-      -       docs/media/transit-2.png
+-      -       docs/media/transit-3.png
+-      -       docs/media/transit-4a.png
+-      -       docs/media/transit-5.png
+-      -       docs/media/transit-6.png
+-      -       docs/media/transit-7.png
+-      -       docs/media/transit-8.png
+-      -       docs/media/transit-9.png
+-      -       docs/media/unified_volume_copy_creator1.jpg
+-      -       docs/media/unified_volume_copy_creator2.jpg
+-      -       docs/media/unified_volume_copy_creator3.jpg
+-      -       docs/media/unified_volume_copy_creator4.jpg
+-      -       docs/media/unified_volume_copy_creator5.jpg
+-      -       docs/media/unified_volume_copy_creator6.jpg
+-      -       docs/media/view-output-1.png
+-      -       docs/media/view-output-2.png
+-      -       docs/media/view-output-3.png
+-      -       docs/media/view-output-4.png
+-      -       docs/media/view-output-5.png
+-      -       docs/media/warning.png
+63     0       docs/opac/my_lists.txt
+0      0       docs/reports/README
+320    0       docs/root.txt
+30     0       docs/serials/A-intro.txt
+43     0       docs/serials/B-copy_template.txt
+152    0       docs/serials/C-subscription-SCV.txt
+188    0       docs/serials/D-subscription-ASCV.txt
+19     0       docs/serials/E-edit_subscriptions.txt
+64     0       docs/serials/F-Receiving.txt
+9      0       docs/serials/G-Special_issue.txt
+35     0       docs/serials/H-holdings_statements.txt
+0      212     installation/edi_setup.txt
+0      549     installation/server_installation.txt
+0      244     installation/server_upgrade.txt
+0      32      installation/system_requirements.txt
+0      189     licensing.txt
+-      -       media/1.png
+-      -       media/10.png
+-      -       media/11.png
+-      -       media/12.png
+-      -       media/13.png
+-      -       media/14.png
+-      -       media/15.png
+-      -       media/2.png
+-      -       media/3.png
+-      -       media/4.png
+-      -       media/5.png
+-      -       media/6.png
+-      -       media/7.png
+-      -       media/8.png
+-      -       media/9.png
+-      -       media/Authority_Control_Sets1.jpg
+-      -       media/Authority_Control_Sets1.jpg.1
+-      -       media/Authority_Control_Sets2.jpg
+-      -       media/Authority_Control_Sets2.jpg.1
+-      -       media/Authority_Control_Sets3.jpg
+-      -       media/Authority_Control_Sets3.jpg.1
+-      -       media/Authority_Control_Sets4.jpg
+-      -       media/Authority_Control_Sets4.jpg.1
+-      -       media/Authority_Control_Sets5.jpg
+-      -       media/Authority_Control_Sets5.jpg.1
+-      -       media/Authority_Control_Sets6.jpg
+-      -       media/Authority_Control_Sets6.jpg.1
+-      -       media/Authority_Control_Sets7.jpg
+-      -       media/Authority_Control_Sets7.jpg.1
+-      -       media/Authority_Control_Sets8.jpg
+-      -       media/Authority_Control_Sets8.jpg.1
+-      -       media/Authority_Control_Sets9.jpg
+-      -       media/Authority_Control_Sets9.jpg.1
+-      -       media/Auto_Suggest_in_Catalog_Search1.jpg
+-      -       media/Auto_Suggest_in_Catalog_Search2.jpg
+-      -       media/Batch_Importing_MARC_Records1.jpg
+-      -       media/Batch_Importing_MARC_Records10.jpg
+-      -       media/Batch_Importing_MARC_Records11.jpg
+-      -       media/Batch_Importing_MARC_Records12.jpg
+-      -       media/Batch_Importing_MARC_Records13.jpg
+-      -       media/Batch_Importing_MARC_Records14.jpg
+-      -       media/Batch_Importing_MARC_Records15.jpg
+-      -       media/Batch_Importing_MARC_Records2.jpg
+-      -       media/Batch_Importing_MARC_Records3.jpg
+-      -       media/Batch_Importing_MARC_Records4.jpg
+-      -       media/Batch_Importing_MARC_Records5.jpg
+-      -       media/Batch_Importing_MARC_Records6.jpg
+-      -       media/Batch_Importing_MARC_Records7.jpg
+-      -       media/Batch_Importing_MARC_Records8.jpg
+-      -       media/Batch_Importing_MARC_Records9.jpg
+-      -       media/Call_Number_Prefixes_and_Suffixes_2_21.jpg
+-      -       media/Call_Number_Prefixes_and_Suffixes_2_22.jpg
+-      -       media/Call_Number_Prefixes_and_Suffixes_2_22.jpg.1
+-      -       media/Customizable_Toolbar1.jpg
+-      -       media/Customizable_Toolbar2.jpg
+-      -       media/Customizable_Toolbar3.jpg
+-      -       media/Customizable_Toolbar4.jpg
+-      -       media/Double_Click1.jpg
+-      -       media/Double_Click2.jpg
+-      -       media/Double_Click3.jpg
+-      -       media/My_Lists1.jpg
+-      -       media/My_Lists3.jpg
+-      -       media/My_Lists4.jpg
+-      -       media/My_Lists5.jpg
+-      -       media/My_Lists6.jpg
+-      -       media/My_Lists7.jpg
+-      -       media/New_Tab_Button1.jpg
+-      -       media/Overlay_Existing_Record_via_Z39_50_Import1.jpg
+-      -       media/Overlay_Existing_Record_via_Z39_50_Import2.jpg
+-      -       media/Overlay_Existing_Record_via_Z39_50_Import3.jpg
+-      -       media/Overlay_Existing_Record_via_Z39_50_Import4.jpg
+-      -       media/Overlay_Existing_Record_via_Z39_50_Import5.jpg
+-      -       media/Overlay_Existing_Record_via_Z39_50_Import6.jpg
+-      -       media/Receive_Items_From_an_Invoice1.jpg
+-      -       media/Receive_Items_From_an_Invoice2.jpg
+-      -       media/Receive_Items_From_an_Invoice3.jpg
+-      -       media/Receive_Items_From_an_Invoice4.jpg
+-      -       media/Receive_Items_From_an_Invoice5.jpg
+-      -       media/Receive_Items_From_an_Invoice6.jpg
+-      -       media/Receive_Items_From_an_Invoice7.jpg
+-      -       media/Restrict_Z39_50_Sources_by_Permission_Group1.jpg
+-      -       media/Restrict_Z39_50_Sources_by_Permission_Group2.jpg
+-      -       media/Restrict_Z39_50_Sources_by_Permission_Group3.jpg
+-      -       media/SMS_Text_Messaging1.jpg
+-      -       media/SMS_Text_Messaging10.jpg
+-      -       media/SMS_Text_Messaging11.jpg
+-      -       media/SMS_Text_Messaging12.jpg
+-      -       media/SMS_Text_Messaging13.jpg
+-      -       media/SMS_Text_Messaging2.jpg
+-      -       media/SMS_Text_Messaging3.jpg
+-      -       media/SMS_Text_Messaging4.jpg
+-      -       media/SMS_Text_Messaging5.jpg
+-      -       media/SMS_Text_Messaging6.jpg
+-      -       media/SMS_Text_Messaging7.jpg
+-      -       media/SMS_Text_Messaging8.jpg
+-      -       media/SMS_Text_Messaging9.jpg
+-      -       media/Saved_Catalog_Searches_2_21.jpg
+-      -       media/Saved_Catalog_Searches_2_21.jpg.1
+-      -       media/Saved_Catalog_Searches_2_22.jpg
+-      -       media/Saved_Catalog_Searches_2_22.jpg.1
+-      -       media/Search_Results1.jpg
+-      -       media/Sorting_Columns2.jpg
+-      -       media/Sorting_Columns3.jpg
+-      -       media/Sorting_Columns3.jpg.1
+-      -       media/Sorting_Columns4.jpg
+-      -       media/Sorting_Columns5.jpg
+-      -       media/Target_Pickup_Lib1.jpg
+-      -       media/Target_Pickup_Lib2.jpg
+-      -       media/User_Activity_Types1A.jpg
+-      -       media/User_Activity_Types2A.jpg
+-      -       media/Vandelay_Integration_into_Acquisitions1.jpg
+-      -       media/Vandelay_Integration_into_Acquisitions2.jpg
+-      -       media/Vandelay_Integration_into_Acquisitions3.jpg
+-      -       media/Vandelay_Integration_into_Acquisitions4.jpg
+-      -       media/Vandelay_Integration_into_Acquisitions5.jpg
+-      -       media/Vandelay_Integration_into_Acquisitions6.jpg
+-      -       media/acq_activate.png
+-      -       media/acq_apply_claim_policy.png
+-      -       media/acq_brief_record-2.png
+-      -       media/acq_brief_record.png
+-      -       media/acq_cancel_copy.png
+-      -       media/acq_cancel_line_items.png
+-      -       media/acq_claim_item-2.png
+-      -       media/acq_claim_item-3.png
+-      -       media/acq_claim_item-4.png
+-      -       media/acq_claim_item-5.png
+-      -       media/acq_claim_item.png
+-      -       media/acq_export_list.png
+-      -       media/acq_funds-2.png
+-      -       media/acq_funds.png
+-      -       media/acq_invoice_blanket.png
+-      -       media/acq_invoice_line_items.png
+-      -       media/acq_invoice_link.png
+-      -       media/acq_invoice_purchase_order.png
+-      -       media/acq_invoice_view-2.png
+-      -       media/acq_invoice_view.png
+-      -       media/acq_line_items_add_copies-2.png
+-      -       media/acq_line_items_add_copies-3.png
+-      -       media/acq_line_items_add_copies.png
+-      -       media/acq_line_items_add_notes.png
+-      -       media/acq_line_items_alerts-2.png
+-      -       media/acq_line_items_alerts.png
+-      -       media/acq_line_items_link-2.png
+-      -       media/acq_line_items_link.png
+-      -       media/acq_line_items_update_barcodes.png
+-      -       media/acq_line_items_view_history.png
+-      -       media/acq_line_items_worksheet.png
+-      -       media/acq_load_records.png
+-      -       media/acq_marc_search-2.png
+-      -       media/acq_marc_search.png
+-      -       media/acq_purchase_order_add_charges.png
+-      -       media/acq_purchase_order_add_note.png
+-      -       media/acq_purchase_order_create.png
+-      -       media/acq_purchase_order_history.png
+-      -       media/acq_purchase_order_name.png
+-      -       media/acq_purchase_order_print.png
+-      -       media/acq_purchase_order_split-2.png
+-      -       media/acq_purchase_order_split.png
+-      -       media/acq_purchase_order_view-2.png
+-      -       media/acq_purchase_order_view.png
+-      -       media/acq_search.png
+-      -       media/acq_selection_clone.png
+-      -       media/acq_selection_create.png
+-      -       media/acq_selection_mark_ready-2.png
+-      -       media/acq_selection_mark_ready.png
+-      -       media/acq_selection_merge.png
+-      -       media/acq_workflow.jpg
+-      -       media/add_holdings-1.png
+-      -       media/add_holdings-2.png
+-      -       media/add_holdings-3.png
+-      -       media/add_holdings-4.png
+-      -       media/add_holdings-5.png
+-      -       media/application-pdf.png
+-      -       media/ascv-distr.jpg
+-      -       media/ascv-issues.jpg
+-      -       media/ascv-sub.jpg
+-      -       media/backdate_checkin.png
+-      -       media/backdate_post_checkin.png
+-      -       media/backdate_post_date.png
+-      -       media/backdate_red.png
+-      -       media/bills-1.png
+-      -       media/bills-10.png
+-      -       media/bills-11.png
+-      -       media/bills-12.png
+-      -       media/bills-13.png
+-      -       media/bills-14.png
+-      -       media/bills-15.png
+-      -       media/bills-16.png
+-      -       media/bills-17.png
+-      -       media/bills-18.png
+-      -       media/bills-19.png
+-      -       media/bills-2.png
+-      -       media/bills-20.png
+-      -       media/bills-3.png
+-      -       media/bills-4.png
+-      -       media/bills-5.png
+-      -       media/bills-6.png
+-      -       media/bills-7.png
+-      -       media/bills-8.png
+-      -       media/bills-9.png
+-      -       media/booking-cancel-1.png
+-      -       media/booking-cancel-2.png
+-      -       media/booking-cancel-3.png
+-      -       media/booking-cancel-4.png
+-      -       media/booking-capture-1.png
+-      -       media/booking-capture-2.png
+-      -       media/booking-capture-3.png
+-      -       media/booking-create-1.png
+-      -       media/booking-create-2.png
+-      -       media/booking-create-3.png
+-      -       media/booking-create-4.png
+-      -       media/booking-create-5.png
+-      -       media/booking-create-6.png
+-      -       media/booking-create-7.png
+-      -       media/booking-create-8.png
+-      -       media/booking-create-9.png
+-      -       media/booking-create-bookable-1.png
+-      -       media/booking-create-bookable-2.png
+-      -       media/booking-create-bookable-3.png
+-      -       media/booking-create-bookable-4.png
+-      -       media/booking-create-bookable-5.png
+-      -       media/booking-create-bookable-6.png
+-      -       media/booking-create-module-1.png
+-      -       media/booking-create-module-2.png
+-      -       media/booking-create-module-3.png
+-      -       media/booking-create-module-4.png
+-      -       media/booking-create-resourcetype-1.png
+-      -       media/booking-create-resourcetype-2.png
+-      -       media/booking-create-resourcetype-3.png
+-      -       media/booking-create-resourcetype-4.png
+-      -       media/booking-create-resourcetype-5.png
+-      -       media/booking-pickup-1.png
+-      -       media/booking-pickup-2.png
+-      -       media/booking-pickup-3.png
+-      -       media/booking-pickup-module-1.png
+-      -       media/booking-pull-1.png
+-      -       media/booking-pull-2.png
+-      -       media/booking-pull-3.png
+-      -       media/booking-return-2.png
+-      -       media/booking-return-module-1.png
+-      -       media/booking-return-module-2.png
+-      -       media/booking-return-module-4.png
+-      -       media/cap-wiz-cal.jpg
+-      -       media/cap-wiz-chan.jpg
+-      -       media/cap-wiz-chron.jpg
+-      -       media/cap-wiz-freq.jpg
+-      -       media/cap-wiz-num.jpg
+-      -       media/catalogue-10.png
+-      -       media/catalogue-11.png
+-      -       media/catalogue-3.png
+-      -       media/catalogue-4.png
+-      -       media/catalogue-5.png
+-      -       media/catalogue-6.png
+-      -       media/catalogue-7.png
+-      -       media/catalogue-8.png
+-      -       media/catalogue-9.png
+-      -       media/caution.png
+-      -       media/ccbysa.png
+-      -       media/check_in_menu.png
+-      -       media/checkin_barcode.png
+-      -       media/checkin_options.png
+-      -       media/checkout_item_barcode.png
+-      -       media/checkout_menu.png
+-      -       media/circulation-1.png
+-      -       media/circulation-10.png
+-      -       media/circulation-11.png
+-      -       media/circulation-12.png
+-      -       media/circulation-13.png
+-      -       media/circulation-14.png
+-      -       media/circulation-15.png
+-      -       media/circulation-16.png
+-      -       media/circulation-17.png
+-      -       media/circulation-18.png
+-      -       media/circulation-19.png
+-      -       media/circulation-2.png
+-      -       media/circulation-20.png
+-      -       media/circulation-21.png
+-      -       media/circulation-22.png
+-      -       media/circulation-23.png
+-      -       media/circulation-24.png
+-      -       media/circulation-25.png
+-      -       media/circulation-26.png
+-      -       media/circulation-27.png
+-      -       media/circulation-28.png
+-      -       media/circulation-29.png
+-      -       media/circulation-3.png
+-      -       media/circulation-30.png
+-      -       media/circulation-31.png
+-      -       media/circulation-32.png
+-      -       media/circulation-33.png
+-      -       media/circulation-34.png
+-      -       media/circulation-35.png
+-      -       media/circulation-36.png
+-      -       media/circulation-4.png
+-      -       media/circulation-5.png
+-      -       media/circulation-6.png
+-      -       media/circulation-7.png
+-      -       media/circulation-8.png
+-      -       media/circulation-9.png
+-      -       media/claimed_date.png
+-      -       media/conj1.jpg
+-      -       media/conj10.jpg
+-      -       media/conj2.jpg
+-      -       media/conj3.jpg
+-      -       media/conj4.jpg
+-      -       media/conj5.jpg
+-      -       media/conj6.jpg
+-      -       media/conj7.jpg
+-      -       media/conj8.jpg
+-      -       media/conj9.jpg
+-      -       media/copy_alert_message.png
+-      -       media/copy_edit_alert.png
+-      -       media/create-template-1.png
+-      -       media/create-template-10.png
+-      -       media/create-template-11.png
+-      -       media/create-template-12.png
+-      -       media/create-template-13.png
+-      -       media/create-template-15.png
+-      -       media/create-template-16.png
+-      -       media/create-template-17.png
+-      -       media/create-template-19.png
+-      -       media/create-template-2.png
+-      -       media/create-template-20.png
+-      -       media/create-template-21.png
+-      -       media/create-template-22.png
+-      -       media/create-template-23.png
+-      -       media/create-template-24.png
+-      -       media/create-template-25.png
+-      -       media/create-template-26.png
+-      -       media/create-template-27.png
+-      -       media/create-template-28.png
+-      -       media/create-template-29.png
+-      -       media/create-template-3.png
+-      -       media/create-template-30.png
+-      -       media/create-template-31.png
+-      -       media/create-template-32.png
+-      -       media/create-template-33.png
+-      -       media/create-template-34.png
+-      -       media/create-template-35.png
+-      -       media/create-template-4.png
+-      -       media/create-template-5.png
+-      -       media/create-template-6.png
+-      -       media/create-template-7.png
+-      -       media/create-template-8.png
+-      -       media/create-template-9.png
+-      -       media/due_date_display.png
+-      -       media/edit_due_date_action.png
+-      -       media/epub_logo_color_ht39.gif
+-      -       media/evergreen_logo.gif
+-      -       media/folder-1.png
+-      -       media/folder-10.png
+-      -       media/folder-11.png
+-      -       media/folder-12.png
+-      -       media/folder-13.png
+-      -       media/folder-14.png
+-      -       media/folder-7a.png
+-      -       media/generate-report-1.png
+-      -       media/generate-report-10.png
+-      -       media/generate-report-14.png
+-      -       media/generate-report-2.png
+-      -       media/generate-report-3.png
+-      -       media/generate-report-8.png
+-      -       media/generate-report-9.png
+-      -       media/hold-1.png
+-      -       media/hold-10.png
+-      -       media/hold-11.png
+-      -       media/hold-12.png
+-      -       media/hold-14.png
+-      -       media/hold-15.png
+-      -       media/hold-16.png
+-      -       media/hold-17.png
+-      -       media/hold-18.png
+-      -       media/hold-19.png
+-      -       media/hold-2.png
+-      -       media/hold-20.png
+-      -       media/hold-21.png
+-      -       media/hold-22.png
+-      -       media/hold-23.png
+-      -       media/hold-24.png
+-      -       media/hold-25.png
+-      -       media/hold-26.png
+-      -       media/hold-27.png
+-      -       media/hold-28.png
+-      -       media/hold-29.png
+-      -       media/hold-4.png
+-      -       media/hold-5.png
+-      -       media/hold-6.png
+-      -       media/hold-7.png
+-      -       media/hold-8.png
+-      -       media/hold-9.png
+-      -       media/holds-clearing-1.png
+-      -       media/holds-clearing-2.png
+-      -       media/holds-clearing-3.png
+-      -       media/holds-clearing-4.png
+-      -       media/holds-managing-1.png
+-      -       media/holds-managing-10.png
+-      -       media/holds-managing-11.png
+-      -       media/holds-managing-12.png
+-      -       media/holds-managing-13.png
+-      -       media/holds-managing-14.png
+-      -       media/holds-managing-15.png
+-      -       media/holds-managing-16.png
+-      -       media/holds-managing-17.png
+-      -       media/holds-managing-18.png
+-      -       media/holds-managing-19.png
+-      -       media/holds-managing-2.png
+-      -       media/holds-managing-3.png
+-      -       media/holds-managing-4.png
+-      -       media/holds-managing-5.png
+-      -       media/holds-managing-6.png
+-      -       media/holds-managing-7.png
+-      -       media/holds-managing-8.png
+-      -       media/holds-managing-9.png
+-      -       media/holds-notifications-1.png
+-      -       media/holds-notifications-2.png
+-      -       media/holds-notifications-3.png
+-      -       media/holds-notifications-4.png
+-      -       media/holds-placing-1.png
+-      -       media/holds-placing-10.png
+-      -       media/holds-placing-11.png
+-      -       media/holds-placing-2.png
+-      -       media/holds-placing-3.png
+-      -       media/holds-placing-4.png
+-      -       media/holds-placing-5.png
+-      -       media/holds-placing-6.png
+-      -       media/holds-placing-7.png
+-      -       media/holds-placing-8.png
+-      -       media/holds-placing-9.png
+-      -       media/holds-pull-1.png
+-      -       media/holds-pull-2.png
+-      -       media/holds-pull-3.png
+-      -       media/holds-pull-4.png
+-      -       media/holds-pull-5.png
+-      -       media/holds-pull-5a.png
+-      -       media/holds-pull-6.png
+-      -       media/holds-pull-7.png
+-      -       media/holds-pull-8.png
+-      -       media/holds-pull-9.png
+-      -       media/in_house_use.png
+-      -       media/item_status_altview.png
+-      -       media/item_status_barcode.png
+-      -       media/item_status_list_view.png
+-      -       media/item_status_menu.png
+-      -       media/items_out_click.png
+-      -       media/k_book_record.png
+-      -       media/last_few_circs_action.png
+-      -       media/last_few_circs_display.png
+-      -       media/lost_cr_section.png
+-      -       media/lsa-1.png
+-      -       media/lsa-10.jpg
+-      -       media/lsa-11.jpg
+-      -       media/lsa-12.jpg
+-      -       media/lsa-14.jpg
+-      -       media/lsa-16.jpg
+-      -       media/lsa-17.jpg
+-      -       media/lsa-18.jpg
+-      -       media/lsa-2.jpg
+-      -       media/lsa-22.png
+-      -       media/lsa-23.jpg
+-      -       media/lsa-25.jpg
+-      -       media/lsa-26.jpg
+-      -       media/lsa-27.jpg
+-      -       media/lsa-28.jpg
+-      -       media/lsa-32.jpg
+-      -       media/lsa-33.jpg
+-      -       media/lsa-4.jpg
+-      -       media/lsa-5.jpg
+-      -       media/lsa-7.jpg
+-      -       media/lsa-8.jpg
+-      -       media/lsa-closed-mountain-1.png
+-      -       media/lsa-closed-mountain-2.png
+-      -       media/lsa-group-0.png
+-      -       media/lsa-group-1.png
+-      -       media/lsa-group-1a.png
+-      -       media/lsa-group-2.png
+-      -       media/lsa-group-3.png
+-      -       media/lsa-group-4.png
+-      -       media/lsa-group-5.png
+-      -       media/lsa-group-6.png
+-      -       media/lsa-statcat-1.png
+-      -       media/lsa-statcat-2.png
+-      -       media/lsa-statcat-3.png
+-      -       media/lsa-statcat-4.png
+-      -       media/lsa-statcat-5.png
+-      -       media/lsa-statcat-6.png
+-      -       media/lsa-statcat-7.png
+-      -       media/lsa-statcat-8.png
+-      -       media/main_logo.jpg
+-      -       media/mark_claims_returned.png
+-      -       media/mark_lost.png
+-      -       media/mark_missing_damaged.png
+-      -       media/monograph_parts1.jpg
+-      -       media/monograph_parts2.jpg
+-      -       media/monograph_parts3.jpg
+-      -       media/monograph_parts4.jpg
+-      -       media/monograph_parts5.jpg
+-      -       media/myaccount-bookbags.png
+-      -       media/myaccount-itemrenew.png
+-      -       media/myaccount-itemscheckedout.png
+-      -       media/myaccount-itemsonhold.png
+-      -       media/myaccount-login-arrow.png
+-      -       media/myaccount-login-info.png
+-      -       media/myaccount-login.png
+-      -       media/myaccount-loginpasswordupdate.png
+-      -       media/myaccount-summary.png
+-      -       media/note.png
+-      -       media/offline-1.png
+-      -       media/offline-10.png
+-      -       media/offline-11.png
+-      -       media/offline-12.png
+-      -       media/offline-13.png
+-      -       media/offline-14.png
+-      -       media/offline-15.png
+-      -       media/offline-16.png
+-      -       media/offline-17.png
+-      -       media/offline-18.png
+-      -       media/offline-19.png
+-      -       media/offline-2.png
+-      -       media/offline-20.png
+-      -       media/offline-21.png
+-      -       media/offline-22.png
+-      -       media/offline-23.png
+-      -       media/offline-24.png
+-      -       media/offline-25.png
+-      -       media/offline-26.png
+-      -       media/offline-27.png
+-      -       media/offline-28.png
+-      -       media/offline-29.png
+-      -       media/offline-3.png
+-      -       media/offline-30.png
+-      -       media/offline-31.png
+-      -       media/offline-32.png
+-      -       media/offline-33.png
+-      -       media/offline-34.png
+-      -       media/offline-35.png
+-      -       media/offline-36.png
+-      -       media/offline-4.png
+-      -       media/offline-5.png
+-      -       media/offline-6.png
+-      -       media/offline-7.png
+-      -       media/offline-8.png
+-      -       media/offline-9.png
+-      -       media/overdue_checkin.png
+-      -       media/passwordresetmessage.png
+-      -       media/patron-1.png
+-      -       media/patron-10.png
+-      -       media/patron-11.png
+-      -       media/patron-12.png
+-      -       media/patron-13.png
+-      -       media/patron-14.png
+-      -       media/patron-15.png
+-      -       media/patron-16.png
+-      -       media/patron-17.png
+-      -       media/patron-18.png
+-      -       media/patron-19.png
+-      -       media/patron-2.png
+-      -       media/patron-20.png
+-      -       media/patron-21.png
+-      -       media/patron-22.png
+-      -       media/patron-23.png
+-      -       media/patron-24.png
+-      -       media/patron-25.png
+-      -       media/patron-26.png
+-      -       media/patron-27.png
+-      -       media/patron-28.png
+-      -       media/patron-29.png
+-      -       media/patron-3.png
+-      -       media/patron-30.png
+-      -       media/patron-31.png
+-      -       media/patron-32.png
+-      -       media/patron-3a.png
+-      -       media/patron-4.png
+-      -       media/patron-5.png
+-      -       media/patron-6.png
+-      -       media/patron-7.png
+-      -       media/patron-8.png
+-      -       media/patron-9.png
+-      -       media/patron-record-status-1.png
+-      -       media/patron-record-status-dark-grey.png
+-      -       media/patron-record-status-green.png
+-      -       media/patron-record-status-light-grey.png
+-      -       media/patron-record-status-orange.png
+-      -       media/patron-record-status-purple.png
+-      -       media/patron-record-status-red.png
+-      -       media/patron-record-status-yellow.png
+-      -       media/patron_summary_checkouts.jpg
+-      -       media/pdf_icon.gif
+-      -       media/pre_cat_alert.png
+-      -       media/precat.png
+-      -       media/profile-5.png
+-      -       media/profile-6.png
+-      -       media/profile-7.png
+-      -       media/receipt-10.jpg
+-      -       media/receipt-11.jpg
+-      -       media/receipt-12.jpg
+-      -       media/receipt-13.jpg
+-      -       media/receipt-14.jpg
+-      -       media/receipt-15.jpg
+-      -       media/receipt-16.png
+-      -       media/receipt-17.jpg
+-      -       media/receipt-18.jpg
+-      -       media/receipt-19.jpg
+-      -       media/receipt-2.jpg
+-      -       media/receipt-20.jpg
+-      -       media/receipt-21.jpg
+-      -       media/receipt-22.jpg
+-      -       media/receipt-23.jpg
+-      -       media/receipt-24.jpg
+-      -       media/receipt-3.jpg
+-      -       media/receipt-4.jpg
+-      -       media/receipt-5.jpg
+-      -       media/receipt-6.jpg
+-      -       media/receipt-7.jpg
+-      -       media/receipt-8.jpg
+-      -       media/receipt-9.jpg
+-      -       media/record_in_house_action.png
+-      -       media/renew_action.png
+-      -       media/renew_item.png
+-      -       media/renew_item_calendar.png
+-      -       media/renew_specific_date.png
+-      -       media/retrieve_patron.png
+-      -       media/scv-crec.jpg
+-      -       media/scv-distr.jpg
+-      -       media/scv-iss.jpg
+-      -       media/scv-rec.jpg
+-      -       media/scv-srec.jpg
+-      -       media/scv-sub.jpg
+-      -       media/server-3.png
+-      -       media/server-4.png
+-      -       media/server-5.png
+-      -       media/server-6.png
+-      -       media/shared-template-6.png
+-      -       media/shared-template-7.png
+-      -       media/shared-template-9.png
+-      -       media/small_logo_white.jpg
+-      -       media/specify_due_date1.png
+-      -       media/specify_due_date2.png
+-      -       media/staffclient-1.png
+-      -       media/staffclient-2.png
+-      -       media/staffclient-3.png
+-      -       media/staffclient-4.png
+-      -       media/staffclient-5.png
+-      -       media/staffclient-6.png
+-      -       media/staffclient-6a.png
+-      -       media/staffclient-6b.png
+-      -       media/staffclient-6c.png
+-      -       media/staffclient-6d.png
+-      -       media/staffclient-7.png
+-      -       media/staffclient-7a.png
+-      -       media/staffclient-8.png
+-      -       media/staffclient-9.png
+-      -       media/staffclientinstallation-proxy-putty-1.png
+-      -       media/staffclientinstallation-proxy-socks-1.png
+-      -       media/staffclientinstallation-proxy-socks-2.png
+-      -       media/staffclientinstallation-staffclient-1.png
+-      -       media/staffclientinstallation-staffclient-2.png
+-      -       media/staffclientinstallation-staffclient-3.png
+-      -       media/staffclientinstallation-staffclient-4.png
+-      -       media/staffclientinstallation-staffclient-workstationnames-1.png
+-      -       media/staffclientinstallation-staffclient-workstationnames-2.png
+-      -       media/staffclientinstallation-staffclient-workstationnames-3.png
+-      -       media/staffclientinstallation-tabbed-1.png
+-      -       media/survey-1.png
+-      -       media/survey-10.png
+-      -       media/survey-2.png
+-      -       media/survey-3.png
+-      -       media/survey-4.png
+-      -       media/survey-5.png
+-      -       media/survey-6.png
+-      -       media/survey-7.png
+-      -       media/survey-8.png
+-      -       media/survey-9.png
+-      -       media/tip.png
+-      -       media/transit-1.png
+-      -       media/transit-10.png
+-      -       media/transit-2.png
+-      -       media/transit-3.png
+-      -       media/transit-4a.png
+-      -       media/transit-5.png
+-      -       media/transit-6.png
+-      -       media/transit-7.png
+-      -       media/transit-8.png
+-      -       media/transit-9.png
+-      -       media/unified_volume_copy_creator1.jpg
+-      -       media/unified_volume_copy_creator2.jpg
+-      -       media/unified_volume_copy_creator3.jpg
+-      -       media/unified_volume_copy_creator4.jpg
+-      -       media/unified_volume_copy_creator5.jpg
+-      -       media/unified_volume_copy_creator6.jpg
+-      -       media/view-output-1.png
+-      -       media/view-output-2.png
+-      -       media/view-output-3.png
+-      -       media/view-output-4.png
+-      -       media/view-output-5.png
+-      -       media/warning.png
+0      63      opac/my_lists.txt
+0      611     release_notes.txt
+0      0       reports/README
+0      320     root.txt
+0      30      serials/A-intro.txt
+0      43      serials/B-copy_template.txt
+0      152     serials/C-subscription-SCV.txt
+0      188     serials/D-subscription-ASCV.txt
+0      19      serials/E-edit_subscriptions.txt
+0      64      serials/F-Receiving.txt
+0      9       serials/G-Special_issue.txt
+0      35      serials/H-holdings_statements.txt
+ delete mode 100644 acquisitions/introduction.txt
+ delete mode 100644 acquisitions/receive_items_from_invoice.txt
+ delete mode 100644 acquisitions/selection_lists_po.txt
+ delete mode 100644 acquisitions/vandelay_acquisitions_integration.txt
+ delete mode 100644 admin/SMS_messaging.txt
+ delete mode 100644 admin/acquisitions_admin.txt
+ delete mode 100644 admin/authorities.txt
+ delete mode 100644 admin/auto_suggest_search.txt
+ delete mode 100644 admin/booking-admin.txt
+ delete mode 100644 admin/cn_prefixes_and_suffixes.txt
+ delete mode 100644 admin/customize_staff_client.txt
+ delete mode 100644 admin/hold_driven_recalls.txt
+ delete mode 100644 admin/lsa-library_settings_editor.txt
+ delete mode 100644 admin/lsa-statcat.txt
+ delete mode 100644 admin/recent_staff_searches.txt
+ delete mode 100644 admin/restrict_Z39.50_sources_by_perm_group.txt
+ delete mode 100644 admin/staff_client-double_clicking.txt
+ delete mode 100644 admin/staff_client-recent_searches.txt
+ delete mode 100644 admin/staff_client-return_to_results_from_marc.txt
+ delete mode 100644 admin/staff_client-sorting_columns.txt
+ delete mode 100644 admin/staff_client-tab_buttons.txt
+ delete mode 100644 admin/template_toolkit.txt
+ delete mode 100644 admin/user_activity_type.txt
+ delete mode 100644 attributions.txt
+ delete mode 100644 cataloging/batch_importing_MARC.txt
+ delete mode 100644 cataloging/conjoined_items.txt
+ delete mode 100644 cataloging/monograph_parts.txt
+ delete mode 100644 cataloging/overlay_record_3950_import.txt
+ delete mode 100644 circulation/README
+ delete mode 100644 circulation/booking.txt
+ delete mode 100644 circulation/circulating_items.txt
+ delete mode 100644 development/README
+ delete mode 100644 development/updating_translations_launchpad.txt
+ create mode 100644 docs/acquisitions/introduction.txt
+ create mode 100644 docs/acquisitions/receive_items_from_invoice.txt
+ create mode 100644 docs/acquisitions/selection_lists_po.txt
+ create mode 100644 docs/acquisitions/vandelay_acquisitions_integration.txt
+ create mode 100644 docs/admin/SMS_messaging.txt
+ create mode 100644 docs/admin/acquisitions_admin.txt
+ create mode 100644 docs/admin/authorities.txt
+ create mode 100644 docs/admin/auto_suggest_search.txt
+ create mode 100644 docs/admin/booking-admin.txt
+ create mode 100644 docs/admin/cn_prefixes_and_suffixes.txt
+ create mode 100644 docs/admin/customize_staff_client.txt
+ create mode 100644 docs/admin/hold_driven_recalls.txt
+ create mode 100644 docs/admin/lsa-library_settings_editor.txt
+ create mode 100644 docs/admin/lsa-statcat.txt
+ create mode 100644 docs/admin/recent_staff_searches.txt
+ create mode 100644 docs/admin/restrict_Z39.50_sources_by_perm_group.txt
+ create mode 100644 docs/admin/staff_client-double_clicking.txt
+ create mode 100644 docs/admin/staff_client-recent_searches.txt
+ create mode 100644 docs/admin/staff_client-return_to_results_from_marc.txt
+ create mode 100644 docs/admin/staff_client-sorting_columns.txt
+ create mode 100644 docs/admin/staff_client-tab_buttons.txt
+ create mode 100644 docs/admin/template_toolkit.txt
+ create mode 100644 docs/admin/user_activity_type.txt
+ create mode 100644 docs/attributions.txt
+ create mode 100644 docs/cataloging/batch_importing_MARC.txt
+ create mode 100644 docs/cataloging/conjoined_items.txt
+ create mode 100644 docs/cataloging/monograph_parts.txt
+ create mode 100644 docs/cataloging/overlay_record_3950_import.txt
+ create mode 100644 docs/circulation/README
+ create mode 100644 docs/circulation/booking.txt
+ create mode 100644 docs/circulation/circulating_items.txt
+ create mode 100644 docs/development/README
+ create mode 100644 docs/development/updating_translations_launchpad.txt
+ create mode 100644 docs/installation/edi_setup.txt
+ create mode 100644 docs/installation/server_installation.txt
+ create mode 100644 docs/installation/server_upgrade.txt
+ create mode 100644 docs/installation/system_requirements.txt
+ create mode 100644 docs/licensing.txt
+ create mode 100644 docs/media/1.png
+ create mode 100644 docs/media/10.png
+ create mode 100644 docs/media/11.png
+ create mode 100644 docs/media/12.png
+ create mode 100644 docs/media/13.png
+ create mode 100644 docs/media/14.png
+ create mode 100644 docs/media/15.png
+ create mode 100644 docs/media/2.png
+ create mode 100644 docs/media/3.png
+ create mode 100644 docs/media/4.png
+ create mode 100644 docs/media/5.png
+ create mode 100644 docs/media/6.png
+ create mode 100644 docs/media/7.png
+ create mode 100644 docs/media/8.png
+ create mode 100644 docs/media/9.png
+ create mode 100644 docs/media/Authority_Control_Sets1.jpg
+ create mode 100644 docs/media/Authority_Control_Sets1.jpg.1
+ create mode 100644 docs/media/Authority_Control_Sets2.jpg
+ create mode 100644 docs/media/Authority_Control_Sets2.jpg.1
+ create mode 100644 docs/media/Authority_Control_Sets3.jpg
+ create mode 100644 docs/media/Authority_Control_Sets3.jpg.1
+ create mode 100644 docs/media/Authority_Control_Sets4.jpg
+ create mode 100644 docs/media/Authority_Control_Sets4.jpg.1
+ create mode 100644 docs/media/Authority_Control_Sets5.jpg
+ create mode 100644 docs/media/Authority_Control_Sets5.jpg.1
+ create mode 100644 docs/media/Authority_Control_Sets6.jpg
+ create mode 100644 docs/media/Authority_Control_Sets6.jpg.1
+ create mode 100644 docs/media/Authority_Control_Sets7.jpg
+ create mode 100644 docs/media/Authority_Control_Sets7.jpg.1
+ create mode 100644 docs/media/Authority_Control_Sets8.jpg
+ create mode 100644 docs/media/Authority_Control_Sets8.jpg.1
+ create mode 100644 docs/media/Authority_Control_Sets9.jpg
+ create mode 100644 docs/media/Authority_Control_Sets9.jpg.1
+ create mode 100644 docs/media/Auto_Suggest_in_Catalog_Search1.jpg
+ create mode 100644 docs/media/Auto_Suggest_in_Catalog_Search2.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records1.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records10.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records11.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records12.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records13.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records14.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records15.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records2.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records3.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records4.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records5.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records6.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records7.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records8.jpg
+ create mode 100644 docs/media/Batch_Importing_MARC_Records9.jpg
+ create mode 100644 docs/media/Call_Number_Prefixes_and_Suffixes_2_21.jpg
+ create mode 100644 docs/media/Call_Number_Prefixes_and_Suffixes_2_22.jpg
+ create mode 100644 docs/media/Call_Number_Prefixes_and_Suffixes_2_22.jpg.1
+ create mode 100644 docs/media/Customizable_Toolbar1.jpg
+ create mode 100644 docs/media/Customizable_Toolbar2.jpg
+ create mode 100644 docs/media/Customizable_Toolbar3.jpg
+ create mode 100644 docs/media/Customizable_Toolbar4.jpg
+ create mode 100644 docs/media/Double_Click1.jpg
+ create mode 100644 docs/media/Double_Click2.jpg
+ create mode 100644 docs/media/Double_Click3.jpg
+ create mode 100644 docs/media/My_Lists1.jpg
+ create mode 100644 docs/media/My_Lists3.jpg
+ create mode 100644 docs/media/My_Lists4.jpg
+ create mode 100644 docs/media/My_Lists5.jpg
+ create mode 100644 docs/media/My_Lists6.jpg
+ create mode 100644 docs/media/My_Lists7.jpg
+ create mode 100644 docs/media/New_Tab_Button1.jpg
+ create mode 100644 docs/media/Overlay_Existing_Record_via_Z39_50_Import1.jpg
+ create mode 100644 docs/media/Overlay_Existing_Record_via_Z39_50_Import2.jpg
+ create mode 100644 docs/media/Overlay_Existing_Record_via_Z39_50_Import3.jpg
+ create mode 100644 docs/media/Overlay_Existing_Record_via_Z39_50_Import4.jpg
+ create mode 100644 docs/media/Overlay_Existing_Record_via_Z39_50_Import5.jpg
+ create mode 100644 docs/media/Overlay_Existing_Record_via_Z39_50_Import6.jpg
+ create mode 100644 docs/media/Receive_Items_From_an_Invoice1.jpg
+ create mode 100644 docs/media/Receive_Items_From_an_Invoice2.jpg
+ create mode 100644 docs/media/Receive_Items_From_an_Invoice3.jpg
+ create mode 100644 docs/media/Receive_Items_From_an_Invoice4.jpg
+ create mode 100644 docs/media/Receive_Items_From_an_Invoice5.jpg
+ create mode 100644 docs/media/Receive_Items_From_an_Invoice6.jpg
+ create mode 100644 docs/media/Receive_Items_From_an_Invoice7.jpg
+ create mode 100644 docs/media/Restrict_Z39_50_Sources_by_Permission_Group1.jpg
+ create mode 100644 docs/media/Restrict_Z39_50_Sources_by_Permission_Group2.jpg
+ create mode 100644 docs/media/Restrict_Z39_50_Sources_by_Permission_Group3.jpg
+ create mode 100644 docs/media/SMS_Text_Messaging1.jpg
+ create mode 100644 docs/media/SMS_Text_Messaging10.jpg
+ create mode 100644 docs/media/SMS_Text_Messaging11.jpg
+ create mode 100644 docs/media/SMS_Text_Messaging12.jpg
+ create mode 100644 docs/media/SMS_Text_Messaging13.jpg
+ create mode 100644 docs/media/SMS_Text_Messaging2.jpg
+ create mode 100644 docs/media/SMS_Text_Messaging3.jpg
+ create mode 100644 docs/media/SMS_Text_Messaging4.jpg
+ create mode 100644 docs/media/SMS_Text_Messaging5.jpg
+ create mode 100644 docs/media/SMS_Text_Messaging6.jpg
+ create mode 100644 docs/media/SMS_Text_Messaging7.jpg
+ create mode 100644 docs/media/SMS_Text_Messaging8.jpg
+ create mode 100644 docs/media/SMS_Text_Messaging9.jpg
+ create mode 100644 docs/media/Saved_Catalog_Searches_2_21.jpg
+ create mode 100644 docs/media/Saved_Catalog_Searches_2_21.jpg.1
+ create mode 100644 docs/media/Saved_Catalog_Searches_2_22.jpg
+ create mode 100644 docs/media/Saved_Catalog_Searches_2_22.jpg.1
+ create mode 100644 docs/media/Search_Results1.jpg
+ create mode 100644 docs/media/Sorting_Columns2.jpg
+ create mode 100644 docs/media/Sorting_Columns3.jpg
+ create mode 100644 docs/media/Sorting_Columns3.jpg.1
+ create mode 100644 docs/media/Sorting_Columns4.jpg
+ create mode 100644 docs/media/Sorting_Columns5.jpg
+ create mode 100644 docs/media/Target_Pickup_Lib1.jpg
+ create mode 100644 docs/media/Target_Pickup_Lib2.jpg
+ create mode 100644 docs/media/User_Activity_Types1A.jpg
+ create mode 100644 docs/media/User_Activity_Types2A.jpg
+ create mode 100644 docs/media/Vandelay_Integration_into_Acquisitions1.jpg
+ create mode 100644 docs/media/Vandelay_Integration_into_Acquisitions2.jpg
+ create mode 100644 docs/media/Vandelay_Integration_into_Acquisitions3.jpg
+ create mode 100644 docs/media/Vandelay_Integration_into_Acquisitions4.jpg
+ create mode 100644 docs/media/Vandelay_Integration_into_Acquisitions5.jpg
+ create mode 100644 docs/media/Vandelay_Integration_into_Acquisitions6.jpg
+ create mode 100644 docs/media/acq_activate.png
+ create mode 100644 docs/media/acq_apply_claim_policy.png
+ create mode 100644 docs/media/acq_brief_record-2.png
+ create mode 100644 docs/media/acq_brief_record.png
+ create mode 100644 docs/media/acq_cancel_copy.png
+ create mode 100644 docs/media/acq_cancel_line_items.png
+ create mode 100644 docs/media/acq_claim_item-2.png
+ create mode 100644 docs/media/acq_claim_item-3.png
+ create mode 100644 docs/media/acq_claim_item-4.png
+ create mode 100644 docs/media/acq_claim_item-5.png
+ create mode 100644 docs/media/acq_claim_item.png
+ create mode 100644 docs/media/acq_export_list.png
+ create mode 100644 docs/media/acq_funds-2.png
+ create mode 100644 docs/media/acq_funds.png
+ create mode 100644 docs/media/acq_invoice_blanket.png
+ create mode 100644 docs/media/acq_invoice_line_items.png
+ create mode 100644 docs/media/acq_invoice_link.png
+ create mode 100644 docs/media/acq_invoice_purchase_order.png
+ create mode 100644 docs/media/acq_invoice_view-2.png
+ create mode 100644 docs/media/acq_invoice_view.png
+ create mode 100644 docs/media/acq_line_items_add_copies-2.png
+ create mode 100644 docs/media/acq_line_items_add_copies-3.png
+ create mode 100644 docs/media/acq_line_items_add_copies.png
+ create mode 100644 docs/media/acq_line_items_add_notes.png
+ create mode 100644 docs/media/acq_line_items_alerts-2.png
+ create mode 100644 docs/media/acq_line_items_alerts.png
+ create mode 100644 docs/media/acq_line_items_link-2.png
+ create mode 100644 docs/media/acq_line_items_link.png
+ create mode 100644 docs/media/acq_line_items_update_barcodes.png
+ create mode 100644 docs/media/acq_line_items_view_history.png
+ create mode 100644 docs/media/acq_line_items_worksheet.png
+ create mode 100644 docs/media/acq_load_records.png
+ create mode 100644 docs/media/acq_marc_search-2.png
+ create mode 100644 docs/media/acq_marc_search.png
+ create mode 100644 docs/media/acq_purchase_order_add_charges.png
+ create mode 100644 docs/media/acq_purchase_order_add_note.png
+ create mode 100644 docs/media/acq_purchase_order_create.png
+ create mode 100644 docs/media/acq_purchase_order_history.png
+ create mode 100644 docs/media/acq_purchase_order_name.png
+ create mode 100644 docs/media/acq_purchase_order_print.png
+ create mode 100644 docs/media/acq_purchase_order_split-2.png
+ create mode 100644 docs/media/acq_purchase_order_split.png
+ create mode 100644 docs/media/acq_purchase_order_view-2.png
+ create mode 100644 docs/media/acq_purchase_order_view.png
+ create mode 100644 docs/media/acq_search.png
+ create mode 100644 docs/media/acq_selection_clone.png
+ create mode 100644 docs/media/acq_selection_create.png
+ create mode 100644 docs/media/acq_selection_mark_ready-2.png
+ create mode 100644 docs/media/acq_selection_mark_ready.png
+ create mode 100644 docs/media/acq_selection_merge.png
+ create mode 100644 docs/media/acq_workflow.jpg
+ create mode 100644 docs/media/add_holdings-1.png
+ create mode 100644 docs/media/add_holdings-2.png
+ create mode 100644 docs/media/add_holdings-3.png
+ create mode 100644 docs/media/add_holdings-4.png
+ create mode 100644 docs/media/add_holdings-5.png
+ create mode 100644 docs/media/application-pdf.png
+ create mode 100644 docs/media/ascv-distr.jpg
+ create mode 100644 docs/media/ascv-issues.jpg
+ create mode 100644 docs/media/ascv-sub.jpg
+ create mode 100644 docs/media/backdate_checkin.png
+ create mode 100644 docs/media/backdate_post_checkin.png
+ create mode 100644 docs/media/backdate_post_date.png
+ create mode 100644 docs/media/backdate_red.png
+ create mode 100644 docs/media/bills-1.png
+ create mode 100644 docs/media/bills-10.png
+ create mode 100644 docs/media/bills-11.png
+ create mode 100644 docs/media/bills-12.png
+ create mode 100644 docs/media/bills-13.png
+ create mode 100644 docs/media/bills-14.png
+ create mode 100644 docs/media/bills-15.png
+ create mode 100644 docs/media/bills-16.png
+ create mode 100644 docs/media/bills-17.png
+ create mode 100644 docs/media/bills-18.png
+ create mode 100644 docs/media/bills-19.png
+ create mode 100644 docs/media/bills-2.png
+ create mode 100644 docs/media/bills-20.png
+ create mode 100644 docs/media/bills-3.png
+ create mode 100644 docs/media/bills-4.png
+ create mode 100644 docs/media/bills-5.png
+ create mode 100644 docs/media/bills-6.png
+ create mode 100644 docs/media/bills-7.png
+ create mode 100644 docs/media/bills-8.png
+ create mode 100644 docs/media/bills-9.png
+ create mode 100644 docs/media/booking-cancel-1.png
+ create mode 100644 docs/media/booking-cancel-2.png
+ create mode 100644 docs/media/booking-cancel-3.png
+ create mode 100644 docs/media/booking-cancel-4.png
+ create mode 100644 docs/media/booking-capture-1.png
+ create mode 100644 docs/media/booking-capture-2.png
+ create mode 100644 docs/media/booking-capture-3.png
+ create mode 100644 docs/media/booking-create-1.png
+ create mode 100644 docs/media/booking-create-2.png
+ create mode 100644 docs/media/booking-create-3.png
+ create mode 100644 docs/media/booking-create-4.png
+ create mode 100644 docs/media/booking-create-5.png
+ create mode 100644 docs/media/booking-create-6.png
+ create mode 100644 docs/media/booking-create-7.png
+ create mode 100644 docs/media/booking-create-8.png
+ create mode 100644 docs/media/booking-create-9.png
+ create mode 100644 docs/media/booking-create-bookable-1.png
+ create mode 100644 docs/media/booking-create-bookable-2.png
+ create mode 100644 docs/media/booking-create-bookable-3.png
+ create mode 100644 docs/media/booking-create-bookable-4.png
+ create mode 100644 docs/media/booking-create-bookable-5.png
+ create mode 100644 docs/media/booking-create-bookable-6.png
+ create mode 100644 docs/media/booking-create-module-1.png
+ create mode 100644 docs/media/booking-create-module-2.png
+ create mode 100644 docs/media/booking-create-module-3.png
+ create mode 100644 docs/media/booking-create-module-4.png
+ create mode 100644 docs/media/booking-create-resourcetype-1.png
+ create mode 100644 docs/media/booking-create-resourcetype-2.png
+ create mode 100644 docs/media/booking-create-resourcetype-3.png
+ create mode 100644 docs/media/booking-create-resourcetype-4.png
+ create mode 100644 docs/media/booking-create-resourcetype-5.png
+ create mode 100644 docs/media/booking-pickup-1.png
+ create mode 100644 docs/media/booking-pickup-2.png
+ create mode 100644 docs/media/booking-pickup-3.png
+ create mode 100644 docs/media/booking-pickup-module-1.png
+ create mode 100644 docs/media/booking-pull-1.png
+ create mode 100644 docs/media/booking-pull-2.png
+ create mode 100644 docs/media/booking-pull-3.png
+ create mode 100644 docs/media/booking-return-2.png
+ create mode 100644 docs/media/booking-return-module-1.png
+ create mode 100644 docs/media/booking-return-module-2.png
+ create mode 100644 docs/media/booking-return-module-4.png
+ create mode 100644 docs/media/cap-wiz-cal.jpg
+ create mode 100644 docs/media/cap-wiz-chan.jpg
+ create mode 100644 docs/media/cap-wiz-chron.jpg
+ create mode 100644 docs/media/cap-wiz-freq.jpg
+ create mode 100644 docs/media/cap-wiz-num.jpg
+ create mode 100644 docs/media/catalogue-10.png
+ create mode 100644 docs/media/catalogue-11.png
+ create mode 100644 docs/media/catalogue-3.png
+ create mode 100644 docs/media/catalogue-4.png
+ create mode 100644 docs/media/catalogue-5.png
+ create mode 100644 docs/media/catalogue-6.png
+ create mode 100644 docs/media/catalogue-7.png
+ create mode 100644 docs/media/catalogue-8.png
+ create mode 100644 docs/media/catalogue-9.png
+ create mode 100644 docs/media/caution.png
+ create mode 100644 docs/media/ccbysa.png
+ create mode 100644 docs/media/check_in_menu.png
+ create mode 100644 docs/media/checkin_barcode.png
+ create mode 100644 docs/media/checkin_options.png
+ create mode 100644 docs/media/checkout_item_barcode.png
+ create mode 100644 docs/media/checkout_menu.png
+ create mode 100644 docs/media/circulation-1.png
+ create mode 100644 docs/media/circulation-10.png
+ create mode 100644 docs/media/circulation-11.png
+ create mode 100644 docs/media/circulation-12.png
+ create mode 100644 docs/media/circulation-13.png
+ create mode 100644 docs/media/circulation-14.png
+ create mode 100644 docs/media/circulation-15.png
+ create mode 100644 docs/media/circulation-16.png
+ create mode 100644 docs/media/circulation-17.png
+ create mode 100644 docs/media/circulation-18.png
+ create mode 100644 docs/media/circulation-19.png
+ create mode 100644 docs/media/circulation-2.png
+ create mode 100644 docs/media/circulation-20.png
+ create mode 100644 docs/media/circulation-21.png
+ create mode 100644 docs/media/circulation-22.png
+ create mode 100644 docs/media/circulation-23.png
+ create mode 100644 docs/media/circulation-24.png
+ create mode 100644 docs/media/circulation-25.png
+ create mode 100644 docs/media/circulation-26.png
+ create mode 100644 docs/media/circulation-27.png
+ create mode 100644 docs/media/circulation-28.png
+ create mode 100644 docs/media/circulation-29.png
+ create mode 100644 docs/media/circulation-3.png
+ create mode 100644 docs/media/circulation-30.png
+ create mode 100644 docs/media/circulation-31.png
+ create mode 100644 docs/media/circulation-32.png
+ create mode 100644 docs/media/circulation-33.png
+ create mode 100644 docs/media/circulation-34.png
+ create mode 100644 docs/media/circulation-35.png
+ create mode 100644 docs/media/circulation-36.png
+ create mode 100644 docs/media/circulation-4.png
+ create mode 100644 docs/media/circulation-5.png
+ create mode 100644 docs/media/circulation-6.png
+ create mode 100644 docs/media/circulation-7.png
+ create mode 100644 docs/media/circulation-8.png
+ create mode 100644 docs/media/circulation-9.png
+ create mode 100644 docs/media/claimed_date.png
+ create mode 100644 docs/media/conj1.jpg
+ create mode 100644 docs/media/conj10.jpg
+ create mode 100644 docs/media/conj2.jpg
+ create mode 100644 docs/media/conj3.jpg
+ create mode 100644 docs/media/conj4.jpg
+ create mode 100644 docs/media/conj5.jpg
+ create mode 100644 docs/media/conj6.jpg
+ create mode 100644 docs/media/conj7.jpg
+ create mode 100644 docs/media/conj8.jpg
+ create mode 100644 docs/media/conj9.jpg
+ create mode 100644 docs/media/copy_alert_message.png
+ create mode 100644 docs/media/copy_edit_alert.png
+ create mode 100644 docs/media/create-template-1.png
+ create mode 100644 docs/media/create-template-10.png
+ create mode 100644 docs/media/create-template-11.png
+ create mode 100644 docs/media/create-template-12.png
+ create mode 100644 docs/media/create-template-13.png
+ create mode 100644 docs/media/create-template-15.png
+ create mode 100644 docs/media/create-template-16.png
+ create mode 100644 docs/media/create-template-17.png
+ create mode 100644 docs/media/create-template-19.png
+ create mode 100644 docs/media/create-template-2.png
+ create mode 100644 docs/media/create-template-20.png
+ create mode 100644 docs/media/create-template-21.png
+ create mode 100644 docs/media/create-template-22.png
+ create mode 100644 docs/media/create-template-23.png
+ create mode 100644 docs/media/create-template-24.png
+ create mode 100644 docs/media/create-template-25.png
+ create mode 100644 docs/media/create-template-26.png
+ create mode 100644 docs/media/create-template-27.png
+ create mode 100644 docs/media/create-template-28.png
+ create mode 100644 docs/media/create-template-29.png
+ create mode 100644 docs/media/create-template-3.png
+ create mode 100644 docs/media/create-template-30.png
+ create mode 100644 docs/media/create-template-31.png
+ create mode 100644 docs/media/create-template-32.png
+ create mode 100644 docs/media/create-template-33.png
+ create mode 100644 docs/media/create-template-34.png
+ create mode 100644 docs/media/create-template-35.png
+ create mode 100644 docs/media/create-template-4.png
+ create mode 100644 docs/media/create-template-5.png
+ create mode 100644 docs/media/create-template-6.png
+ create mode 100644 docs/media/create-template-7.png
+ create mode 100644 docs/media/create-template-8.png
+ create mode 100644 docs/media/create-template-9.png
+ create mode 100644 docs/media/due_date_display.png
+ create mode 100644 docs/media/edit_due_date_action.png
+ create mode 100644 docs/media/epub_logo_color_ht39.gif
+ create mode 100644 docs/media/evergreen_logo.gif
+ create mode 100644 docs/media/folder-1.png
+ create mode 100644 docs/media/folder-10.png
+ create mode 100644 docs/media/folder-11.png
+ create mode 100644 docs/media/folder-12.png
+ create mode 100644 docs/media/folder-13.png
+ create mode 100644 docs/media/folder-14.png
+ create mode 100644 docs/media/folder-7a.png
+ create mode 100644 docs/media/generate-report-1.png
+ create mode 100644 docs/media/generate-report-10.png
+ create mode 100644 docs/media/generate-report-14.png
+ create mode 100644 docs/media/generate-report-2.png
+ create mode 100644 docs/media/generate-report-3.png
+ create mode 100644 docs/media/generate-report-8.png
+ create mode 100644 docs/media/generate-report-9.png
+ create mode 100644 docs/media/hold-1.png
+ create mode 100644 docs/media/hold-10.png
+ create mode 100644 docs/media/hold-11.png
+ create mode 100644 docs/media/hold-12.png
+ create mode 100644 docs/media/hold-14.png
+ create mode 100644 docs/media/hold-15.png
+ create mode 100644 docs/media/hold-16.png
+ create mode 100644 docs/media/hold-17.png
+ create mode 100644 docs/media/hold-18.png
+ create mode 100644 docs/media/hold-19.png
+ create mode 100644 docs/media/hold-2.png
+ create mode 100644 docs/media/hold-20.png
+ create mode 100644 docs/media/hold-21.png
+ create mode 100644 docs/media/hold-22.png
+ create mode 100644 docs/media/hold-23.png
+ create mode 100644 docs/media/hold-24.png
+ create mode 100644 docs/media/hold-25.png
+ create mode 100644 docs/media/hold-26.png
+ create mode 100644 docs/media/hold-27.png
+ create mode 100644 docs/media/hold-28.png
+ create mode 100644 docs/media/hold-29.png
+ create mode 100644 docs/media/hold-4.png
+ create mode 100644 docs/media/hold-5.png
+ create mode 100644 docs/media/hold-6.png
+ create mode 100644 docs/media/hold-7.png
+ create mode 100644 docs/media/hold-8.png
+ create mode 100644 docs/media/hold-9.png
+ create mode 100644 docs/media/holds-clearing-1.png
+ create mode 100644 docs/media/holds-clearing-2.png
+ create mode 100644 docs/media/holds-clearing-3.png
+ create mode 100644 docs/media/holds-clearing-4.png
+ create mode 100644 docs/media/holds-managing-1.png
+ create mode 100644 docs/media/holds-managing-10.png
+ create mode 100644 docs/media/holds-managing-11.png
+ create mode 100644 docs/media/holds-managing-12.png
+ create mode 100644 docs/media/holds-managing-13.png
+ create mode 100644 docs/media/holds-managing-14.png
+ create mode 100644 docs/media/holds-managing-15.png
+ create mode 100644 docs/media/holds-managing-16.png
+ create mode 100644 docs/media/holds-managing-17.png
+ create mode 100644 docs/media/holds-managing-18.png
+ create mode 100644 docs/media/holds-managing-19.png
+ create mode 100644 docs/media/holds-managing-2.png
+ create mode 100644 docs/media/holds-managing-3.png
+ create mode 100644 docs/media/holds-managing-4.png
+ create mode 100644 docs/media/holds-managing-5.png
+ create mode 100644 docs/media/holds-managing-6.png
+ create mode 100644 docs/media/holds-managing-7.png
+ create mode 100644 docs/media/holds-managing-8.png
+ create mode 100644 docs/media/holds-managing-9.png
+ create mode 100644 docs/media/holds-notifications-1.png
+ create mode 100644 docs/media/holds-notifications-2.png
+ create mode 100644 docs/media/holds-notifications-3.png
+ create mode 100644 docs/media/holds-notifications-4.png
+ create mode 100644 docs/media/holds-placing-1.png
+ create mode 100644 docs/media/holds-placing-10.png
+ create mode 100644 docs/media/holds-placing-11.png
+ create mode 100644 docs/media/holds-placing-2.png
+ create mode 100644 docs/media/holds-placing-3.png
+ create mode 100644 docs/media/holds-placing-4.png
+ create mode 100644 docs/media/holds-placing-5.png
+ create mode 100644 docs/media/holds-placing-6.png
+ create mode 100644 docs/media/holds-placing-7.png
+ create mode 100644 docs/media/holds-placing-8.png
+ create mode 100644 docs/media/holds-placing-9.png
+ create mode 100644 docs/media/holds-pull-1.png
+ create mode 100644 docs/media/holds-pull-2.png
+ create mode 100644 docs/media/holds-pull-3.png
+ create mode 100644 docs/media/holds-pull-4.png
+ create mode 100644 docs/media/holds-pull-5.png
+ create mode 100644 docs/media/holds-pull-5a.png
+ create mode 100644 docs/media/holds-pull-6.png
+ create mode 100644 docs/media/holds-pull-7.png
+ create mode 100644 docs/media/holds-pull-8.png
+ create mode 100644 docs/media/holds-pull-9.png
+ create mode 100644 docs/media/in_house_use.png
+ create mode 100644 docs/media/item_status_altview.png
+ create mode 100644 docs/media/item_status_barcode.png
+ create mode 100644 docs/media/item_status_list_view.png
+ create mode 100644 docs/media/item_status_menu.png
+ create mode 100644 docs/media/items_out_click.png
+ create mode 100644 docs/media/k_book_record.png
+ create mode 100644 docs/media/last_few_circs_action.png
+ create mode 100644 docs/media/last_few_circs_display.png
+ create mode 100644 docs/media/lost_cr_section.png
+ create mode 100644 docs/media/lsa-1.png
+ create mode 100644 docs/media/lsa-10.jpg
+ create mode 100644 docs/media/lsa-11.jpg
+ create mode 100644 docs/media/lsa-12.jpg
+ create mode 100644 docs/media/lsa-14.jpg
+ create mode 100644 docs/media/lsa-16.jpg
+ create mode 100644 docs/media/lsa-17.jpg
+ create mode 100644 docs/media/lsa-18.jpg
+ create mode 100644 docs/media/lsa-2.jpg
+ create mode 100644 docs/media/lsa-22.png
+ create mode 100644 docs/media/lsa-23.jpg
+ create mode 100644 docs/media/lsa-25.jpg
+ create mode 100644 docs/media/lsa-26.jpg
+ create mode 100644 docs/media/lsa-27.jpg
+ create mode 100644 docs/media/lsa-28.jpg
+ create mode 100644 docs/media/lsa-32.jpg
+ create mode 100644 docs/media/lsa-33.jpg
+ create mode 100644 docs/media/lsa-4.jpg
+ create mode 100644 docs/media/lsa-5.jpg
+ create mode 100644 docs/media/lsa-7.jpg
+ create mode 100644 docs/media/lsa-8.jpg
+ create mode 100644 docs/media/lsa-closed-mountain-1.png
+ create mode 100644 docs/media/lsa-closed-mountain-2.png
+ create mode 100644 docs/media/lsa-group-0.png
+ create mode 100644 docs/media/lsa-group-1.png
+ create mode 100644 docs/media/lsa-group-1a.png
+ create mode 100644 docs/media/lsa-group-2.png
+ create mode 100644 docs/media/lsa-group-3.png
+ create mode 100644 docs/media/lsa-group-4.png
+ create mode 100644 docs/media/lsa-group-5.png
+ create mode 100644 docs/media/lsa-group-6.png
+ create mode 100644 docs/media/lsa-statcat-1.png
+ create mode 100644 docs/media/lsa-statcat-2.png
+ create mode 100644 docs/media/lsa-statcat-3.png
+ create mode 100644 docs/media/lsa-statcat-4.png
+ create mode 100644 docs/media/lsa-statcat-5.png
+ create mode 100644 docs/media/lsa-statcat-6.png
+ create mode 100644 docs/media/lsa-statcat-7.png
+ create mode 100644 docs/media/lsa-statcat-8.png
+ create mode 100644 docs/media/main_logo.jpg
+ create mode 100644 docs/media/mark_claims_returned.png
+ create mode 100644 docs/media/mark_lost.png
+ create mode 100644 docs/media/mark_missing_damaged.png
+ create mode 100644 docs/media/monograph_parts1.jpg
+ create mode 100644 docs/media/monograph_parts2.jpg
+ create mode 100644 docs/media/monograph_parts3.jpg
+ create mode 100644 docs/media/monograph_parts4.jpg
+ create mode 100644 docs/media/monograph_parts5.jpg
+ create mode 100644 docs/media/myaccount-bookbags.png
+ create mode 100644 docs/media/myaccount-itemrenew.png
+ create mode 100644 docs/media/myaccount-itemscheckedout.png
+ create mode 100644 docs/media/myaccount-itemsonhold.png
+ create mode 100644 docs/media/myaccount-login-arrow.png
+ create mode 100644 docs/media/myaccount-login-info.png
+ create mode 100644 docs/media/myaccount-login.png
+ create mode 100644 docs/media/myaccount-loginpasswordupdate.png
+ create mode 100644 docs/media/myaccount-summary.png
+ create mode 100644 docs/media/note.png
+ create mode 100644 docs/media/offline-1.png
+ create mode 100644 docs/media/offline-10.png
+ create mode 100644 docs/media/offline-11.png
+ create mode 100644 docs/media/offline-12.png
+ create mode 100644 docs/media/offline-13.png
+ create mode 100644 docs/media/offline-14.png
+ create mode 100644 docs/media/offline-15.png
+ create mode 100644 docs/media/offline-16.png
+ create mode 100644 docs/media/offline-17.png
+ create mode 100644 docs/media/offline-18.png
+ create mode 100644 docs/media/offline-19.png
+ create mode 100644 docs/media/offline-2.png
+ create mode 100644 docs/media/offline-20.png
+ create mode 100644 docs/media/offline-21.png
+ create mode 100644 docs/media/offline-22.png
+ create mode 100644 docs/media/offline-23.png
+ create mode 100644 docs/media/offline-24.png
+ create mode 100644 docs/media/offline-25.png
+ create mode 100644 docs/media/offline-26.png
+ create mode 100644 docs/media/offline-27.png
+ create mode 100644 docs/media/offline-28.png
+ create mode 100644 docs/media/offline-29.png
+ create mode 100644 docs/media/offline-3.png
+ create mode 100644 docs/media/offline-30.png
+ create mode 100644 docs/media/offline-31.png
+ create mode 100644 docs/media/offline-32.png
+ create mode 100644 docs/media/offline-33.png
+ create mode 100644 docs/media/offline-34.png
+ create mode 100644 docs/media/offline-35.png
+ create mode 100644 docs/media/offline-36.png
+ create mode 100644 docs/media/offline-4.png
+ create mode 100644 docs/media/offline-5.png
+ create mode 100644 docs/media/offline-6.png
+ create mode 100644 docs/media/offline-7.png
+ create mode 100644 docs/media/offline-8.png
+ create mode 100644 docs/media/offline-9.png
+ create mode 100644 docs/media/overdue_checkin.png
+ create mode 100644 docs/media/passwordresetmessage.png
+ create mode 100644 docs/media/patron-1.png
+ create mode 100644 docs/media/patron-10.png
+ create mode 100644 docs/media/patron-11.png
+ create mode 100644 docs/media/patron-12.png
+ create mode 100644 docs/media/patron-13.png
+ create mode 100644 docs/media/patron-14.png
+ create mode 100644 docs/media/patron-15.png
+ create mode 100644 docs/media/patron-16.png
+ create mode 100644 docs/media/patron-17.png
+ create mode 100644 docs/media/patron-18.png
+ create mode 100644 docs/media/patron-19.png
+ create mode 100644 docs/media/patron-2.png
+ create mode 100644 docs/media/patron-20.png
+ create mode 100644 docs/media/patron-21.png
+ create mode 100644 docs/media/patron-22.png
+ create mode 100644 docs/media/patron-23.png
+ create mode 100644 docs/media/patron-24.png
+ create mode 100644 docs/media/patron-25.png
+ create mode 100644 docs/media/patron-26.png
+ create mode 100644 docs/media/patron-27.png
+ create mode 100644 docs/media/patron-28.png
+ create mode 100644 docs/media/patron-29.png
+ create mode 100644 docs/media/patron-3.png
+ create mode 100644 docs/media/patron-30.png
+ create mode 100644 docs/media/patron-31.png
+ create mode 100644 docs/media/patron-32.png
+ create mode 100644 docs/media/patron-3a.png
+ create mode 100644 docs/media/patron-4.png
+ create mode 100644 docs/media/patron-5.png
+ create mode 100644 docs/media/patron-6.png
+ create mode 100644 docs/media/patron-7.png
+ create mode 100644 docs/media/patron-8.png
+ create mode 100644 docs/media/patron-9.png
+ create mode 100644 docs/media/patron-record-status-1.png
+ create mode 100644 docs/media/patron-record-status-dark-grey.png
+ create mode 100644 docs/media/patron-record-status-green.png
+ create mode 100644 docs/media/patron-record-status-light-grey.png
+ create mode 100644 docs/media/patron-record-status-orange.png
+ create mode 100644 docs/media/patron-record-status-purple.png
+ create mode 100644 docs/media/patron-record-status-red.png
+ create mode 100644 docs/media/patron-record-status-yellow.png
+ create mode 100644 docs/media/patron_summary_checkouts.jpg
+ create mode 100644 docs/media/pdf_icon.gif
+ create mode 100644 docs/media/pre_cat_alert.png
+ create mode 100644 docs/media/precat.png
+ create mode 100644 docs/media/profile-5.png
+ create mode 100644 docs/media/profile-6.png
+ create mode 100644 docs/media/profile-7.png
+ create mode 100644 docs/media/receipt-10.jpg
+ create mode 100644 docs/media/receipt-11.jpg
+ create mode 100644 docs/media/receipt-12.jpg
+ create mode 100644 docs/media/receipt-13.jpg
+ create mode 100644 docs/media/receipt-14.jpg
+ create mode 100644 docs/media/receipt-15.jpg
+ create mode 100644 docs/media/receipt-16.png
+ create mode 100644 docs/media/receipt-17.jpg
+ create mode 100644 docs/media/receipt-18.jpg
+ create mode 100644 docs/media/receipt-19.jpg
+ create mode 100644 docs/media/receipt-2.jpg
+ create mode 100644 docs/media/receipt-20.jpg
+ create mode 100644 docs/media/receipt-21.jpg
+ create mode 100644 docs/media/receipt-22.jpg
+ create mode 100644 docs/media/receipt-23.jpg
+ create mode 100644 docs/media/receipt-24.jpg
+ create mode 100644 docs/media/receipt-3.jpg
+ create mode 100644 docs/media/receipt-4.jpg
+ create mode 100644 docs/media/receipt-5.jpg
+ create mode 100644 docs/media/receipt-6.jpg
+ create mode 100644 docs/media/receipt-7.jpg
+ create mode 100644 docs/media/receipt-8.jpg
+ create mode 100644 docs/media/receipt-9.jpg
+ create mode 100644 docs/media/record_in_house_action.png
+ create mode 100644 docs/media/renew_action.png
+ create mode 100644 docs/media/renew_item.png
+ create mode 100644 docs/media/renew_item_calendar.png
+ create mode 100644 docs/media/renew_specific_date.png
+ create mode 100644 docs/media/retrieve_patron.png
+ create mode 100644 docs/media/scv-crec.jpg
+ create mode 100644 docs/media/scv-distr.jpg
+ create mode 100644 docs/media/scv-iss.jpg
+ create mode 100644 docs/media/scv-rec.jpg
+ create mode 100644 docs/media/scv-srec.jpg
+ create mode 100644 docs/media/scv-sub.jpg
+ create mode 100644 docs/media/server-3.png
+ create mode 100644 docs/media/server-4.png
+ create mode 100644 docs/media/server-5.png
+ create mode 100644 docs/media/server-6.png
+ create mode 100644 docs/media/shared-template-6.png
+ create mode 100644 docs/media/shared-template-7.png
+ create mode 100644 docs/media/shared-template-9.png
+ create mode 100644 docs/media/small_logo_white.jpg
+ create mode 100644 docs/media/specify_due_date1.png
+ create mode 100644 docs/media/specify_due_date2.png
+ create mode 100644 docs/media/staffclient-1.png
+ create mode 100644 docs/media/staffclient-2.png
+ create mode 100644 docs/media/staffclient-3.png
+ create mode 100644 docs/media/staffclient-4.png
+ create mode 100644 docs/media/staffclient-5.png
+ create mode 100644 docs/media/staffclient-6.png
+ create mode 100644 docs/media/staffclient-6a.png
+ create mode 100644 docs/media/staffclient-6b.png
+ create mode 100644 docs/media/staffclient-6c.png
+ create mode 100644 docs/media/staffclient-6d.png
+ create mode 100644 docs/media/staffclient-7.png
+ create mode 100644 docs/media/staffclient-7a.png
+ create mode 100644 docs/media/staffclient-8.png
+ create mode 100644 docs/media/staffclient-9.png
+ create mode 100644 docs/media/staffclientinstallation-proxy-putty-1.png
+ create mode 100644 docs/media/staffclientinstallation-proxy-socks-1.png
+ create mode 100644 docs/media/staffclientinstallation-proxy-socks-2.png
+ create mode 100644 docs/media/staffclientinstallation-staffclient-1.png
+ create mode 100644 docs/media/staffclientinstallation-staffclient-2.png
+ create mode 100644 docs/media/staffclientinstallation-staffclient-3.png
+ create mode 100644 docs/media/staffclientinstallation-staffclient-4.png
+ create mode 100644 docs/media/staffclientinstallation-staffclient-workstationnames-1.png
+ create mode 100644 docs/media/staffclientinstallation-staffclient-workstationnames-2.png
+ create mode 100644 docs/media/staffclientinstallation-staffclient-workstationnames-3.png
+ create mode 100644 docs/media/staffclientinstallation-tabbed-1.png
+ create mode 100644 docs/media/survey-1.png
+ create mode 100644 docs/media/survey-10.png
+ create mode 100644 docs/media/survey-2.png
+ create mode 100644 docs/media/survey-3.png
+ create mode 100644 docs/media/survey-4.png
+ create mode 100644 docs/media/survey-5.png
+ create mode 100644 docs/media/survey-6.png
+ create mode 100644 docs/media/survey-7.png
+ create mode 100644 docs/media/survey-8.png
+ create mode 100644 docs/media/survey-9.png
+ create mode 100644 docs/media/tip.png
+ create mode 100644 docs/media/transit-1.png
+ create mode 100644 docs/media/transit-10.png
+ create mode 100644 docs/media/transit-2.png
+ create mode 100644 docs/media/transit-3.png
+ create mode 100644 docs/media/transit-4a.png
+ create mode 100644 docs/media/transit-5.png
+ create mode 100644 docs/media/transit-6.png
+ create mode 100644 docs/media/transit-7.png
+ create mode 100644 docs/media/transit-8.png
+ create mode 100644 docs/media/transit-9.png
+ create mode 100644 docs/media/unified_volume_copy_creator1.jpg
+ create mode 100644 docs/media/unified_volume_copy_creator2.jpg
+ create mode 100644 docs/media/unified_volume_copy_creator3.jpg
+ create mode 100644 docs/media/unified_volume_copy_creator4.jpg
+ create mode 100644 docs/media/unified_volume_copy_creator5.jpg
+ create mode 100644 docs/media/unified_volume_copy_creator6.jpg
+ create mode 100644 docs/media/view-output-1.png
+ create mode 100644 docs/media/view-output-2.png
+ create mode 100644 docs/media/view-output-3.png
+ create mode 100644 docs/media/view-output-4.png
+ create mode 100644 docs/media/view-output-5.png
+ create mode 100644 docs/media/warning.png
+ create mode 100644 docs/opac/my_lists.txt
+ create mode 100644 docs/reports/README
+ create mode 100644 docs/root.txt
+ create mode 100644 docs/serials/A-intro.txt
+ create mode 100644 docs/serials/B-copy_template.txt
+ create mode 100644 docs/serials/C-subscription-SCV.txt
+ create mode 100644 docs/serials/D-subscription-ASCV.txt
+ create mode 100644 docs/serials/E-edit_subscriptions.txt
+ create mode 100644 docs/serials/F-Receiving.txt
+ create mode 100644 docs/serials/G-Special_issue.txt
+ create mode 100644 docs/serials/H-holdings_statements.txt
+ delete mode 100644 installation/edi_setup.txt
+ delete mode 100644 installation/server_installation.txt
+ delete mode 100644 installation/server_upgrade.txt
+ delete mode 100644 installation/system_requirements.txt
+ delete mode 100644 licensing.txt
+ delete mode 100644 media/1.png
+ delete mode 100644 media/10.png
+ delete mode 100644 media/11.png
+ delete mode 100644 media/12.png
+ delete mode 100644 media/13.png
+ delete mode 100644 media/14.png
+ delete mode 100644 media/15.png
+ delete mode 100644 media/2.png
+ delete mode 100644 media/3.png
+ delete mode 100644 media/4.png
+ delete mode 100644 media/5.png
+ delete mode 100644 media/6.png
+ delete mode 100644 media/7.png
+ delete mode 100644 media/8.png
+ delete mode 100644 media/9.png
+ delete mode 100644 media/Authority_Control_Sets1.jpg
+ delete mode 100644 media/Authority_Control_Sets1.jpg.1
+ delete mode 100644 media/Authority_Control_Sets2.jpg
+ delete mode 100644 media/Authority_Control_Sets2.jpg.1
+ delete mode 100644 media/Authority_Control_Sets3.jpg
+ delete mode 100644 media/Authority_Control_Sets3.jpg.1
+ delete mode 100644 media/Authority_Control_Sets4.jpg
+ delete mode 100644 media/Authority_Control_Sets4.jpg.1
+ delete mode 100644 media/Authority_Control_Sets5.jpg
+ delete mode 100644 media/Authority_Control_Sets5.jpg.1
+ delete mode 100644 media/Authority_Control_Sets6.jpg
+ delete mode 100644 media/Authority_Control_Sets6.jpg.1
+ delete mode 100644 media/Authority_Control_Sets7.jpg
+ delete mode 100644 media/Authority_Control_Sets7.jpg.1
+ delete mode 100644 media/Authority_Control_Sets8.jpg
+ delete mode 100644 media/Authority_Control_Sets8.jpg.1
+ delete mode 100644 media/Authority_Control_Sets9.jpg
+ delete mode 100644 media/Authority_Control_Sets9.jpg.1
+ delete mode 100644 media/Auto_Suggest_in_Catalog_Search1.jpg
+ delete mode 100644 media/Auto_Suggest_in_Catalog_Search2.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records1.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records10.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records11.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records12.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records13.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records14.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records15.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records2.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records3.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records4.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records5.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records6.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records7.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records8.jpg
+ delete mode 100644 media/Batch_Importing_MARC_Records9.jpg
+ delete mode 100644 media/Call_Number_Prefixes_and_Suffixes_2_21.jpg
+ delete mode 100644 media/Call_Number_Prefixes_and_Suffixes_2_22.jpg
+ delete mode 100644 media/Call_Number_Prefixes_and_Suffixes_2_22.jpg.1
+ delete mode 100644 media/Customizable_Toolbar1.jpg
+ delete mode 100644 media/Customizable_Toolbar2.jpg
+ delete mode 100644 media/Customizable_Toolbar3.jpg
+ delete mode 100644 media/Customizable_Toolbar4.jpg
+ delete mode 100644 media/Double_Click1.jpg
+ delete mode 100644 media/Double_Click2.jpg
+ delete mode 100644 media/Double_Click3.jpg
+ delete mode 100644 media/My_Lists1.jpg
+ delete mode 100644 media/My_Lists3.jpg
+ delete mode 100644 media/My_Lists4.jpg
+ delete mode 100644 media/My_Lists5.jpg
+ delete mode 100644 media/My_Lists6.jpg
+ delete mode 100644 media/My_Lists7.jpg
+ delete mode 100644 media/New_Tab_Button1.jpg
+ delete mode 100644 media/Overlay_Existing_Record_via_Z39_50_Import1.jpg
+ delete mode 100644 media/Overlay_Existing_Record_via_Z39_50_Import2.jpg
+ delete mode 100644 media/Overlay_Existing_Record_via_Z39_50_Import3.jpg
+ delete mode 100644 media/Overlay_Existing_Record_via_Z39_50_Import4.jpg
+ delete mode 100644 media/Overlay_Existing_Record_via_Z39_50_Import5.jpg
+ delete mode 100644 media/Overlay_Existing_Record_via_Z39_50_Import6.jpg
+ delete mode 100644 media/Receive_Items_From_an_Invoice1.jpg
+ delete mode 100644 media/Receive_Items_From_an_Invoice2.jpg
+ delete mode 100644 media/Receive_Items_From_an_Invoice3.jpg
+ delete mode 100644 media/Receive_Items_From_an_Invoice4.jpg
+ delete mode 100644 media/Receive_Items_From_an_Invoice5.jpg
+ delete mode 100644 media/Receive_Items_From_an_Invoice6.jpg
+ delete mode 100644 media/Receive_Items_From_an_Invoice7.jpg
+ delete mode 100644 media/Restrict_Z39_50_Sources_by_Permission_Group1.jpg
+ delete mode 100644 media/Restrict_Z39_50_Sources_by_Permission_Group2.jpg
+ delete mode 100644 media/Restrict_Z39_50_Sources_by_Permission_Group3.jpg
+ delete mode 100644 media/SMS_Text_Messaging1.jpg
+ delete mode 100644 media/SMS_Text_Messaging10.jpg
+ delete mode 100644 media/SMS_Text_Messaging11.jpg
+ delete mode 100644 media/SMS_Text_Messaging12.jpg
+ delete mode 100644 media/SMS_Text_Messaging13.jpg
+ delete mode 100644 media/SMS_Text_Messaging2.jpg
+ delete mode 100644 media/SMS_Text_Messaging3.jpg
+ delete mode 100644 media/SMS_Text_Messaging4.jpg
+ delete mode 100644 media/SMS_Text_Messaging5.jpg
+ delete mode 100644 media/SMS_Text_Messaging6.jpg
+ delete mode 100644 media/SMS_Text_Messaging7.jpg
+ delete mode 100644 media/SMS_Text_Messaging8.jpg
+ delete mode 100644 media/SMS_Text_Messaging9.jpg
+ delete mode 100644 media/Saved_Catalog_Searches_2_21.jpg
+ delete mode 100644 media/Saved_Catalog_Searches_2_21.jpg.1
+ delete mode 100644 media/Saved_Catalog_Searches_2_22.jpg
+ delete mode 100644 media/Saved_Catalog_Searches_2_22.jpg.1
+ delete mode 100644 media/Search_Results1.jpg
+ delete mode 100644 media/Sorting_Columns2.jpg
+ delete mode 100644 media/Sorting_Columns3.jpg
+ delete mode 100644 media/Sorting_Columns3.jpg.1
+ delete mode 100644 media/Sorting_Columns4.jpg
+ delete mode 100644 media/Sorting_Columns5.jpg
+ delete mode 100644 media/Target_Pickup_Lib1.jpg
+ delete mode 100644 media/Target_Pickup_Lib2.jpg
+ delete mode 100644 media/User_Activity_Types1A.jpg
+ delete mode 100644 media/User_Activity_Types2A.jpg
+ delete mode 100644 media/Vandelay_Integration_into_Acquisitions1.jpg
+ delete mode 100644 media/Vandelay_Integration_into_Acquisitions2.jpg
+ delete mode 100644 media/Vandelay_Integration_into_Acquisitions3.jpg
+ delete mode 100644 media/Vandelay_Integration_into_Acquisitions4.jpg
+ delete mode 100644 media/Vandelay_Integration_into_Acquisitions5.jpg
+ delete mode 100644 media/Vandelay_Integration_into_Acquisitions6.jpg
+ delete mode 100644 media/acq_activate.png
+ delete mode 100644 media/acq_apply_claim_policy.png
+ delete mode 100644 media/acq_brief_record-2.png
+ delete mode 100644 media/acq_brief_record.png
+ delete mode 100644 media/acq_cancel_copy.png
+ delete mode 100644 media/acq_cancel_line_items.png
+ delete mode 100644 media/acq_claim_item-2.png
+ delete mode 100644 media/acq_claim_item-3.png
+ delete mode 100644 media/acq_claim_item-4.png
+ delete mode 100644 media/acq_claim_item-5.png
+ delete mode 100644 media/acq_claim_item.png
+ delete mode 100644 media/acq_export_list.png
+ delete mode 100644 media/acq_funds-2.png
+ delete mode 100644 media/acq_funds.png
+ delete mode 100644 media/acq_invoice_blanket.png
+ delete mode 100644 media/acq_invoice_line_items.png
+ delete mode 100644 media/acq_invoice_link.png
+ delete mode 100644 media/acq_invoice_purchase_order.png
+ delete mode 100644 media/acq_invoice_view-2.png
+ delete mode 100644 media/acq_invoice_view.png
+ delete mode 100644 media/acq_line_items_add_copies-2.png
+ delete mode 100644 media/acq_line_items_add_copies-3.png
+ delete mode 100644 media/acq_line_items_add_copies.png
+ delete mode 100644 media/acq_line_items_add_notes.png
+ delete mode 100644 media/acq_line_items_alerts-2.png
+ delete mode 100644 media/acq_line_items_alerts.png
+ delete mode 100644 media/acq_line_items_link-2.png
+ delete mode 100644 media/acq_line_items_link.png
+ delete mode 100644 media/acq_line_items_update_barcodes.png
+ delete mode 100644 media/acq_line_items_view_history.png
+ delete mode 100644 media/acq_line_items_worksheet.png
+ delete mode 100644 media/acq_load_records.png
+ delete mode 100644 media/acq_marc_search-2.png
+ delete mode 100644 media/acq_marc_search.png
+ delete mode 100644 media/acq_purchase_order_add_charges.png
+ delete mode 100644 media/acq_purchase_order_add_note.png
+ delete mode 100644 media/acq_purchase_order_create.png
+ delete mode 100644 media/acq_purchase_order_history.png
+ delete mode 100644 media/acq_purchase_order_name.png
+ delete mode 100644 media/acq_purchase_order_print.png
+ delete mode 100644 media/acq_purchase_order_split-2.png
+ delete mode 100644 media/acq_purchase_order_split.png
+ delete mode 100644 media/acq_purchase_order_view-2.png
+ delete mode 100644 media/acq_purchase_order_view.png
+ delete mode 100644 media/acq_search.png
+ delete mode 100644 media/acq_selection_clone.png
+ delete mode 100644 media/acq_selection_create.png
+ delete mode 100644 media/acq_selection_mark_ready-2.png
+ delete mode 100644 media/acq_selection_mark_ready.png
+ delete mode 100644 media/acq_selection_merge.png
+ delete mode 100644 media/acq_workflow.jpg
+ delete mode 100644 media/add_holdings-1.png
+ delete mode 100644 media/add_holdings-2.png
+ delete mode 100644 media/add_holdings-3.png
+ delete mode 100644 media/add_holdings-4.png
+ delete mode 100644 media/add_holdings-5.png
+ delete mode 100644 media/application-pdf.png
+ delete mode 100644 media/ascv-distr.jpg
+ delete mode 100644 media/ascv-issues.jpg
+ delete mode 100644 media/ascv-sub.jpg
+ delete mode 100644 media/backdate_checkin.png
+ delete mode 100644 media/backdate_post_checkin.png
+ delete mode 100644 media/backdate_post_date.png
+ delete mode 100644 media/backdate_red.png
+ delete mode 100644 media/bills-1.png
+ delete mode 100644 media/bills-10.png
+ delete mode 100644 media/bills-11.png
+ delete mode 100644 media/bills-12.png
+ delete mode 100644 media/bills-13.png
+ delete mode 100644 media/bills-14.png
+ delete mode 100644 media/bills-15.png
+ delete mode 100644 media/bills-16.png
+ delete mode 100644 media/bills-17.png
+ delete mode 100644 media/bills-18.png
+ delete mode 100644 media/bills-19.png
+ delete mode 100644 media/bills-2.png
+ delete mode 100644 media/bills-20.png
+ delete mode 100644 media/bills-3.png
+ delete mode 100644 media/bills-4.png
+ delete mode 100644 media/bills-5.png
+ delete mode 100644 media/bills-6.png
+ delete mode 100644 media/bills-7.png
+ delete mode 100644 media/bills-8.png
+ delete mode 100644 media/bills-9.png
+ delete mode 100644 media/booking-cancel-1.png
+ delete mode 100644 media/booking-cancel-2.png
+ delete mode 100644 media/booking-cancel-3.png
+ delete mode 100644 media/booking-cancel-4.png
+ delete mode 100644 media/booking-capture-1.png
+ delete mode 100644 media/booking-capture-2.png
+ delete mode 100644 media/booking-capture-3.png
+ delete mode 100644 media/booking-create-1.png
+ delete mode 100644 media/booking-create-2.png
+ delete mode 100644 media/booking-create-3.png
+ delete mode 100644 media/booking-create-4.png
+ delete mode 100644 media/booking-create-5.png
+ delete mode 100644 media/booking-create-6.png
+ delete mode 100644 media/booking-create-7.png
+ delete mode 100644 media/booking-create-8.png
+ delete mode 100644 media/booking-create-9.png
+ delete mode 100644 media/booking-create-bookable-1.png
+ delete mode 100644 media/booking-create-bookable-2.png
+ delete mode 100644 media/booking-create-bookable-3.png
+ delete mode 100644 media/booking-create-bookable-4.png
+ delete mode 100644 media/booking-create-bookable-5.png
+ delete mode 100644 media/booking-create-bookable-6.png
+ delete mode 100644 media/booking-create-module-1.png
+ delete mode 100644 media/booking-create-module-2.png
+ delete mode 100644 media/booking-create-module-3.png
+ delete mode 100644 media/booking-create-module-4.png
+ delete mode 100644 media/booking-create-resourcetype-1.png
+ delete mode 100644 media/booking-create-resourcetype-2.png
+ delete mode 100644 media/booking-create-resourcetype-3.png
+ delete mode 100644 media/booking-create-resourcetype-4.png
+ delete mode 100644 media/booking-create-resourcetype-5.png
+ delete mode 100644 media/booking-pickup-1.png
+ delete mode 100644 media/booking-pickup-2.png
+ delete mode 100644 media/booking-pickup-3.png
+ delete mode 100644 media/booking-pickup-module-1.png
+ delete mode 100644 media/booking-pull-1.png
+ delete mode 100644 media/booking-pull-2.png
+ delete mode 100644 media/booking-pull-3.png
+ delete mode 100644 media/booking-return-2.png
+ delete mode 100644 media/booking-return-module-1.png
+ delete mode 100644 media/booking-return-module-2.png
+ delete mode 100644 media/booking-return-module-4.png
+ delete mode 100644 media/cap-wiz-cal.jpg
+ delete mode 100644 media/cap-wiz-chan.jpg
+ delete mode 100644 media/cap-wiz-chron.jpg
+ delete mode 100644 media/cap-wiz-freq.jpg
+ delete mode 100644 media/cap-wiz-num.jpg
+ delete mode 100644 media/catalogue-10.png
+ delete mode 100644 media/catalogue-11.png
+ delete mode 100644 media/catalogue-3.png
+ delete mode 100644 media/catalogue-4.png
+ delete mode 100644 media/catalogue-5.png
+ delete mode 100644 media/catalogue-6.png
+ delete mode 100644 media/catalogue-7.png
+ delete mode 100644 media/catalogue-8.png
+ delete mode 100644 media/catalogue-9.png
+ delete mode 100644 media/caution.png
+ delete mode 100644 media/ccbysa.png
+ delete mode 100644 media/check_in_menu.png
+ delete mode 100644 media/checkin_barcode.png
+ delete mode 100644 media/checkin_options.png
+ delete mode 100644 media/checkout_item_barcode.png
+ delete mode 100644 media/checkout_menu.png
+ delete mode 100644 media/circulation-1.png
+ delete mode 100644 media/circulation-10.png
+ delete mode 100644 media/circulation-11.png
+ delete mode 100644 media/circulation-12.png
+ delete mode 100644 media/circulation-13.png
+ delete mode 100644 media/circulation-14.png
+ delete mode 100644 media/circulation-15.png
+ delete mode 100644 media/circulation-16.png
+ delete mode 100644 media/circulation-17.png
+ delete mode 100644 media/circulation-18.png
+ delete mode 100644 media/circulation-19.png
+ delete mode 100644 media/circulation-2.png
+ delete mode 100644 media/circulation-20.png
+ delete mode 100644 media/circulation-21.png
+ delete mode 100644 media/circulation-22.png
+ delete mode 100644 media/circulation-23.png
+ delete mode 100644 media/circulation-24.png
+ delete mode 100644 media/circulation-25.png
+ delete mode 100644 media/circulation-26.png
+ delete mode 100644 media/circulation-27.png
+ delete mode 100644 media/circulation-28.png
+ delete mode 100644 media/circulation-29.png
+ delete mode 100644 media/circulation-3.png
+ delete mode 100644 media/circulation-30.png
+ delete mode 100644 media/circulation-31.png
+ delete mode 100644 media/circulation-32.png
+ delete mode 100644 media/circulation-33.png
+ delete mode 100644 media/circulation-34.png
+ delete mode 100644 media/circulation-35.png
+ delete mode 100644 media/circulation-36.png
+ delete mode 100644 media/circulation-4.png
+ delete mode 100644 media/circulation-5.png
+ delete mode 100644 media/circulation-6.png
+ delete mode 100644 media/circulation-7.png
+ delete mode 100644 media/circulation-8.png
+ delete mode 100644 media/circulation-9.png
+ delete mode 100644 media/claimed_date.png
+ delete mode 100644 media/conj1.jpg
+ delete mode 100644 media/conj10.jpg
+ delete mode 100644 media/conj2.jpg
+ delete mode 100644 media/conj3.jpg
+ delete mode 100644 media/conj4.jpg
+ delete mode 100644 media/conj5.jpg
+ delete mode 100644 media/conj6.jpg
+ delete mode 100644 media/conj7.jpg
+ delete mode 100644 media/conj8.jpg
+ delete mode 100644 media/conj9.jpg
+ delete mode 100644 media/copy_alert_message.png
+ delete mode 100644 media/copy_edit_alert.png
+ delete mode 100644 media/create-template-1.png
+ delete mode 100644 media/create-template-10.png
+ delete mode 100644 media/create-template-11.png
+ delete mode 100644 media/create-template-12.png
+ delete mode 100644 media/create-template-13.png
+ delete mode 100644 media/create-template-15.png
+ delete mode 100644 media/create-template-16.png
+ delete mode 100644 media/create-template-17.png
+ delete mode 100644 media/create-template-19.png
+ delete mode 100644 media/create-template-2.png
+ delete mode 100644 media/create-template-20.png
+ delete mode 100644 media/create-template-21.png
+ delete mode 100644 media/create-template-22.png
+ delete mode 100644 media/create-template-23.png
+ delete mode 100644 media/create-template-24.png
+ delete mode 100644 media/create-template-25.png
+ delete mode 100644 media/create-template-26.png
+ delete mode 100644 media/create-template-27.png
+ delete mode 100644 media/create-template-28.png
+ delete mode 100644 media/create-template-29.png
+ delete mode 100644 media/create-template-3.png
+ delete mode 100644 media/create-template-30.png
+ delete mode 100644 media/create-template-31.png
+ delete mode 100644 media/create-template-32.png
+ delete mode 100644 media/create-template-33.png
+ delete mode 100644 media/create-template-34.png
+ delete mode 100644 media/create-template-35.png
+ delete mode 100644 media/create-template-4.png
+ delete mode 100644 media/create-template-5.png
+ delete mode 100644 media/create-template-6.png
+ delete mode 100644 media/create-template-7.png
+ delete mode 100644 media/create-template-8.png
+ delete mode 100644 media/create-template-9.png
+ delete mode 100644 media/due_date_display.png
+ delete mode 100644 media/edit_due_date_action.png
+ delete mode 100644 media/epub_logo_color_ht39.gif
+ delete mode 100644 media/evergreen_logo.gif
+ delete mode 100644 media/folder-1.png
+ delete mode 100644 media/folder-10.png
+ delete mode 100644 media/folder-11.png
+ delete mode 100644 media/folder-12.png
+ delete mode 100644 media/folder-13.png
+ delete mode 100644 media/folder-14.png
+ delete mode 100644 media/folder-7a.png
+ delete mode 100644 media/generate-report-1.png
+ delete mode 100644 media/generate-report-10.png
+ delete mode 100644 media/generate-report-14.png
+ delete mode 100644 media/generate-report-2.png
+ delete mode 100644 media/generate-report-3.png
+ delete mode 100644 media/generate-report-8.png
+ delete mode 100644 media/generate-report-9.png
+ delete mode 100644 media/hold-1.png
+ delete mode 100644 media/hold-10.png
+ delete mode 100644 media/hold-11.png
+ delete mode 100644 media/hold-12.png
+ delete mode 100644 media/hold-14.png
+ delete mode 100644 media/hold-15.png
+ delete mode 100644 media/hold-16.png
+ delete mode 100644 media/hold-17.png
+ delete mode 100644 media/hold-18.png
+ delete mode 100644 media/hold-19.png
+ delete mode 100644 media/hold-2.png
+ delete mode 100644 media/hold-20.png
+ delete mode 100644 media/hold-21.png
+ delete mode 100644 media/hold-22.png
+ delete mode 100644 media/hold-23.png
+ delete mode 100644 media/hold-24.png
+ delete mode 100644 media/hold-25.png
+ delete mode 100644 media/hold-26.png
+ delete mode 100644 media/hold-27.png
+ delete mode 100644 media/hold-28.png
+ delete mode 100644 media/hold-29.png
+ delete mode 100644 media/hold-4.png
+ delete mode 100644 media/hold-5.png
+ delete mode 100644 media/hold-6.png
+ delete mode 100644 media/hold-7.png
+ delete mode 100644 media/hold-8.png
+ delete mode 100644 media/hold-9.png
+ delete mode 100644 media/holds-clearing-1.png
+ delete mode 100644 media/holds-clearing-2.png
+ delete mode 100644 media/holds-clearing-3.png
+ delete mode 100644 media/holds-clearing-4.png
+ delete mode 100644 media/holds-managing-1.png
+ delete mode 100644 media/holds-managing-10.png
+ delete mode 100644 media/holds-managing-11.png
+ delete mode 100644 media/holds-managing-12.png
+ delete mode 100644 media/holds-managing-13.png
+ delete mode 100644 media/holds-managing-14.png
+ delete mode 100644 media/holds-managing-15.png
+ delete mode 100644 media/holds-managing-16.png
+ delete mode 100644 media/holds-managing-17.png
+ delete mode 100644 media/holds-managing-18.png
+ delete mode 100644 media/holds-managing-19.png
+ delete mode 100644 media/holds-managing-2.png
+ delete mode 100644 media/holds-managing-3.png
+ delete mode 100644 media/holds-managing-4.png
+ delete mode 100644 media/holds-managing-5.png
+ delete mode 100644 media/holds-managing-6.png
+ delete mode 100644 media/holds-managing-7.png
+ delete mode 100644 media/holds-managing-8.png
+ delete mode 100644 media/holds-managing-9.png
+ delete mode 100644 media/holds-notifications-1.png
+ delete mode 100644 media/holds-notifications-2.png
+ delete mode 100644 media/holds-notifications-3.png
+ delete mode 100644 media/holds-notifications-4.png
+ delete mode 100644 media/holds-placing-1.png
+ delete mode 100644 media/holds-placing-10.png
+ delete mode 100644 media/holds-placing-11.png
+ delete mode 100644 media/holds-placing-2.png
+ delete mode 100644 media/holds-placing-3.png
+ delete mode 100644 media/holds-placing-4.png
+ delete mode 100644 media/holds-placing-5.png
+ delete mode 100644 media/holds-placing-6.png
+ delete mode 100644 media/holds-placing-7.png
+ delete mode 100644 media/holds-placing-8.png
+ delete mode 100644 media/holds-placing-9.png
+ delete mode 100644 media/holds-pull-1.png
+ delete mode 100644 media/holds-pull-2.png
+ delete mode 100644 media/holds-pull-3.png
+ delete mode 100644 media/holds-pull-4.png
+ delete mode 100644 media/holds-pull-5.png
+ delete mode 100644 media/holds-pull-5a.png
+ delete mode 100644 media/holds-pull-6.png
+ delete mode 100644 media/holds-pull-7.png
+ delete mode 100644 media/holds-pull-8.png
+ delete mode 100644 media/holds-pull-9.png
+ delete mode 100644 media/in_house_use.png
+ delete mode 100644 media/item_status_altview.png
+ delete mode 100644 media/item_status_barcode.png
+ delete mode 100644 media/item_status_list_view.png
+ delete mode 100644 media/item_status_menu.png
+ delete mode 100644 media/items_out_click.png
+ delete mode 100644 media/k_book_record.png
+ delete mode 100644 media/last_few_circs_action.png
+ delete mode 100644 media/last_few_circs_display.png
+ delete mode 100644 media/lost_cr_section.png
+ delete mode 100644 media/lsa-1.png
+ delete mode 100644 media/lsa-10.jpg
+ delete mode 100644 media/lsa-11.jpg
+ delete mode 100644 media/lsa-12.jpg
+ delete mode 100644 media/lsa-14.jpg
+ delete mode 100644 media/lsa-16.jpg
+ delete mode 100644 media/lsa-17.jpg
+ delete mode 100644 media/lsa-18.jpg
+ delete mode 100644 media/lsa-2.jpg
+ delete mode 100644 media/lsa-22.png
+ delete mode 100644 media/lsa-23.jpg
+ delete mode 100644 media/lsa-25.jpg
+ delete mode 100644 media/lsa-26.jpg
+ delete mode 100644 media/lsa-27.jpg
+ delete mode 100644 media/lsa-28.jpg
+ delete mode 100644 media/lsa-32.jpg
+ delete mode 100644 media/lsa-33.jpg
+ delete mode 100644 media/lsa-4.jpg
+ delete mode 100644 media/lsa-5.jpg
+ delete mode 100644 media/lsa-7.jpg
+ delete mode 100644 media/lsa-8.jpg
+ delete mode 100644 media/lsa-closed-mountain-1.png
+ delete mode 100644 media/lsa-closed-mountain-2.png
+ delete mode 100644 media/lsa-group-0.png
+ delete mode 100644 media/lsa-group-1.png
+ delete mode 100644 media/lsa-group-1a.png
+ delete mode 100644 media/lsa-group-2.png
+ delete mode 100644 media/lsa-group-3.png
+ delete mode 100644 media/lsa-group-4.png
+ delete mode 100644 media/lsa-group-5.png
+ delete mode 100644 media/lsa-group-6.png
+ delete mode 100644 media/lsa-statcat-1.png
+ delete mode 100644 media/lsa-statcat-2.png
+ delete mode 100644 media/lsa-statcat-3.png
+ delete mode 100644 media/lsa-statcat-4.png
+ delete mode 100644 media/lsa-statcat-5.png
+ delete mode 100644 media/lsa-statcat-6.png
+ delete mode 100644 media/lsa-statcat-7.png
+ delete mode 100644 media/lsa-statcat-8.png
+ delete mode 100644 media/main_logo.jpg
+ delete mode 100644 media/mark_claims_returned.png
+ delete mode 100644 media/mark_lost.png
+ delete mode 100644 media/mark_missing_damaged.png
+ delete mode 100644 media/monograph_parts1.jpg
+ delete mode 100644 media/monograph_parts2.jpg
+ delete mode 100644 media/monograph_parts3.jpg
+ delete mode 100644 media/monograph_parts4.jpg
+ delete mode 100644 media/monograph_parts5.jpg
+ delete mode 100644 media/myaccount-bookbags.png
+ delete mode 100644 media/myaccount-itemrenew.png
+ delete mode 100644 media/myaccount-itemscheckedout.png
+ delete mode 100644 media/myaccount-itemsonhold.png
+ delete mode 100644 media/myaccount-login-arrow.png
+ delete mode 100644 media/myaccount-login-info.png
+ delete mode 100644 media/myaccount-login.png
+ delete mode 100644 media/myaccount-loginpasswordupdate.png
+ delete mode 100644 media/myaccount-summary.png
+ delete mode 100644 media/note.png
+ delete mode 100644 media/offline-1.png
+ delete mode 100644 media/offline-10.png
+ delete mode 100644 media/offline-11.png
+ delete mode 100644 media/offline-12.png
+ delete mode 100644 media/offline-13.png
+ delete mode 100644 media/offline-14.png
+ delete mode 100644 media/offline-15.png
+ delete mode 100644 media/offline-16.png
+ delete mode 100644 media/offline-17.png
+ delete mode 100644 media/offline-18.png
+ delete mode 100644 media/offline-19.png
+ delete mode 100644 media/offline-2.png
+ delete mode 100644 media/offline-20.png
+ delete mode 100644 media/offline-21.png
+ delete mode 100644 media/offline-22.png
+ delete mode 100644 media/offline-23.png
+ delete mode 100644 media/offline-24.png
+ delete mode 100644 media/offline-25.png
+ delete mode 100644 media/offline-26.png
+ delete mode 100644 media/offline-27.png
+ delete mode 100644 media/offline-28.png
+ delete mode 100644 media/offline-29.png
+ delete mode 100644 media/offline-3.png
+ delete mode 100644 media/offline-30.png
+ delete mode 100644 media/offline-31.png
+ delete mode 100644 media/offline-32.png
+ delete mode 100644 media/offline-33.png
+ delete mode 100644 media/offline-34.png
+ delete mode 100644 media/offline-35.png
+ delete mode 100644 media/offline-36.png
+ delete mode 100644 media/offline-4.png
+ delete mode 100644 media/offline-5.png
+ delete mode 100644 media/offline-6.png
+ delete mode 100644 media/offline-7.png
+ delete mode 100644 media/offline-8.png
+ delete mode 100644 media/offline-9.png
+ delete mode 100644 media/overdue_checkin.png
+ delete mode 100644 media/passwordresetmessage.png
+ delete mode 100644 media/patron-1.png
+ delete mode 100644 media/patron-10.png
+ delete mode 100644 media/patron-11.png
+ delete mode 100644 media/patron-12.png
+ delete mode 100644 media/patron-13.png
+ delete mode 100644 media/patron-14.png
+ delete mode 100644 media/patron-15.png
+ delete mode 100644 media/patron-16.png
+ delete mode 100644 media/patron-17.png
+ delete mode 100644 media/patron-18.png
+ delete mode 100644 media/patron-19.png
+ delete mode 100644 media/patron-2.png
+ delete mode 100644 media/patron-20.png
+ delete mode 100644 media/patron-21.png
+ delete mode 100644 media/patron-22.png
+ delete mode 100644 media/patron-23.png
+ delete mode 100644 media/patron-24.png
+ delete mode 100644 media/patron-25.png
+ delete mode 100644 media/patron-26.png
+ delete mode 100644 media/patron-27.png
+ delete mode 100644 media/patron-28.png
+ delete mode 100644 media/patron-29.png
+ delete mode 100644 media/patron-3.png
+ delete mode 100644 media/patron-30.png
+ delete mode 100644 media/patron-31.png
+ delete mode 100644 media/patron-32.png
+ delete mode 100644 media/patron-3a.png
+ delete mode 100644 media/patron-4.png
+ delete mode 100644 media/patron-5.png
+ delete mode 100644 media/patron-6.png
+ delete mode 100644 media/patron-7.png
+ delete mode 100644 media/patron-8.png
+ delete mode 100644 media/patron-9.png
+ delete mode 100644 media/patron-record-status-1.png
+ delete mode 100644 media/patron-record-status-dark-grey.png
+ delete mode 100644 media/patron-record-status-green.png
+ delete mode 100644 media/patron-record-status-light-grey.png
+ delete mode 100644 media/patron-record-status-orange.png
+ delete mode 100644 media/patron-record-status-purple.png
+ delete mode 100644 media/patron-record-status-red.png
+ delete mode 100644 media/patron-record-status-yellow.png
+ delete mode 100644 media/patron_summary_checkouts.jpg
+ delete mode 100644 media/pdf_icon.gif
+ delete mode 100644 media/pre_cat_alert.png
+ delete mode 100644 media/precat.png
+ delete mode 100644 media/profile-5.png
+ delete mode 100644 media/profile-6.png
+ delete mode 100644 media/profile-7.png
+ delete mode 100644 media/receipt-10.jpg
+ delete mode 100644 media/receipt-11.jpg
+ delete mode 100644 media/receipt-12.jpg
+ delete mode 100644 media/receipt-13.jpg
+ delete mode 100644 media/receipt-14.jpg
+ delete mode 100644 media/receipt-15.jpg
+ delete mode 100644 media/receipt-16.png
+ delete mode 100644 media/receipt-17.jpg
+ delete mode 100644 media/receipt-18.jpg
+ delete mode 100644 media/receipt-19.jpg
+ delete mode 100644 media/receipt-2.jpg
+ delete mode 100644 media/receipt-20.jpg
+ delete mode 100644 media/receipt-21.jpg
+ delete mode 100644 media/receipt-22.jpg
+ delete mode 100644 media/receipt-23.jpg
+ delete mode 100644 media/receipt-24.jpg
+ delete mode 100644 media/receipt-3.jpg
+ delete mode 100644 media/receipt-4.jpg
+ delete mode 100644 media/receipt-5.jpg
+ delete mode 100644 media/receipt-6.jpg
+ delete mode 100644 media/receipt-7.jpg
+ delete mode 100644 media/receipt-8.jpg
+ delete mode 100644 media/receipt-9.jpg
+ delete mode 100644 media/record_in_house_action.png
+ delete mode 100644 media/renew_action.png
+ delete mode 100644 media/renew_item.png
+ delete mode 100644 media/renew_item_calendar.png
+ delete mode 100644 media/renew_specific_date.png
+ delete mode 100644 media/retrieve_patron.png
+ delete mode 100644 media/scv-crec.jpg
+ delete mode 100644 media/scv-distr.jpg
+ delete mode 100644 media/scv-iss.jpg
+ delete mode 100644 media/scv-rec.jpg
+ delete mode 100644 media/scv-srec.jpg
+ delete mode 100644 media/scv-sub.jpg
+ delete mode 100644 media/server-3.png
+ delete mode 100644 media/server-4.png
+ delete mode 100644 media/server-5.png
+ delete mode 100644 media/server-6.png
+ delete mode 100644 media/shared-template-6.png
+ delete mode 100644 media/shared-template-7.png
+ delete mode 100644 media/shared-template-9.png
+ delete mode 100644 media/small_logo_white.jpg
+ delete mode 100644 media/specify_due_date1.png
+ delete mode 100644 media/specify_due_date2.png
+ delete mode 100644 media/staffclient-1.png
+ delete mode 100644 media/staffclient-2.png
+ delete mode 100644 media/staffclient-3.png
+ delete mode 100644 media/staffclient-4.png
+ delete mode 100644 media/staffclient-5.png
+ delete mode 100644 media/staffclient-6.png
+ delete mode 100644 media/staffclient-6a.png
+ delete mode 100644 media/staffclient-6b.png
+ delete mode 100644 media/staffclient-6c.png
+ delete mode 100644 media/staffclient-6d.png
+ delete mode 100644 media/staffclient-7.png
+ delete mode 100644 media/staffclient-7a.png
+ delete mode 100644 media/staffclient-8.png
+ delete mode 100644 media/staffclient-9.png
+ delete mode 100644 media/staffclientinstallation-proxy-putty-1.png
+ delete mode 100644 media/staffclientinstallation-proxy-socks-1.png
+ delete mode 100644 media/staffclientinstallation-proxy-socks-2.png
+ delete mode 100644 media/staffclientinstallation-staffclient-1.png
+ delete mode 100644 media/staffclientinstallation-staffclient-2.png
+ delete mode 100644 media/staffclientinstallation-staffclient-3.png
+ delete mode 100644 media/staffclientinstallation-staffclient-4.png
+ delete mode 100644 media/staffclientinstallation-staffclient-workstationnames-1.png
+ delete mode 100644 media/staffclientinstallation-staffclient-workstationnames-2.png
+ delete mode 100644 media/staffclientinstallation-staffclient-workstationnames-3.png
+ delete mode 100644 media/staffclientinstallation-tabbed-1.png
+ delete mode 100644 media/survey-1.png
+ delete mode 100644 media/survey-10.png
+ delete mode 100644 media/survey-2.png
+ delete mode 100644 media/survey-3.png
+ delete mode 100644 media/survey-4.png
+ delete mode 100644 media/survey-5.png
+ delete mode 100644 media/survey-6.png
+ delete mode 100644 media/survey-7.png
+ delete mode 100644 media/survey-8.png
+ delete mode 100644 media/survey-9.png
+ delete mode 100644 media/tip.png
+ delete mode 100644 media/transit-1.png
+ delete mode 100644 media/transit-10.png
+ delete mode 100644 media/transit-2.png
+ delete mode 100644 media/transit-3.png
+ delete mode 100644 media/transit-4a.png
+ delete mode 100644 media/transit-5.png
+ delete mode 100644 media/transit-6.png
+ delete mode 100644 media/transit-7.png
+ delete mode 100644 media/transit-8.png
+ delete mode 100644 media/transit-9.png
+ delete mode 100644 media/unified_volume_copy_creator1.jpg
+ delete mode 100644 media/unified_volume_copy_creator2.jpg
+ delete mode 100644 media/unified_volume_copy_creator3.jpg
+ delete mode 100644 media/unified_volume_copy_creator4.jpg
+ delete mode 100644 media/unified_volume_copy_creator5.jpg
+ delete mode 100644 media/unified_volume_copy_creator6.jpg
+ delete mode 100644 media/view-output-1.png
+ delete mode 100644 media/view-output-2.png
+ delete mode 100644 media/view-output-3.png
+ delete mode 100644 media/view-output-4.png
+ delete mode 100644 media/view-output-5.png
+ delete mode 100644 media/warning.png
+ delete mode 100644 opac/my_lists.txt
+ delete mode 100644 release_notes.txt
+ delete mode 100644 reports/README
+ delete mode 100644 root.txt
+ delete mode 100644 serials/A-intro.txt
+ delete mode 100644 serials/B-copy_template.txt
+ delete mode 100644 serials/C-subscription-SCV.txt
+ delete mode 100644 serials/D-subscription-ASCV.txt
+ delete mode 100644 serials/E-edit_subscriptions.txt
+ delete mode 100644 serials/F-Receiving.txt
+ delete mode 100644 serials/G-Special_issue.txt
+ delete mode 100644 serials/H-holdings_statements.txt
+
+commit f2a11f55a53d3f5a5af1510a4d1016711e0763da
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Wed May 16 00:29:11 2012 -0400
+
+    Optimize full text search with a CTE
+    
+    The tsquery used directly in a JOIN was resulting in bad
+    plan with lots of nested loops and operations. Using a CTE
+    to define the query improves the plan.
+    
+    Also, instead of ARRAY_AGG(DISTINCT foo), just return the
+    whole thing in an array. Not great for dupes, but we can
+    handle those inside search.query_parser_fts if we really
+    need to.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+16     4       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
+
+commit 3a02ddaec1e6c7536c8771ea611e32df95816736
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed May 16 15:55:23 2012 -0400
+
+    Vandelay authority existing queue search repair
+    
+    When searching for an existing authority queue, search for an authority
+    queue, not a bib queue.  Apart from simply not working, the query will
+    fail with an "invalid input value for enum vandelay.bib_queue_queue_type"
+    and result in a client-side error.
+    
+    https://bugs.launchpad.net/evergreen/+bug/989391
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Vandelay.pm
+
+commit ebdf3e9527c2755195d3126b5468e4636ea5cc6a
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Mon May 14 12:46:44 2012 -0400
+
+    Avoid collisions of normalized values going into metabib.browse_entry
+    
+    This fixes a bug that prevented successful reingestion of bib records
+    during the 2.1->2.2 upgrade in some cases.  Reported by George Duimovich.
+    
+    Key part here:
+    
+    > ERROR: duplicate key value violates unique constraint
+    > "browse_entry_value_key"
+    > DETAIL: Key (value)=(545575) already exists.
+    > CONTEXT: SQL statement "INSERT INTO metabib.browse_entry (value) VALUES
+    >                     (metabib.browse_normalize(ind_data.value,
+    
+    George confirmed that the changes to the version upgrade script fixed
+    the problem for him.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+78     0       Open-ILS/src/sql/Pg/upgrade/0711.schema.reingest_avoid_collision_better.sql
+11     3       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0711.schema.reingest_avoid_collision_better.sql
+
+commit a4561f581eb54c088afb95d8758dd849d6f3d69e
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Fri May 11 15:59:37 2012 -0400
+
+    Be more prepared for malformed serial holding code data in upgrade scripts
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+27     0       Open-ILS/src/sql/Pg/upgrade/0710.schema.stricter-could-be-holding-code.sql
+17     2       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0710.schema.stricter-could-be-holding-code.sql
+
+commit bcb1c10f2cde5c812f47da557c2dddc9fda2e0ab
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Fri May 11 10:45:39 2012 -0400
+
+    Move PLPERL dropping outside of 2.1-2.2 upgrade transaction
+    
+    Sites might have added custom PLPERL database functions for migrations,
+    data clean up, etc, so don't make the success of the 2.1-2.2 upgrade
+    hinge on a database schema that exactly matches vanilla Evergreen;
+    just move it outside of the upgrade transaction and output a reassuring
+    note.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+9      4       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+
+commit 8f95eaeaf0bbc03be7c5e017d574234315eee97d
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Wed Apr 18 12:05:20 2012 -0400
+
+    Add missing weights fm_IDL entries
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+5      0       Open-ILS/examples/fm_IDL.xml
+
+commit b28f3a10ca2824f4e072cf9113151b9f8bc8f263
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Thu May 10 16:19:26 2012 -0400
+
+    In the 2.1-2.2 upgrade script, move 0691 into a failures-are-ok zone
+    
+    Mainly because it's already covered in the 2.1.1-2.1.2 upgrade script.
+    Thanks to George Duimovich for pointing this out in LP #997759.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+19     13      Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+
+commit d880f92a2f7be8a4fcc49d90a278a0ed22f971d4
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Thu May 10 11:05:54 2012 -0400
+
+    Version Upgrade Cleanup
+    
+    Merge tacked on transactions into the "primary" transaction.
+    Add in 0708 for tracking purposes.
+    
+    Separate 0672 and 0679+0680 in the version-to-version upgrade script
+    They're all potentially slow.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+6352   6346    Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+
+commit 305f63cb721f975762bbcde1025f62bc5168cc67
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri May 4 09:18:10 2012 -0400
+
+    Check if transaction needs closing after adding billings
+    
+    This addresses the issue where issuing refunds results in a negative
+    ballance and it is then impossible to close the transaction by creating
+    new billings.
+    
+    https://bugs.launchpad.net/evergreen/+bug/758982
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+4      0       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Money.pm
+
+commit ae9641cfae8f9b4535624599c3887c1232c3406e
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Mon May 7 14:13:17 2012 -0400
+
+    Nearest Hold: Look at 100 instead of 10 holds
+    
+    At the suggestion of Mike Rylander.
+    
+    Because DB-wise the extra 90 IDs isn't a big deal, and this way we get more
+    chances to capture (or block renewal, etc).
+    
+    Jeff Godin claims they have done this and it has produced no issues for them.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
+
+commit eeed8ea8d953152c88d47c0c69f35fbe4bb7f3e9
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Mon May 7 11:59:10 2012 -0400
+
+    Hold Capture: Run permit tests on "old" holds
+    
+    Because we shouldn't be trusting that the copies are still valid.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+7      10      Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
+
+commit 22cf523789cc97c733ef9a6caff418c79c73b6a2
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Mon May 7 11:40:41 2012 -0400
+
+    Hold Editing: Retarget on some changes
+    
+    The main thing to cover is pickup library, but check a few other things too.
+    
+    Note that most of what is being checked likely doesn't change in any normal
+    workflows or interfaces, but it looks like they could anyway later.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+15     0       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
+
+commit 7d85c862cb7f6eb0f2826f759b50a4f72de70c41
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Mon May 7 11:00:14 2012 -0400
+
+    Hold Targeter: Ensure old best still valid
+    
+    Re-using a now invalid copy is a bad idea for various reasons.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+16     3       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
+
+commit 0ed4b890e219ff91eaa2d6b0fab513870a4a5254
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Fri Apr 13 13:26:59 2012 -0400
+
+    Default email/phone hold pickup in TPac
+    
+    Like JSPac does, but currently without the check of having phone/email.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+1      1       Open-ILS/web/js/ui/default/opac/staff.js
+1      0       Open-ILS/xul/staff_client/chrome/content/main/menu.js
+
+commit dbee9ecee0a9833e8fa2df384ab456da9622d0c1
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Wed May 9 08:42:58 2012 -0400
+
+    Retarget Local Holds: Use part ID properly
+    
+    Because the mapping ID is meaningless unless you only create one part at a
+    time, assign them only once in the order you created them, etc.
+    
+    Which I think pretty much describes most of my original test cycle.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
+
+commit 3eeb80320ce04ba4e910cce828e28dfc8cd2fa94
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Tue May 8 11:25:23 2012 -0400
+
+    TPAC: Keep site() and depth() out of basic search box when widgets suffice
+    
+    This is a short term but working solution to the problem described here:
+    https://bugs.launchpad.net/evergreen/+bug/986196
+    
+    Now when you have a selection for site on the advanced search page, it
+    doesn't lead to redundant site() and depth() terms in your basic search
+    query box.
+    
+    Item type selections and search class selections (keyword/author/etc)
+    can still lead to ugliness in the advanced search box, but that's
+    because in the advanced search page you get a multi-select widget for
+    item type and in a basic search page you only get a single-select
+    dropdown, so there's not a clean way to map your advanced page
+    selections to basic page selections.  Search classes are kind of the
+    same issue, since you have three dropdowns on the advanced search page
+    and one on the basic.
+    
+    So the "bigger" problem is one that we will have to solve later, but for
+    the common case at least we don't get the extra site() and depth() for
+    now.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+19     4       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+1      1       Open-ILS/src/templates/opac/parts/searchbar.tt2
+
+commit bd190b0b66baaeb669f042b90053732596771311
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Mon May 7 15:42:35 2012 -0400
+
+    Fix hold has copy at lookup
+    
+    Filter on available or reshelving, and add more hold type support for lookup
+    purposes (parts and issuance holds).
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+18     2       Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
+
+commit 115595dca577d9192474ac3d620ca079b89f39cd
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri May 4 10:33:43 2012 -0400
+
+    Adding a small pile of missing permissions
+    
+    ADMIN_ADDRESS_ALERT
+    VIEW_ADDRESS_ALERT
+    ADMIN_COPY_LOCATION_GROUP
+    ADMIN_USER_ACTIVITY_TYPE
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+10     1       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+48     0       Open-ILS/src/sql/Pg/upgrade/0709.data.misc_missing_perms.sql
+49     0       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0709.data.misc_missing_perms.sql
+
+commit 5eaca7025ae869baf1ce6df026fb212eb13872c6
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri May 4 12:07:35 2012 -0400
+
+    TPAC: repair staff client End link for showing last record
+    
+    In the embedded TPAC, when staff clicks the End link in the record
+    detail page to jump to the last record in the search results, it now
+    makes an intermediate jump through search code, which locates the last
+    record in the set (via CGI param find_last) then redirects to the record
+    detail page for the last record.  With this approach, we don't have to
+    pre-fetch the entire set of record IDs just to render the paging links.
+    Tip o' the hat to Mike R. for the design suggestion.
+    
+    https://bugs.launchpad.net/evergreen/+bug/984070
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+13     1       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+1      1       Open-ILS/src/templates/opac/parts/js.tt2
+
+commit 2c99e49aa500eb6a91574968ab30e5768820bbce
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Sat Apr 28 14:12:53 2012 -0400
+
+    TPAC: more intelligent detail paging #1
+    
+    Only fetch a small page of records at a time when generating the paging
+    links in the detail page.
+    
+    Part 2 will be to repair the 'Last' record button in the staff client,
+    which will not work with this change.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+3      8       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+3      2       Open-ILS/src/templates/opac/parts/record/body.tt2
+
+commit fe4262c7fbbc01f167b04a5916800a62b823c6cd
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Wed May 9 09:08:13 2012 -0400
+
+    TPac: Barcodes default to starting with digits
+    
+    Because otherwise there is likely to be a lot of confusion when barcodes no
+    longer work, at all, for login when groups have no barcode regex.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+3      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+
+commit adb03996c78facee9ada612228424ff3dd54a03d
+Author: Bradley M. Kuhn <bkuhn@ebb.org>
+Date:   Sat Apr 28 09:39:12 2012 -0400
+
+    Consensus was reached to remove editor-specific globs from .gitignore.
+    
+    In a highly overengineered discussion out of scope with the actual breadth
+    of this very minor issue, everyone has come to the conclusion that
+    editor-specific globs don't really belong in the project's .gitignore,
+    given that git permits a global-level ignore file for users.
+    
+    Instead, a HACKING file is herein added, with its first entry to explain
+    how developers can set the own global gitignore.
+    
+    Signed-off-by: Bradley M. Kuhn <bkuhn@ebb.org>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+1      3       .gitignore
+67     0       HACKING
+ create mode 100644 HACKING
+
+commit 9f628498dadb857afc79fad053d21dfe0bb1c746
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Wed Apr 18 10:41:27 2012 -0400
+
+    AutoSuggest: Escape ampersands properly
+    
+    This fixes an issue reported by Yamil Suarez.
+    
+    If you had relatively technical users composing searches with
+    QueryParser syntax, or if they were just typing ampersands for any
+    other reason, AutoSuggest would behave as if the ampersand marked the end
+    of user input.
+    
+    This is fixed by applying the correct URI-encoding function for the
+    situation.
+    
+    To be clear, QueryParser syntax does not actually affect suggestions;
+    such syntax is ignored.  AutoSuggest is not search.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+1      1       Open-ILS/web/js/dojo/openils/AutoSuggestStore.js
+
+commit 1492479f314b3ff12539be54ef097a550c099746
+Author: Steven Callender <stevecallender@esilibrary.com>
+Date:   Tue May 8 17:15:14 2012 -0400
+
+    lp996776: Patch to fix the response if no configured status is detected.
+    
+    SIP response messages that use circulation_status where defaulting to just 1
+    rather than 01 if the status was not detected. Since SIP needs a 2 character
+    response, this was causing issues in some 3rd party devices. Added quoting
+    around the 01 to force the 2 characters.
+    
+    Signed-off-by: Steven Callender <stevecallender@esilibrary.com>
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+
+1      1       Open-ILS/src/perlmods/lib/OpenILS/SIP/Item.pm
+
+commit b52dac83fd59f45e94dcf05c5b9c633c4ad05135
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Fri Mar 30 15:58:32 2012 -0400
+
+    Stop saving patron barcode in cookies
+    
+    This causes bad interactions between patron windows and normal catalog
+    windows. Examples:
+    
+    Load a patron, load place hold catalog in patron window. Future loads of
+    non-patron catalogs will default to this patron.
+    
+    Load Patron A from written note, and open Place Hold catalog. Start
+    searching for the item Patron A wants.
+    Get interupted by Patron B calling. Load Patron B, and open Place Hold
+    catalog. Search, place a hold for Patron B.
+    Return to Patron A, find item, go to place hold. Find Patron B's barcode
+    populated.
+    
+    Instead, teach the staff javascript, that already knows how to load hold
+    preferences, how to grab the barcode from xulG. This barcode should be
+    specific to the patron window the catalog is embedded in, and won't 'leak'
+    to other catalog interfaces.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+0      12      Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+9      21      Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+2      2       Open-ILS/src/templates/opac/parts/place_hold.tt2
+11     5       Open-ILS/web/js/ui/default/opac/staff.js
+1      4       Open-ILS/xul/staff_client/server/patron/holds.js
+
+commit b2916b9fef744d8b896c77511e949612d26dff36
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Tue May 8 12:52:02 2012 -0400
+
+    Roll back libjs version to 1.7.0
+    
+    The install version of libjs (Spidermonkey) had been bumped to the
+    latest, 1.8.5, but it turned out that the tests for that had probably
+    been run on a system that had an old version of libjs source and/or
+    installed headers/libraries in place, as building libjs 1.8.5 is a
+    different beast entirely (different directory structure, etc).
+    
+    In addition, there are several bugs along the lines of
+    https://rt.cpan.org/Public/Bug/Display.html?id=75058 that strongly
+    suggest that libjs-1.8.5 is not compatible with the
+    JavaScript::SpiderMonkey 0.21 Perl module.
+    
+    Therefore, roll back to the tried-and-true libjs 1.7.0.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+
+1      1       Open-ILS/src/extras/Makefile.install
+
+commit 0de2ebfce5ab86781c656f3385fd03f5eda25e2d
+Author: James Fournie <jfournie@sitka.bclibraries.ca>
+Date:   Mon May 7 11:08:06 2012 -0700
+
+    We can't assume that 0526 was in fact run previously so we need to drop these more safely
+    to avoid producing an error if 0526 wasn't run previously
+    
+    Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+3      3       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+
+commit ceabf2764cc095306ca1052652679c6d0d238561
+Author: Galen Charlton <gmc@esilibrary.com>
+Date:   Tue May 8 09:25:19 2012 -0400
+
+    fix typo in CC payment form
+    
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+
+1      1       Open-ILS/src/templates/circ/selfcheck/payment.tt2
+
+commit d53cb85f95c94ae7f8adc0f1b2472d2e19074593
+Author: James Fournie <jfournie@sitka.bclibraries.ca>
+Date:   Mon May 7 10:57:30 2012 -0700
+
+    Upgrade 0704 was missing from the 2.1-2.2 upgrade script.
+    
+    That upgrade added a parameter to search.query_parser_fts, without it,
+    Evergreen passes 11 parameters to the database but the searches fail because
+    there's only a 10 parameter function in the database.
+    
+    Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+342    0       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+
+commit 470c9039a2af7db57ba4162dbf854d604056bf85
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Fri May 4 14:46:16 2012 -0400
+
+    Stamping upgrade for 'inheritied' typo repair
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+13     0       Open-ILS/src/sql/Pg/upgrade/0708.data.fix_inheritied_typo.sql
+0      7       Open-ILS/src/sql/Pg/upgrade/XXXX.data.fix_inheritied_typo.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0708.data.fix_inheritied_typo.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.fix_inheritied_typo.sql
+
+commit 380fb3822854e636f439ce996c6b9d46aa604a4c
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Fri May 4 14:14:12 2012 -0400
+
+    Fix "inheritied" typo in global flag
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+2      2       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+7      0       Open-ILS/src/sql/Pg/upgrade/XXXX.data.fix_inheritied_typo.sql
+2      2       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+1      1       Open-ILS/src/templates/opac/parts/org_selector.tt2
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.fix_inheritied_typo.sql
+
+commit 710f55165414e22164b073ba35b7775537b9d2ad
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Fri May 4 13:55:55 2012 -0400
+
+    Fix typo in TPAC noticed by Warren Layton
+    
+    Expiration needs to be spelled correctly; Warren Layton pointed out the
+    typo while working on a translation of the derived tpac.pot file. Many
+    thanks, Warren!
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/templates/opac/myopac/main_payment_form.tt2
+1      1       build/i18n/po/tpac/tpac.pot
+
+commit 4bc4f9d59f0c58f177becaa0280656b55104a5f9
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Fri May 4 12:23:19 2012 -0400
+
+    Add missing upgrade scripts 0705, 0707 to point-to-point upgrade script
+    
+    These come from bugfixes I pushed to master and rel_2_2 on 28 April 2012
+    without remembering to address the point-to-point version upgrade script.
+    
+    See c208754eafadb005439800f7fedd33241fca7b65 (LP #980199) and
+    89438b46fc39270ac3d47345cd99caacf6b6dee1 (LP #919279).
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+52     0       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+
+commit a07412def15603dd2132477b5babd99982a2265d
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Mon Apr 9 16:31:06 2012 -0400
+
+    Prereqs: Remove Ubuntu Hardy references
+    
+    We no longer support Ubuntu Hardy 8.04, so ditch any references to it in
+    the prerequisite installer.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+0      9       Open-ILS/src/extras/Makefile.install
+
+commit 0a679685a20e4d5c31bb49fd328a7a4b386fc764
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Mon Apr 9 16:29:46 2012 -0400
+
+    Prereqs: update to latest available versions
+    
+    * JavaScript-SpiderMonkey: from 0.20 to 0.21
+    * libjs: from 1.7.0 to 185-1.0.0
+    * yaz: from 4.2.17 to 4.2.32
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+3      3       Open-ILS/src/extras/Makefile.install
+
+commit 5be8a7035edcca100b47bd181932d2fd3eb0b088
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Mon Apr 9 16:23:08 2012 -0400
+
+    Prereqs: Remove references to CentOS / RHEL
+    
+    The prereqs were focused on the 5.x series for CentOS and RHEL, which is
+    hella-out-of-date and never really worked anyway. Get rid of the noise
+    to focus on the signal.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+3      91      Open-ILS/src/extras/Makefile.install
+
+commit 41c987fc890d918c303bc012320cacfcd8d6ef01
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Wed Apr 25 15:56:20 2012 -0400
+
+    Allow subscriptions at org units without volumes
+    
+    Subscriptions are sometimes owned at the consortium or system
+    level, so forcing can_have_vols() to be true was incorrect.
+    
+    This commit removes those checks.  In addition, we also remove
+    some dead code and make the subscription org unit selector
+    consistent with the distribution org unit selector.
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+2      0       Open-ILS/xul/staff_client/server/serial/manage_dists.js
+3      0       Open-ILS/xul/staff_client/server/serial/manage_items.js
+24     330     Open-ILS/xul/staff_client/server/serial/manage_subs.js
+1      1       Open-ILS/xul/staff_client/server/serial/ssub_editor.js
+
+commit 22cda7715ef64e3d7ef87f687709cc3c235d2d54
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Thu May 3 16:44:14 2012 -0400
+
+    Add indexes to 2.1.2 upgrade script to speed up acq search
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+12     0       Open-ILS/src/sql/Pg/version-upgrade/2.1.1-2.1.2-upgrade-db.sql
+
+commit e316c4df0216eb43bc6cb536d34c3712661ff15a
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Mon Mar 26 11:09:14 2012 -0400
+
+    Add ISSN fix to the version upgrade script
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+24     0       Open-ILS/src/sql/Pg/version-upgrade/2.1.1-2.1.2-upgrade-db.sql
+
+commit adc75e0236fb5dc9ad46797c64d49dd49b7d8056
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Wed May 2 15:23:06 2012 -0400
+
+    Address date sorting in Item Status and Copy Buckets interfaces, too
+    
+    > The sort_value function for the date columns being used in those
+    > interfaces had no error protection, and were returning empty strings
+    > upon failure.
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+5      7       Open-ILS/xul/staff_client/chrome/content/util/list.js
+1      4       Open-ILS/xul/staff_client/server/admin/offline_manage_xacts.js
+178    32      Open-ILS/xul/staff_client/server/circ/util.js
+0      1       Open-ILS/xul/staff_client/server/patron/bill2.js
+0      2       Open-ILS/xul/staff_client/server/patron/bill_details.js
+0      1       Open-ILS/xul/staff_client/server/patron/bill_history.js
+0      1       Open-ILS/xul/staff_client/server/patron/search_result.js
+0      2       Open-ILS/xul/staff_client/server/patron/standing_penalties.js
+74     60      Open-ILS/xul/staff_client/server/patron/util.js
+
+commit 70cd1772c19fb5f334ecd0cae5aadf6c224a4a07
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Wed May 2 14:01:00 2012 -0400
+
+    Fix date sorting in patron-related XUL interfaces
+    
+    Null time stamps are now converted to dates in the Middle Paleolithic
+    era so they always sort as the lowest date.
+    
+    Seriously, this is the minimum possible date you can express with a JavaScript
+    date object.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+
+4      2       Open-ILS/xul/staff_client/chrome/content/util/date.js
+17     1       Open-ILS/xul/staff_client/server/patron/util.js
+
+commit 0e7fb6da9e0bbd3f82b5711a8e4c02f03b224660
+Author: Jeff Godin <jgodin@tadl.org>
+Date:   Tue Apr 17 10:46:22 2012 -0400
+
+    Fix LP 984039: correct Syndetic Kirkus Reviews
+    
+    Use correct "filename" component of URL for retrieving Kirkus
+    Reviews content from Syndetic Solutions.
+    
+    Correct filename confirmed by Bowker technical support, and by
+    empirical tests.
+    
+    Signed-off-by: Jeff Godin <jgodin@tadl.org>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+
+2      2       Open-ILS/src/perlmods/lib/OpenILS/WWW/AddedContent/Syndetic.pm
+
+commit dfffbe863516b21d4c8f55c3fd71a809819b8b6f
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Tue Apr 3 14:45:10 2012 -0400
+
+    Fix some "null" instead of blank values in JSPac
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/web/opac/skin/default/js/holds.js
+5      3       Open-ILS/web/opac/skin/default/js/myopac.js
+
+commit 430c235ea5f46150bbfc15fe3a0e08792f61ad25
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Tue May 1 01:52:56 2012 -0400
+
+    Release notes: clean up and introduce TPAC
+    
+    General clean-up of the release notes for consistency and to support
+    PDF output:
+    
+    * Reformat line-widths to 80 characters or less
+    * Mark interface window and element names as bold
+    * Fix up some formatting glitches and headers
+    * Make the "Documentation is available..." note standard & separated
+      by one line; I suspect we will want to modify this globally, so it
+      will be easier if it is consistent.
+    
+    Also, give a brief introduction to the TPAC and mention the forthcoming
+    JSPAC deprecation in the next feature release.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+323    108     docs/RELEASE_NOTES_2_2.txt
+
+commit 535e13e4e5e364bca800807f2a1ed5c09bbc5518
+Author: Kathy Lussier <klussier@masslnc.org>
+Date:   Tue May 1 01:26:28 2012 -0400
+
+    LP992377: More 2.2 release notes from Kathy Lussier
+    
+    Kathy Lussier <klussier@masslnc.org> contributed significant additions
+    to the 2.2 release notes in https://bugs.launchpad.net/bugs/992377 -
+    thanks Kathy!
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+158    11      docs/RELEASE_NOTES_2_2.txt
+
+commit 9127441a9d3eb4eac2e5a2bd1029a267dd7d03ef
+Author: Galen Charlton <gmc@esilibrary.com>
+Date:   Mon Apr 30 07:22:01 2012 -0400
+
+    additions to release notes for 2.2
+    
+    Written by Sally Fortin <sfortin@esilibrary.com>
+    
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+
+132    8       docs/RELEASE_NOTES_2_2.txt
+
+commit 89438b46fc39270ac3d47345cd99caacf6b6dee1
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Wed Mar 21 16:33:39 2012 -0400
+
+    Vandelay match set permission additions
+    
+    Allow retrieve access for match points with the VIEW_IMPORT_MATCH_SET
+    permission (in addition to ADMIN_IMPORT_MATCH_SET).
+    
+    Adds 2 new permissions to the database:
+    
+    ADMIN_IMPORT_MATCH_SET
+    VIEW_IMPORT_MATCH_SET
+    
+    From Jason Stephenson resolving conflicts:
+    > Conflicts:
+    >
+    >  Open-ILS/src/sql/Pg/950.data.seed-values.sql
+    >
+    > I had to change the ids of the new permissions because another branch
+    > had used one of the ids since this branch was last rebased.  I also edited
+    > the ids in the upgrade script to match what is in 950.data.seed-values.sql.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+2      2       Open-ILS/examples/fm_IDL.xml
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+5      1       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+29     0       Open-ILS/src/sql/Pg/upgrade/0707.data.vandelay_perms_etc.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0707.data.vandelay_perms_etc.sql
+
+commit c0bd063f97cdceada12b971cecb04d238417a938
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Sat Apr 28 15:52:54 2012 -0400
+
+    Update POT files for translators
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+4      2       build/i18n/po/XULTermLoader.js/XULTermLoader.js.pot
+240    184     build/i18n/po/acq.js/acq.js.pot
+28     2       build/i18n/po/admin.properties/admin.properties.pot
+39     19      build/i18n/po/authority.js/authority.js.pot
+4      2       build/i18n/po/capture.js/capture.js.pot
+197    16      build/i18n/po/cat.properties/cat.properties.pot
+35     9       build/i18n/po/circ.properties/circ.properties.pot
+20     4       build/i18n/po/common.properties/common.properties.pot
+6      2       build/i18n/po/conify.dtd/conify.dtd.pot
+23     7       build/i18n/po/conify.js/conify.js.pot
+1519   2173    build/i18n/po/db.seed/db.seed.pot
+2886   2178    build/i18n/po/fm_IDL.dtd/fm_IDL.dtd.pot
+403    311     build/i18n/po/ils_events.xml/ils_events.xml.pot
+754    65      build/i18n/po/lang.dtd/lang.dtd.pot
+136    2       build/i18n/po/offline.properties/offline.properties.pot
+45     4       build/i18n/po/opac.dtd/opac.dtd.pot
+23     12      build/i18n/po/opac.js/opac.js.pot
+150    4       build/i18n/po/patron.properties/patron.properties.pot
+45     8       build/i18n/po/register.js/register.js.pot
+9      2       build/i18n/po/reservation.js/reservation.js.pot
+20     3       build/i18n/po/selfcheck.js/selfcheck.js.pot
+50     2       build/i18n/po/serial.properties/serial.properties.pot
+22     22      build/i18n/po/tpac/tpac.pot
+
+commit d34957b2a5c40fb5bf213ad46a11d643d0e534d8
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Sat Apr 28 14:12:43 2012 -0400
+
+    Update translations from Launchpad
+    
+    Includes a small update to the update_pofiles to make it easier for
+    release managers and release maintainers to run translation updates.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+5      5       build/i18n/po/AutoFieldWidget.js/es-ES.po
+6      6       build/i18n/po/Searcher.js/de-DE.po
+10     10      build/i18n/po/Searcher.js/es-ES.po
+178    0       build/i18n/po/Searcher.js/pt-BR.po
+5      5       build/i18n/po/admin.properties/fr-CA.po
+26     19      build/i18n/po/auth.properties/ar-AR.po
+5      5       build/i18n/po/capture.js/de-DE.po
+28     25      build/i18n/po/capture.js/fr-CA.po
+5      5       build/i18n/po/cat.properties/cs-CZ.po
+8      22      build/i18n/po/cat.properties/de-DE.po
+16     14      build/i18n/po/cat.properties/pt-BR.po
+4      4       build/i18n/po/circ.properties/cs-CZ.po
+10     44      build/i18n/po/circ.properties/de-DE.po
+14     138     build/i18n/po/circ.properties/fr-CA.po
+31     152     build/i18n/po/circ.properties/pt-BR.po
+26     37      build/i18n/po/common.properties/de-DE.po
+11     39      build/i18n/po/common.properties/fr-CA.po
+22     22      build/i18n/po/conify.dtd/de-DE.po
+5      5       build/i18n/po/conify.dtd/en-GB.po
+6      6       build/i18n/po/conify.dtd/fr-CA.po
+16     16      build/i18n/po/conify.js/de-DE.po
+16     13      build/i18n/po/db.seed/cs-CZ.po
+34     18      build/i18n/po/db.seed/de-DE.po
+17     1001    build/i18n/po/db.seed/fr-CA.po
+31     31      build/i18n/po/db.seed/oc-FR.po
+108    60      build/i18n/po/db.seed/pt-BR.po
+6      6       build/i18n/po/fm_IDL.dtd/cs-CZ.po
+10     10      build/i18n/po/fm_IDL.dtd/de-DE.po
+5      14      build/i18n/po/fm_IDL.dtd/es-ES.po
+28     28      build/i18n/po/fm_IDL.dtd/fr-CA.po
+18     41      build/i18n/po/fm_IDL.dtd/pt-BR.po
+5      8       build/i18n/po/ils_events.xml/de-DE.po
+13     233     build/i18n/po/ils_events.xml/pt-BR.po
+41     24      build/i18n/po/lang.dtd/cs-CZ.po
+74     74      build/i18n/po/lang.dtd/de-DE.po
+6      158     build/i18n/po/lang.dtd/fr-CA.po
+28     246     build/i18n/po/lang.dtd/hy-AM.po
+74     255     build/i18n/po/lang.dtd/pt-BR.po
+34     31      build/i18n/po/offline.properties/cs-CZ.po
+17     17      build/i18n/po/offline.properties/de-DE.po
+43     81      build/i18n/po/offline.properties/pt-BR.po
+9      9       build/i18n/po/opac.dtd/cs-CZ.po
+214    153     build/i18n/po/opac.dtd/de-DE.po
+8      6       build/i18n/po/opac.dtd/es-ES.po
+25     19      build/i18n/po/opac.dtd/pt-BR.po
+6      6       build/i18n/po/opac.dtd/ru-RU.po
+59     56      build/i18n/po/opac.dtd/tr-TR.po
+18     7       build/i18n/po/opac.js/de-DE.po
+13     13      build/i18n/po/opac.js/tr-TR.po
+6      6       build/i18n/po/patron.properties/de-DE.po
+9      7       build/i18n/po/patron.properties/es-ES.po
+23     69      build/i18n/po/patron.properties/pt-BR.po
+6      6       build/i18n/po/pickup_and_return.js/de-DE.po
+5      5       build/i18n/po/pickup_and_return.js/es-ES.po
+9      6       build/i18n/po/pickup_and_return.js/pt-BR.po
+4      4       build/i18n/po/pull_list.js/cs-CZ.po
+6      6       build/i18n/po/pull_list.js/de-DE.po
+26     25      build/i18n/po/register.js/de-DE.po
+26     26      build/i18n/po/register.js/pt-BR.po
+13     13      build/i18n/po/reports.js/de-DE.po
+43     27      build/i18n/po/reservation.js/pt-BR.po
+22     13      build/i18n/po/selfcheck.js/de-DE.po
+22     18      build/i18n/po/selfcheck.js/pt-BR.po
+635    0       build/i18n/po/serial.properties/pt-BR.po
+6      4       build/i18n/scripts/update_pofiles
+ create mode 100644 build/i18n/po/Searcher.js/pt-BR.po
+ create mode 100644 build/i18n/po/serial.properties/pt-BR.po
+
+commit db61133753257604e93a0be568ee3b9415c56b8c
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Thu Apr 5 11:46:05 2012 -0400
+
+    Constrain serial.issuance.holding_code to be valid JSON or NULL
+    
+    This avoids serial.materialize_holding_code() failing on bad data.  The
+    upgrade script will actually throw away bad values for
+    serial.issuance.holding_code.  This is no real loss, since bad data
+    there prevents any serials functions around the row in question from
+    working properly anyway.
+    
+    This problem was reported by Martha Driscoll and Ben Shum.
+    
+    *Also* put a couple of changes missed from the 0700 upgrade script into
+    210.schema.serials.sql.
+    
+    Fix new serial constraint upgrades
+    
+    1. None of the upgrades so far have moved is_json() from the public
+    to the evergreen schema.  That's probably a separate issue, but it
+    should be safe to call it unqualified, and that's what the rest of
+    the upgrade file does, so we will too.
+    
+    2. Add a specific SET CONSTRAINT to avoid deferred trigger problems
+    when ALTERing the table.
+    
+    3. Make sure that the unwanted columns on materialized_holding_code
+    do not exist regardless of your upgrade path.
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+9      9       Open-ILS/src/sql/Pg/210.schema.serials.sql
+74     0       Open-ILS/src/sql/Pg/upgrade/0706.schema.serial-holding-code-constraint.sql
+14     0       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0706.schema.serial-holding-code-constraint.sql
+
+commit 23449603ef51c77534847e6bcc9e16c5be02b54e
+Author: Michael Peters <mrpeters@library.in.gov>
+Date:   Fri Mar 9 14:20:09 2012 -0500
+
+    Remove the "print_nav.tt2" from the TTPAC Password Reset
+    
+    We no longer use "print_nav.tt2" in TTPAC, but it was still
+    displaying on the password reset page.  This branch removes it.
+    
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+0      25      Open-ILS/src/templates/opac/parts/printnav.tt2
+0      1       Open-ILS/src/templates/opac/password_reset.tt2
+ delete mode 100644 Open-ILS/src/templates/opac/parts/printnav.tt2
+
+commit c208754eafadb005439800f7fedd33241fca7b65
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Thu Apr 12 15:34:02 2012 -0400
+
+    Add missing ADMIN_ORG_UNIT_CUSTOM_TREE permission
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+3      1       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+20     0       Open-ILS/src/sql/Pg/upgrade/0705.data.custom-org-tree-perms.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0705.data.custom-org-tree-perms.sql
+
+commit e342e730fee42afc89bb61fd85280817648cd8cd
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Thu Apr 26 21:56:23 2012 -0400
+
+    TPAC: Instrument the search results page
+    
+    Because we want to know why search results can be slowish, add timelog()
+    entries to pertinent locations in Search.pm.
+    
+    Quick results on my laptop with the concerto set:
+      * 10 results = 1.1 seconds for get_records_and_facets()
+      * 50 results = 4.2 seconds for get_records_and_facets()
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+43     0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+
+commit d99ba9783f040cec6b0557de3cba8bb1dc1096eb
+Author: Galen Charlton <gmc@esilibrary.com>
+Date:   Sat Apr 28 10:27:19 2012 -0400
+
+    tweak wording - ChangeLogs are generated during release
+    
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+
+1      1       ChangeLog
+
+commit 1c5f8d864c5026dc5c8149b3534f623090d92e6c
+Author: Bradley M. Kuhn <bkuhn@ebb.org>
+Date:   Sat Apr 28 10:03:09 2012 -0400
+
+    ChangeLog shouldn't merely be empty; it should tell reader where to find a change log.
+    
+    Signed-off-by: Bradley M. Kuhn <bkuhn@ebb.org>
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+
+3      1       ChangeLog
+
+commit bcab53d7f5bb1d4398f411609000818188860441
+Author: Bradley M. Kuhn <bkuhn@ebb.org>
+Date:   Fri Apr 27 23:36:19 2012 -0400
+
+    autoreconf -f -i appears to clobber our own INSTALL file with the "standard" one.
+    
+    autoreconf -i seems to still work correctly for building Evergreen, therefore,
+    we should recommend developers do that.
+    
+    Signed-off-by: Bradley M. Kuhn <bkuhn@ebb.org>
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+
+1      1       README
+
+commit ba571815e41750449025e836ce6d1ed4da32c470
+Author: Bradley M. Kuhn <bkuhn@ebb.org>
+Date:   Fri Apr 27 22:08:38 2012 -0400
+
+    AUTHORS, NEWS, and INSTALL files should actually have reasonable content if they exist.
+    
+    Specifically, this commit:
+       * simply points INSTALL to README via symlink, since install instructions are there.
+       * AUTHORS now notes that Evergreen keeps its authors in the git log.
+       * NEWS now explains where release notes are.
+    
+    Signed-off-by: Bradley M. Kuhn <bkuhn@ebb.org>
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+
+3      1       AUTHORS
+1      237     INSTALL
+1      1       NEWS
+ mode change 100644 => 120000 INSTALL
+
+commit 02b1d5a7b221dc4c6466f55ce175ead0c7dc069e
+Author: Ben Shum <bshum@biblio.org>
+Date:   Tue Apr 24 23:23:04 2012 -0400
+
+    Do not hide copy counts from results in staff client.
+    
+    Remove the check for whether you are a staff login or not.
+    
+    Ideally, we would want the copy counts to be displayed in both
+    public catalog and staff client.
+    
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+    Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/templates/opac/parts/result/copy_counts.tt2
+
+commit ee18ec89dda3c34c7570b4296cfa644e9abfbf93
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Wed Apr 25 16:19:45 2012 -0400
+
+    Apply timelog() to TPAC record detail page
+    
+    Early suggestion from results is that we either need to use unapi.bre more
+    smartly, or optimize it further.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+10     0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
+13     0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
+
+commit 18524ec34d43f4da378cea7b5eb9ea83ccd963c3
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Wed Apr 25 15:20:46 2012 -0400
+
+    Instrument the TPAC: add timelog() method to EGCatLoader
+    
+    Meant for timing how long events take to generate a single TPAC page,
+    the timelog() method will provide timing in microsecond granularity of
+    various events required to build the page.
+    
+    To invoke: $self->timelog("Event description...");
+    
+    Builds up a context variable named "timing" containing a list of
+    arrays; each array entry contains a time and the event description.
+    
+    Disabled by default; to enable, set DEBUG_TIMING = 1 in
+    OpenILS/WWW/EGCatLoader.pm
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+19     0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+8      1       Open-ILS/src/templates/opac/parts/footer.tt2
+
+commit 70cabed6c13a6fb5479e13ac88bd28cabbfcecde
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Fri Mar 30 15:32:53 2012 -0400
+
+    unsaved data loophole
+    
+    The Start/Previous/Next/End/Search Results buttons in the staff client OPAC
+    wrapper do not fire unsaved data warnings for the MARC editor when changing
+    records. This plugs that hole, but it's not a complete solution, as you can
+    still move away from the record by clicking on hyperlinks in the OPAC View,
+    though that's less likely to happen.
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Michael Peters <mrpeters@library.in.gov>
+
+43     15      Open-ILS/xul/staff_client/chrome/content/cat/opac.js
+8      0       Open-ILS/xul/staff_client/chrome/content/main/menu.js
+1      0       Open-ILS/xul/staff_client/chrome/content/util/browser.js
+1      0       Open-ILS/xul/staff_client/chrome/locale/en-US/offline.properties
+
+commit 3e7d2d4f5fa87ebad94cff70b98cfbb9c5f9dd6a
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Sun Apr 22 15:40:00 2012 -0400
+
+    Bootstrap via "autoreconf -f -i" instead of "autogen.sh"
+    
+    It has always been potentially confusing to maintain two shell scripts
+    named "autogen.sh" for two distinct purposes in Evergreen. Take
+    advantage of "autoreconf" that is packaged with autoconf for dev
+    bootstrapping purposes and trash the old "autogen.sh" as a result.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+
+1      1       README
+0      21      autogen.sh
+ delete mode 100755 autogen.sh
+
+commit 22e5c3b8f8a63a8736a877ee0b8db7e5531a1281
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Tue Apr 17 16:48:43 2012 -0400
+
+    Clean up and refine serial note support, part 3
+    
+    Add needed menu entries for invoking the serial notes editor from
+    the list in the Items tab.
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+8      2       Open-ILS/web/opac/locale/en-US/lang.dtd
+1      0       Open-ILS/xul/staff_client/server/locale/en-US/serial.properties
+92     3       Open-ILS/xul/staff_client/server/serial/manage_items.js
+6      0       Open-ILS/xul/staff_client/server/serial/manage_items.xul
+5      0       Open-ILS/xul/staff_client/server/serial/notes.xul
+3      0       Open-ILS/xul/staff_client/server/serial/serctrl_main.xul
+
+commit 6e75f6e4bd01af4492475737c7e835ea856f19d4
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Tue Apr 17 17:35:26 2012 -0400
+
+    Clean up and refine serial note support, part 2
+    
+    Because of the way our notes are being rendered, a handful of
+    special XML characters can break the note interface when editing.
+    These characters are now properly encoded as entities.
+    
+    Also, editing of newlines presents a similar issue with different
+    consequences, and it is handled similarly but separately.
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+7      2       Open-ILS/xul/staff_client/server/serial/notes.xul
+
+commit 022b4952fb2414e2fed63fc622b6868a81e8cbec
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Tue Apr 17 17:34:06 2012 -0400
+
+    Clean up and refine serial note support, part 1
+    
+    This commit fixes a number of minor problems with serial notes:
+    
+    1) Serial notes are currently returned in "random" (database)
+    order.  Adding a create_date sort is a sensible default.
+    
+    2) If you have many notes, they start to display in a squashed and
+    unreadable fashion.  Switching from a groupbox to a styled vbox
+    provides a simple workaround.
+    
+    3) It is currently impossible to display newlines in notes.  We can
+    deal with this by changing the display style.
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+8      2       Open-ILS/src/perlmods/lib/OpenILS/Application/Serial.pm
+4      4       Open-ILS/xul/staff_client/server/serial/notes.xul
+
+commit 536805361c00bc77e126b1d7021003a1f26b22c4
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Tue Apr 17 16:02:49 2012 -0400
+
+    Limit excess serial data fetching
+    
+    Overfetching and duplication of data in the interface is both
+    inefficient and bug-inducing.  This reduces a couple big offenders.
+    
+    First, in the items tab, we will store distribution and subscription
+    data separately, rather than duplicating for every row.  Second, we
+    will only redraw rows as needed rather than refresh the whole list so
+    often.  Finally, we no longer need to lookup call numbers separately,
+    as they are included in the one-time distribution fetch.
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+
+2      2       Open-ILS/src/perlmods/lib/OpenILS/Application/Serial.pm
+79     28      Open-ILS/xul/staff_client/server/serial/manage_items.js
+
+commit 3ca291c2c43d3237c5b591fe302e62c22449e97c
+Author: Dan Wells <dbw2@calvin.edu>
+Date:   Fri Apr 13 09:53:32 2012 -0400
+
+    Better Prediction for Incomplete Chronologies
+    
+    While relatively rare, some journals record only the year on the
+    cover, even if they come out monthly or weekly.  This commit
+    expands our previous support for serials with no chronology at
+    all to cover serials with partial chronology.
+    
+    Signed-off-by: Dan Wells <dbw2@calvin.edu>
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+
+34     19      Open-ILS/src/perlmods/lib/OpenILS/Application/Serial.pm
+
+commit 35fe5b9cbe10b1323183ad8325696077af2eafa3
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Fri Apr 13 17:18:58 2012 -0400
+
+    Acq: Refactor General Search for more smarts and speed
+    
+    This started in response to problems discussed around
+    https://bugs.launchpad.net/evergreen/+bug/967824 , but it really
+    addresses a distinct issue from that bug.
+    
+    Acq General Search relies on lots of joins to make several tables in Acq
+    searchable by attributes of any of the other tables for rows that happen
+    to be related.  This is about 1) making better joins and 2) making fewer
+    joins when you don't need them all for a given search.
+    
+    Much thanks to Mike Rylander for help figuring out how to efficiently
+    implement the joins needed for acq.invoice, which is the tricky part.
+    
+    Less importantly, but still significant for some searches, we also need
+    case insensitivity for searching on user-linked fields (General Search
+    always lets you search by any of username/family name/given name/barcode
+    for these fields) in order to take advantage of some indexes for speed.
+    
+    This diagram of key Acq relationships is helpful:
+    
+    https://docs.google.com/drawings/d/15ExkiYvq0skfobbocvPWxwdZkb7aykEZpLGfbP9PL04/view
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+50     18      Open-ILS/examples/fm_IDL.xml
+72     30      Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Search.pm
+
+commit 7758ff50c14ae46724f41895dcaa184581755ae6
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Fri Apr 13 10:07:17 2012 -0400
+
+    More patron display css tweaks
+    
+    To help prevent some "jumpy" interfaces due to borders and text appearing
+    and disappearing with selections and updates.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+
+22     11      Open-ILS/xul/staff_client/server/skin/patron_display.css
+
+commit 98d2995b1091cbaf982fd8e63ba53424512fddd5
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Fri Apr 13 02:54:13 2012 -0400
+
+    add more penalty related CSS hooks
+    
+    PATRON_HAS_CUSTOM_PENALTY (if the penalty is not a stock penalty, based on id)
+    PATRON_HAS_STAFF_ALERT (if the staff_alert boolean on the penalty is true)
+    PATRON_HAS_BLOCK (if there's anything in the penalty's block list)
+    PATRON_HAS_CIRC_BLOCK (if CIRC is in the block list)
+    PATRON_HAS_RENEW_BLOCK (if RENEW is in the block list)
+    PATRON_HAS_HOLD_BLOCK (if HOLD is in the block list)
+    PATRON_HAS_CAPTURE_BLOCK (if CAPTURE is in the block list)
+    PATRON_HAS_FULFILL_BLOCK (if FULFILL is in the block list)
+    
+    also adds stock CSS for PATRON_HAS_STAFF_ALERT, a blue border around the patron
+    name.
+    
+    In the color hierarchy, this comes after the normal Green/Lime status, but gets
+    trumped by any other penalty that sets a colored border.
+    
+    So, for example, if a patron has no penalties, and you go to Messages and add an
+    "Alert" note, that equates to the penalty ALERT_NOTE, which has a staff_alert
+    setting of True.  On a refresh, the patron will then have a blue border around
+    their name.  If you then create a bill on that patron for $100, triggering the
+    PATRON_EXCEEDS_FINES penalty, then the patron will gain the normal purple or
+    lavender border, even though the penalty also has a staff_alert setting of True
+    and triggers PATRON_HAS_STAFF_ALERT CSS.
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+26     0       Open-ILS/xul/staff_client/server/patron/util.js
+2      0       Open-ILS/xul/staff_client/server/skin/patron_display.css
+
+commit 5f09921d98443a50c7aba9417e6d37c4588fe150
+Author: Galen Charlton <gmc@esilibrary.com>
+Date:   Thu Apr 12 17:19:40 2012 -0400
+
+    lp#980303: don't complain about missing plperl
+    
+    Now that use of PL/PERL has been dropped in favor of
+    using PL/PERLU for all Perl SPs, settings-tester.pl need not
+    check for it.
+    
+    Signed-off-by: Galen Charlton <gmc@esilibrary.com>
+    Signed-off-by: Dan Scott <dan.scott@laurentian.ca>
+
+0      1       Open-ILS/src/support-scripts/settings-tester.pl
+
+commit d22291dd0f717f629fd22afce5bdc98269e634dd
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Wed Apr 11 00:08:41 2012 -0400
+
+    TPAC: Clear params when viewing lists in search results
+    
+    Per LP977353, search terms are propagating when the list is being viewed
+    in "results" (HTML View), and therefore those search terms block the
+    display of most or all of the items in the list. Therefore, do not
+    propagate the other CGI params to the mkurl() call.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+
+5      1       Open-ILS/src/templates/opac/myopac/lists.tt2
+
+commit 0796460961b510e385437c89bd4bf0b9a5ea7f77
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Fri Apr 6 14:52:20 2012 -0400
+
+    Add pref_ou query filter for preferred library searching
+    
+    Include the user's "preferred search library" (as set in search
+    preferences, falling back to home OU) in searches, specifically for the
+    purposes of ensuring that located URIs at the user's preferred library
+    would trigger hits where physical copies would be out of scope.
+    
+    Practical example:
+    
+    1. User sets preferred search library to BR1.
+    
+    2. They jump onto the catalogue, log in (which changes their search org
+      to their preferred search library of BR1), but then for some reason
+      change their search org in the org selector to BR3.
+    
+    3. They issue a search for "Harry Potter and the Philosopher's Stone".
+      BR3 doesn't hold any copies or have any located URIs, but SYS1 (BR1's
+      parent) has a PotterMore licence and has added their 856 $9 SYS1 to a
+      bib record.
+    
+    As it currently stands, User is out of luck; they won't see any hits in
+    search results as there are no copies or located URIs in the BR3 scope.
+    
+    The proposed enhancement would, however, make the search results contain
+    a hit for "Harry Potter and the Philosopher's Stone" at the user's
+    preferred search library.
+    
+    Sites can trigger the preferred library as part of the query filters
+    using the "pref_ou(SHORTNAME)" syntax.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
+
+10     1       Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm
+1      0       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
+11     2       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm
+6      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+7      2       Open-ILS/src/sql/Pg/300.schema.staged_search.sql
+341    0       Open-ILS/src/sql/Pg/upgrade/0704.schema.query_parser_fts.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0704.schema.query_parser_fts.sql
+
+commit 0c412bed766a5f57ddbfad8ddccd57f24b504621
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Wed Apr 11 14:58:26 2012 -0400
+
+    Nicer staff searches display in record details
+    
+    Specifically, don't make us scroll down a few hundred pixels to see the
+    actual page content.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+0      1       Open-ILS/src/templates/opac/parts/record/body.tt2
+3      3       Open-ILS/web/css/skin/default/opac/style.css
+
+commit 17b8f4abb1d922522ffadc440f4b6e3660718874
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Tue Apr 10 13:15:09 2012 -0400
+
+    fix sort bug introduced with multi-sort
+    
+    The bug happens on columns without a defined sort_value
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+2      2       Open-ILS/xul/staff_client/chrome/content/util/list.js
+
+commit ffafabde6a24eb05527e0b5ffadf381ad9399ee9
+Author: Jason Etheridge <jason@esilibrary.com>
+Date:   Tue Apr 10 12:57:16 2012 -0400
+
+    Fix bill selection in the billing interface
+    
+    We were looking for the checkbox column to be the first treecell in a treerow,
+    but the ever-present line number column now takes up that position.
+    
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+1      1       Open-ILS/xul/staff_client/server/patron/bill2.js
+
+commit d4e4cb6526ca383844a2c09c85341082780d5d02
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Mon Apr 9 16:22:06 2012 -0400
+
+    Bump 2.2 beta version number in upgrade script
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+1      1       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+
+commit bb63b3cf1ff86e1bc48bbce73b9cf802bd03844e
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Mon Apr 9 09:37:57 2012 -0400
+
+    i18n: Robustify db-seed-i18n.py parsing
+    
+    Faced with the perplexing use of a space before a comma in
+    oils_i18n_gettext() keys, db-seed-i18n.py's regex failed. The solution
+    for a sloppy regex? More powerful regex!
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+2      2       build/i18n/scripts/db-seed-i18n.py
+
+commit 0148e18665a8cab518235dde2a90ee373e23fc94
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Tue Mar 27 00:12:43 2012 -0400
+
+    TPAC: Integrate i18n for TPAC into build process
+    
+    Support the "standard" i18n build process for internationalization by
+    integrating the TPAC string extraction (via xgettext.pl) and update /
+    install bits. Also, add the base POT file to support translation in
+    Launchpad.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+3      2       Open-ILS/src/templates/opac/myopac/main_pay.tt2
+21     15      build/i18n/Makefile
+2348   0       build/i18n/po/tpac/tpac.pot
+ create mode 100644 build/i18n/po/tpac/tpac.pot
+
+commit 0765ecb89776374b692413a41285ed7001e7f07b
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Sun Apr 8 18:13:26 2012 -0400
+
+    TPAC: Protect against requests for non-existent records
+    
+    If a record request is received for a record that does not exist (say,
+    if 100 records have been loaded and someone submits a request for
+    /eg/opac/record/399), rather than dying with a server error, return
+    immediately.
+    
+    Eventually we'll want to provide an explicit "record was not
+    found error" in the TPAC record details; for now the TPAC just displays
+    zero bib detail.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+4      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
+
+commit 767a65660d0b6f5a3b04243e0d7b6270f3c89b63
+Author: Mike Rylander <mrylander@gmail.com>
+Date:   Wed Feb 29 12:04:54 2012 -0500
+
+    Protect against empty default_CD_modifiers in opensrf.xml
+    
+    If the app settings for the open-ils.search service in opensrf.xml had
+    an empty (but not entirely missing) <default_CD_modifiers> element, then
+    the open-ils.storage log would contain entries like the following:
+    
+    Use of uninitialized value $class in hash element at
+    /usr/local/share/perl5/OpenILS/Application/Storage/QueryParser.pm
+    
+    Protect against that problem with more defensive code in QueryParser.pm.
+    
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+4      1       Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm
+
+commit 5dff6311f57bebf391647b3f3d1a67ffe01c5e75
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Mon Apr 9 11:27:53 2012 -0400
+
+    Avoid too-strict controller checks when fleshing for cstore, reporter-store
+    
+    Move controller-verificiation from the beginning of recursive
+    doFieldmapperSearch() to nearer the end, right before we recurse, so we
+    only check the child class's controller if we're pcrud.  If we're not
+    pcrud, code that calls doFieldmapperSearch() from the outside will have
+    already done appropriate testing of the controller.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+15     17      Open-ILS/src/c-apps/oils_sql.c
+
+commit 3e4ebdcda4030e4d6e86fe466a7c2845179ab9ef
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Apr 3 14:39:00 2012 -0400
+
+    Org Unit Custom Tree supports add directly after delete
+    
+    When deleting a node from the custom tree, it's necessary to save the
+    tree store after the final call to store.deleteItem, or the delete
+    operation will not complete.  Without this, it's not possible to add a
+    remove org unit back into the custom tree without reloading the UI.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+3      0       Open-ILS/web/js/ui/default/conify/global/actor/org_unit_custom_tree.js
+
+commit cc51f5424ba01e562b4fa0afaa4e36954e91642c
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Tue Apr 3 15:14:35 2012 -0400
+
+    Org unit custom tree sort repairs
+    
+    Repairs a problem with detecting and storing the sort order of sibling
+    nodes within custom trees.  The original problem was the result of
+    comparing parent nodes for non-siblings because of a depth-first tree
+    traversal.  Now we process siblings in level-order before processing
+    child nodes.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Mike Rylander <mrylander@gmail.com>
+
+5      2       Open-ILS/web/js/ui/default/conify/global/actor/org_unit_custom_tree.js
+
+commit 486444681a4543d9f61e11c2564b0bb392762d7f
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Mon Apr 9 08:59:55 2012 -0400
+
+    Bug 957453: Fix error in database seed data
+    
+    The use of an explicit ID in creating a new
+    action_trigger.event_definition row was followed by the use of the
+    CURRVAL() function to grab the most recently issued value for
+    the action_trigger.event_defintion_id_seq sequence - which happened to
+    be 100, due to a previously issued SETVAL() on the sequence.
+    
+    This resulted in references to non-existent event definitions and thus
+    an error in creating the stock database schema.
+    
+    By using an explicit ID for the dependent row, we avoid this error.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+1      1       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+
+commit 1f349b5529aae0687aa6dece8088a73f5f442f2e
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Mon Apr 9 09:14:16 2012 -0400
+
+    README: Clarify PostgreSQL 9.1 vs. 9.0 remote server docs
+    
+    Break out the PostgreSQL 9.1 or later instructions into their own
+    subsection to clarify how the steps differ from PostgreSQL 9.0.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+
+12     5       README
+
+commit 1406a46bf12b1e9fdce323b917cf52a4296072d0
+Author: Dan Scott <dan@coffeecode.net>
+Date:   Sun Apr 8 15:47:10 2012 -0400
+
+    TPAC: Show deleted record warning for deleted records
+    
+    At the cost of an extra database query per record displayed, we can
+    properly activate the "This record has been deleted..." message. Prior
+    to this commit, the message was embedded on every page but hidden via
+    CSS - which isn't great for search engines or source-reading types.
+    
+    Now we only include & display the message if it has, in fact, been
+    deleted.
+    
+    Signed-off-by: Dan Scott <dan@coffeecode.net>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+8      0       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
+3      3       Open-ILS/src/templates/opac/parts/record/body.tt2
+6      0       Open-ILS/web/css/skin/default/opac/style.css
+
+commit fc5f7714c978fd7a5b5c4ce77d6a993e10dd6ccf
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Sun Apr 8 21:32:25 2012 -0400
+
+    Stamp tpac value maps upgrade script
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+
+1      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+12     0       Open-ILS/src/sql/Pg/upgrade/0703.tpac_value_maps.sql
+0      4       Open-ILS/src/sql/Pg/upgrade/XXXX.tpac_value_maps.sql
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/0703.tpac_value_maps.sql
+ delete mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.tpac_value_maps.sql
+
+commit 96d0855b26b1ff40af895755dbb04a6762a473fd
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Thu Apr 5 15:39:40 2012 -0400
+
+    Add "Simple" flag for selectors
+    
+    This causes JSPac to ignore them and TPac to sort them above a divider.
+    
+    Also fixes an issue where excessive escaping was being done on values. This
+    would break some values in the value map selectors.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+1      0       Open-ILS/examples/fm_IDL.xml
+2      1       Open-ILS/src/sql/Pg/002.schema.config.sql
+2      1       Open-ILS/src/sql/Pg/upgrade/XXXX.tpac_value_maps.sql
+14     3       Open-ILS/src/templates/opac/parts/coded_value_selector.tt2
+1      1       Open-ILS/web/opac/skin/default/js/adv_global.js
+
+commit 17f66a91636d1164199fc215e30b4771c451b5a9
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Thu Mar 29 16:39:10 2012 -0400
+
+    Add i18n tag to coded value map value/description
+    
+    Because the seed data assumes they are translated, so tell the IDL.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+2      2       Open-ILS/examples/fm_IDL.xml
+
+commit 3caf5a7f4e279219557d93ae231b228e844b5951
+Author: Thomas Berezansky <tsbere@mvlc.org>
+Date:   Thu Mar 29 15:37:07 2012 -0400
+
+    Coded Value Maps Opac Visible/Search Labels
+    
+    Add two new fields to Coded Value Maps:
+    
+    1 - Opac Visible, for "does this show up in opac limiter boxes"
+    2 - Search Label, for "what does this get called for those boxes"
+    
+    Intended use cases include:
+    
+    Re-labeling MARC fields without changing the base MARC information, say
+    because you don't expect patrons to understand "Projected Medium".
+    
+    Hiding things that don't apply, say the vast majority of language limiters,
+    without needing to delete rows.
+    
+    I also hooked it up in JSPac, because it was easy to do so.
+    
+    Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
+    Signed-off-by: Ben Shum <bshum@biblio.org>
+
+2      0       Open-ILS/examples/fm_IDL.xml
+10     4       Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
+7      5       Open-ILS/src/sql/Pg/002.schema.config.sql
+3      0       Open-ILS/src/sql/Pg/upgrade/XXXX.tpac_value_maps.sql
+1      1       Open-ILS/src/templates/conify/global/config/coded_value_map.tt2
+2      2       Open-ILS/src/templates/opac/parts/coded_value_selector.tt2
+4      4       Open-ILS/web/opac/skin/default/js/adv_global.js
+ create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.tpac_value_maps.sql
+
+commit 4643f3613ad57ad4cdcf99a9bf17faf4c63870af
+Author: Joseph Lewis <joehms22@gmail.com>
+Date:   Tue Apr 3 10:13:20 2012 -0600
+
+    Fixed a slight misspelling, as noted in https://bugs.launchpad.net/evergreen/+bug/915564
+    
+    Signed-off-by: Joseph Lewis <joehms22@gmail.com>
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+1      1       Open-ILS/src/sql/Pg/950.data.seed-values.sql
+1      1       Open-ILS/src/sql/Pg/upgrade/0622.data.YAOUS-i18n-update.sql
+1      1       Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-upgrade-db.sql
+
+commit a30dcca536acc833d6323763485e3d63b1c37574
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Tue Apr 3 11:16:16 2012 -0400
+
+    Fix failure of 'My Selection Lists' interface
+    
+    Addresses this bug: https://bugs.launchpad.net/evergreen/+bug/967824
+    
+    Recent changes to the mechanism of unified search (for which 'My
+    Selection Lists' is a frontend) lacked code that respected
+    the new join structure for some use cases.
+    
+    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+
+4      15      Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Search.pm
+
+commit 83f5fe8c14856189bc7cacd46750524779d0539f
+Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
+Date:   Tue Apr 3 12:20:50 2012 -0400
+
+    Revert "Serial Control: Use Dijit-based issuance editor"
+    
+    This reverts commit 37b324f53adb4fb90fe17ada72d44fca1d606e9f.
+    
+    This commit was regrettably merged without other commits from its
+    branch on which it depends.
+
+0      17      Open-ILS/src/templates/serial/edit_siss.tt2
+0      5       Open-ILS/web/js/dojo/openils/serial/nls/serial.js
+0      84      Open-ILS/web/js/ui/default/serial/edit_siss.js
+10     27      Open-ILS/xul/staff_client/server/serial/manage_subs.js
+24     1       Open-ILS/xul/staff_client/server/serial/siss_editor.xul
+ delete mode 100644 Open-ILS/src/templates/serial/edit_siss.tt2
+ delete mode 100644 Open-ILS/web/js/dojo/openils/serial/nls/serial.js
+ delete mode 100644 Open-ILS/web/js/ui/default/serial/edit_siss.js
+
+commit 2f60ce5813ef2b0435d00c99a7d8ff698a8431d9
+Author: Dan Scott <dscott@laurentian.ca>
+Date:   Tue Apr 3 09:33:24 2012 -0400
+
+    Remove located URI scope notes from 2.2 Release Notes
+    
+    The located URI scope change occurred in the 2.1 time frame, not in 2.2,
+    so remove from the Release Notes.
+    
+    Signed-off-by: Dan Scott <dscott@laurentian.ca>
+
+0      31      docs/RELEASE_NOTES_2_2.txt
+
+commit 7920d760358dd0201a7ca2234710f68a602775f4
+Author: Bill Erickson <berick@esilibrary.com>
+Date:   Mon Apr 2 17:15:25 2012 -0400
+
+    Add ui.hide_copy_editor_fields to baseline seed data
+    
+    Without it, the "Hide Fields" option in the copy editor will not
+    function.
+    
+    Signed-off-by: Bill Erickson <berick@esilibrary.com>
+    Signed-off-by: Jason Etheridge <jason@esilibrary.com>
+
+23     0       Open-ILS/src/sql/Pg/950.data.seed-values.sql
index cd4dbbf..44914ff 100644 (file)
@@ -6,7 +6,7 @@ use base qw/OpenSRF::Application/;
 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-3-0";
 }
 
 __PACKAGE__->register_method(
index e1f8381..035526e 100644 (file)
@@ -88,6 +88,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 ('0738', :eg_version); -- senator/dbwells
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('2.3.0', :eg_version);
 
 CREATE TABLE config.bib_source (
        id              SERIAL  PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/version-upgrade/2.2-2.3.0-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/2.2-2.3.0-upgrade-db.sql
new file mode 100644 (file)
index 0000000..a9f7957
--- /dev/null
@@ -0,0 +1,2219 @@
+--Upgrade Script for 2.2 to 2.3.0
+BEGIN;
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('2.3.0', :eg_version);
+-- Evergreen DB patch 0703.tpac_value_maps.sql
+
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('0703', :eg_version);
+
+ALTER TABLE config.coded_value_map
+    ADD COLUMN opac_visible BOOL NOT NULL DEFAULT TRUE,
+    ADD COLUMN search_label TEXT,
+    ADD COLUMN is_simple BOOL NOT NULL DEFAULT FALSE;
+
+
+
+SELECT evergreen.upgrade_deps_block_check('0712', :eg_version);
+
+-- General purpose query container.  Any table the needs to store
+-- a QueryParser query should store it here.  This will be the 
+-- source for top-level and QP sub-search inclusion queries.
+CREATE TABLE actor.search_query (
+    id          SERIAL PRIMARY KEY, 
+    label       TEXT NOT NULL, -- i18n
+    query_text  TEXT NOT NULL -- QP text
+);
+
+-- e.g. "Reading Level"
+CREATE TABLE actor.search_filter_group (
+    id          SERIAL      PRIMARY KEY,
+    owner       INT         NOT NULL REFERENCES actor.org_unit (id) 
+                            ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+    code        TEXT        NOT NULL, -- for CGI, etc.
+    label       TEXT        NOT NULL, -- i18n
+    create_date TIMESTAMPTZ NOT NULL DEFAULT now(),
+    CONSTRAINT  asfg_label_once_per_org UNIQUE (owner, label),
+    CONSTRAINT  asfg_code_once_per_org UNIQUE (owner, code)
+);
+
+-- e.g. "Adult", "Teen", etc.
+CREATE TABLE actor.search_filter_group_entry (
+    id          SERIAL  PRIMARY KEY,
+    grp         INT     NOT NULL REFERENCES actor.search_filter_group(id) 
+                        ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+    pos         INT     NOT NULL DEFAULT 0,
+    query       INT     NOT NULL REFERENCES actor.search_query(id) 
+                        ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+    CONSTRAINT asfge_query_once_per_group UNIQUE (grp, query)
+);
+
+
+SELECT evergreen.upgrade_deps_block_check('0713', :eg_version);
+
+INSERT INTO config.usr_setting_type (name,grp,opac_visible,label,description,datatype) VALUES (
+    'ui.grid_columns.circ.hold_pull_list',
+    'gui',
+    FALSE,
+    oils_i18n_gettext(
+        'ui.grid_columns.circ.hold_pull_list',
+        'Hold Pull List',
+        'cust',
+        'label'
+    ),
+    oils_i18n_gettext(
+        'ui.grid_columns.circ.hold_pull_list',
+        'Hold Pull List Saved Column Settings',
+        'cust',
+        'description'
+    ),
+    'string'
+);
+
+
+
+SELECT evergreen.upgrade_deps_block_check('0714', :eg_version);
+
+INSERT into config.org_unit_setting_type 
+    (name, grp, label, description, datatype) 
+    VALUES ( 
+        'opac.patron.auto_overide_hold_events', 
+        'opac',
+        oils_i18n_gettext(
+            'opac.patron.auto_overide_hold_events',
+            'Auto-Override Permitted Hold Blocks (Patrons)',
+            'coust', 
+            'label'
+        ),
+        oils_i18n_gettext(
+            'opac.patron.auto_overide_hold_events',
+            'When a patron places a hold that fails and the patron has the correct permission ' ||
+            'to override the hold, automatically override the hold without presenting a message ' ||
+            'to the patron and requiring that the patron make a decision to override',
+            'coust', 
+            'description'
+        ),
+        'bool'
+    );
+
+-- Evergreen DB patch 0718.data.add-to-permanent-bookbag.sql
+
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('0718', :eg_version);
+
+INSERT into config.org_unit_setting_type
+    (name, grp, label, description, datatype)
+    VALUES (
+        'opac.patron.temporary_list_warn',
+        'opac',
+        oils_i18n_gettext(
+            'opac.patron.temporary_list_warn',
+            'Warn patrons when adding to a temporary book list',
+            'coust',
+            'label'
+        ),
+        oils_i18n_gettext(
+            'opac.patron.temporary_list_warn',
+            'Present a warning dialog to the patron when a patron adds a book to a temporary book bag.',
+            'coust',
+            'description'
+        ),
+        'bool'
+    );
+
+INSERT INTO config.usr_setting_type
+    (name,grp,opac_visible,label,description,datatype)
+VALUES (
+    'opac.temporary_list_no_warn',
+    'opac',
+    TRUE,
+    oils_i18n_gettext(
+        'opac.temporary_list_no_warn',
+        'Opt out of warning when adding a book to a temporary book list',
+        'cust',
+        'label'
+    ),
+    oils_i18n_gettext(
+        'opac.temporary_list_no_warn',
+        'Opt out of warning when adding a book to a temporary book list',
+        'cust',
+        'description'
+    ),
+    'bool'
+);
+
+INSERT INTO config.usr_setting_type
+    (name,grp,opac_visible,label,description,datatype)
+VALUES (
+    'opac.default_list',
+    'opac',
+    FALSE,
+    oils_i18n_gettext(
+        'opac.default_list',
+        'Default list to use when adding to a bookbag',
+        'cust',
+        'label'
+    ),
+    oils_i18n_gettext(
+        'opac.default_list',
+        'Default list to use when adding to a bookbag',
+        'cust',
+        'description'
+    ),
+    'integer'
+);
+
+
+SELECT evergreen.upgrade_deps_block_check('0719', :eg_version);
+
+INSERT INTO config.org_unit_setting_type (
+    name, label, grp, description, datatype
+) VALUES (
+    'circ.staff.max_visible_event_age',
+    'Maximum visible age of User Trigger Events in Staff Interfaces',
+    'circ',
+    'If this is unset, staff can view User Trigger Events regardless of age. When this is set to an interval, it represents the age of the oldest possible User Trigger Event that can be viewed.',
+    'interval'
+);
+
+INSERT INTO config.usr_setting_type (name,grp,opac_visible,label,description,datatype) VALUES (
+    'ui.grid_columns.actor.user.event_log',
+    'gui',
+    FALSE,
+    oils_i18n_gettext(
+        'ui.grid_columns.actor.user.event_log',
+        'User Event Log',
+        'cust',
+        'label'
+    ),
+    oils_i18n_gettext(
+        'ui.grid_columns.actor.user.event_log',
+        'User Event Log Saved Column Settings',
+        'cust',
+        'description'
+    ),
+    'string'
+);
+
+INSERT INTO permission.perm_list ( id, code, description )
+    VALUES (
+        535,
+        'VIEW_TRIGGER_EVENT',
+        oils_i18n_gettext(
+            535,
+            'Allows a user to view circ- and hold-related action/trigger events',
+            'ppl',
+            'description'
+        )
+    );
+
+
+SELECT evergreen.upgrade_deps_block_check('0720', :eg_version);
+
+ALTER TABLE config.circ_matrix_weights 
+    ADD COLUMN copy_location NUMERIC(6,2) NOT NULL DEFAULT 5.0;
+UPDATE config.circ_matrix_weights 
+    SET copy_location = 0.0 WHERE name = 'All_Equal';
+ALTER TABLE config.circ_matrix_weights 
+    ALTER COLUMN copy_location DROP DEFAULT; -- for consistency w/ baseline schema
+
+ALTER TABLE config.circ_matrix_matchpoint
+    ADD COLUMN copy_location INTEGER REFERENCES asset.copy_location (id) DEFERRABLE INITIALLY DEFERRED;
+
+DROP INDEX config.ccmm_once_per_paramset;
+
+CREATE UNIQUE INDEX ccmm_once_per_paramset ON config.circ_matrix_matchpoint (org_unit, grp, COALESCE(circ_modifier, ''), COALESCE(copy_location::TEXT, ''), COALESCE(marc_type, ''), COALESCE(marc_form, ''), COALESCE(marc_bib_level,''), COALESCE(marc_vr_format, ''), COALESCE(copy_circ_lib::TEXT, ''), COALESCE(copy_owning_lib::TEXT, ''), COALESCE(user_home_ou::TEXT, ''), COALESCE(ref_flag::TEXT, ''), COALESCE(juvenile_flag::TEXT, ''), COALESCE(is_renewal::TEXT, ''), COALESCE(usr_age_lower_bound::TEXT, ''), COALESCE(usr_age_upper_bound::TEXT, ''), COALESCE(item_age::TEXT, '')) WHERE active;
+
+-- Linkage between limit sets and circ mods
+CREATE TABLE config.circ_limit_set_copy_loc_map (
+    id          SERIAL  PRIMARY KEY,
+    limit_set   INT     NOT NULL REFERENCES config.circ_limit_set (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+    copy_loc    INT     NOT NULL REFERENCES asset.copy_location (id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED,
+    CONSTRAINT cl_once_per_set UNIQUE (limit_set, copy_loc)
+);
+
+-- Add support for checking config.circ_limit_set_copy_loc_map's
+CREATE OR REPLACE FUNCTION action.item_user_circ_test( circ_ou INT, match_item BIGINT, match_user INT, renewal BOOL ) 
+    RETURNS SETOF action.circ_matrix_test_result AS $func$
+DECLARE
+    user_object             actor.usr%ROWTYPE;
+    standing_penalty        config.standing_penalty%ROWTYPE;
+    item_object             asset.copy%ROWTYPE;
+    item_status_object      config.copy_status%ROWTYPE;
+    item_location_object    asset.copy_location%ROWTYPE;
+    result                  action.circ_matrix_test_result;
+    circ_test               action.found_circ_matrix_matchpoint;
+    circ_matchpoint         config.circ_matrix_matchpoint%ROWTYPE;
+    circ_limit_set          config.circ_limit_set%ROWTYPE;
+    hold_ratio              action.hold_stats%ROWTYPE;
+    penalty_type            TEXT;
+    items_out               INT;
+    context_org_list        INT[];
+    done                    BOOL := FALSE;
+BEGIN
+    -- Assume success unless we hit a failure condition
+    result.success := TRUE;
+
+    -- Need user info to look up matchpoints
+    SELECT INTO user_object * FROM actor.usr WHERE id = match_user AND NOT deleted;
+
+    -- (Insta)Fail if we couldn't find the user
+    IF user_object.id IS NULL THEN
+        result.fail_part := 'no_user';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+        RETURN;
+    END IF;
+
+    -- Need item info to look up matchpoints
+    SELECT INTO item_object * FROM asset.copy WHERE id = match_item AND NOT deleted;
+
+    -- (Insta)Fail if we couldn't find the item 
+    IF item_object.id IS NULL THEN
+        result.fail_part := 'no_item';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+        RETURN;
+    END IF;
+
+    SELECT INTO circ_test * FROM action.find_circ_matrix_matchpoint(circ_ou, item_object, user_object, renewal);
+
+    circ_matchpoint             := circ_test.matchpoint;
+    result.matchpoint           := circ_matchpoint.id;
+    result.circulate            := circ_matchpoint.circulate;
+    result.duration_rule        := circ_matchpoint.duration_rule;
+    result.recurring_fine_rule  := circ_matchpoint.recurring_fine_rule;
+    result.max_fine_rule        := circ_matchpoint.max_fine_rule;
+    result.hard_due_date        := circ_matchpoint.hard_due_date;
+    result.renewals             := circ_matchpoint.renewals;
+    result.grace_period         := circ_matchpoint.grace_period;
+    result.buildrows            := circ_test.buildrows;
+
+    -- (Insta)Fail if we couldn't find a matchpoint
+    IF circ_test.success = false THEN
+        result.fail_part := 'no_matchpoint';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+        RETURN;
+    END IF;
+
+    -- All failures before this point are non-recoverable
+    -- Below this point are possibly overridable failures
+
+    -- Fail if the user is barred
+    IF user_object.barred IS TRUE THEN
+        result.fail_part := 'actor.usr.barred';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+    END IF;
+
+    -- Fail if the item can't circulate
+    IF item_object.circulate IS FALSE THEN
+        result.fail_part := 'asset.copy.circulate';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+    END IF;
+
+    -- Fail if the item isn't in a circulateable status on a non-renewal
+    IF NOT renewal AND item_object.status NOT IN ( 0, 7, 8 ) THEN 
+        result.fail_part := 'asset.copy.status';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+    -- Alternately, fail if the item isn't checked out on a renewal
+    ELSIF renewal AND item_object.status <> 1 THEN
+        result.fail_part := 'asset.copy.status';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+    END IF;
+
+    -- Fail if the item can't circulate because of the shelving location
+    SELECT INTO item_location_object * FROM asset.copy_location WHERE id = item_object.location;
+    IF item_location_object.circulate IS FALSE THEN
+        result.fail_part := 'asset.copy_location.circulate';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+    END IF;
+
+    -- Use Circ OU for penalties and such
+    SELECT INTO context_org_list ARRAY_AGG(id) FROM actor.org_unit_full_path( circ_ou );
+
+    IF renewal THEN
+        penalty_type = '%RENEW%';
+    ELSE
+        penalty_type = '%CIRC%';
+    END IF;
+
+    FOR standing_penalty IN
+        SELECT  DISTINCT csp.*
+          FROM  actor.usr_standing_penalty usp
+                JOIN config.standing_penalty csp ON (csp.id = usp.standing_penalty)
+          WHERE usr = match_user
+                AND usp.org_unit IN ( SELECT * FROM unnest(context_org_list) )
+                AND (usp.stop_date IS NULL or usp.stop_date > NOW())
+                AND csp.block_list LIKE penalty_type LOOP
+
+        result.fail_part := standing_penalty.name;
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+    END LOOP;
+
+    -- Fail if the test is set to hard non-circulating
+    IF circ_matchpoint.circulate IS FALSE THEN
+        result.fail_part := 'config.circ_matrix_test.circulate';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+    END IF;
+
+    -- Fail if the total copy-hold ratio is too low
+    IF circ_matchpoint.total_copy_hold_ratio IS NOT NULL THEN
+        SELECT INTO hold_ratio * FROM action.copy_related_hold_stats(match_item);
+        IF hold_ratio.total_copy_ratio IS NOT NULL AND hold_ratio.total_copy_ratio < circ_matchpoint.total_copy_hold_ratio THEN
+            result.fail_part := 'config.circ_matrix_test.total_copy_hold_ratio';
+            result.success := FALSE;
+            done := TRUE;
+            RETURN NEXT result;
+        END IF;
+    END IF;
+
+    -- Fail if the available copy-hold ratio is too low
+    IF circ_matchpoint.available_copy_hold_ratio IS NOT NULL THEN
+        IF hold_ratio.hold_count IS NULL THEN
+            SELECT INTO hold_ratio * FROM action.copy_related_hold_stats(match_item);
+        END IF;
+        IF hold_ratio.available_copy_ratio IS NOT NULL AND hold_ratio.available_copy_ratio < circ_matchpoint.available_copy_hold_ratio THEN
+            result.fail_part := 'config.circ_matrix_test.available_copy_hold_ratio';
+            result.success := FALSE;
+            done := TRUE;
+            RETURN NEXT result;
+        END IF;
+    END IF;
+
+    -- Fail if the user has too many items out by defined limit sets
+    FOR circ_limit_set IN SELECT ccls.* FROM config.circ_limit_set ccls
+      JOIN config.circ_matrix_limit_set_map ccmlsm ON ccmlsm.limit_set = ccls.id
+      WHERE ccmlsm.active AND ( ccmlsm.matchpoint = circ_matchpoint.id OR
+        ( ccmlsm.matchpoint IN (SELECT * FROM unnest(result.buildrows)) AND ccmlsm.fallthrough )
+        ) LOOP
+            IF circ_limit_set.items_out > 0 AND NOT renewal THEN
+                SELECT INTO context_org_list ARRAY_AGG(aou.id)
+                  FROM actor.org_unit_full_path( circ_ou ) aou
+                    JOIN actor.org_unit_type aout ON aou.ou_type = aout.id
+                  WHERE aout.depth >= circ_limit_set.depth;
+                IF circ_limit_set.global THEN
+                    WITH RECURSIVE descendant_depth AS (
+                        SELECT  ou.id,
+                            ou.parent_ou
+                        FROM  actor.org_unit ou
+                        WHERE ou.id IN (SELECT * FROM unnest(context_org_list))
+                            UNION
+                        SELECT  ou.id,
+                            ou.parent_ou
+                        FROM  actor.org_unit ou
+                            JOIN descendant_depth ot ON (ot.id = ou.parent_ou)
+                    ) SELECT INTO context_org_list ARRAY_AGG(ou.id) FROM actor.org_unit ou JOIN descendant_depth USING (id);
+                END IF;
+                SELECT INTO items_out COUNT(DISTINCT circ.id)
+                  FROM action.circulation circ
+                    JOIN asset.copy copy ON (copy.id = circ.target_copy)
+                    LEFT JOIN action.circulation_limit_group_map aclgm ON (circ.id = aclgm.circ)
+                  WHERE circ.usr = match_user
+                    AND circ.circ_lib IN (SELECT * FROM unnest(context_org_list))
+                    AND circ.checkin_time IS NULL
+                    AND (circ.stop_fines IN ('MAXFINES','LONGOVERDUE') OR circ.stop_fines IS NULL)
+                    AND (copy.circ_modifier IN (SELECT circ_mod FROM config.circ_limit_set_circ_mod_map WHERE limit_set = circ_limit_set.id)
+                        OR copy.location IN (SELECT copy_loc FROM config.circ_limit_set_copy_loc_map WHERE limit_set = circ_limit_set.id)
+                        OR aclgm.limit_group IN (SELECT limit_group FROM config.circ_limit_set_group_map WHERE limit_set = circ_limit_set.id)
+                    );
+                IF items_out >= circ_limit_set.items_out THEN
+                    result.fail_part := 'config.circ_matrix_circ_mod_test';
+                    result.success := FALSE;
+                    done := TRUE;
+                    RETURN NEXT result;
+                END IF;
+            END IF;
+            SELECT INTO result.limit_groups result.limit_groups || ARRAY_AGG(limit_group) FROM config.circ_limit_set_group_map WHERE limit_set = circ_limit_set.id AND NOT check_only;
+    END LOOP;
+
+    -- If we passed everything, return the successful matchpoint
+    IF NOT done THEN
+        RETURN NEXT result;
+    END IF;
+
+    RETURN;
+END;
+$func$ LANGUAGE plpgsql;
+
+
+-- adding copy_loc to circ_matrix_matchpoint
+CREATE OR REPLACE FUNCTION action.find_circ_matrix_matchpoint( context_ou INT, item_object asset.copy, user_object actor.usr, renewal BOOL ) RETURNS action.found_circ_matrix_matchpoint AS $func$
+DECLARE
+    cn_object       asset.call_number%ROWTYPE;
+    rec_descriptor  metabib.rec_descriptor%ROWTYPE;
+    cur_matchpoint  config.circ_matrix_matchpoint%ROWTYPE;
+    matchpoint      config.circ_matrix_matchpoint%ROWTYPE;
+    weights         config.circ_matrix_weights%ROWTYPE;
+    user_age        INTERVAL;
+    my_item_age     INTERVAL;
+    denominator     NUMERIC(6,2);
+    row_list        INT[];
+    result          action.found_circ_matrix_matchpoint;
+BEGIN
+    -- Assume failure
+    result.success = false;
+
+    -- Fetch useful data
+    SELECT INTO cn_object       * FROM asset.call_number        WHERE id = item_object.call_number;
+    SELECT INTO rec_descriptor  * FROM metabib.rec_descriptor   WHERE record = cn_object.record;
+
+    -- Pre-generate this so we only calc it once
+    IF user_object.dob IS NOT NULL THEN
+        SELECT INTO user_age age(user_object.dob);
+    END IF;
+
+    -- Ditto
+    SELECT INTO my_item_age age(coalesce(item_object.active_date, now()));
+
+    -- Grab the closest set circ weight setting.
+    SELECT INTO weights cw.*
+      FROM config.weight_assoc wa
+           JOIN config.circ_matrix_weights cw ON (cw.id = wa.circ_weights)
+           JOIN actor.org_unit_ancestors_distance( context_ou ) d ON (wa.org_unit = d.id)
+      WHERE active
+      ORDER BY d.distance
+      LIMIT 1;
+
+    -- No weights? Bad admin! Defaults to handle that anyway.
+    IF weights.id IS NULL THEN
+        weights.grp                 := 11.0;
+        weights.org_unit            := 10.0;
+        weights.circ_modifier       := 5.0;
+        weights.copy_location       := 5.0;
+        weights.marc_type           := 4.0;
+        weights.marc_form           := 3.0;
+        weights.marc_bib_level      := 2.0;
+        weights.marc_vr_format      := 2.0;
+        weights.copy_circ_lib       := 8.0;
+        weights.copy_owning_lib     := 8.0;
+        weights.user_home_ou        := 8.0;
+        weights.ref_flag            := 1.0;
+        weights.juvenile_flag       := 6.0;
+        weights.is_renewal          := 7.0;
+        weights.usr_age_lower_bound := 0.0;
+        weights.usr_age_upper_bound := 0.0;
+        weights.item_age            := 0.0;
+    END IF;
+
+    -- Determine the max (expected) depth (+1) of the org tree and max depth of the permisson tree
+    -- If you break your org tree with funky parenting this may be wrong
+    -- Note: This CTE is duplicated in the find_hold_matrix_matchpoint function, and it may be a good idea to split it off to a function
+    -- We use one denominator for all tree-based checks for when permission groups and org units have the same weighting
+    WITH all_distance(distance) AS (
+            SELECT depth AS distance FROM actor.org_unit_type
+        UNION
+                   SELECT distance AS distance FROM permission.grp_ancestors_distance((SELECT id FROM permission.grp_tree WHERE parent IS NULL))
+       )
+    SELECT INTO denominator MAX(distance) + 1 FROM all_distance;
+
+    -- Loop over all the potential matchpoints
+    FOR cur_matchpoint IN
+        SELECT m.*
+          FROM  config.circ_matrix_matchpoint m
+                /*LEFT*/ JOIN permission.grp_ancestors_distance( user_object.profile ) upgad ON m.grp = upgad.id
+                /*LEFT*/ JOIN actor.org_unit_ancestors_distance( context_ou ) ctoua ON m.org_unit = ctoua.id
+                LEFT JOIN actor.org_unit_ancestors_distance( cn_object.owning_lib ) cnoua ON m.copy_owning_lib = cnoua.id
+                LEFT JOIN actor.org_unit_ancestors_distance( item_object.circ_lib ) iooua ON m.copy_circ_lib = iooua.id
+                LEFT JOIN actor.org_unit_ancestors_distance( user_object.home_ou  ) uhoua ON m.user_home_ou = uhoua.id
+          WHERE m.active
+                -- Permission Groups
+             -- AND (m.grp                      IS NULL OR upgad.id IS NOT NULL) -- Optional Permission Group?
+                -- Org Units
+             -- AND (m.org_unit                 IS NULL OR ctoua.id IS NOT NULL) -- Optional Org Unit?
+                AND (m.copy_owning_lib          IS NULL OR cnoua.id IS NOT NULL)
+                AND (m.copy_circ_lib            IS NULL OR iooua.id IS NOT NULL)
+                AND (m.user_home_ou             IS NULL OR uhoua.id IS NOT NULL)
+                -- Circ Type
+                AND (m.is_renewal               IS NULL OR m.is_renewal = renewal)
+                -- Static User Checks
+                AND (m.juvenile_flag            IS NULL OR m.juvenile_flag = user_object.juvenile)
+                AND (m.usr_age_lower_bound      IS NULL OR (user_age IS NOT NULL AND m.usr_age_lower_bound < user_age))
+                AND (m.usr_age_upper_bound      IS NULL OR (user_age IS NOT NULL AND m.usr_age_upper_bound > user_age))
+                -- Static Item Checks
+                AND (m.circ_modifier            IS NULL OR m.circ_modifier = item_object.circ_modifier)
+                AND (m.copy_location            IS NULL OR m.copy_location = item_object.location)
+                AND (m.marc_type                IS NULL OR m.marc_type = COALESCE(item_object.circ_as_type, rec_descriptor.item_type))
+                AND (m.marc_form                IS NULL OR m.marc_form = rec_descriptor.item_form)
+                AND (m.marc_bib_level           IS NULL OR m.marc_bib_level = rec_descriptor.bib_level)
+                AND (m.marc_vr_format           IS NULL OR m.marc_vr_format = rec_descriptor.vr_format)
+                AND (m.ref_flag                 IS NULL OR m.ref_flag = item_object.ref)
+                AND (m.item_age                 IS NULL OR (my_item_age IS NOT NULL AND m.item_age > my_item_age))
+          ORDER BY
+                -- Permission Groups
+                CASE WHEN upgad.distance        IS NOT NULL THEN 2^(2*weights.grp - (upgad.distance/denominator)) ELSE 0.0 END +
+                -- Org Units
+                CASE WHEN ctoua.distance        IS NOT NULL THEN 2^(2*weights.org_unit - (ctoua.distance/denominator)) ELSE 0.0 END +
+                CASE WHEN cnoua.distance        IS NOT NULL THEN 2^(2*weights.copy_owning_lib - (cnoua.distance/denominator)) ELSE 0.0 END +
+                CASE WHEN iooua.distance        IS NOT NULL THEN 2^(2*weights.copy_circ_lib - (iooua.distance/denominator)) ELSE 0.0 END +
+                CASE WHEN uhoua.distance        IS NOT NULL THEN 2^(2*weights.user_home_ou - (uhoua.distance/denominator)) ELSE 0.0 END +
+                -- Circ Type                    -- Note: 4^x is equiv to 2^(2*x)
+                CASE WHEN m.is_renewal          IS NOT NULL THEN 4^weights.is_renewal ELSE 0.0 END +
+                -- Static User Checks
+                CASE WHEN m.juvenile_flag       IS NOT NULL THEN 4^weights.juvenile_flag ELSE 0.0 END +
+                CASE WHEN m.usr_age_lower_bound IS NOT NULL THEN 4^weights.usr_age_lower_bound ELSE 0.0 END +
+                CASE WHEN m.usr_age_upper_bound IS NOT NULL THEN 4^weights.usr_age_upper_bound ELSE 0.0 END +
+                -- Static Item Checks
+                CASE WHEN m.circ_modifier       IS NOT NULL THEN 4^weights.circ_modifier ELSE 0.0 END +
+                CASE WHEN m.copy_location       IS NOT NULL THEN 4^weights.copy_location ELSE 0.0 END +
+                CASE WHEN m.marc_type           IS NOT NULL THEN 4^weights.marc_type ELSE 0.0 END +
+                CASE WHEN m.marc_form           IS NOT NULL THEN 4^weights.marc_form ELSE 0.0 END +
+                CASE WHEN m.marc_vr_format      IS NOT NULL THEN 4^weights.marc_vr_format ELSE 0.0 END +
+                CASE WHEN m.ref_flag            IS NOT NULL THEN 4^weights.ref_flag ELSE 0.0 END +
+                -- Item age has a slight adjustment to weight based on value.
+                -- This should ensure that a shorter age limit comes first when all else is equal.
+                -- NOTE: This assumes that intervals will normally be in days.
+                CASE WHEN m.item_age            IS NOT NULL THEN 4^weights.item_age - 1 + 86400/EXTRACT(EPOCH FROM m.item_age) ELSE 0.0 END DESC,
+                -- Final sort on id, so that if two rules have the same sorting in the previous sort they have a defined order
+                -- This prevents "we changed the table order by updating a rule, and we started getting different results"
+                m.id LOOP
+
+        -- Record the full matching row list
+        row_list := row_list || cur_matchpoint.id;
+
+        -- No matchpoint yet?
+        IF matchpoint.id IS NULL THEN
+            -- Take the entire matchpoint as a starting point
+            matchpoint := cur_matchpoint;
+            CONTINUE; -- No need to look at this row any more.
+        END IF;
+
+        -- Incomplete matchpoint?
+        IF matchpoint.circulate IS NULL THEN
+            matchpoint.circulate := cur_matchpoint.circulate;
+        END IF;
+        IF matchpoint.duration_rule IS NULL THEN
+            matchpoint.duration_rule := cur_matchpoint.duration_rule;
+        END IF;
+        IF matchpoint.recurring_fine_rule IS NULL THEN
+            matchpoint.recurring_fine_rule := cur_matchpoint.recurring_fine_rule;
+        END IF;
+        IF matchpoint.max_fine_rule IS NULL THEN
+            matchpoint.max_fine_rule := cur_matchpoint.max_fine_rule;
+        END IF;
+        IF matchpoint.hard_due_date IS NULL THEN
+            matchpoint.hard_due_date := cur_matchpoint.hard_due_date;
+        END IF;
+        IF matchpoint.total_copy_hold_ratio IS NULL THEN
+            matchpoint.total_copy_hold_ratio := cur_matchpoint.total_copy_hold_ratio;
+        END IF;
+        IF matchpoint.available_copy_hold_ratio IS NULL THEN
+            matchpoint.available_copy_hold_ratio := cur_matchpoint.available_copy_hold_ratio;
+        END IF;
+        IF matchpoint.renewals IS NULL THEN
+            matchpoint.renewals := cur_matchpoint.renewals;
+        END IF;
+        IF matchpoint.grace_period IS NULL THEN
+            matchpoint.grace_period := cur_matchpoint.grace_period;
+        END IF;
+    END LOOP;
+
+    -- Check required fields
+    IF matchpoint.circulate             IS NOT NULL AND
+       matchpoint.duration_rule         IS NOT NULL AND
+       matchpoint.recurring_fine_rule   IS NOT NULL AND
+       matchpoint.max_fine_rule         IS NOT NULL THEN
+        -- All there? We have a completed match.
+        result.success := true;
+    END IF;
+
+    -- Include the assembled matchpoint, even if it isn't complete
+    result.matchpoint := matchpoint;
+
+    -- Include (for debugging) the full list of matching rows
+    result.buildrows := row_list;
+
+    -- Hand the result back to caller
+    RETURN result;
+END;
+$func$ LANGUAGE plpgsql;
+
+
+
+
+SELECT evergreen.upgrade_deps_block_check('0721', :eg_version);
+
+UPDATE config.standing_penalty 
+    SET block_list = REPLACE(block_list, 'HOLD', 'HOLD|CAPTURE') 
+    WHERE   
+        -- STAFF_ penalties have names that match their block list
+        name NOT LIKE 'STAFF_%' 
+        -- belt & suspenders, also good for testing
+        AND block_list NOT LIKE '%CAPTURE%'; 
+
+ -- CIRC|FULFILL is now the same as CIRC previously was by itself
+UPDATE config.standing_penalty 
+    SET block_list = REPLACE(block_list, 'CIRC', 'CIRC|FULFILL') 
+    WHERE   
+        -- STAFF_ penalties have names that match their block list
+        name NOT LIKE 'STAFF_%' 
+        -- belt & suspenders, also good for testing
+        AND block_list NOT LIKE '%FULFILL%'; 
+
+
+-- apply the HOLD vs CAPTURE block logic
+CREATE OR REPLACE FUNCTION action.hold_request_permit_test( pickup_ou INT, request_ou INT, match_item BIGINT, match_user INT, match_requestor INT, retargetting BOOL ) RETURNS SETOF action.matrix_test_result AS $func$
+DECLARE
+    matchpoint_id        INT;
+    user_object        actor.usr%ROWTYPE;
+    age_protect_object    config.rule_age_hold_protect%ROWTYPE;
+    standing_penalty    config.standing_penalty%ROWTYPE;
+    transit_range_ou_type    actor.org_unit_type%ROWTYPE;
+    transit_source        actor.org_unit%ROWTYPE;
+    item_object        asset.copy%ROWTYPE;
+    item_cn_object     asset.call_number%ROWTYPE;
+    item_status_object  config.copy_status%ROWTYPE;
+    item_location_object    asset.copy_location%ROWTYPE;
+    ou_skip              actor.org_unit_setting%ROWTYPE;
+    result            action.matrix_test_result;
+    hold_test        config.hold_matrix_matchpoint%ROWTYPE;
+    use_active_date   TEXT;
+    age_protect_date  TIMESTAMP WITH TIME ZONE;
+    hold_count        INT;
+    hold_transit_prox    INT;
+    frozen_hold_count    INT;
+    context_org_list    INT[];
+    done            BOOL := FALSE;
+    hold_penalty TEXT;
+BEGIN
+    SELECT INTO user_object * FROM actor.usr WHERE id = match_user;
+    SELECT INTO context_org_list ARRAY_ACCUM(id) FROM actor.org_unit_full_path( pickup_ou );
+
+    result.success := TRUE;
+
+    -- The HOLD penalty block only applies to new holds.
+    -- The CAPTURE penalty block applies to existing holds.
+    hold_penalty := 'HOLD';
+    IF retargetting THEN
+        hold_penalty := 'CAPTURE';
+    END IF;
+
+    -- Fail if we couldn't find a user
+    IF user_object.id IS NULL THEN
+        result.fail_part := 'no_user';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+        RETURN;
+    END IF;
+
+    SELECT INTO item_object * FROM asset.copy WHERE id = match_item;
+
+    -- Fail if we couldn't find a copy
+    IF item_object.id IS NULL THEN
+        result.fail_part := 'no_item';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+        RETURN;
+    END IF;
+
+    SELECT INTO matchpoint_id action.find_hold_matrix_matchpoint(pickup_ou, request_ou, match_item, match_user, match_requestor);
+    result.matchpoint := matchpoint_id;
+
+    SELECT INTO ou_skip * FROM actor.org_unit_setting WHERE name = 'circ.holds.target_skip_me' AND org_unit = item_object.circ_lib;
+
+    -- Fail if the circ_lib for the item has circ.holds.target_skip_me set to true
+    IF ou_skip.id IS NOT NULL AND ou_skip.value = 'true' THEN
+        result.fail_part := 'circ.holds.target_skip_me';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+        RETURN;
+    END IF;
+
+    -- Fail if user is barred
+    IF user_object.barred IS TRUE THEN
+        result.fail_part := 'actor.usr.barred';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+        RETURN;
+    END IF;
+
+    SELECT INTO item_cn_object * FROM asset.call_number WHERE id = item_object.call_number;
+    SELECT INTO item_status_object * FROM config.copy_status WHERE id = item_object.status;
+    SELECT INTO item_location_object * FROM asset.copy_location WHERE id = item_object.location;
+
+    -- Fail if we couldn't find any matchpoint (requires a default)
+    IF matchpoint_id IS NULL THEN
+        result.fail_part := 'no_matchpoint';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+        RETURN;
+    END IF;
+
+    SELECT INTO hold_test * FROM config.hold_matrix_matchpoint WHERE id = matchpoint_id;
+
+    IF hold_test.holdable IS FALSE THEN
+        result.fail_part := 'config.hold_matrix_test.holdable';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+    END IF;
+
+    IF item_object.holdable IS FALSE THEN
+        result.fail_part := 'item.holdable';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+    END IF;
+
+    IF item_status_object.holdable IS FALSE THEN
+        result.fail_part := 'status.holdable';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+    END IF;
+
+    IF item_location_object.holdable IS FALSE THEN
+        result.fail_part := 'location.holdable';
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+    END IF;
+
+    IF hold_test.transit_range IS NOT NULL THEN
+        SELECT INTO transit_range_ou_type * FROM actor.org_unit_type WHERE id = hold_test.transit_range;
+        IF hold_test.distance_is_from_owner THEN
+            SELECT INTO transit_source ou.* FROM actor.org_unit ou JOIN asset.call_number cn ON (cn.owning_lib = ou.id) WHERE cn.id = item_object.call_number;
+        ELSE
+            SELECT INTO transit_source * FROM actor.org_unit WHERE id = item_object.circ_lib;
+        END IF;
+
+        PERFORM * FROM actor.org_unit_descendants( transit_source.id, transit_range_ou_type.depth ) WHERE id = pickup_ou;
+
+        IF NOT FOUND THEN
+            result.fail_part := 'transit_range';
+            result.success := FALSE;
+            done := TRUE;
+            RETURN NEXT result;
+        END IF;
+    END IF;
+    FOR standing_penalty IN
+        SELECT  DISTINCT csp.*
+          FROM  actor.usr_standing_penalty usp
+                JOIN config.standing_penalty csp ON (csp.id = usp.standing_penalty)
+          WHERE usr = match_user
+                AND usp.org_unit IN ( SELECT * FROM unnest(context_org_list) )
+                AND (usp.stop_date IS NULL or usp.stop_date > NOW())
+                AND csp.block_list LIKE '%' || hold_penalty || '%' LOOP
+
+        result.fail_part := standing_penalty.name;
+        result.success := FALSE;
+        done := TRUE;
+        RETURN NEXT result;
+    END LOOP;
+
+    IF hold_test.stop_blocked_user IS TRUE THEN
+        FOR standing_penalty IN
+            SELECT  DISTINCT csp.*
+              FROM  actor.usr_standing_penalty usp
+                    JOIN config.standing_penalty csp ON (csp.id = usp.standing_penalty)
+              WHERE usr = match_user
+                    AND usp.org_unit IN ( SELECT * FROM unnest(context_org_list) )
+                    AND (usp.stop_date IS NULL or usp.stop_date > NOW())
+                    AND csp.block_list LIKE '%CIRC%' LOOP
+    
+            result.fail_part := standing_penalty.name;
+            result.success := FALSE;
+            done := TRUE;
+            RETURN NEXT result;
+        END LOOP;
+    END IF;
+
+    IF hold_test.max_holds IS NOT NULL AND NOT retargetting THEN
+        SELECT    INTO hold_count COUNT(*)
+          FROM    action.hold_request
+          WHERE    usr = match_user
+            AND fulfillment_time IS NULL
+            AND cancel_time IS NULL
+            AND CASE WHEN hold_test.include_frozen_holds THEN TRUE ELSE frozen IS FALSE END;
+
+        IF hold_count >= hold_test.max_holds THEN
+            result.fail_part := 'config.hold_matrix_test.max_holds';
+            result.success := FALSE;
+            done := TRUE;
+            RETURN NEXT result;
+        END IF;
+    END IF;
+
+    IF item_object.age_protect IS NOT NULL THEN
+        SELECT INTO age_protect_object * FROM config.rule_age_hold_protect WHERE id = item_object.age_protect;
+        IF hold_test.distance_is_from_owner THEN
+            SELECT INTO use_active_date value FROM actor.org_unit_ancestor_setting('circ.holds.age_protect.active_date', item_cn_object.owning_lib);
+        ELSE
+            SELECT INTO use_active_date value FROM actor.org_unit_ancestor_setting('circ.holds.age_protect.active_date', item_object.circ_lib);
+        END IF;
+        IF use_active_date = 'true' THEN
+            age_protect_date := COALESCE(item_object.active_date, NOW());
+        ELSE
+            age_protect_date := item_object.create_date;
+        END IF;
+        IF age_protect_date + age_protect_object.age > NOW() THEN
+            IF hold_test.distance_is_from_owner THEN
+                SELECT INTO item_cn_object * FROM asset.call_number WHERE id = item_object.call_number;
+                SELECT INTO hold_transit_prox prox FROM actor.org_unit_proximity WHERE from_org = item_cn_object.owning_lib AND to_org = pickup_ou;
+            ELSE
+                SELECT INTO hold_transit_prox prox FROM actor.org_unit_proximity WHERE from_org = item_object.circ_lib AND to_org = pickup_ou;
+            END IF;
+
+            IF hold_transit_prox > age_protect_object.prox THEN
+                result.fail_part := 'config.rule_age_hold_protect.prox';
+                result.success := FALSE;
+                done := TRUE;
+                RETURN NEXT result;
+            END IF;
+        END IF;
+    END IF;
+
+    IF NOT done THEN
+        RETURN NEXT result;
+    END IF;
+
+    RETURN;
+END;
+$func$ LANGUAGE plpgsql;
+
+
+-- Evergreen DB patch 0727.function.xml_pretty_print.sql
+--
+-- A simple pretty printer for XML.
+-- Particularly useful for debugging the biblio.record_entry.marc field.
+--
+
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('0727', :eg_version);
+
+CREATE OR REPLACE FUNCTION evergreen.xml_pretty_print(input XML) 
+    RETURNS XML
+    LANGUAGE SQL AS
+$func$
+SELECT xslt_process($1::text,
+$$<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+    version="1.0">
+   <xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>
+   <xsl:strip-space elements="*"/>
+   <xsl:template match="@*|node()">
+     <xsl:copy>
+       <xsl:apply-templates select="@*|node()"/>
+     </xsl:copy>
+   </xsl:template>
+ </xsl:stylesheet>
+$$::text)::XML
+$func$;
+
+COMMENT ON FUNCTION evergreen.xml_pretty_print(input XML) IS
+'Simple pretty printer for XML, as written by Andrew Dunstan at http://goo.gl/zBHIk';
+
+
+SELECT evergreen.upgrade_deps_block_check('0728', :eg_version);
+
+INSERT INTO actor.search_filter_group (owner, code, label) 
+    VALUES (1, 'kpac_main', 'Kid''s OPAC Search Filter');
+
+INSERT INTO actor.search_query (label, query_text) 
+    VALUES ('Children''s Materials', 'audience(a,b,c)');
+INSERT INTO actor.search_query (label, query_text) 
+    VALUES ('Young Adult Materials', 'audience(j,d)');
+INSERT INTO actor.search_query (label, query_text) 
+    VALUES ('General/Adult Materials',  'audience(e,f,g, )');
+
+INSERT INTO actor.search_filter_group_entry (grp, query, pos)
+    VALUES (
+        (SELECT id FROM actor.search_filter_group WHERE code = 'kpac_main'),
+        (SELECT id FROM actor.search_query WHERE label = 'Children''s Materials'),
+        0
+    );
+INSERT INTO actor.search_filter_group_entry (grp, query, pos) 
+    VALUES (
+        (SELECT id FROM actor.search_filter_group WHERE code = 'kpac_main'),
+        (SELECT id FROM actor.search_query WHERE label = 'Young Adult Materials'),
+        1
+    );
+INSERT INTO actor.search_filter_group_entry (grp, query, pos) 
+    VALUES (
+        (SELECT id FROM actor.search_filter_group WHERE code = 'kpac_main'),
+        (SELECT id FROM actor.search_query WHERE label = 'General/Adult Materials'),
+        2
+    );
+
+
+-- Evergreen DB patch 0729.vr_format_value_maps.sql
+--
+
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('0729', :eg_version);
+
+CREATE OR REPLACE FUNCTION config.update_coded_value_map(in_ctype TEXT, in_code TEXT, in_value TEXT, in_description TEXT DEFAULT NULL, in_opac_visible BOOL DEFAULT NULL, in_search_label TEXT DEFAULT NULL, in_is_simple BOOL DEFAULT NULL, add_only BOOL DEFAULT FALSE) RETURNS VOID AS $f$
+DECLARE
+    current_row config.coded_value_map%ROWTYPE;
+BEGIN
+    -- Look for a current value
+    SELECT INTO current_row * FROM config.coded_value_map WHERE ctype = in_ctype AND code = in_code;
+    -- If we have one..
+    IF FOUND AND NOT add_only THEN
+        -- Update anything we were handed
+        current_row.value := COALESCE(current_row.value, in_value);
+        current_row.description := COALESCE(current_row.description, in_description);
+        current_row.opac_visible := COALESCE(current_row.opac_visible, in_opac_visible);
+        current_row.search_label := COALESCE(current_row.search_label, in_search_label);
+        current_row.is_simple := COALESCE(current_row.is_simple, in_is_simple);
+        UPDATE config.coded_value_map
+            SET
+                value = current_row.value,
+                description = current_row.description,
+                opac_visible = current_row.opac_visible,
+                search_label = current_row.search_label,
+                is_simple = current_row.is_simple
+            WHERE id = current_row.id;
+    ELSE
+        INSERT INTO config.coded_value_map(ctype, code, value, description, opac_visible, search_label, is_simple) VALUES
+            (in_ctype, in_code, in_value, in_description, COALESCE(in_opac_visible, TRUE), in_search_label, COALESCE(in_is_simple, FALSE));
+    END IF;
+END;
+$f$ LANGUAGE PLPGSQL;
+
+SELECT config.update_coded_value_map('vr_format', 'a', 'Beta', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'b', 'VHS', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'c', 'U-matic', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'd', 'EIAJ', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'e', 'Type C', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'f', 'Quadruplex', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'g', 'Laserdisc', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'h', 'CED videodisc', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'i', 'Betacam', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'j', 'Betacam SP', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'k', 'Super-VHS', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'm', 'M-II', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'o', 'D-2', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'p', '8 mm.', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'q', 'Hi-8 mm.', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 's', 'Blu-ray disc', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'u', 'Unknown', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'v', 'DVD', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', 'z', 'Other', add_only := TRUE);
+SELECT config.update_coded_value_map('vr_format', ' ', 'Unspecified', add_only := TRUE);
+
+
+
+SELECT evergreen.upgrade_deps_block_check('0730', :eg_version);
+
+DROP FUNCTION acq.propagate_funds_by_org_tree (INT, INT, INT);
+DROP FUNCTION acq.propagate_funds_by_org_unit (INT, INT, INT);
+
+CREATE OR REPLACE FUNCTION acq.propagate_funds_by_org_tree(
+       old_year INTEGER,
+       user_id INTEGER,
+       org_unit_id INTEGER,
+    include_desc BOOL DEFAULT TRUE
+) RETURNS VOID AS $$
+DECLARE
+--
+new_id      INT;
+old_fund    RECORD;
+org_found   BOOLEAN;
+--
+BEGIN
+       --
+       -- Sanity checks
+       --
+       IF old_year IS NULL THEN
+               RAISE EXCEPTION 'Input year argument is NULL';
+       ELSIF old_year NOT BETWEEN 2008 and 2200 THEN
+               RAISE EXCEPTION 'Input year is out of range';
+       END IF;
+       --
+       IF user_id IS NULL THEN
+               RAISE EXCEPTION 'Input user id argument is NULL';
+       END IF;
+       --
+       IF org_unit_id IS NULL THEN
+               RAISE EXCEPTION 'Org unit id argument is NULL';
+       ELSE
+               SELECT TRUE INTO org_found
+               FROM actor.org_unit
+               WHERE id = org_unit_id;
+               --
+               IF org_found IS NULL THEN
+                       RAISE EXCEPTION 'Org unit id is invalid';
+               END IF;
+       END IF;
+       --
+       -- Loop over the applicable funds
+       --
+       FOR old_fund in SELECT * FROM acq.fund
+       WHERE
+               year = old_year
+               AND propagate
+               AND ( ( include_desc AND org IN ( SELECT id FROM actor.org_unit_descendants( org_unit_id ) ) )
+                OR (NOT include_desc AND org = org_unit_id ) )
+    
+       LOOP
+               BEGIN
+                       INSERT INTO acq.fund (
+                               org,
+                               name,
+                               year,
+                               currency_type,
+                               code,
+                               rollover,
+                               propagate,
+                               balance_warning_percent,
+                               balance_stop_percent
+                       ) VALUES (
+                               old_fund.org,
+                               old_fund.name,
+                               old_year + 1,
+                               old_fund.currency_type,
+                               old_fund.code,
+                               old_fund.rollover,
+                               true,
+                               old_fund.balance_warning_percent,
+                               old_fund.balance_stop_percent
+                       )
+                       RETURNING id INTO new_id;
+               EXCEPTION
+                       WHEN unique_violation THEN
+                               --RAISE NOTICE 'Fund % already propagated', old_fund.id;
+                               CONTINUE;
+               END;
+               --RAISE NOTICE 'Propagating fund % to fund %',
+               --      old_fund.code, new_id;
+       END LOOP;
+END;
+$$ LANGUAGE plpgsql;
+
+CREATE OR REPLACE FUNCTION acq.propagate_funds_by_org_unit( old_year INTEGER, user_id INTEGER, org_unit_id INTEGER ) RETURNS VOID AS $$
+    SELECT acq.propagate_funds_by_org_tree( $1, $2, $3, FALSE );
+$$ LANGUAGE SQL;
+
+
+DROP FUNCTION acq.rollover_funds_by_org_tree (INT, INT, INT);
+DROP FUNCTION acq.rollover_funds_by_org_unit (INT, INT, INT);
+
+
+CREATE OR REPLACE FUNCTION acq.rollover_funds_by_org_tree(
+       old_year INTEGER,
+       user_id INTEGER,
+       org_unit_id INTEGER,
+    encumb_only BOOL DEFAULT FALSE,
+    include_desc BOOL DEFAULT TRUE
+) RETURNS VOID AS $$
+DECLARE
+--
+new_fund    INT;
+new_year    INT := old_year + 1;
+org_found   BOOL;
+perm_ous    BOOL;
+xfer_amount NUMERIC := 0;
+roll_fund   RECORD;
+deb         RECORD;
+detail      RECORD;
+--
+BEGIN
+       --
+       -- Sanity checks
+       --
+       IF old_year IS NULL THEN
+               RAISE EXCEPTION 'Input year argument is NULL';
+    ELSIF old_year NOT BETWEEN 2008 and 2200 THEN
+        RAISE EXCEPTION 'Input year is out of range';
+       END IF;
+       --
+       IF user_id IS NULL THEN
+               RAISE EXCEPTION 'Input user id argument is NULL';
+       END IF;
+       --
+       IF org_unit_id IS NULL THEN
+               RAISE EXCEPTION 'Org unit id argument is NULL';
+       ELSE
+               --
+               -- Validate the org unit
+               --
+               SELECT TRUE
+               INTO org_found
+               FROM actor.org_unit
+               WHERE id = org_unit_id;
+               --
+               IF org_found IS NULL THEN
+                       RAISE EXCEPTION 'Org unit id % is invalid', org_unit_id;
+               ELSIF encumb_only THEN
+                       SELECT INTO perm_ous value::BOOL FROM
+                       actor.org_unit_ancestor_setting(
+                               'acq.fund.allow_rollover_without_money', org_unit_id
+                       );
+                       IF NOT FOUND OR NOT perm_ous THEN
+                               RAISE EXCEPTION 'Encumbrance-only rollover not permitted at org %', org_unit_id;
+                       END IF;
+               END IF;
+       END IF;
+       --
+       -- Loop over the propagable funds to identify the details
+       -- from the old fund plus the id of the new one, if it exists.
+       --
+       FOR roll_fund in
+       SELECT
+           oldf.id AS old_fund,
+           oldf.org,
+           oldf.name,
+           oldf.currency_type,
+           oldf.code,
+               oldf.rollover,
+           newf.id AS new_fund_id
+       FROM
+       acq.fund AS oldf
+       LEFT JOIN acq.fund AS newf
+               ON ( oldf.code = newf.code )
+       WHERE
+                   oldf.year = old_year
+               AND oldf.propagate
+        AND newf.year = new_year
+               AND ( ( include_desc AND oldf.org IN ( SELECT id FROM actor.org_unit_descendants( org_unit_id ) ) )
+                OR (NOT include_desc AND oldf.org = org_unit_id ) )
+       LOOP
+               --RAISE NOTICE 'Processing fund %', roll_fund.old_fund;
+               --
+               IF roll_fund.new_fund_id IS NULL THEN
+                       --
+                       -- The old fund hasn't been propagated yet.  Propagate it now.
+                       --
+                       INSERT INTO acq.fund (
+                               org,
+                               name,
+                               year,
+                               currency_type,
+                               code,
+                               rollover,
+                               propagate,
+                               balance_warning_percent,
+                               balance_stop_percent
+                       ) VALUES (
+                               roll_fund.org,
+                               roll_fund.name,
+                               new_year,
+                               roll_fund.currency_type,
+                               roll_fund.code,
+                               true,
+                               true,
+                               roll_fund.balance_warning_percent,
+                               roll_fund.balance_stop_percent
+                       )
+                       RETURNING id INTO new_fund;
+               ELSE
+                       new_fund = roll_fund.new_fund_id;
+               END IF;
+               --
+               -- Determine the amount to transfer
+               --
+               SELECT amount
+               INTO xfer_amount
+               FROM acq.fund_spent_balance
+               WHERE fund = roll_fund.old_fund;
+               --
+               IF xfer_amount <> 0 THEN
+                       IF NOT encumb_only AND roll_fund.rollover THEN
+                               --
+                               -- Transfer balance from old fund to new
+                               --
+                               --RAISE NOTICE 'Transferring % from fund % to %', xfer_amount, roll_fund.old_fund, new_fund;
+                               --
+                               PERFORM acq.transfer_fund(
+                                       roll_fund.old_fund,
+                                       xfer_amount,
+                                       new_fund,
+                                       xfer_amount,
+                                       user_id,
+                                       'Rollover'
+                               );
+                       ELSE
+                               --
+                               -- Transfer balance from old fund to the void
+                               --
+                               -- RAISE NOTICE 'Transferring % from fund % to the void', xfer_amount, roll_fund.old_fund;
+                               --
+                               PERFORM acq.transfer_fund(
+                                       roll_fund.old_fund,
+                                       xfer_amount,
+                                       NULL,
+                                       NULL,
+                                       user_id,
+                                       'Rollover into the void'
+                               );
+                       END IF;
+               END IF;
+               --
+               IF roll_fund.rollover THEN
+                       --
+                       -- Move any lineitems from the old fund to the new one
+                       -- where the associated debit is an encumbrance.
+                       --
+                       -- Any other tables tying expenditure details to funds should
+                       -- receive similar treatment.  At this writing there are none.
+                       --
+                       UPDATE acq.lineitem_detail
+                       SET fund = new_fund
+                       WHERE
+                       fund = roll_fund.old_fund -- this condition may be redundant
+                       AND fund_debit in
+                       (
+                               SELECT id
+                               FROM acq.fund_debit
+                               WHERE
+                               fund = roll_fund.old_fund
+                               AND encumbrance
+                       );
+                       --
+                       -- Move encumbrance debits from the old fund to the new fund
+                       --
+                       UPDATE acq.fund_debit
+                       SET fund = new_fund
+                       wHERE
+                               fund = roll_fund.old_fund
+                               AND encumbrance;
+               END IF;
+               --
+               -- Mark old fund as inactive, now that we've closed it
+               --
+               UPDATE acq.fund
+               SET active = FALSE
+               WHERE id = roll_fund.old_fund;
+       END LOOP;
+END;
+$$ LANGUAGE plpgsql;
+
+CREATE OR REPLACE FUNCTION acq.rollover_funds_by_org_unit( old_year INTEGER, user_id INTEGER, org_unit_id INTEGER, encumb_only BOOL DEFAULT FALSE ) RETURNS VOID AS $$
+    SELECT acq.rollover_funds_by_org_tree( $1, $2, $3, $4, FALSE );
+$$ LANGUAGE SQL;
+
+INSERT into config.org_unit_setting_type
+    (name, grp, label, description, datatype)
+    VALUES (
+        'acq.fund.allow_rollover_without_money',
+        'acq',
+        oils_i18n_gettext(
+            'acq.fund.allow_rollover_without_money',
+            'Allow funds to be rolled over without bringing the money along',
+            'coust',
+            'label'
+        ),
+        oils_i18n_gettext(
+            'acq.fund.allow_rollover_without_money',
+            'Allow funds to be rolled over without bringing the money along.  This makes money left in the old fund disappear, modeling its return to some outside entity.',
+            'coust',
+            'description'
+        ),
+        'bool'
+    );
+
+-- 0731.schema.vandelay_item_overlay.sql
+
+SELECT evergreen.upgrade_deps_block_check('0731', :eg_version);
+
+ALTER TABLE vandelay.import_item_attr_definition 
+    ADD COLUMN internal_id TEXT; 
+
+ALTER TABLE vandelay.import_item 
+    ADD COLUMN internal_id BIGINT;
+
+INSERT INTO permission.perm_list ( id, code, description ) VALUES
+( 536, 'IMPORT_OVERLAY_COPY', oils_i18n_gettext( 536,
+    'Allows a user to overlay copy data in MARC import', 'ppl', 'description'));
+
+CREATE OR REPLACE FUNCTION vandelay.ingest_bib_items ( ) RETURNS TRIGGER AS $func$
+DECLARE
+    attr_def    BIGINT;
+    item_data   vandelay.import_item%ROWTYPE;
+BEGIN
+
+    IF TG_OP IN ('INSERT','UPDATE') AND NEW.imported_as IS NOT NULL THEN
+        RETURN NEW;
+    END IF;
+
+    SELECT item_attr_def INTO attr_def FROM vandelay.bib_queue WHERE id = NEW.queue;
+
+    FOR item_data IN SELECT * FROM vandelay.ingest_items( NEW.id::BIGINT, attr_def ) LOOP
+        INSERT INTO vandelay.import_item (
+            record,
+            definition,
+            owning_lib,
+            circ_lib,
+            call_number,
+            copy_number,
+            status,
+            location,
+            circulate,
+            deposit,
+            deposit_amount,
+            ref,
+            holdable,
+            price,
+            barcode,
+            circ_modifier,
+            circ_as_type,
+            alert_message,
+            pub_note,
+            priv_note,
+            internal_id,
+            opac_visible,
+            import_error,
+            error_detail
+        ) VALUES (
+            NEW.id,
+            item_data.definition,
+            item_data.owning_lib,
+            item_data.circ_lib,
+            item_data.call_number,
+            item_data.copy_number,
+            item_data.status,
+            item_data.location,
+            item_data.circulate,
+            item_data.deposit,
+            item_data.deposit_amount,
+            item_data.ref,
+            item_data.holdable,
+            item_data.price,
+            item_data.barcode,
+            item_data.circ_modifier,
+            item_data.circ_as_type,
+            item_data.alert_message,
+            item_data.pub_note,
+            item_data.priv_note,
+            item_data.internal_id,
+            item_data.opac_visible,
+            item_data.import_error,
+            item_data.error_detail
+        );
+    END LOOP;
+
+    RETURN NULL;
+END;
+$func$ LANGUAGE PLPGSQL;
+
+
+CREATE OR REPLACE FUNCTION vandelay.ingest_items ( import_id BIGINT, attr_def_id BIGINT ) RETURNS SETOF vandelay.import_item AS $$
+DECLARE
+
+    owning_lib      TEXT;
+    circ_lib        TEXT;
+    call_number     TEXT;
+    copy_number     TEXT;
+    status          TEXT;
+    location        TEXT;
+    circulate       TEXT;
+    deposit         TEXT;
+    deposit_amount  TEXT;
+    ref             TEXT;
+    holdable        TEXT;
+    price           TEXT;
+    barcode         TEXT;
+    circ_modifier   TEXT;
+    circ_as_type    TEXT;
+    alert_message   TEXT;
+    opac_visible    TEXT;
+    pub_note        TEXT;
+    priv_note       TEXT;
+    internal_id     TEXT;
+
+    attr_def        RECORD;
+    tmp_attr_set    RECORD;
+    attr_set        vandelay.import_item%ROWTYPE;
+
+    xpath           TEXT;
+    tmp_str         TEXT;
+
+BEGIN
+
+    SELECT * INTO attr_def FROM vandelay.import_item_attr_definition WHERE id = attr_def_id;
+
+    IF FOUND THEN
+
+        attr_set.definition := attr_def.id;
+
+        -- Build the combined XPath
+
+        owning_lib :=
+            CASE
+                WHEN attr_def.owning_lib IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.owning_lib ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.owning_lib || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.owning_lib
+            END;
+
+        circ_lib :=
+            CASE
+                WHEN attr_def.circ_lib IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.circ_lib ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.circ_lib || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.circ_lib
+            END;
+
+        call_number :=
+            CASE
+                WHEN attr_def.call_number IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.call_number ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.call_number || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.call_number
+            END;
+
+        copy_number :=
+            CASE
+                WHEN attr_def.copy_number IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.copy_number ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.copy_number || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.copy_number
+            END;
+
+        status :=
+            CASE
+                WHEN attr_def.status IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.status ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.status || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.status
+            END;
+
+        location :=
+            CASE
+                WHEN attr_def.location IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.location ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.location || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.location
+            END;
+
+        circulate :=
+            CASE
+                WHEN attr_def.circulate IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.circulate ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.circulate || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.circulate
+            END;
+
+        deposit :=
+            CASE
+                WHEN attr_def.deposit IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.deposit ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.deposit || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.deposit
+            END;
+
+        deposit_amount :=
+            CASE
+                WHEN attr_def.deposit_amount IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.deposit_amount ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.deposit_amount || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.deposit_amount
+            END;
+
+        ref :=
+            CASE
+                WHEN attr_def.ref IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.ref ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.ref || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.ref
+            END;
+
+        holdable :=
+            CASE
+                WHEN attr_def.holdable IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.holdable ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.holdable || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.holdable
+            END;
+
+        price :=
+            CASE
+                WHEN attr_def.price IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.price ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.price || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.price
+            END;
+
+        barcode :=
+            CASE
+                WHEN attr_def.barcode IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.barcode ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.barcode || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.barcode
+            END;
+
+        circ_modifier :=
+            CASE
+                WHEN attr_def.circ_modifier IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.circ_modifier ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.circ_modifier || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.circ_modifier
+            END;
+
+        circ_as_type :=
+            CASE
+                WHEN attr_def.circ_as_type IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.circ_as_type ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.circ_as_type || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.circ_as_type
+            END;
+
+        alert_message :=
+            CASE
+                WHEN attr_def.alert_message IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.alert_message ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.alert_message || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.alert_message
+            END;
+
+        opac_visible :=
+            CASE
+                WHEN attr_def.opac_visible IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.opac_visible ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.opac_visible || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.opac_visible
+            END;
+
+        pub_note :=
+            CASE
+                WHEN attr_def.pub_note IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.pub_note ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.pub_note || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.pub_note
+            END;
+        priv_note :=
+            CASE
+                WHEN attr_def.priv_note IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.priv_note ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.priv_note || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.priv_note
+            END;
+
+        internal_id :=
+            CASE
+                WHEN attr_def.internal_id IS NULL THEN 'null()'
+                WHEN LENGTH( attr_def.internal_id ) = 1 THEN '//*[@tag="' || attr_def.tag || '"]/*[@code="' || attr_def.internal_id || '"]'
+                ELSE '//*[@tag="' || attr_def.tag || '"]/*' || attr_def.internal_id
+            END;
+
+
+
+        xpath :=
+            owning_lib      || '|' ||
+            circ_lib        || '|' ||
+            call_number     || '|' ||
+            copy_number     || '|' ||
+            status          || '|' ||
+            location        || '|' ||
+            circulate       || '|' ||
+            deposit         || '|' ||
+            deposit_amount  || '|' ||
+            ref             || '|' ||
+            holdable        || '|' ||
+            price           || '|' ||
+            barcode         || '|' ||
+            circ_modifier   || '|' ||
+            circ_as_type    || '|' ||
+            alert_message   || '|' ||
+            pub_note        || '|' ||
+            priv_note       || '|' ||
+            internal_id     || '|' ||
+            opac_visible;
+
+        FOR tmp_attr_set IN
+                SELECT  *
+                  FROM  oils_xpath_table( 'id', 'marc', 'vandelay.queued_bib_record', xpath, 'id = ' || import_id )
+                            AS t( id INT, ol TEXT, clib TEXT, cn TEXT, cnum TEXT, cs TEXT, cl TEXT, circ TEXT,
+                                  dep TEXT, dep_amount TEXT, r TEXT, hold TEXT, pr TEXT, bc TEXT, circ_mod TEXT,
+                                  circ_as TEXT, amessage TEXT, note TEXT, pnote TEXT, internal_id TEXT, opac_vis TEXT )
+        LOOP
+
+            attr_set.import_error := NULL;
+            attr_set.error_detail := NULL;
+            attr_set.deposit_amount := NULL;
+            attr_set.copy_number := NULL;
+            attr_set.price := NULL;
+
+            IF tmp_attr_set.pr != '' THEN
+                tmp_str = REGEXP_REPLACE(tmp_attr_set.pr, E'[^0-9\\.]', '', 'g');
+                IF tmp_str = '' THEN 
+                    attr_set.import_error := 'import.item.invalid.price';
+                    attr_set.error_detail := tmp_attr_set.pr; -- original value
+                    RETURN NEXT attr_set; CONTINUE; 
+                END IF;
+                attr_set.price := tmp_str::NUMERIC(8,2); 
+            END IF;
+
+            IF tmp_attr_set.dep_amount != '' THEN
+                tmp_str = REGEXP_REPLACE(tmp_attr_set.dep_amount, E'[^0-9\\.]', '', 'g');
+                IF tmp_str = '' THEN 
+                    attr_set.import_error := 'import.item.invalid.deposit_amount';
+                    attr_set.error_detail := tmp_attr_set.dep_amount; 
+                    RETURN NEXT attr_set; CONTINUE; 
+                END IF;
+                attr_set.deposit_amount := tmp_str::NUMERIC(8,2); 
+            END IF;
+
+            IF tmp_attr_set.cnum != '' THEN
+                tmp_str = REGEXP_REPLACE(tmp_attr_set.cnum, E'[^0-9]', '', 'g');
+                IF tmp_str = '' THEN 
+                    attr_set.import_error := 'import.item.invalid.copy_number';
+                    attr_set.error_detail := tmp_attr_set.cnum; 
+                    RETURN NEXT attr_set; CONTINUE; 
+                END IF;
+                attr_set.copy_number := tmp_str::INT; 
+            END IF;
+
+            IF tmp_attr_set.ol != '' THEN
+                SELECT id INTO attr_set.owning_lib FROM actor.org_unit WHERE shortname = UPPER(tmp_attr_set.ol); -- INT
+                IF NOT FOUND THEN
+                    attr_set.import_error := 'import.item.invalid.owning_lib';
+                    attr_set.error_detail := tmp_attr_set.ol;
+                    RETURN NEXT attr_set; CONTINUE; 
+                END IF;
+            END IF;
+
+            IF tmp_attr_set.clib != '' THEN
+                SELECT id INTO attr_set.circ_lib FROM actor.org_unit WHERE shortname = UPPER(tmp_attr_set.clib); -- INT
+                IF NOT FOUND THEN
+                    attr_set.import_error := 'import.item.invalid.circ_lib';
+                    attr_set.error_detail := tmp_attr_set.clib;
+                    RETURN NEXT attr_set; CONTINUE; 
+                END IF;
+            END IF;
+
+            IF tmp_attr_set.cs != '' THEN
+                SELECT id INTO attr_set.status FROM config.copy_status WHERE LOWER(name) = LOWER(tmp_attr_set.cs); -- INT
+                IF NOT FOUND THEN
+                    attr_set.import_error := 'import.item.invalid.status';
+                    attr_set.error_detail := tmp_attr_set.cs;
+                    RETURN NEXT attr_set; CONTINUE; 
+                END IF;
+            END IF;
+
+            IF tmp_attr_set.circ_mod != '' THEN
+                SELECT code INTO attr_set.circ_modifier FROM config.circ_modifier WHERE code = tmp_attr_set.circ_mod;
+                IF NOT FOUND THEN
+                    attr_set.import_error := 'import.item.invalid.circ_modifier';
+                    attr_set.error_detail := tmp_attr_set.circ_mod;
+                    RETURN NEXT attr_set; CONTINUE; 
+                END IF;
+            END IF;
+
+            IF tmp_attr_set.circ_as != '' THEN
+                SELECT code INTO attr_set.circ_as_type FROM config.coded_value_map WHERE ctype = 'item_type' AND code = tmp_attr_set.circ_as;
+                IF NOT FOUND THEN
+                    attr_set.import_error := 'import.item.invalid.circ_as_type';
+                    attr_set.error_detail := tmp_attr_set.circ_as;
+                    RETURN NEXT attr_set; CONTINUE; 
+                END IF;
+            END IF;
+
+            IF tmp_attr_set.cl != '' THEN
+
+                -- search up the org unit tree for a matching copy location
+                WITH RECURSIVE anscestor_depth AS (
+                    SELECT  ou.id,
+                        out.depth AS depth,
+                        ou.parent_ou
+                    FROM  actor.org_unit ou
+                        JOIN actor.org_unit_type out ON (out.id = ou.ou_type)
+                    WHERE ou.id = COALESCE(attr_set.owning_lib, attr_set.circ_lib)
+                        UNION ALL
+                    SELECT  ou.id,
+                        out.depth,
+                        ou.parent_ou
+                    FROM  actor.org_unit ou
+                        JOIN actor.org_unit_type out ON (out.id = ou.ou_type)
+                        JOIN anscestor_depth ot ON (ot.parent_ou = ou.id)
+                ) SELECT  cpl.id INTO attr_set.location
+                    FROM  anscestor_depth a
+                        JOIN asset.copy_location cpl ON (cpl.owning_lib = a.id)
+                    WHERE LOWER(cpl.name) = LOWER(tmp_attr_set.cl)
+                    ORDER BY a.depth DESC
+                    LIMIT 1; 
+
+                IF NOT FOUND THEN
+                    attr_set.import_error := 'import.item.invalid.location';
+                    attr_set.error_detail := tmp_attr_set.cs;
+                    RETURN NEXT attr_set; CONTINUE; 
+                END IF;
+            END IF;
+
+            attr_set.circulate      :=
+                LOWER( SUBSTRING( tmp_attr_set.circ, 1, 1)) IN ('t','y','1')
+                OR LOWER(tmp_attr_set.circ) = 'circulating'; -- BOOL
+
+            attr_set.deposit        :=
+                LOWER( SUBSTRING( tmp_attr_set.dep, 1, 1 ) ) IN ('t','y','1')
+                OR LOWER(tmp_attr_set.dep) = 'deposit'; -- BOOL
+
+            attr_set.holdable       :=
+                LOWER( SUBSTRING( tmp_attr_set.hold, 1, 1 ) ) IN ('t','y','1')
+                OR LOWER(tmp_attr_set.hold) = 'holdable'; -- BOOL
+
+            attr_set.opac_visible   :=
+                LOWER( SUBSTRING( tmp_attr_set.opac_vis, 1, 1 ) ) IN ('t','y','1')
+                OR LOWER(tmp_attr_set.opac_vis) = 'visible'; -- BOOL
+
+            attr_set.ref            :=
+                LOWER( SUBSTRING( tmp_attr_set.r, 1, 1 ) ) IN ('t','y','1')
+                OR LOWER(tmp_attr_set.r) = 'reference'; -- BOOL
+
+            attr_set.call_number    := tmp_attr_set.cn; -- TEXT
+            attr_set.barcode        := tmp_attr_set.bc; -- TEXT,
+            attr_set.alert_message  := tmp_attr_set.amessage; -- TEXT,
+            attr_set.pub_note       := tmp_attr_set.note; -- TEXT,
+            attr_set.priv_note      := tmp_attr_set.pnote; -- TEXT,
+            attr_set.alert_message  := tmp_attr_set.amessage; -- TEXT,
+            attr_set.internal_id    := tmp_attr_set.internal_id::BIGINT;
+
+            RETURN NEXT attr_set;
+
+        END LOOP;
+
+    END IF;
+
+    RETURN;
+
+END;
+$$ LANGUAGE PLPGSQL;
+
+
+
+-- 0732.schema.acq-lineitem-summary.sql
+
+SELECT evergreen.upgrade_deps_block_check('0732', :eg_version);
+
+CREATE OR REPLACE VIEW acq.lineitem_summary AS
+    SELECT 
+        li.id AS lineitem, 
+        (
+            SELECT COUNT(lid.id) 
+            FROM acq.lineitem_detail lid
+            WHERE lineitem = li.id
+        ) AS item_count,
+        (
+            SELECT COUNT(lid.id) 
+            FROM acq.lineitem_detail lid
+            WHERE recv_time IS NOT NULL AND lineitem = li.id
+        ) AS recv_count,
+        (
+            SELECT COUNT(lid.id) 
+            FROM acq.lineitem_detail lid
+            WHERE cancel_reason IS NOT NULL AND lineitem = li.id
+        ) AS cancel_count,
+        (
+            SELECT COUNT(lid.id) 
+            FROM acq.lineitem_detail lid
+                JOIN acq.fund_debit debit ON (lid.fund_debit = debit.id)
+            WHERE NOT debit.encumbrance AND lineitem = li.id
+        ) AS invoice_count,
+        (
+            SELECT COUNT(DISTINCT(lid.id)) 
+            FROM acq.lineitem_detail lid
+                JOIN acq.claim claim ON (claim.lineitem_detail = lid.id)
+            WHERE lineitem = li.id
+        ) AS claim_count,
+        (
+            SELECT (COUNT(lid.id) * li.estimated_unit_price)::NUMERIC(8,2)
+            FROM acq.lineitem_detail lid
+            WHERE lid.cancel_reason IS NULL AND lineitem = li.id
+        ) AS estimated_amount,
+        (
+            SELECT SUM(debit.amount)::NUMERIC(8,2)
+            FROM acq.lineitem_detail lid
+                JOIN acq.fund_debit debit ON (lid.fund_debit = debit.id)
+            WHERE debit.encumbrance AND lineitem = li.id
+        ) AS encumbrance_amount,
+        (
+            SELECT SUM(debit.amount)::NUMERIC(8,2)
+            FROM acq.lineitem_detail lid
+                JOIN acq.fund_debit debit ON (lid.fund_debit = debit.id)
+            WHERE NOT debit.encumbrance AND lineitem = li.id
+        ) AS paid_amount
+
+        FROM acq.lineitem AS li;
+
+
+
+-- XXX
+-- Template update included here for reference only.
+-- The stock JEDI template is not updated here (see WHERE clause)
+-- We do update the environment, though, for easier local template 
+-- updating.  No env fields are removed (that aren't otherwise replaced).
+--
+
+
+SELECT evergreen.upgrade_deps_block_check('0733', :eg_version);
+
+UPDATE action_trigger.event_definition SET template =
+$$[%- USE date -%]
+[%# start JEDI document 
+  # Vendor specific kludges:
+  # BT      - vendcode goes to NAD/BY *suffix*  w/ 91 qualifier
+  # INGRAM  - vendcode goes to NAD/BY *segment* w/ 91 qualifier (separately)
+  # BRODART - vendcode goes to FTX segment (lineitem level)
+-%]
+[%- 
+IF target.provider.edi_default.vendcode && target.provider.code == 'BRODART';
+    xtra_ftx = target.provider.edi_default.vendcode;
+END;
+-%]
+[%- BLOCK big_block -%]
+{
+   "recipient":"[% target.provider.san %]",
+   "sender":"[% target.ordering_agency.mailing_address.san %]",
+   "body": [{
+     "ORDERS":[ "order", {
+        "po_number":[% target.id %],
+        "date":"[% date.format(date.now, '%Y%m%d') %]",
+        "buyer":[
+            [%   IF   target.provider.edi_default.vendcode && (target.provider.code == 'BT' || target.provider.name.match('(?i)^BAKER & TAYLOR'))  -%]
+                {"id-qualifier": 91, "id":"[% target.ordering_agency.mailing_address.san _ ' ' _ target.provider.edi_default.vendcode %]"}
+            [%- ELSIF target.provider.edi_default.vendcode && target.provider.code == 'INGRAM' -%]
+                {"id":"[% target.ordering_agency.mailing_address.san %]"},
+                {"id-qualifier": 91, "id":"[% target.provider.edi_default.vendcode %]"}
+            [%- ELSE -%]
+                {"id":"[% target.ordering_agency.mailing_address.san %]"}
+            [%- END -%]
+        ],
+        "vendor":[
+            [%- # target.provider.name (target.provider.id) -%]
+            "[% target.provider.san %]",
+            {"id-qualifier": 92, "id":"[% target.provider.id %]"}
+        ],
+        "currency":"[% target.provider.currency_type %]",
+                
+        "items":[
+        [%- FOR li IN target.lineitems %]
+        {
+            "line_index":"[% li.id %]",
+            "identifiers":[   [%-# li.isbns = helpers.get_li_isbns(li.attributes) %]
+            [% FOR isbn IN helpers.get_li_isbns(li.attributes) -%]
+                [% IF isbn.length == 13 -%]
+                {"id-qualifier":"EN","id":"[% isbn %]"},
+                [% ELSE -%]
+                {"id-qualifier":"IB","id":"[% isbn %]"},
+                [%- END %]
+            [% END %]
+                {"id-qualifier":"IN","id":"[% li.id %]"}
+            ],
+            "price":[% li.estimated_unit_price || '0.00' %],
+            "desc":[
+                {"BTI":"[% helpers.get_li_attr_jedi('title',     '', li.attributes) %]"},
+                {"BPU":"[% helpers.get_li_attr_jedi('publisher', '', li.attributes) %]"},
+                {"BPD":"[% helpers.get_li_attr_jedi('pubdate',   '', li.attributes) %]"},
+                {"BPH":"[% helpers.get_li_attr_jedi('pagination','', li.attributes) %]"}
+            ],
+            [%- ftx_vals = []; 
+                FOR note IN li.lineitem_notes; 
+                    NEXT UNLESS note.vendor_public == 't'; 
+                    ftx_vals.push(note.value); 
+                END; 
+                IF xtra_ftx;           ftx_vals.unshift(xtra_ftx); END; 
+                IF ftx_vals.size == 0; ftx_vals.unshift('');       END;  # BT needs FTX+LIN for every LI, even if it is an empty one
+            -%]
+
+            "free-text":[ 
+                [% FOR note IN ftx_vals -%] "[% note %]"[% UNLESS loop.last %], [% END %][% END %] 
+            ],            
+            "quantity":[% li.lineitem_details.size %],
+            "copies" : [
+                [%- IF 1 -%]
+                [%- FOR lid IN li.lineitem_details;
+                        fund = lid.fund.code;
+                        item_type = lid.circ_modifier;
+                        callnumber = lid.cn_label;
+                        owning_lib = lid.owning_lib.shortname;
+                        location = lid.location;
+    
+                        # when we have real copy data, treat it as authoritative
+                        acp = lid.eg_copy_id;
+                        IF acp;
+                            item_type = acp.circ_modifier;
+                            callnumber = acp.call_number.label;
+                            location = acp.location.name;
+                        END -%]
+                {   [%- IF fund %] "fund" : "[% fund %]",[% END -%]
+                    [%- IF callnumber %] "call_number" : "[% callnumber %]", [% END -%]
+                    [%- IF item_type %] "item_type" : "[% item_type %]", [% END -%]
+                    [%- IF location %] "copy_location" : "[% location %]", [% END -%]
+                    [%- IF owning_lib %] "owning_lib" : "[% owning_lib %]", [% END -%]
+                    [%- #chomp %]"copy_id" : "[% lid.id %]" }[% ',' UNLESS loop.last %]
+                [% END -%]
+                [%- END -%]
+             ]
+        }[% UNLESS loop.last %],[% END %]
+        [%-# TODO: lineitem details (later) -%]
+        [% END %]
+        ],
+        "line_items":[% target.lineitems.size %]
+     }]  [%# close ORDERS array %]
+   }]    [%# close  body  array %]
+}
+[% END %]
+[% tempo = PROCESS big_block; helpers.escape_json(tempo) %]
+$$
+WHERE id = 23 AND FALSE; -- DON'T PERFORM THE UPDATE
+
+
+-- add copy-related fields to the environment if they're not already there.
+DO $$
+BEGIN
+    PERFORM 1 
+        FROM action_trigger.environment 
+        WHERE 
+            event_def = 23 AND 
+            path = 'lineitems.lineitem_details.owning_lib';
+    IF NOT FOUND THEN
+        INSERT INTO action_trigger.environment (event_def, path) 
+            VALUES (23, 'lineitems.lineitem_details.owning_lib'); 
+    END IF;
+
+    PERFORM 1 
+        FROM action_trigger.environment 
+        WHERE 
+            event_def = 23 AND 
+            path = 'lineitems.lineitem_details.fund';
+    IF NOT FOUND THEN
+        INSERT INTO action_trigger.environment (event_def, path) 
+            VALUES (23, 'lineitems.lineitem_details.fund'); 
+    END IF;
+
+    PERFORM 1 
+        FROM action_trigger.environment 
+        WHERE 
+            event_def = 23 AND 
+            path = 'lineitems.lineitem_details.location';
+    IF NOT FOUND THEN
+        INSERT INTO action_trigger.environment (event_def, path) 
+            VALUES (23, 'lineitems.lineitem_details.location'); 
+    END IF;
+
+    PERFORM 1 
+        FROM action_trigger.environment 
+        WHERE 
+            event_def = 23 AND 
+            path = 'lineitems.lineitem_details.eg_copy_id.location';
+    IF NOT FOUND THEN
+        INSERT INTO action_trigger.environment (event_def, path) 
+            VALUES (23, 'lineitems.lineitem_details.eg_copy_id.location'); 
+    END IF;
+
+    PERFORM 1 
+        FROM action_trigger.environment 
+        WHERE 
+            event_def = 23 AND 
+            path = 'lineitems.lineitem_details.eg_copy_id.call_number';
+    IF NOT FOUND THEN
+        INSERT INTO action_trigger.environment (event_def, path) 
+            VALUES (23, 'lineitems.lineitem_details.eg_copy_id.call_number'); 
+    END IF;
+
+
+
+    -- remove redundant entry
+    DELETE FROM action_trigger.environment 
+        WHERE event_def = 23 AND path = 'lineitems.lineitem_details'; 
+
+END $$;
+
+
+-- Evergreen DB patch 0734.tpac_holdable_check.sql
+--
+
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('0734', :eg_version);
+
+CREATE OR REPLACE FUNCTION asset.record_has_holdable_copy ( rid BIGINT ) RETURNS BOOL AS $f$
+BEGIN
+    PERFORM 1
+        FROM
+            asset.copy acp
+            JOIN asset.call_number acn ON acp.call_number = acn.id
+            JOIN asset.copy_location acpl ON acp.location = acpl.id
+            JOIN config.copy_status ccs ON acp.status = ccs.id
+        WHERE
+            acn.record = rid
+            AND acp.holdable = true
+            AND acpl.holdable = true
+            AND ccs.holdable = true
+            AND acp.deleted = false
+        LIMIT 1;
+    IF FOUND THEN
+        RETURN true;
+    END IF;
+    RETURN FALSE;
+END;
+$f$ LANGUAGE PLPGSQL;
+
+CREATE OR REPLACE FUNCTION asset.metarecord_has_holdable_copy ( rid BIGINT ) RETURNS BOOL AS $f$
+BEGIN
+    PERFORM 1
+        FROM
+            asset.copy acp
+            JOIN asset.call_number acn ON acp.call_number = acn.id
+            JOIN asset.copy_location acpl ON acp.location = acpl.id
+            JOIN config.copy_status ccs ON acp.status = ccs.id
+            JOIN metabib.metarecord_source_map mmsm ON acn.record = mmsm.source
+        WHERE
+            mmsm.metarecord = rid
+            AND acp.holdable = true
+            AND acpl.holdable = true
+            AND ccs.holdable = true
+            AND acp.deleted = false
+        LIMIT 1;
+    IF FOUND THEN
+        RETURN true;
+    END IF;
+    RETURN FALSE;
+END;
+$f$ LANGUAGE PLPGSQL;
+
+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@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 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) 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), 0, 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;
+
+-- Evergreen DB patch 0735.data.search_filter_group_perms.sql
+--
+
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('0735', :eg_version);
+
+INSERT INTO permission.perm_list ( id, code, description ) 
+    VALUES ( 
+        537, 
+        'ADMIN_SEARCH_FILTER_GROUP',
+        oils_i18n_gettext( 
+            537,
+            'Allows staff to manage search filter groups and entries',
+            'ppl', 
+            'description' 
+        )
+    ),
+    (
+        538, 
+        'VIEW_SEARCH_FILTER_GROUP',
+        oils_i18n_gettext( 
+            538,
+            'Allows staff to view search filter groups and entries',
+            'ppl', 
+            'description' 
+        )
+
+    );
+
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('0737', :eg_version);
+
+UPDATE action_trigger.event_definition
+SET template =
+$$
+[%-
+# target is the bookbag itself. The 'items' variable does not need to be in
+# the environment because a special reactor will take care of filling it in.
+
+FOR item IN items;
+    bibxml = helpers.unapi_bre(item.target_biblio_record_entry, {flesh => '{mra}'});
+    title = "";
+    FOR part IN bibxml.findnodes('//*[@tag="245"]/*[@code="a" or @code="b"]');
+        title = title _ part.textContent;
+    END;
+    author = bibxml.findnodes('//*[@tag="100"]/*[@code="a"]').textContent;
+    item_type = bibxml.findnodes('//*[local-name()="attributes"]/*[local-name()="field"][@name="item_type"]').getAttribute('coded-value');
+    pub_date = "";
+    FOR pdatum IN bibxml.findnodes('//*[@tag="260"]/*[@code="c"]');
+        IF pub_date ;
+            pub_date = pub_date _ ", " _ pdatum.textContent;
+        ELSE ;
+            pub_date = pdatum.textContent;
+        END;
+    END;
+    helpers.csv_datum(title) %],[% helpers.csv_datum(author) %],[% helpers.csv_datum(pub_date) %],[% helpers.csv_datum(item_type) %],[% FOR note IN item.notes; helpers.csv_datum(note.note); ","; END; "\n";
+END -%]
+$$
+WHERE name = 'Bookbag CSV';
+
+COMMIT;
index 2609bb6..f5c2b8c 100644 (file)
@@ -1,7 +1,7 @@
 <html><head><script></script></head><body onload="var x = document.getElementById('version'); var version ='/xul/server/'.split(/\//)[2]; if (version == 'server') { version = 'versionless debug build'; } x.appendChild(document.createTextNode(version));">
 <h1 style="text-decoration: underline">Evergreen</h1>
 <p>Target Server ID: <span id="version"></span></p>
-<p>$HeadURL$</p>
+<p>http://git.evergreen-ils.org/Evergreen.git?h=refs/heads/rel_2_3_0</p>
 <h2>What is Evergreen?</h2>
 <blockquote>
 <p>
index 6352b6e..af95b83 100644 (file)
@@ -11,7 +11,7 @@ pref("toolkit.singletonWindowType", "eg_main");
 pref("open-ils.enable_join_tabs", true);
 
 // We'll use this one to help brand some build information into the client, and rely on subversion keywords
-pref("open-ils.repository.headURL","$HeadURL$");
+pref("open-ils.repository.headURL","http://git.evergreen-ils.org/Evergreen.git?h=refs/heads/rel_2_3_0");
 pref("open-ils.repository.author","$Author$");
 pref("open-ils.repository.revision","$Revision$");
 pref("open-ils.repository.date","$Date$");
index e0bc1ef..e7e96bb 100644 (file)
@@ -3,7 +3,7 @@
 ; HM NIS Edit Wizard helper defines
 ; Old versions of makensis don't like this, moved to Makefile
 ;!define /file PRODUCT_VERSION "client/VERSION"
-!define PRODUCT_TAG "Master"
+!define PRODUCT_TAG "2.3"
 !define PRODUCT_INSTALL_TAG "${PRODUCT_TAG}"
 !define UI_IMAGESET "beta"
 ;!define UI_IMAGESET "release"
diff --git a/README b/README
deleted file mode 120000 (symlink)
index b57451acb41c034e7227f89004b1c6bd4babbf04..0000000000000000000000000000000000000000
--- 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 (file)
index 0000000000000000000000000000000000000000..5174b4902f22b562f104be217e2ce307499a30a4
--- /dev/null
+++ b/README
@@ -0,0 +1,549 @@
+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/downloads
+
+Developers working directly with the source code from the Git repository,
+rather than an official release tarball, must install some extra packages
+and perform one step before they can proceed with the `./configure` step.
+
+As the *root* Linux account, install the following packages:
+
+  * autoconf
+  * automake
+  * libtool
+
+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
+------------------------------------------------------------------------------
+
+After running `make install`, developers also 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/.
+------------------------------------------------------------------------------
+
+Installing prerequisites
+------------------------
+
+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.1 or later).
+   You can download OpenSRF releases from http://evergreen-ils.org/opensrf.php
+2. On many distributions, it is necessary to install PostgreSQL 9 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
+------------------------------------------------------------------------------
++
+  * On Ubuntu Lucid, you can use a PPA (personal package archive), which are 
+    package sources hosted on Launchpad. The one most commonly used by Evergreen
+    Community members is maintained by Martin Pitt, who also maintains the
+    official PostgreSQL packages for Ubuntu. As the *root* Linux account, issue
+    the following commands to add the PPA source:
++
+[source, bash]
+------------------------------------------------------------------------------
+apt-get install python-software-properties
+add-apt-repository ppa:pitti/postgresql
+------------------------------------------------------------------------------
++
+  * Ubuntu Precise comes with PostgreSQL 9, so no additional steps are required.
++
+  * Fedora comes with PostgreSQL 9, 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-squeeze`, `fedora`, `ubuntu-lucid`, 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. The ubuntu-precise
+target uses libdbd-pgsql from packages.
++
+.Debian / Ubuntu Lucid
+[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
+------------------------------------------------------------------------------
+
+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]
+------------------------------------------------------------------------------
+./configure --prefix=/openils --sysconfdir=/openils/conf
+make
+------------------------------------------------------------------------------
+
+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_3_0 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
+------------------------------------------------------------------------------
+
+Configure the Apache Web server
+-------------------------------
+
+1. Use the example configuration files in `Open-ILS/examples/apache/` 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 and Ubuntu
+[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/startup.pl    /etc/apache2/
+# Now set up SSL
+mkdir /etc/apache2/ssl
+cd /etc/apache2/ssl
+------------------------------------------------------------------------------
++
+.Fedora
+[source,bash]
+------------------------------------------------------------------------------
+cp Open-ILS/examples/apache/eg.conf       /etc/httpd/conf.d/
+cp Open-ILS/examples/apache/eg_vhost.conf /etc/httpd/
+cp Open-ILS/examples/apache/startup.pl    /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. Replace `Allow from 10.0.0.0/8` with `Allow from all` (to enable
+     access to the offline upload / execute interface from any workstation on
+     any network - note that you must secure this for a production instance)
+  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. 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>
+------------------------------------------------------------------------------
++
+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 and Ubuntu): 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
+------------------------------------------------------------------------------
+
+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.pl`, described in the following section, sets the database
+connection information in `opensrf.xml` for you.
+
+Creating the Evergreen database
+-------------------------------
+
+By default, the `Makefile.install` prerequisite installer does not install
+the PostgreSQL 9 database server required by every Evergreen system;
+for production use, most libraries install the PostgreSQL database server on a
+dedicated machine. You can install the packages required by Debian or Ubuntu Lucid
+on the machine of your choice using the following commands as the *root*
+Linux account:
+
+.(Debian and Ubuntu Lucid) Installing PostgreSQL 9.1 server packages
+[source, bash]
+------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install install_pgsql_server_backport_debs_91
+------------------------------------------------------------------------------
+
+.(Ubuntu Precise) Installing PostgreSQL 9.1 server packages
+[source, bash]
+------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install install_pgsql_server_debs_91
+------------------------------------------------------------------------------
+
+You can install the packages required by Fedora on the machine of your choice
+using the following commands as the *root* Linux account:
+
+.(Fedora) Installing PostgreSQL server packages
+[source, bash]
+------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install install_fedora_pgsql_server
+postgresql-setup initdb
+------------------------------------------------------------------------------
+
+For a standalone PostgreSQL server, install the following Perl modules as the
+*root* Linux account:
+
+.(Debian / Ubuntu) Installing additional Perl modules on a standalone PostgreSQL 9 server
+[source, bash]
+------------------------------------------------------------------------------
+aptitude install gcc libxml-libxml-perl libxml-libxslt-perl
+cpan Business::ISBN
+cpan JSON::XS
+cpan Library::CallNumber::LC
+cpan MARC::Record
+cpan MARC::File::XML
+cpan UUID::Tiny
+------------------------------------------------------------------------------
+
+.(Fedora) Installing additional Perl modules on a standalone PostgreSQL 9 server
+[source, bash]
+------------------------------------------------------------------------------
+yum install gcc perl-XML-LibXML perl-XML-LibXSLT perl-Business-ISBN
+cpan Library::CallNumber::LC
+cpan MARC::Record
+cpan MARC::File::XML
+cpan UUID::Tiny
+------------------------------------------------------------------------------
+
+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
+------------------------------------------------------------------------------
+
+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.pl --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.
+
+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.pl`.
+
+For PostgreSQL 9.0
+^^^^^^^^^^^^^^^^^^
+To create the database instance on a remote database server running PostgreSQL
+9.0, you can either:
+
+  *  Install the PostgreSQL contrib modules on the machine on which you
+     are installing the Evergreen code, and use the `--create-database`
+     option from that machine, or
+  *  Copy the `Open-ILS/src/sql/Pg/create_database.sql` script to your
+     PostgreSQL server and invoke it as the *postgres* Linux account:
++
+[source, bash]
+------------------------------------------------------------------------------
+psql -vdb_name=<dbname> -vcontrib_dir=`pg_config --sharedir`/contrib -f create_database.sql
+------------------------------------------------------------------------------
+
+Then you can issue the `eg_db_config.pl` command as above _without_ the
+`--create-database` argument to create your schema and configure your
+configuration files.
+
+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_ctl.sh -l -a start_all
+------------------------------------------------------------------------------
++
+  ** If you receive the error message `bash: osrf_ctl.sh: 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 hierarchy in `config.cgi`):
++
+[source, bash]
+------------------------------------------------------------------------------
+autogen.sh -u
+------------------------------------------------------------------------------
++
+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.pl` 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
+    ------------------------------------
+
+If this does not work, it's time to do some troubleshooting.
+
+  * As the *opensrf* Linux acccount, 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://open-ils.org/listserv.php[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/listserv.php or contact us on the Freenode
+IRC network on the #evergreen channel.
+
+License
+-------
+This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
+Unported License. To view a copy of this license, visit
+http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative
+Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
index 03f09a5..6bf83ef 100755 (executable)
@@ -2,7 +2,7 @@
 
 GIT_ABS=`git rev-parse --show-toplevel`
 GIT_BRANCH=`git rev-parse --abbrev-ref HEAD | sed 's|.*/||'`
-HEADURLBASE="http://git.evergreen-ils.org/Evergreen.git?h=refs/heads/"
+HEADURLBASE="http://git.evergreen-ils.org/Evergreen.git?h=refs/heads/rel_2_3_0"
 HEADURL="$HEADURLBASE$GIT_BRANCH"
 
 # Drop to the root of the checkout
index 1d99e19..8f41544 100644 (file)
@@ -20,8 +20,8 @@
 
 export PATH=${PATH}:/usr/sbin
 AC_PREREQ(2.61)
-AC_INIT(Open-ILS, trunk, open-ils-dev@list.georgialibraries.org)
-AM_INIT_AUTOMAKE([OpenILS], [trunk])
+AC_INIT(Open-ILS, 2.3.0, open-ils-dev@list.georgialibraries.org)
+AM_INIT_AUTOMAKE([OpenILS], [2.3.0])
 AC_REVISION($Revision: 0.1 $)
 AC_CONFIG_SRCDIR([configure.ac])
 AC_PREFIX_DEFAULT([/openils/])