Upgrade notes
Log Protect (redaction)
To prevent sensitive information such as passwords from being logged
in general activity logs, add the following XML chunk to the bottom of
opensrf_core.xml
, just inside the <config>
section:
... </routers> <shared> <!-- new block starts here --> <log_protect> <match_string>open-ils.auth.authenticate.verify</match_string> <match_string>open-ils.auth.authenticate.complete</match_string> <match_string>open-ils.auth_proxy.login</match_string> <match_string>open-ils.actor.user.password</match_string> <match_string>open-ils.actor.user.username</match_string> <match_string>open-ils.actor.user.email</match_string> <match_string>open-ils.actor.patron.update</match_string> <match_string>open-ils.cstore.direct.actor.user.create</match_string> <match_string>open-ils.cstore.direct.actor.user.update</match_string> <match_string>open-ils.cstore.direct.actor.user.delete</match_string> </log_protect> </shared> <!-- new block ends here --> </config>
Installation enhancements
-
eg_db_config.pl
now has a--create-database
option to automatically create the database and add the required contrib modules/extensions, rather than requiring users to carry out a number of error-prone manual steps. -
The OpenILS Perl modules are now installed in the system Perl package directories. In prior versions, they were typically installed in
/openils/lib/perl5
. -
README is now the single source of install instructions
Administration enhancements
-
Automatic client updates: It is now possible to build staff clients that, when they connect to the Evergreen server, automatically check to see if the staff client has been updated. If so, the staff client can download just the files that have been updated and replace those files in the existing staff client.
-
Printing subsystem: Changes to the staff client should improve the print functionality (both speed and likelihood of success).
-
To protect against exploits between a shared staff client session via operator change, add the requirement for the DEBUG_CLIENT permission to invoke debugging functions such as the Javascript Shell or DOM Inspector in the staff client.
Cataloging enhancements
-
Unified copy / call number editor: The default holdings maintenance interface now enables cataloguers to edit copies and call numbers on a single screen.
-
Call number prefixes and suffixes: While previous releases of Evergreen supported the automatic prepending or appending of prefixes and suffixes to call numbers based on their shelving location, the functionality was limited primarily to printing spine labels. As of 2.1, you also have the option to assign prefixes or suffixes for individual call numbers; these will be displayed in the public catalogue and other interfaces, but prefixes in particular do not affect shelf browsing, which is based entirely on the label.
-
Bibliographic parts: This feature adds the ability to designate specific "part" roles for the items attached to a given bibliographic record, such that a user can place holds on a specific kind of item without limiting it to an individual item. For example, libraries may assign parts to each DVD in a season of a popular TV show; or to individual volumes of an encyclopedia. This feature also introduces "part holds".
-
Conjoined items: This feature adds the ability to associate a single barcode with multiple bibliographic records, so that the availability of those records is updated based on that copy. For example, libraries may make an electronic reader available for loan that is preloaded with 1000 electronic books; they can add 1000 bibliographic records to the library system and associate them all with a single barcode, so that when the electronic reader is signed out, the availability for all 1000 records changes to "Checked out".
Circulation improvements
-
Transfer selected holds to a different title: It is now possible to select multiple holds on a given title and transfer them to a different title. Use case: Your library acquires another copy of "Pride and Prejudice and Zombies", but as it is a new edition it must be cataloged as a new bibliographic record; however, you would like to spread out some of the holds queue from your current edition to the new edition.
-
Mark patron as exempt from billing collections: It is now possible to mark a patron as being exempt from being sent to collections.
-
Hold-driven recalls: It is now possible to define a loan period threshold (such as 60 days) so that if a hold is placed on an item with a loan period beyond that threshold, the system will automatically shorten the loan period to a specified value; change the fine rules; and send email notification to the person who currently holds the item saying "A hold has been placed on this item, get it back before <new_due_date>".
-
Weighting of the individual fields of the in-database circulation and holds rules can now be configured, rather than using hard-coded values. This allows the importance of each field to be adjusted as needed through the circulation matrix weighting, hold matrix weighting, and weighting associations settings.
-
The in-database circulation rules support "fall-through" wherein some information can be left out of more specific rules and filled in from less specific rules. For example, disabling fines for staff could be accomplished with a single rule setting only the fine rate and/or max fine rules, without having to duplicate all duration related rules in the system.
-
Grace periods are now stored in the database and set via circulation rules, rather than passed into the fine generation code, and can thus differ between different rules. They are also no longer based on a number of fine intervals, but are instead defined by their own specific interval. This can eliminate problems with closed date interpretation during grace periods.
Public interface improvements
-
Spell-checking suggestions are now case-insensitive, to avoid generating terms which would yield the same result set.
-
Part holds: patrons are guided to select a specific part if they are placing a hold on a bibliographic record that has parts assigned to its copies.
-
Located URI visibility: Located URIs (856 fields with a subfield $9 specifying the shortname of the owning library) now show up in a search with a context library of its owning library or below. For example, a Located URI with an owner of SYS1 will cause its record to show up in a search with a context OU of BR1 or SYS1, regardless of depth scoping.
-
Set a JavaScript cache token when
autogen.sh
is run, so that a subsequent run ofautogen.sh
will automatically cause browsers to fetch refreshed copies of generated files. This improves the usability of the catalog after upgrades or certain configuration changes by preventing browsers from relying on stale cached copies of these files.
Serials enhancements
-
Routing lists: it is now possible to define and print routing lists for subscriptions.
-
Clone subscriptions: new functionality available in the alternate serials control view to clone subscriptions, thereby speeding initial setup of a lot of subscriptions.
-
MFHD/Distribution summary methods: enable the summary method field for generating summary holdings statements from the distribution and/or the record entry (i.e., the MFHD). The four options that are available are:
-
Add to record entry
-
Merge with record entry
-
Use record entry only
-
Do not use record entry
-
-
Advanced receiving: rename the previous serials receiving interface to "advanced receiving". The new "receive" interface will now show items from an entire subscription, but not allow you to receive directly into a specific unit.
-
Unit-less receiving: new option for receiving serials into a no unit, allowing items to be received but not unitized (i.e., created as a circulating copy record). This allows issues to be received for reading room or non-circulating use.
-
Caption/pattern enhancements:
-
The Caption/Pattern Wizard now includes a graphical way to include regularity information (that is, the values typically conveyed in the
85x
subfield$y
). -
The Alternate Serials Control interface can now import caption and pattern information from the 85x fields of the MFHD record, allowing the Caption/Pattern Wizard to be bypassed.
-
-
Can now create one-off issuances for unpredicted or unexpected serial issues.
-
Improvements to the copy template editor for serials, including the addition of reasonable default values for some fields.
-
Various minor interface improvements, including new links between various pages in the serials control interfaces and removing redundant questions from the holding code mini-wizard.
-
Bugfixes to the batch receive interface.
Staff client improvements
-
The client supports new hotkey sets that are selectable per workstation. In addition, there is now a toggle for temporarily disabling hotkeys available on the toolbar and in the admin menu.
-
The client has a second toolbar for cataloging functions as well as options controlling the presence and size of icons and presence and position of labels. To support the preferences of individual staff, each workstation can be configured differently. See the Admin → Workstation Administration → Toolbars sub-menu for options.
-
Patron registration now supports "Suggested" fields that are configurable per library. In addition, library settings allow required fields to be adjusted, and it is possible to specify regular expressions to validate input for many fields in the patron registration interface. Open Admin → Local Administration → Library Settings Editor and filter on
GUI
.
New configuration and administration settings
New opensrf.xml
settings
(The path to these settings is relative to /opensrf/default/apps/
).
-
open-ils.search/app_settings/default_CD_modifiers
: parameters to the cover density ranking function used to calculate relevance during bibliographic searches. -
open-ils.trigger/app_settings/parallel/collect
: number of parallel processes thataction_trigger_runner.pl
should use when collecting events. Setting this can decrease the time it takes for Action/Trigger processing to run on large Evergreen databases. -
open-ils.trigger/app_settings/parallel/react
: number of parallel processes thataction_trigger_runner.pl
should use when processing event reactors. Setting this can decrease the time it takes for Action/Trigger processing to run on large Evergreen databases. -
open-ils.resolver/app_settings/cache_timeout
: how long to cache results from your OpenURL resolver. -
open-ils.resolver/app_settings/default_url_base
: set to the base URL of your OpenURL resolver.
In addition, the default_preferred_language
and default_preferred_language_weight
settings have been moved from the open-ils.storage
section to the open-ils.search
section of opensrf.xml
.
New administration pages
The following new administration pages can all be accessed
from the Admin | Server Administration
menu item in the staff client:
-
Call Number Prefixes: Populates a drop down menu in the new Unified Copy / Call Number Editor
-
Call Number Suffixes: Populates a drop down menu in the new Unified Copy / Call Number Editor
-
Circulation Matchpoint Weights: Related to the in-database Circulation and Hold Rule configuration changes
-
Hold Matchpoint Weights: Related to the in-database Circulation and Hold Rule configuration changes
-
MARC Coded Value Maps: Sets labels for fixed fields and extends the set of values for display
-
MARC Record Attributes: Sets labels for fixed fields and extends the set of values for display
-
Weights Associations: Related to the in-database Circulation and Hold Rule configuration changes
New library settings
Label | Description |
---|---|
Cataloging: Default copy status (fast add) |
Default status when a copy is created using the "Fast Add" interface. |
Cataloging: Default copy status (normal) |
Default status when a copy is created using the normal volume/copy creator interface. |
GUI: Default Hotkeyset |
Default Hotkeyset for clients (filename without the .keyset). Examples: Default, Minimal, and None |
GUI: Default showing suggested patron registration fields |
Instead of All fields, show just suggested fields in patron registration by default. |
GUI: Example for day_phone field on patron registration |
The Example for validation on the day_phone field in patron registration. |
GUI: Example for email field on patron registration |
The Example for validation on the email field in patron registration. |
GUI: Example for evening_phone field on patron registration |
The Example for validation on the evening_phone field in patron registration. |
GUI: Example for other_phone field on patron registration |
The Example for validation on the other_phone field in patron registration. |
GUI: Example for phone fields on patron registration |
The Example for validation on phone fields in patron registration. Applies to all phone fields without their own setting. |
GUI: Example for post_code field on patron registration |
The Example for validation on the post_code field in patron registration. |
GUI: Horizontal layout for Volume/Copy Creator/Editor. |
The main entry point for this interface is in Holdings Maintenance, Actions for Selected Rows, Edit Item Attributes / Call Numbers / Replace Barcodes. This setting changes the top and bottom panes for that interface into left and right panes. |
GUI: Regex for day_phone field on patron registration |
The Regular Expression for validation on the day_phone field in patron registration. |
GUI: Regex for email field on patron registration |
The Regular Expression for validation on the email field in patron registration. |
GUI: Regex for evening_phone field on patron registration |
The Regular Expression for validation on the evening_phone field in patron registration. |
GUI: Regex for other_phone field on patron registration |
The Regular Expression for validation on the other_phone field in patron registration. |
GUI: Regex for phone fields on patron registration |
The Regular Expression for validation on phone fields in patron registration. Applies to all phone fields without their own setting. |
GUI: Regex for post_code field on patron registration |
The Regular Expression for validation on the post_code field in patron registration. |
GUI: Require county field on patron registration |
The county field will be required on the patron registration screen. |
GUI: Require day_phone field on patron registration |
The day_phone field will be required on the patron registration screen. |
GUI: Require dob field on patron registration |
The dob field will be required on the patron registration screen. |
GUI: Require email field on patron registration |
The email field will be required on the patron registration screen. |
GUI: Require evening_phone field on patron registration |
The evening_phone field will be required on the patron registration screen. |
GUI: Require other_phone field on patron registration |
The other_phone field will be required on the patron registration screen. |
GUI: Show active field on patron registration |
The active field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show alert_message field on patron registration |
The alert_message field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show alias field on patron registration |
The alias field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show barred field on patron registration |
The barred field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show calendar widget for dob field on patron registration |
If set the calendar widget will appear when editing the dob field on the patron registration form. |
GUI: Show claims_never_checked_out_count field on patron registration |
The claims_never_checked_out_count field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show claims_returned_count field on patron registration |
The claims_returned_count field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show day_phone field on patron registration |
The day_phone field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show dob field on patron registration |
The dob field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show email field on patron registration |
The email field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show evening_phone field on patron registration |
The evening_phone field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show ident_value field on patron registration |
The ident_value field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show ident_value2 field on patron registration |
The ident_value2 field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show juvenile field on patron registration |
The juvenile field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show master_account field on patron registration |
The master_account field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show other_phone field on patron registration |
The other_phone field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show second_given_name field on patron registration |
The second_given_name field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Show suffix field on patron registration |
The suffix field will be shown on the patron registration screen. Showing a field makes it appear with required fields even when not required. If the field is required this setting is ignored. |
GUI: Suggest active field on patron registration |
The active field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest alert_message field on patron registration |
The alert_message field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest alias field on patron registration |
The alias field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest barred field on patron registration |
The barred field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest claims_never_checked_out_count field on patron registration |
The claims_never_checked_out_count field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest claims_returned_count field on patron registration |
The claims_returned_count field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest day_phone field on patron registration |
The day_phone field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest dob field on patron registration |
The dob field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest email field on patron registration |
The email field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest evening_phone field on patron registration |
The evening_phone field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest ident_value field on patron registration |
The ident_value field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest ident_value2 field on patron registration |
The ident_value2 field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest juvenile field on patron registration |
The juvenile field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest master_account field on patron registration |
The master_account field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest other_phone field on patron registration |
The other_phone field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest second_given_name field on patron registration |
The second_given_name field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Suggest suffix field on patron registration |
The suffix field will be suggested on the patron registration screen. Suggesting a field makes it appear when suggested fields are shown. If the field is shown or required this setting is ignored. |
GUI: Unified Volume/Item Creator/Editor |
If true combines the Volume/Copy Creator and Item Attribute Editor in some instances. |
Printing: Custom Javascript File |
Full URL path to a Javascript File to be loaded when printing. Should implement a print_custom function for DOM manipulation. Can change the value of the do_print variable to false to cancel printing. |
Recalls: An array of fine amount, fine interval, and maximum fine. |
Recalls: An array of fine amount, fine interval, and maximum fine. For example, to specify a new fine rule of $5.00 per day, with a maximum fine of $50.00, use: [5.00,"1 day",50.00] |
Recalls: Circulation duration that triggers a recall. |
Recalls: A hold placed on an item with a circulation duration longer than this will trigger a recall. For example, "14 days" or "3 weeks". |
Recalls: Truncated loan period. |
Recalls: When a recall is triggered, this defines the adjusted loan period for the item. For example, "4 days" or "1 week". |
New user permissions
Code | Description |
---|---|
ADMIN_CODED_VALUE |
Create/Update/Delete SVF Record Attribute Coded Value Map |
ADMIN_SERIAL_ITEM |
Create/Retrieve/Update/Delete Serial Item |
ADMIN_SVF |
Create/Update/Delete SVF Record Attribute Defintion |
CREATE_BIB_PTYPE |
Create Bibliographic Record Peer Type |
CREATE_MONOGRAPH_PART |
Create monograph part definition. |
CREATE_PURCHASE_REQUEST |
Create User Purchase Request |
CREATE_VOLUME_PREFIX |
Create prefix label definition. |
CREATE_VOLUME_SUFFIX |
Create suffix label definition. |
DEBUG_CLIENT |
Allows a user to use debug functions in the staff client |
DELETE_BIB_PTYPE |
Delete Bibliographic Record Peer Type |
DELETE_MONOGRAPH_PART |
Delete monograph part definition. |
DELETE_VOLUME_PREFIX |
Delete prefix label definition. |
DELETE_VOLUME_SUFFIX |
Delete suffix label definition. |
MAP_MONOGRAPH_PART |
Create/Update/Delete Copy Monograph Part Map |
MARK_ITEM_MISSING_PIECES |
Allows the Mark Item Missing Pieces action. |
UPDATE_BIB_PTYPE |
Update Bibliographic Record Peer Type |
UPDATE_HOLD_REQUEST_TIME |
Allows editing of a hold’s request time, and/or its Cut-in-line/Top-of-queue flag. |
UPDATE_MONOGRAPH_PART |
Update monograph part definition. |
UPDATE_PATRON_COLLECTIONS_EXEMPT |
Allows a user to indicate that a patron is exempt from collections processing |
UPDATE_PICKLIST |
Allows update/re-use of an acquisitions pick/selection list. |
UPDATE_VOLUME_PREFIX |
Update prefix label definition. |
UPDATE_VOLUME_SUFFIX |
Update suffix label definition. |
UPDATE_WORKSTATION |
Allows update of a workstation during workstation registration override. |
VIEW_USER_SETTING_TYPE |
Allows viewing of configurable user setting types. |