Upgrading to 2.2+
Our plans for the July 2012 upgrade of Conifer are to upgrade to the latest version for 2.2 -- 2.2.1 real soon now -- plus some additional branches reflecting functionality that we require for functionality in Conifer.
List of additional branches
In the past, we've created a "mergery" branch in the Conifer repo that represents what we have installed into production; we'll do the same again for rel_2_2. This will list the merge branches and the reasons why we want them.
Additional core branches
- TPAC LDAP authentication per https://bugs.launchpad.net/evergreen/+bug/1013672 - note: double-check to ensure physical_loc is the parameter upon which we want to hang our authentication method hats
# Cherry-pick top two commits with "tig" tig working/collab/dbwells/lp1013672_tpac_auth_proxy
- Journal title in TPAC per https://bugs.launchpad.net/evergreen/+bug/1023705 - this is in rel_2_3 but needs to be backported to rel_2_2
# Clean cherry-pick of the branch tip git cherry-pick working/user/dbs/tpac_jtitle
- maintain_901() based on plperlu
- Found a problem with the handling of serials and authority records (ye olde = vs. eq operator problem); gmcharlt is prepping a fix
Additional Conifer branches
From the Conifer repository:
- feature/patron-privacy_2_1 "Remove display of patron birthdate, internet access level, etc" from patron display in staff client - tip of branch
# Just need the tip of the branch git cherry-pick conifer/feature/patron-privacy_2_1 # And some merge conflict work git status # shows the files with conflicts # edit file git add <file> git commit
- feature/admin_hours_2_1 "Robin's interface for managing library hours" - top two commits from branch; candidate for reworking as a core feature, adding an entry point to the Admin menu instead of the splash page
# Need the top two commits in the branch: git cherry-pick dfe87c5b63c26d85462e4aba6228547533774665 git cherry-pick 704fe1027e3adf71523f59636fb828e044412f0f
- feature/circ_rules_2_1 "JavaScript?-based circulation rules for Conifer" - self-explanatory, but raises the question of when we're going to move to in-database circulation... time is ticking
# Use "tig" command-line interface to pick the top commits off the branch # "C" will cherry-pick the selected commit tig conifer/feature/circ_rules_2_1
- feature/fts-polish-l_2_1 - "Treat a Polish l as an ASCII l in full-text search" - note: double-check to ensure this is still a requirement
# Just the tip of the branch git cherry-pick conifer/feature/fts-polish-l_2_1
- feature/journal_title_2_1 - "Adds journal title search to JSPAC" - obviously required for JSPAC only
# Just need the tip of the branch git cherry-pick conifer/feature/journal_title_2_1
- feature/skins-bulk_2_1 - All of the JSPAC skins for the Conifer sites live here
- feature/tools_2_1 - Really just need commit 55193954e1c which adds the open-ils.actor.search.patron.advanced.opt_in_override - this is a good candidate for genericizing and contributing to Evergreen core
git cherry-pick 55193954e1c # Resolve merge conflict -- good candidate for Evergreen core
Getting the rel_2_2_mergery branch
- Add the Conifer remote git repository:
# If you have an SSH pubkey with privileges: git remote add conifer git@git.evergreen-ils.org:contrib/Conifer.git # For a read-only copy of the repo instead: git remote add conifer git://git.evergreen-ils.org/contrib/Conifer.git
- Fetch the branches/commits from the new remote:
git fetch conifer
- Check out the rel_2_2_mergery branch:
git checkout -b rel_2_2_mergery conifer/user/dbs/rel_2_2_mergery
Apply database schema upgrades
Normally all of this would be in one big upgrade script, for example Open-ILS/src/sql/Pg/version-upgrade/2.1-2.2-version-upgrade.sql, but on the test server we opted to just apply the remaining individual scripts manually.
psql -U evergreen -h hostname -v eg_version="'0704'" -f Open-ILS/src/sql/Pg/upgrade/0706.schema.serial-holding-code-constraint.sql
To do
- Upgrade PostgreSQL to 9.1 on production server
- Dump the production database, blow away the database on darkmatter, restore, and run the upgrade script - Dan
- Try in-place upgrade on replica server first!
- Create and test upgrade script for 2.1-2.2 (needs 2.1.0-2.1.1 along the way, along with any of our backported schema changes) on the test server
- Done - tested on test server successfully (takes a long time, but works); 2.1-2.2 is now split into three parts
- Create and test auto-upgraded staff client
- Suppress "bib call number" search indexes in TPAC
- Done as of commit 1a25314
- Suppress empty reviews field in record details
- Done as of commit eeb0fb3332c
- Modify display of MFHD periodical holdings in TPAC -- display above "Available copies" instead of requiring an extra click in the Extras section
- Done as of commit eeb0fb3332c
- Provide skinning for the TPAC
- Current convention is templates_HOSTNAME in eg.conf per hostname
- For style.css, rough plan is to templatize style.css such that the common colours are defined in an included file; then each site can add a template override for that included file (we want to avoid having to maintain copies of a 1,000-line base CSS file in each skin)
- Underway in feature/tpac_css_templatize branch in the Conifer repository - colors are basically done
- Hide holds on available items (pretty sure that there's a configuration parameter for that in TPAC now)
- Done - thanks Art! Need to sort out whether search_ou is the best OU parameter on which to hang our hats, but it will probably cover 95% of the cases
- Resolve data quality problems for records without 901 fields
- Done - about 125 "bad" MARC records out of 99,000 total that were processed (where "bad" means tags with only 1 or 2 digits and the like)
- Merge and test JSPAC skins
- Convert from JavaScript? circ scripts to in-database