From 8a4414fd8a5047faa91352c5005588976d82b079 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Tue, 6 Nov 2012 15:48:06 -0500 Subject: [PATCH] Bumping version numbers, adding Upgrade Script and Changelog Signed-off-by: Bill Erickson --- ChangeLog | 1146 +++++++++++++++++++- Open-ILS/src/perlmods/lib/OpenILS/Application.pm | 2 +- Open-ILS/src/sql/Pg/002.schema.config.sql | 1 + .../Pg/version-upgrade/2.3.0-2.3.1-upgrade-db.sql | 271 +++++ .../staff_client/chrome/content/main/about.html | 2 +- .../xul/staff_client/defaults/preferences/prefs.js | 2 +- Open-ILS/xul/staff_client/windowssetup.nsi | 2 +- README | 550 +++++++++- build/tools/make_release | 2 +- configure.ac | 4 +- 10 files changed, 1971 insertions(+), 11 deletions(-) create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/2.3.0-2.3.1-upgrade-db.sql mode change 120000 => 100644 README diff --git a/ChangeLog b/ChangeLog index 1f72b2c73e..08d011ca7b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1143 @@ -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 2df098c59ae23e8abba05ec75db446941141c398 +Author: Bill Erickson +Date: Fri Nov 2 15:28:27 2012 -0400 + + CStoreEditor auto-activity log redaction + + CStoreEditor logs all update calls to the activity log as key/value + pairs on the updated object. Avoid loging key/value pairs for objects + when the API call being relayed by CStoreEditor is on the list of + log-protect API calls. Instead, log "**DETAILS REDACTED**". + + Signed-off-by: Bill Erickson + Signed-off-by: Dan Scott + +20 3 Open-ILS/src/perlmods/lib/OpenILS/Utils/CStoreEditor.pm + +commit f2f53421e3df78639a07a99088ba610f6a5d0731 +Author: Bill Erickson +Date: Tue Nov 6 15:28:28 2012 -0500 + + Move 'initial host' feature docs into 2.3 release notes + + Signed-off-by: Bill Erickson + +15 0 docs/RELEASE_NOTES_2_3.txt +0 12 docs/RELEASE_NOTES_NEXT/initial_host.txt + delete mode 100644 docs/RELEASE_NOTES_NEXT/initial_host.txt + +commit d5a0f1f5edf78857d5227874998f95daf4ec0f63 +Author: Dan Scott +Date: Mon Nov 5 22:14:34 2012 -0500 + + Document log redaction XML chunk for opensrf_core.xml + + Based on Bill Erickson's original version. + + Signed-off-by: Dan Scott + +26 1 docs/RELEASE_NOTES_2_3.txt + +commit f502344088bac86af1634663de2d7a647987b873 +Author: Bill Erickson +Date: Wed Oct 31 09:00:19 2012 -0400 + + Add sample log redaction config to EG opensrf_core + + Redact parameter logging for the following API calls: + + Login: + open-ils.auth.authenticate.verify + open-ils.auth.authenticate.complete + open-ils.auth_proxy.login + + User updates: + open-ils.actor.user.password + open-ils.actor.user.username + open-ils.actor.user.email + open-ils.actor.patron.update + open-ils.cstore.direct.actor.user.create + open-ils.cstore.direct.actor.user.update + open-ils.cstore.direct.actor.user.delete + + Signed-off-by: Bill Erickson + Signed-off-by: Dan Scott + +18 0 Open-ILS/examples/opensrf_core.xml.example + +commit 5224fcf99db734eed0b9d58fd5e9389b16400d5d +Author: Mike Rylander +Date: Wed Oct 10 17:36:52 2012 -0400 + + Make it possible to suppress IDL fields + + Some clients of external services, particularly pcrud and reporter-store, + need to be able to access tables that contain columns we'd rather restrict. + For instance, the passwd field on actor.usr. + + To effect this feature we provide a blacklist attribute for fields, called + suppress_controller, which works in the same way as the class controller + attribute but names controllers not allowed to use the field. When the field + is explicitly named in a query (fieldmapper select block or json_query) an + error is thrown, and suppressed fields are ingored in general fieldmapper + search/retreive requests. + + Signed-off-by: Mike Rylander + Signed-off-by: Bill Erickson + +1 1 Open-ILS/examples/fm_IDL.xml +1 0 Open-ILS/examples/fm_IDL.xsd +7 0 Open-ILS/src/c-apps/oils_idl-core.c +27 2 Open-ILS/src/c-apps/oils_sql.c +3 0 Open-ILS/web/reports/xul/source-browse.js +3 0 Open-ILS/web/reports/xul/source-setup.js + +commit 3977a280bc7cb27e16ac890b02b68ac043c94d13 +Author: Thomas Berezansky +Date: Thu Aug 2 13:28:44 2012 -0400 + + Staff client initial hostname + + Add support for an initial staff client hostname. + + It can be specified during building the staff client or via configure. + + During making the staff client: + + make INITIAL_HOST=hostname build + + During configure: + + ./configure --with-initialhost=hostname + + Signed-off-by: Thomas Berezansky + Signed-off-by: Ben Shum + +2 0 Open-ILS/xul/staff_client/Makefile.am +7 2 Open-ILS/xul/staff_client/chrome/content/auth/controller.js +30 3 Open-ILS/xul/staff_client/chrome/content/main/main.js +3 0 Open-ILS/xul/staff_client/defaults/preferences/initialhost.js +8 0 configure.ac +12 0 docs/RELEASE_NOTES_NEXT/initial_host.txt + create mode 100644 Open-ILS/xul/staff_client/defaults/preferences/initialhost.js + create mode 100644 docs/RELEASE_NOTES_NEXT/initial_host.txt + +commit 8645f10ad262f5c620345ab14868451ef57ebbb5 +Author: Dan Scott +Date: Thu Oct 11 00:56:40 2012 -0400 + + TPAC: Address some search syntax leaks in links + + Expand the list of filtered characters to cover all of the special + characters documented for the Evergreen search grammar + (http://evergreen-ils.org/dokuwiki/doku.php?id=documentation:technical:search_grammar) + when generating links in the TPAC so as to avoid inadvertently launching + filtered searches when a user clicks on something that should just be a + display value. + + For example, if a title includes "Presenting a subject: tips for + consultants", it should _not_ launch a search for "subject" containing + "tips for consultants". + + This commit addresses most of the link problems in the record + display, as well as the author links in the search results table. + + Still problematic are the facets (which seem to rely on exact matching, + such that filtering out the problematic characters is itself + problematic) and autocomplete (which requires modifying the Autocomplete + Dojo widget). + + In addition, this commit makes the series code actually display, as it + was using a non-standard method to attempt to return the results from + the BLOCK (and failing). Also, it makes the links for authors in the + record details match the MODS32 definition for personal name parts and + only use the "acdq" subfields. This enables a click on the link to + actually return results; previously, in the case where the author field + included (for example) a subfield "g" value, that value would be + included in the generated link and would likely lead to 0 hits. + + For authors, we substitute with a space rather than just eliding the + substituted value. Authors are particularly likely to have dates like + 1899-1978; "1899 1978" matches, but "18991978" will not. + + Perhaps we should take the same approach with the others, or break down + the search/replace logic a little further (for example, we could remove + the "-" only if it is preceded by a space or is at the start of the + string and is followed immediately by a character, and preserve it if it + is surrounded by digits). But this seems to take us pretty far down the + road of less negatively surprising results. + + Signed-off-by: Dan Scott + Signed-off-by: Bill Erickson + +4 2 Open-ILS/src/templates/opac/parts/record/authors.tt2 +6 4 Open-ILS/src/templates/opac/parts/record/series.tt2 +1 1 Open-ILS/src/templates/opac/parts/record/subjects.tt2 +1 1 Open-ILS/src/templates/opac/parts/result/table.tt2 + +commit a97b4ba5f9e085387d7f923e85287d04c34161ec +Author: Dan Scott +Date: Wed Oct 10 23:35:13 2012 -0400 + + TPAC: Add search torture tests to concerto record + + In addition to # signs causing problems in facets, we found that search + syntax in general is surfaced directly in most links that are exposed to + users in the TPAC. This commit adds several examples to the record with + the title "Trombone concerto (1991)": + + In the title, there is an embedded "subject:" search which will be + triggered by autocomplete. + + In the author (100 field), there is an embedded "author:" search which + will be triggered from the record details page. This also includes + another usage of the # sign. + + In the subject fields, there are: + * an embedded "subject:" search which will be triggered from the + facets, autocomplete, and record details page + * an embedded negation operator which will be triggered from the + facets, autocomplete, and record details page + + Signed-off-by: Dan Scott + Signed-off-by: Bill Erickson + +1 1 Open-ILS/tests/datasets/concerto.sql + +commit 62cb022ce0ca38dc622f1ee88abf15b804d8ab00 +Author: Dan Scott +Date: Wed Oct 10 15:50:49 2012 -0400 + + Munge concerto to include # signs in series facets + + Search for "Piano concerto in C major, op. 39" or "Beethoven: concertos + and overtures" and you'll get facets with # signs to assist with fixing + LP # 856811. + + Signed-off-by: Dan Scott + Signed-off-by: Bill Erickson + +2 2 Open-ILS/tests/datasets/concerto.sql + +commit feb74214accc9c710e5d0b18214113b17febb9c8 +Author: Bill Erickson +Date: Wed Oct 10 17:26:06 2012 -0400 + + Sample Apache error syslog captures stderr + + Not all STDERR output and not all $req->log->foo() output makes it to + the Apache error log when using the 'ErrorLog syslog:local7' + configuration directive. This changes the sample config to match the + CustomLog config so that all output is captured and redirected to + syslog. + + Signed-off-by: Bill Erickson + Signed-off-by: Dan Scott + +1 1 Open-ILS/examples/apache/eg.conf + +commit fe1e9f77eb422649180e691b836a79f93aa90b08 +Author: Mark Cooper +Date: Mon Oct 22 22:01:22 2012 -0700 + + LP#1066629: Acq: Receiving an item should not change the status to "In Process" in many cases + + As suggested, when received, restrict copy status update for lineitem copies to only those that were on-order. Otherwise copies may have the status set to 'In Process' inappropriately. + + Signed-off-by: Mark Cooper + Signed-off-by: Kathy Lussier + Signed-off-by: Ben Shum + +2 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm + +commit 4bf6dd1c717d56914230285a5d30b5b81a9e5d73 +Author: Thomas Berezansky +Date: Tue Oct 23 16:27:00 2012 -0400 + + Add missing ? to url_prefix regex check + + Fixes Barcode Completion and who knows what else. + + Signed-off-by: Thomas Berezansky + Signed-off-by: Jason Stephenson + +1 1 Open-ILS/xul/staff_client/chrome/content/OpenILS/global_util.js + +commit ac5161f3dbab7741a0f8ac06098990d7426465f9 +Author: Mark Cooper +Date: Tue Oct 9 21:04:32 2012 -0700 + + LP#826917: Marc editor, CTRL+F6, F7, F8 no longer working on 2.0+ + + Updated marcedit.js to recognize F6/7/8 according to codes at: + http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes. + Did not modify behavior (so input focus is not adjusted post record load). + + Signed-off-by: Mark Cooper + Signed-off-by: Lebbeous Fogle-Weekley + +6 6 Open-ILS/xul/staff_client/server/cat/marcedit.js + +commit 9cbd12e03f7107aaa179cd3e1e35c5e66e74a7ce +Author: Bill Erickson +Date: Thu Oct 18 14:54:08 2012 -0400 + + Rollback cstore transaction before bbag record load + + To avoid timeouts, which results in transaction rollbacks, preemptively + roll back the bookbag fetching cstore transaction before we retrieve + what could be a very large list of bookbag records data. + + Signed-off-by: Bill Erickson + Signed-off-by: Jason Stephenson + +9 0 Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm + +commit c24e34676132640e5c652383290e4d5a5f705fc3 +Author: Dan Scott +Date: Tue Oct 9 16:49:09 2012 -0400 + + Authority popups are empty: fix dojo.query() usage + + When you right-click on a controllable field to display the contents of + the matching authority records, the contents of the matching authority + records simply appear as empty grey boxes. + + This is another case of needing to iterate over multiple values + separately rather than using one convenient CSS selector. + + Signed-off-by: Dan Scott + Signed-off-by: Bill Erickson + +7 1 Open-ILS/xul/staff_client/server/cat/marcedit.js + +commit f0caffee4f0fa32e897903cf6ad9773b0e6cfbe1 +Author: Dan Scott +Date: Mon Oct 8 22:30:32 2012 -0400 + + Enable maintain_control_number() to handle new OCLCnums + + In July 2013, per LP# 1049171, OCLC will begin generating control + numbers beginning with the "on" prefix. + + Signed-off-by: Dan Scott + Signed-off-by: Lebbeous Fogle-Weekley + + Conflicts: + + Open-ILS/src/sql/Pg/002.schema.config.sql + +2 2 Open-ILS/src/sql/Pg/002.functions.config.sql +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +137 0 Open-ILS/src/sql/Pg/upgrade/0742.schema.maintain_control_number_oclc.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/0742.schema.maintain_control_number_oclc.sql + +commit 3fcd13fb8ab41910719ca53a9d1313fd39880767 +Author: Bill Erickson +Date: Fri Sep 28 13:58:07 2012 -0400 + + ACQ invoice tabs scroll improvements + + Avoid nested scrollbars on tabbed ACQ invoice UI. This is done by + removing a ContentPane layer and setting doLayout='false' on the + TabContainer, which allows the individual tabs to control their own + height dynamically, which means no more hard-set 600px height on the + tabs. + + Signed-off-by: Bill Erickson + Signed-off-by: Kathy Lussier + +5 3 Open-ILS/src/templates/acq/invoice/view.tt2 + +commit af303657985f5d27bd100b14c1630f7c7b3e4524 +Author: Bill Erickson +Date: Mon Sep 17 14:50:36 2012 -0400 + + ACQ scroll back to top of lineitem info page + + When displaying the lineitem "info" page (li attributes, marc record), + be sure to scroll to the top of the page instead of relying on the + previous scroll location. In particular, if you last viewed a LI + toward the bottom of the page, returned (causes scroll down), then go + back into the info page, the page will be scrolled to the bottom. + + The solution is a little funkier than I'd hoped. The scroll-to point + has to be a node that is a) within the scrolling dojo div and b). non- + visible when scrollIntoView is called. Since the top-level + page div may be different, depending on who is loading li_table, we rely + on the caller to place an id=oils-scroll-to-top div in the page for + general top-scrolling. (Note, also, window.scrollTo does not work when + it's the div and not the full page that needs scrolling). + + Signed-off-by: Bill Erickson + Signed-off-by: Kathy Lussier + +1 0 Open-ILS/src/templates/acq/picklist/view.tt2 +1 0 Open-ILS/src/templates/acq/po/view.tt2 +1 0 Open-ILS/src/templates/acq/search/unified.tt2 +3 0 Open-ILS/web/js/ui/default/acq/common/li_table.js + +commit 2cb18f20ed1c41d4d24afbcdbcb848e6b57043e0 +Author: Lebbeous Fogle-Weekley +Date: Thu Oct 11 16:00:36 2012 -0400 + + TPAC: Make facet display work as in JSPAC + + Namely, this means: + - You see five facets per category by default, not ten. + - You can click a link to see all the facets in a category + (before this it was impossible to display more than ten). + - When viewing all the facets in a category, you can click a link + to reduce the list back to five. + - This number five I'm talking about is configurable in config.tt2. + - Alphabetical sorting of facets grouped by the same numbers of + results is restored. + + This addresses LP #1065109. + + Signed-off-by: Lebbeous Fogle-Weekley + Signed-off-by: Kathy Lussier + +8 2 Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm +3 1 Open-ILS/src/templates/opac/css/style.css.tt2 +1 0 Open-ILS/src/templates/opac/parts/config.tt2 +31 27 Open-ILS/src/templates/opac/parts/result/facets.tt2 + +commit 8a929d746246b56f2670d1b71adaec3377ba67c8 +Author: Bill Erickson +Date: Thu Aug 23 17:29:42 2012 -0400 + + Improvements to custom org tree UI + + This replaced the PermaCrud.js create() calls with inline transaction + begin, creates, and commit. We do this to solve a number of problems: + + * Create all new nodes within the same transaction so that a failure + gracefully rolls back. + + * PermaCrud.js does not currently disconnect opensrf client sessions + (though it has a disconnect() method). We can manage that locally. + + Signed-off-by: Bill Erickson + Signed-off-by: Kathy Lussier + +41 10 Open-ILS/web/js/ui/default/conify/global/actor/org_unit_custom_tree.js + +commit de412ce69871671af7970abba42b10fc33554b8b +Author: Steven Callender +Date: Mon Oct 15 10:48:28 2012 -0400 + + Added a check for the money.collections_tracker table when using the open-ils.collections.users_of_interest.warning_penalty.retrieve API call. + + Users that are already entered into the money.collections_tracker table should not be recalled from the open-ils.collections.users_of_interest.warning_penalty.retrieve API. This change will check for the existance of the user in the money.colletions_tracker table. + + Signed-off-by: Steven Callender + Signed-off-by: Bill Erickson + +10 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Collections.pm + +commit 3d12351fdf70f702df05dafeff0b860e25a89c34 +Author: Galen Charlton +Date: Fri Oct 12 15:38:59 2012 -0400 + + trivial whitespace cleanup + + Locally consistent, globally all over the map in this file. + + Signed-off-by: Galen Charlton + +1 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/actor.pm + +commit 8b8e973310638da48d9ac92ee636e4ee6a51fe43 +Author: Chris Sharp +Date: Thu Oct 11 19:33:16 2012 -0400 + + Adding a WHERE clause to prevent timeout of juv-to-adult function + + Signed-off-by: Chris Sharp + Signed-off-by: Galen Charlton + +2 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/actor.pm + +commit 239e70e2256b52bcb2d4dd32fa310c5e77b98e6e +Author: Dan Scott +Date: Thu Oct 11 01:43:01 2012 -0400 + + TPAC: Respect location visibility for result copies + + Robert Soulliere noted in LP# 1062502 that copies in a location marked + "opac_visible = FALSE" were erroneously being displayed in search + results. This would occur if at least one copy on a record was in a + visible location, but other copies were in an invisible location. + + This commit prevents copies in hidden locations from being displayed, + and also adds guards for the visibility of the copy status and the + circulation library. + + Signed-off-by: Dan Scott + Signed-off-by: Robert Soulliere + +5 0 Open-ILS/src/templates/opac/parts/misc_util.tt2 + +commit b39ac1de1e4b1b598b7ada95872e012f643f8157 +Author: Lebbeous Fogle-Weekley +Date: Thu Sep 27 14:51:44 2012 -0400 + + Serials: Don't force a Receive Unit Template in Alt Serials Control + + Mary Llewellyn reported that she used to be able to use serials and + perform copy-less receiving without any value in this field. + + The requirement that a value be set in the Receive Unit Template field + of serial distributions was added (by me) in 2.1 to the alternate serials + control interface, but is not enforced at lower levels. + + I now believe that requiring a value here must have been a ham-handed + way to avoid a difficult-to-troubleshoot issue in copy-FUL receiving, + but copy-LESS serials receiving workflows indeed don't need this, so + this commit removes the requirement. + + Signed-off-by: Lebbeous Fogle-Weekley + Signed-off-by: Ben Shum + +0 1 Open-ILS/src/templates/serial/subscription/distribution.tt2 + +commit a8e9d68e93f0a1d4fd1d2202c40180d2247d848b +Author: Bill Erickson +Date: Wed Sep 5 14:39:36 2012 -0400 + + Use current fiscal year for PO creation (API) + + When creating a PO, if no fiscal_year is specified by the caller, use + the current fiscal year of the ordering agency. This change primarily + affects the Open-ILS/src/support-scripts/acq_order_reader.pl script (and + any other direct API callers) which does not offer the user a chance to + set the fiscal year manually. + + Signed-off-by: Bill Erickson + Signed-off-by: Mike Rylander + +11 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm + +commit 436fae85993182a81fdd85428949ccc26049ec8e +Author: Mike Rylander +Date: Thu Sep 20 15:17:36 2012 -0400 + + Fix autosuggest when in no-vis-check mode + + When autosuggest is configured to avoid visiblity checking, it sends a + special org unit id of -1 to the database as a signal. However, the stored + procedure is expecting a NULL instead. This allows either by transforming + -1 to NULL within the stored procedure. + + Signed-off-by: Mike Rylander + Signed-off-by: Lebbeous Fogle-Weekley + + Conflicts: + + Open-ILS/src/sql/Pg/002.schema.config.sql + +1 1 Open-ILS/src/sql/Pg/002.schema.config.sql +1 0 Open-ILS/src/sql/Pg/030.schema.metabib.sql +134 0 Open-ILS/src/sql/Pg/upgrade/0740.schema.checkless_browse_fix.sql + create mode 100644 Open-ILS/src/sql/Pg/upgrade/0740.schema.checkless_browse_fix.sql + +commit 4e9aaf50a1a7e1655183bcfce1ea00255c172d72 +Author: Mark Cooper +Date: Tue Oct 9 12:41:44 2012 -0700 + + LP#1007020: Using checkout, last activity shows as unset + + Added usr_activity to $fields for flesh_user function. + + Signed-off-by: Mark Cooper + Signed-off-by: Ben Shum + +2 1 Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm + +commit d2bd31086e134610602c3a6a8e17b68de775d98b +Author: Dan Scott +Date: Thu Aug 30 00:21:01 2012 -0400 + + Remove C compiler warning for writeAuditInfo + + The C compiler was throwing the following warning: + + oils_sql.c: In function 'writeAuditInfo': + oils_sql.c:7244:1: warning: control reaches end of non-void function + [-Wreturn-type] + + By shifting the "return 0" to the end of the function, outside of the if + statements, we can ensure that we always return an int value. + + Signed-off-by: Dan Scott + Signed-off-by: Jason Stephenson + +1 1 Open-ILS/src/c-apps/oils_sql.c + +commit e30193d1712cbb6f4ebb17d71d00a0b5e1eb3b10 +Author: Michael Peters +Date: Fri Sep 21 11:47:41 2012 -0400 + + TPAC: Add a progress spinner after pressing search on Advanced Search + + Advanced Search had no indication of progress once you've submitted + a search. We should add a "progressbar_green.gif" like the basic search + has, so the user knows their search is in progress, and (hopefully) + avoids them from hammering submit to get a result. + + Signed-off-by: Michael Peters + Signed-off-by: Lebbeous Fogle-Weekley + +6 1 Open-ILS/src/templates/opac/parts/advanced/search.tt2 + +commit aedb6254511dbb6656a1dceafe8085c8b4cec010 +Author: Bill Erickson +Date: Wed Oct 3 15:00:26 2012 -0400 + + ACQ invoice receive UI handles async LI retrieval + + openils.acq.Linetitem.fetchAndRender() now fetches lineitems + asynchronously. This commit causes the invoice receive UI to calculate + the copies to be received after all lineitems have been (async) fetched. + Without this, it always appears as though there are no copies to receive + + Signed-off-by: Bill Erickson + Signed-off-by: Kathy Lussier + Signed-off-by: Lebbeous Fogle-Weekley + +23 13 Open-ILS/web/js/ui/default/acq/invoice/receive.js + +commit 49c9f1214f2663b2a6b12af0ce20a279d095be20 +Author: Dan Scott +Date: Wed Oct 10 22:06:32 2012 -0400 + + TPAC: Avoid 500 errs on record page due to ipv6 ignorance + + Net::HTTP does not handle ipv6 addresses properly, and is subject to + failing to return a request object if handed one (some systems seem to + prefer ipv6). This commit checks the value of the request object before + invoking any methods on it, and also short-circuits the AC lookup loop + if the host could not be resolved to avoid flooding the logs with + multiple "Unable to connect..." warnings. + + If Net::HTTP grows ipv6 support, this commit can still stay in place and + the lookups will just start magically working. + + Signed-off-by: Dan Scott + Signed-off-by: Bill Erickson + +5 2 Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm + +commit 9e6ab63c189c3ac177f8422b532c76270f20cafd +Author: Dan Scott +Date: Mon Sep 10 09:32:17 2012 -0400 + + TPAC: Remove noise, misleading text from myopac/holds/circs/circ_history + + There are many "class='hide_me'" elements that will never be displayed + and which are currently just extra bits to ship over the wire. Same for + the inline comments. + + Also move most of the inline styles out to the stylesheet. + + Also remove the explicit widths on the table cells; if the font size + changes or the translated text is wider than the table cells, then the + display will become comical. + + Also remove explicit
tags from localized strings; given the + likelihood that font sizes and column widths will change,
tags + inside localized strings make very little sense. + + Signed-off-by: Dan Scott + Signed-off-by: Kathy Lussier + Signed-off-by: Lebbeous Fogle-Weekley + +23 1 Open-ILS/src/templates/opac/css/style.css.tt2 +13 28 Open-ILS/src/templates/opac/myopac/circ_history.tt2 +19 66 Open-ILS/src/templates/opac/myopac/circs.tt2 +42 104 Open-ILS/src/templates/opac/myopac/holds.tt2 +1 3 Open-ILS/src/templates/opac/parts/login/password_hint.tt2 +1 1 Open-ILS/src/templates/opac/parts/place_hold_result.tt2 +5 1 Open-ILS/web/css/skin/default/opac/semiauto.css + +commit 63fcae2a0961ee9e0a4b516b678daccf9f7c9fc3 +Author: Mike Rylander +Date: Mon Oct 8 14:12:49 2012 -0400 + + Be more strict about dates we generate + + ISO-8601 dates must have a 4-character year component, however strftime does + not left-pad years to 4 characters when the century is one character long even + though the man page for strftime(3) suggests otherwise: + + %F Equivalent to %Y-%m-%d (the ISO 8601 date format). (C99) + + This makes stricter ISO-8601 parsers, such as Perl's DateTime module, unhappy. + So, we'll do it ourselves using the glibc extensions available to strftime for + specifying a padding character and desired length. + + Signed-off-by: Mike Rylander + Signed-off-by: Lebbeous Fogle-Weekley + +4 4 Open-ILS/src/c-apps/oils_sql.c + +commit 465488439e75bbb9bc9fbbba0e23c0036cf9937d +Author: Dan Scott +Date: Mon Oct 8 15:08:47 2012 -0400 + + Checkout: further validation of due date override + + The check_past() function failed if given a date that was not strictly + in YYYY-mm-dd format; interestingly, a common transposition typo such + as "0212-10-20" results in "212-10-20" getting passed to check_past(), + and therefore generating an invalid date. Throw an exception in + check_past() rather than returning true, because we are not in fact + stating that the due date is in the past - and catch the exception and + flag the due date override box accordingly in the checkout screen. + + We could bubble the exception up to the user, but hopefully highlighting + the checkout box as being in an invalid state will catch the attention + of the users. + + [LFW: Slightly amended a comment in OpenILS/WWW/EGCatLoader/Util.pm] + + Signed-off-by: Dan Scott + Signed-off-by: Lebbeous Fogle-Weekley + +1 1 Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm +9 1 Open-ILS/xul/staff_client/chrome/content/util/date.js +12 5 Open-ILS/xul/staff_client/server/circ/checkout.js + +commit 2950191dc6d56adbaf11afc5a13126d841b41b1c +Author: Dan Scott +Date: Mon Oct 8 11:25:41 2012 -0400 + + TPAC: Invalid due dates cause 500 server error + + CStore appears to return dates with leading 0s (such as '0212-10-08 + 23:59:59-05:17:32') with the leading 0s stripped off, resulting in + cases with 1-digit or 3-digit years for which DateTime::Format::ISO8601 + returns an error. + + We can protect against this problem by adding some defensive code to the + TPAC utility method to add the 0s back to the start of the year. We can + also log the problem when it occurs so that administrators can fix the + problem dates in the database. + + Signed-off-by: Dan Scott + Signed-off-by: Lebbeous Fogle-Weekley + +16 1 Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm + +commit 583bf046ad122225c749105b973b1d78293271ec +Author: Jason Stephenson +Date: Wed Oct 3 12:42:01 2012 -0400 + + LP1052941: Internal Server Error when adding to My List in staff client. + + Don't redirect in EGCatLoader/Account.pm when in staff client context and + we're adding to a My List/Bookbag. + + Add a wrapper macro to bookbag_actions.tt2 to wrap the add to book bag URLs + with some javascript that opens a new tab in the staff client. This is to + prevent the staff person from losing their search results as they would if + the new URL were opened in their current tab. + + Signed-off-by: Jason Stephenson + Signed-off-by: Ben Shum + +7 4 Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm +20 10 Open-ILS/src/templates/opac/parts/bookbag_actions.tt2 + +commit c387ad7febf7f3ce9049187e18016fc5aa108e80 +Author: Bill Erickson +Date: Fri Sep 28 16:53:05 2012 -0400 + + "Select All" option in invoice search results + + Adds a new Select All checkbox along the top of the invoice search + results page. + + Signed-off-by: Bill Erickson + Signed-off-by: Lebbeous Fogle-Weekley + +3 0 Open-ILS/src/templates/acq/invoice/view.tt2 +8 0 Open-ILS/web/js/ui/default/acq/invoice/view.js + +commit 33c0f8439f15cb13a0c59adfd8702eb1f68b803f +Author: Dan Scott +Date: Thu Aug 30 11:55:10 2012 -0400 + + Slightly saner login form markup + + Try to provide accessibility via label attributes and move from a + table-within-a-table layout to a single table for the form. + + Signed-off-by: Dan Scott + Signed-off-by: Bill Erickson + +43 124 Open-ILS/src/templates/opac/parts/login/form.tt2 + +commit 30d325f369744adf9fb8ebc4d2f200de5d0a7ee2 +Author: Steven Chan +Date: Wed Jul 25 13:45:40 2012 -0700 + + Fix LP1029095, Acq: Receive Items on an Invoice does not work with Line Item Alerts + + 1. Item reception was encountering a Javascript exception in the + check_lineitem_alerts() helper function, because there was a mismatch + between the input parameter name and the variable name actually used. + + 2. Also, took the opportunity to improve the performance of the for loop + to scan through alerts. + + Signed-off-by: Bill Erickson + +6 4 Open-ILS/web/js/ui/default/acq/invoice/receive.js + +commit d3e30b106d06159c0edf4f9a59e6df5dfd4bd694 +Author: Dan Scott +Date: Tue Aug 28 17:03:28 2012 -0400 + + Use CSS selectors that new XUL can live with + + Just another case of current XUL not liking Dojo 1.3's "dojo.query('foo + bar')" and converting it to "dojo.query('foo').query('bar')" instead. + + This problem manifested as bizarrely large fixed field grids and an + absence of working authority context menus. + + Signed-off-by: Dan Scott + Signed-off-by: Bill Erickson + +3 3 Open-ILS/xul/staff_client/server/cat/marcedit.js + +commit c6a1c0432c437c3e84384cfa6cf83b05900e02ca +Author: Lebbeous Fogle-Weekley +Date: Fri Sep 28 15:26:06 2012 -0400 + + Make scrollOnFocus default to false for dojo-based/conify interfaces + + This change is intended to prevent a phenomenon in certain user + interfaces wherein clicking on a button or other widget can cause a + user's screen to suddenly jump and the user to need to click the widget + a second time before the desired function actually happens. + + Dijits that have the scrollOnFocus property are the ones that tend to + exhibit this issue, especially, but not always, within the staff client + when the user's xulrunner window is not maximized. + + There may be cases of interfaces actually relying on scrollOnFocus to do + something, but I think those cases should be so rare that this is still + worth doing, and exceptions can be applied there as needed. + + Signed-off-by: Lebbeous Fogle-Weekley + Signed-off-by: Ben Shum + +6 1 Open-ILS/web/js/ui/base.js + +commit 9692199c47cb01782cfd3156a2bfd3669fe446e3 +Author: Thomas Berezansky +Date: Tue Jun 19 12:23:09 2012 -0400 + + Can't use README for version, so use configure.ac + + Because one good "this works for now" being broken can be replaced with + another one easily. + + Signed-off-by: Thomas Berezansky + Signed-off-by: Lebbeous Fogle-Weekley + +2 2 Open-ILS/xul/staff_client/Makefile.am + +commit e07ffc9987f47d14db6347ab3f7174412af0d626 +Author: Michael Peters +Date: Mon Oct 1 14:51:31 2012 -0400 + + LP#1020261 Better label for "Host" field in acq.edi_account + + The host field of acq.edi_account is really meant to contain more than just a hostname. + It needs a scheme part, so that the whole contents of the field should be URI-ish, like + + ftp://ftp1.somevendor.com + + Otherwise Evergreen's EDI mechanism can guess wrongly that we want to use + SSH instead of FTP to connect. + + This also adds a description for the field, in the footer, along with the other + "helpers". + + Signed-off-by: Michael Peters + Signed-off-by: Lebbeous Fogle-Weekley + +1 0 Open-ILS/src/templates/conify/global/acq/edi_account.tt2 + +commit 9e10d38b34a90e98ce4298b7fe7b63bdbed3197b +Author: Lebbeous Fogle-Weekley +Date: Wed Jun 27 18:38:19 2012 -0400 + + Add two fields to the new FlattenerGrid-based hold pull list + + Namely (current) copy status and (number of) potential copies. + + I believe this implementation has a negligible impact on the efficiency + of the hold pull list query overall. + + Signed-off-by: Lebbeous Fogle-Weekley + Signed-off-by: Kathy Lussier + +8 1 Open-ILS/examples/fm_IDL.xml +1 0 Open-ILS/src/templates/circ/hold_pull_list.tt2 + +commit 36a51d2b194f6bac647630fbe67d44c2bbb84cf6 +Author: Robert Soulliere +Date: Wed Oct 3 13:21:57 2012 -0400 + + Documentation: Update upgrade instructions to 2.3.0. + + Signed-off-by: Robert Soulliere + +12 12 docs/installation/server_upgrade.txt + +commit 719dd030798e6dfec081af9188904f59e37142ff +Author: Dan Scott +Date: Wed Sep 26 23:13:41 2012 -0400 + + Teach make_release to set the eg_version var + + Signed-off-by: Dan Scott + Signed-off-by: Lebbeous Fogle-Weekley + +1 0 build/tools/make_release + +commit 5c8b83b596f9289a7141d0b566bdccf441319f8c +Author: Galen Charlton +Date: Wed Sep 26 22:54:06 2012 -0400 + + After upgrade, list records with missing or incorrect 901$c + + This is a common cause of pain for upgrades. Let's try to identify the + problem early (even if it takes forever on a site with 3 million bibs) + and offer advice on correcting the problem if it is flagged. + + Signed-off-by: Dan Scott + Signed-off-by: Lebbeous Fogle-Weekley + +20 0 Open-ILS/src/sql/Pg/version-upgrade/2.2-2.3.0-upgrade-db.sql + +commit 06d54e49c37519409df8dd92cc7624779270d7a3 +Author: Dan Scott +Date: Wed Sep 26 22:11:45 2012 -0400 + + Apply the 0715 update during the 2.3.0 upgrade + + Per LP# 1057183, the 0715 update should have been applied during the + 2.1-2.2 upgrade, but appears not to have been - and that ends up + causing problems during the 2.2-2.3 upgrade. Thus we prophylactically + attempt to apply it again. + + Signed-off-by: Dan Scott + Signed-off-by: Lebbeous Fogle-Weekley + +14 0 Open-ILS/src/sql/Pg/version-upgrade/2.2-2.3.0-upgrade-db.sql + +commit 7e565f99e650ddd2a979a53d59416cb424ced8d2 +Author: Dan Scott +Date: Wed Sep 26 22:02:17 2012 -0400 + + Add an explicit "set eg_version" at start of upgrade script + + Thanks to Robert Soulliere for raising this issue in LP# 1057113! + + Signed-off-by: Dan Scott + Signed-off-by: Lebbeous Fogle-Weekley + +3 0 Open-ILS/src/sql/Pg/version-upgrade/2.2-2.3.0-upgrade-db.sql + +commit 0b0a01d34b16078b71c5ac99804fa2a4692ecf84 +Author: Bill Erickson +Date: Wed Sep 26 22:00:03 2012 -0400 + + Add the 2.2-2.3.0 upgrade script + + Cloned from b9a480e7f640e7. + + Signed-off-by: Dan Scott + Signed-off-by: Lebbeous Fogle-Weekley + +2219 0 Open-ILS/src/sql/Pg/version-upgrade/2.2-2.3.0-upgrade-db.sql + create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/2.2-2.3.0-upgrade-db.sql + +commit aaf94d278b24e59000b705d14965d479576c3e54 +Author: Bill Erickson +Date: Mon Sep 24 17:12:11 2012 -0400 + + TPAC added content lookup uses local server address + + Use the current Apache server's IP address instead of apache->hostname + to determine where to route TPAC added content lookups. This allows the + server to handle the added content lookup locally instead of having to + route out and back into the cluster. + + Continue using apache->hostname as the Host header to ensure the proper + virtualhost is used once the request is received. + + Signed-off-by: Bill Erickson + Signed-off-by: Michael Peters + +13 6 Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm + +commit 661fe70abe324c082ab9d6d0c1f01c64e2f4c9ef +Author: Bill Erickson +Date: Mon Sep 24 12:50:47 2012 -0400 + + Added content connect timeout + + Make tpac server-side added content lookups exit after a brief timeout + when the apache module is unable to open a connection to its own + top-level hostname (the virtualhost, apache->hostname). + + As noted in the code comments, even though we are using Net::Server::NB + (non-blocking), it's only non-blocking in the sense of content + retrieval, not in how it calls connect() under the covers. + + Signed-off-by: Bill Erickson + Signed-off-by: Michael Peters + +12 2 Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm + +commit ed4c91efd0b2994f465405a790f308d5e1c36af0 +Author: Lebbeous Fogle-Weekley +Date: Mon May 14 14:50:43 2012 -0400 + + Copy Location Order Editor: avoid interface failure with blank area + + Symptom is "ll is undefined" at line 65 of previous version of this + file. + + Reported by George Duimovich and John Jones. + + Signed-off-by: Lebbeous Fogle-Weekley + Signed-off-by: Ben Shum + +6 3 Open-ILS/web/js/ui/default/conify/global/asset/copy_location_order.js + +commit f3e2ab810f0cf504445ddf166dce0596c421b9a3 +Author: Thomas Berezansky +Date: Thu Sep 20 15:45:05 2012 -0400 + + TPac: Disable "Enter places hold" for staff + + This should prevent barcode scanners from auto-submitting on scan. + + Signed-off-by: Thomas Berezansky + Signed-off-by: Ben Shum + +1 1 Open-ILS/src/templates/opac/parts/place_hold.tt2 +7 0 Open-ILS/web/js/ui/default/opac/staff.js + +commit 18966cef95eca990d4fdd39a6bbb6f36f5350367 +Author: Jeff Godin +Date: Wed Apr 25 02:59:01 2012 -0400 + + Syndetic AC: Add more review sources with comments + + * Add more Syndetic review sources (commented out) + Add additional Syndetic review sources, commented out + for performance reasons -- each source represents a distinct + request from the server to the AC provider, and we currently + lack a means of configuring which are on/off, short of + commenting / uncommenting. + + * Add comments for Syndetics review sources + * Fix file name for School Library Journal reviews, add New + York Times reviews. + + Signed-off-by: Jeff Godin + Signed-off-by: Lebbeous Fogle-Weekley + +18 8 Open-ILS/src/perlmods/lib/OpenILS/WWW/AddedContent/Syndetic.pm + +commit 8292cb5d1e71715187e1adc6cee602bf65b45877 +Author: Bill Erickson +Date: Fri Sep 21 17:10:58 2012 -0400 + + Copy location group searching repairs + + In the get_library BLOCK, upgrade any use of 'loc' to 'locg' instead of + trying to determine which to use in which situation. Before this change, + 'loc' was being used as the loc_name for the main org unit selector, + which should always use 'locg'. For any other cases (related to search + params), it's always safe to use 'locg' over 'loc'. + + Signed-off-by: Bill Erickson + Signed-off-by: Dan Scott + +4 10 Open-ILS/src/templates/opac/parts/misc_util.tt2 + +commit 4dbef40874c931368c52af413860b47e89565d6b +Author: Dan Scott +Date: Fri Sep 28 01:00:54 2012 -0400 + + Docs want a space after the main header + + Formatting gets messed up if we don't have the expected blank line after + the main header. Okay. + + Signed-off-by: Dan Scott + +1 0 docs/opac/new_skin_customizations.txt + +commit a6221b4be39335a48f659807467b167860816920 +Author: Dan Scott +Date: Thu Sep 27 23:52:14 2012 -0400 + + Docs: Minimum list of TPAC templates to customize + + In an effort to help new sites adopt the TPAC and avoid leaving + embarrassing placeholders around, I present... the minimum list! + + Signed-off-by: Dan Scott + +91 0 docs/opac/new_skin_customizations.txt +9 1 docs/root.txt + create mode 100644 docs/opac/new_skin_customizations.txt + +commit 2fed63c6e82e6226c56b16ba4b350b30bee58e11 +Author: Ben Shum +Date: Wed Sep 5 17:02:43 2012 -0400 + + Make relator_map script executable + + Signed-off-by: Ben Shum + +0 0 build/tools/relator_map + mode change 100644 => 100755 build/tools/relator_map + +commit 788dc1ff65856c627e05f7deeb37541dd422edff +Author: Dan Scott +Date: Wed Sep 5 00:27:03 2012 -0400 + + TPAC: Fine-grained credits in record details + + For 7xx fields with $4 subfields containing relator codes, generate a + relator code map from http://www.loc.gov/marc/relators/relacode.html + that we can use in the record details to provide specific credits, + rather than the generic (and often inappropriate) "Added author" label. + + For example: + + 700 1. ‡aMaley, Desmond, ‡d1954- ‡4prf. + + This now generates "Maley, Desmond, 1954- (Performer)" in the record + details credit section. + + Signed-off-by: Dan Scott + Signed-off-by: Ben Shum + +8 5 Open-ILS/src/templates/opac/parts/record/authors.tt2 +228 0 Open-ILS/src/templates/opac/parts/relators.tt2 +72 0 build/tools/relator_map + create mode 100644 Open-ILS/src/templates/opac/parts/relators.tt2 + create mode 100644 build/tools/relator_map diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application.pm index cd4dbbf9c0..b3c6e6786b 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application.pm @@ -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-1"; } __PACKAGE__->register_method( diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 1a5775fc33..64a87e9ec0 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -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 ('0742', :eg_version); -- dbs/senator +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('2.3.1', :eg_version); CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/version-upgrade/2.3.0-2.3.1-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/2.3.0-2.3.1-upgrade-db.sql new file mode 100644 index 0000000000..089b799d1e --- /dev/null +++ b/Open-ILS/src/sql/Pg/version-upgrade/2.3.0-2.3.1-upgrade-db.sql @@ -0,0 +1,271 @@ +--Upgrade Script for 2.3.0 to 2.3.1 +BEGIN; +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('2.3.1', :eg_version); + +SELECT evergreen.upgrade_deps_block_check('0740', :eg_version); + +CREATE OR REPLACE + FUNCTION metabib.suggest_browse_entries( + raw_query_text TEXT, -- actually typed by humans at the UI level + search_class TEXT, -- 'alias' or 'class' or 'class|field..', etc + headline_opts TEXT, -- markup options for ts_headline() + visibility_org INTEGER,-- null if you don't want opac visibility test + query_limit INTEGER,-- use in LIMIT clause of interal query + normalization INTEGER -- argument to TS_RANK_CD() + ) RETURNS TABLE ( + value TEXT, -- plain + field INTEGER, + buoyant_and_class_match BOOL, + field_match BOOL, + field_weight INTEGER, + rank REAL, + buoyant BOOL, + match TEXT -- marked up + ) AS $func$ +DECLARE + prepared_query_texts TEXT[]; + query TSQUERY; + plain_query TSQUERY; + opac_visibility_join TEXT; + search_class_join TEXT; + r_fields RECORD; +BEGIN + prepared_query_texts := metabib.autosuggest_prepare_tsquery(raw_query_text); + + query := TO_TSQUERY('keyword', prepared_query_texts[1]); + plain_query := TO_TSQUERY('keyword', prepared_query_texts[2]); + + visibility_org := NULLIF(visibility_org,-1); + IF visibility_org IS NOT NULL THEN + opac_visibility_join := ' + JOIN asset.opac_visible_copies aovc ON ( + aovc.record = x.source AND + aovc.circ_lib IN (SELECT id FROM actor.org_unit_descendants($4)) + )'; + ELSE + opac_visibility_join := ''; + END IF; + + -- The following determines whether we only provide suggestsons matching + -- the user's selected search_class, or whether we show other suggestions + -- too. The reason for MIN() is that for search_classes like + -- 'title|proper|uniform' you would otherwise get multiple rows. The + -- implication is that if title as a class doesn't have restrict, + -- nor does the proper field, but the uniform field does, you're going + -- to get 'false' for your overall evaluation of 'should we restrict?' + -- To invert that, change from MIN() to MAX(). + + SELECT + INTO r_fields + MIN(cmc.restrict::INT) AS restrict_class, + MIN(cmf.restrict::INT) AS restrict_field + FROM metabib.search_class_to_registered_components(search_class) + AS _registered (field_class TEXT, field INT) + JOIN + config.metabib_class cmc ON (cmc.name = _registered.field_class) + LEFT JOIN + config.metabib_field cmf ON (cmf.id = _registered.field); + + -- evaluate 'should we restrict?' + IF r_fields.restrict_field::BOOL OR r_fields.restrict_class::BOOL THEN + search_class_join := ' + JOIN + metabib.search_class_to_registered_components($2) + AS _registered (field_class TEXT, field INT) ON ( + (_registered.field IS NULL AND + _registered.field_class = cmf.field_class) OR + (_registered.field = cmf.id) + ) + '; + ELSE + search_class_join := ' + LEFT JOIN + metabib.search_class_to_registered_components($2) + AS _registered (field_class TEXT, field INT) ON ( + _registered.field_class = cmc.name + ) + '; + END IF; + + RETURN QUERY EXECUTE ' +SELECT DISTINCT + x.value, + x.id, + x.push, + x.restrict, + x.weight, + x.ts_rank_cd, + x.buoyant, + TS_HEADLINE(value, $7, $3) + FROM (SELECT DISTINCT + mbe.value, + cmf.id, + cmc.buoyant AND _registered.field_class IS NOT NULL AS push, + _registered.field = cmf.id AS restrict, + cmf.weight, + TS_RANK_CD(mbe.index_vector, $1, $6), + cmc.buoyant, + mbedm.source + FROM metabib.browse_entry_def_map mbedm + JOIN (SELECT * FROM metabib.browse_entry WHERE index_vector @@ $1 LIMIT 10000) mbe ON (mbe.id = mbedm.entry) + JOIN config.metabib_field cmf ON (cmf.id = mbedm.def) + JOIN config.metabib_class cmc ON (cmf.field_class = cmc.name) + ' || search_class_join || ' + ORDER BY 3 DESC, 4 DESC NULLS LAST, 5 DESC, 6 DESC, 7 DESC, 1 ASC + LIMIT 1000) AS x + ' || opac_visibility_join || ' + ORDER BY 3 DESC, 4 DESC NULLS LAST, 5 DESC, 6 DESC, 7 DESC, 1 ASC + LIMIT $5 +' -- sic, repeat the order by clause in the outer select too + USING + query, search_class, headline_opts, + visibility_org, query_limit, normalization, plain_query + ; + + -- sort order: + -- buoyant AND chosen class = match class + -- chosen field = match field + -- field weight + -- rank + -- buoyancy + -- value itself + +END; +$func$ LANGUAGE PLPGSQL; + + +SELECT evergreen.upgrade_deps_block_check('0742', :eg_version); + +-- Prepare for the July 2013 introduction of OCLC's "on" prefix +-- Per LP# 1049171 + +CREATE OR REPLACE FUNCTION maintain_control_numbers() RETURNS TRIGGER AS $func$ +use strict; +use MARC::Record; +use MARC::File::XML (BinaryEncoding => 'UTF-8'); +use MARC::Charset; +use Encode; +use Unicode::Normalize; + +MARC::Charset->assume_unicode(1); + +my $record = MARC::Record->new_from_xml($_TD->{new}{marc}); +my $schema = $_TD->{table_schema}; +my $rec_id = $_TD->{new}{id}; + +# Short-circuit if maintaining control numbers per MARC21 spec is not enabled +my $enable = spi_exec_query("SELECT enabled FROM config.global_flag WHERE name = 'cat.maintain_control_numbers'"); +if (!($enable->{processed}) or $enable->{rows}[0]->{enabled} eq 'f') { + return; +} + +# Get the control number identifier from an OU setting based on $_TD->{new}{owner} +my $ou_cni = 'EVRGRN'; + +my $owner; +if ($schema eq 'serial') { + $owner = $_TD->{new}{owning_lib}; +} else { + # are.owner and bre.owner can be null, so fall back to the consortial setting + $owner = $_TD->{new}{owner} || 1; +} + +my $ous_rv = spi_exec_query("SELECT value FROM actor.org_unit_ancestor_setting('cat.marc_control_number_identifier', $owner)"); +if ($ous_rv->{processed}) { + $ou_cni = $ous_rv->{rows}[0]->{value}; + $ou_cni =~ s/"//g; # Stupid VIM syntax highlighting" +} else { + # Fall back to the shortname of the OU if there was no OU setting + $ous_rv = spi_exec_query("SELECT shortname FROM actor.org_unit WHERE id = $owner"); + if ($ous_rv->{processed}) { + $ou_cni = $ous_rv->{rows}[0]->{shortname}; + } +} + +my ($create, $munge) = (0, 0); + +my @scns = $record->field('035'); + +foreach my $id_field ('001', '003') { + my $spec_value; + my @controls = $record->field($id_field); + + if ($id_field eq '001') { + $spec_value = $rec_id; + } else { + $spec_value = $ou_cni; + } + + # Create the 001/003 if none exist + if (scalar(@controls) == 1) { + # Only one field; check to see if we need to munge it + unless (grep $_->data() eq $spec_value, @controls) { + $munge = 1; + } + } else { + # Delete the other fields, as with more than 1 001/003 we do not know which 003/001 to match + foreach my $control (@controls) { + $record->delete_field($control); + } + $record->insert_fields_ordered(MARC::Field->new($id_field, $spec_value)); + $create = 1; + } +} + +my $cn = $record->field('001')->data(); +# Special handling of OCLC numbers, often found in records that lack 003 +if ($cn =~ /^o(c[nm]|n)\d/) { + $cn =~ s/^o(c[nm]|n)0*(\d+)/$2/; + $record->field('003')->data('OCoLC'); + $create = 0; +} + +# Now, if we need to munge the 001, we will first push the existing 001/003 +# into the 035; but if the record did not have one (and one only) 001 and 003 +# to begin with, skip this process +if ($munge and not $create) { + + my $scn = "(" . $record->field('003')->data() . ")" . $cn; + + # Do not create duplicate 035 fields + unless (grep $_->subfield('a') eq $scn, @scns) { + $record->insert_fields_ordered(MARC::Field->new('035', '', '', 'a' => $scn)); + } +} + +# Set the 001/003 and update the MARC +if ($create or $munge) { + $record->field('001')->data($rec_id); + $record->field('003')->data($ou_cni); + + my $xml = $record->as_xml_record(); + $xml =~ s/\n//sgo; + $xml =~ s/^<\?xml.+\?\s*>//go; + $xml =~ s/>\s+entityize() + # to avoid having to set PERL5LIB for PostgreSQL as well + + # If we are going to convert non-ASCII characters to XML entities, + # we had better be dealing with a UTF8 string to begin with + $xml = decode_utf8($xml); + + $xml = NFC($xml); + + # Convert raw ampersands to entities + $xml =~ s/&(?!\S+;)/&/gso; + + # Convert Unicode characters to entities + $xml =~ s/([\x{0080}-\x{fffd}])/sprintf('&#x%X;',ord($1))/sgoe; + + $xml =~ s/[\x00-\x1f]//go; + $_TD->{new}{marc} = $xml; + + return "MODIFY"; +} + +return; +$func$ LANGUAGE PLPERLU; + +COMMIT; diff --git a/Open-ILS/xul/staff_client/chrome/content/main/about.html b/Open-ILS/xul/staff_client/chrome/content/main/about.html index 2609bb6b3f..bb0030681b 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/about.html +++ b/Open-ILS/xul/staff_client/chrome/content/main/about.html @@ -1,7 +1,7 @@

Evergreen

Target Server ID:

-

$HeadURL$

+

http://git.evergreen-ils.org/Evergreen.git?h=refs/heads/rel_2_3_1

What is Evergreen?

diff --git a/Open-ILS/xul/staff_client/defaults/preferences/prefs.js b/Open-ILS/xul/staff_client/defaults/preferences/prefs.js index 6352b6e04e..74aa50ae4e 100644 --- a/Open-ILS/xul/staff_client/defaults/preferences/prefs.js +++ b/Open-ILS/xul/staff_client/defaults/preferences/prefs.js @@ -11,7 +11,7 @@ pref("toolkit.singletonWindowType", "eg_main"); pref("open-ils.enable_join_tabs", true); // We'll use this one to help brand some build information into the client, and rely on subversion keywords -pref("open-ils.repository.headURL","$HeadURL$"); +pref("open-ils.repository.headURL","http://git.evergreen-ils.org/Evergreen.git?h=refs/heads/rel_2_3_1"); pref("open-ils.repository.author","$Author$"); pref("open-ils.repository.revision","$Revision$"); pref("open-ils.repository.date","$Date$"); diff --git a/Open-ILS/xul/staff_client/windowssetup.nsi b/Open-ILS/xul/staff_client/windowssetup.nsi index e0bc1ef5df..e7e96bb1ed 100644 --- a/Open-ILS/xul/staff_client/windowssetup.nsi +++ b/Open-ILS/xul/staff_client/windowssetup.nsi @@ -3,7 +3,7 @@ ; HM NIS Edit Wizard helper defines ; Old versions of makensis don't like this, moved to Makefile ;!define /file PRODUCT_VERSION "client/VERSION" -!define PRODUCT_TAG "Master" +!define PRODUCT_TAG "2.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 index b57451acb4..0000000000 --- a/README +++ /dev/null @@ -1 +0,0 @@ -docs/installation/server_installation.txt \ No newline at end of file diff --git a/README b/README new file mode 100644 index 0000000000..a9ccca2244 --- /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 below: ++ +[source, bash] +------------------------------------------------------------------------------ +make -f Open-ILS/src/extras/Makefile.install +------------------------------------------------------------------------------ ++ +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_1 install +------------------------------------------------------------------------------ ++ +2. The server portion of the staff client expects `http://hostname/xul/server` + to resolve. Issue the following commands as the *root* Linux account to + create a symbolic link pointing to the `server` subdirectory of the server + portion of the staff client that we just built using the staff client ID + 'rel_name': ++ +[source, bash] +------------------------------------------------------------------------------ +cd /openils/var/web/xul +ln -sf rel_name/server server +------------------------------------------------------------------------------ + +Change ownership of the Evergreen files +--------------------------------------- + +All files in the `/openils/` directory and subdirectories must be owned by the +`opensrf` user. Issue the following command as the *root* Linux account to +change the ownership on the files: + +[source, bash] +------------------------------------------------------------------------------ +chown -R opensrf:opensrf /openils +------------------------------------------------------------------------------ + +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] +------------------------------------------------------------------------------ + + StartServers 20 + MinSpareServers 5 + MaxSpareServers 15 + MaxClients 150 + MaxRequestsPerChild 10000 + +------------------------------------------------------------------------------ ++ +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 , , +, , and with the appropriate values for your +PostgreSQL database (where and are for the *evergreen* +PostgreSQL account you just created), and replace and +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 --password --hostname --port \ + --database --admin-user --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= -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 +------------------------------------------------------------------------------ + +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. diff --git a/build/tools/make_release b/build/tools/make_release index 18eac290c7..24db8e5dca 100755 --- a/build/tools/make_release +++ b/build/tools/make_release @@ -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_1" HEADURL="$HEADURLBASE$GIT_BRANCH" # Drop to the root of the checkout diff --git a/configure.ac b/configure.ac index 89e64f6829..3481bb0604 100644 --- a/configure.ac +++ b/configure.ac @@ -20,8 +20,8 @@ export PATH=${PATH}:/usr/sbin AC_PREREQ(2.61) -AC_INIT(Open-ILS, trunk, open-ils-dev@list.georgialibraries.org) -AM_INIT_AUTOMAKE([OpenILS], [trunk]) +AC_INIT(Open-ILS, 2.3.1, open-ils-dev@list.georgialibraries.org) +AM_INIT_AUTOMAKE([OpenILS], [2.3.1]) AC_REVISION($Revision: 0.1 $) AC_CONFIG_SRCDIR([configure.ac]) AC_PREFIX_DEFAULT([/openils/]) -- 2.11.0