1. Upgrade notes
1.1. 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>
1.2. Z39.50 Server Definitions
Z39.50 server target definitions have been removed from the sample opensrf.xml.example file. To migrate existing settings from your opensrf.xml configuration file to the database, peform the following steps:
First, set up your custom Z39.50 sources in the database. For each entry in z3950/services, map the following XML paths to the corresponding config.z3950_source table column as follows:
z3950/services/<entry> = name
//<entry>/name = label
//<entry>/host = host
//<entry>/port = port
//<entry>/db = db
//<entry>/record_format = record_format
//<entry>/transmission_format = transmission_format
Then, for each attribute defined in the <attrs> element for a given service, map the following XML paths to the corresponding config.z3950_attr table column as follows:
z3950/services/<entry> = source
//<entry>/attrs/<attr> = name
//<entry>/attrs/<attr>/code = code
//<entry>/attrs/<attr>/format = format
After adding the new Z39.50 sources and corresponding attributes, you will need to log out of the staff client and log back into the staff client to retrieve the new entry values. If a given Z39.50 server does not work for a given attribute, pay attention to the truncation column for the attribute.
2. New features
2.1.1. Custom Org Unit Trees
Evergreen enables you to create an organizational tree that describes the systems, branches, or other units that comprise your organization. By default, the org unit tree that appears to patrons in the OPAC is identical to the one that appears to users of the staff client. Using this feature, you can condense or re-order the organizational tree into a simpler structure for patrons using the OPAC while maintaining the complex organizational tree that is available to users of the staff client.
As a further enhancement, you can hide a parental org unit yet still make its child org units visible in the OPAC. In previous versions of Evergreen, child org units inherited the visibility setting of their parents.
Documentation for this feature is available in the Book of Evergreen at http://docs.evergreen-ils.org/2.2/
2.1.2. Fine Accrual on Closed Dates
By default, fines accrue only on dates that the library is open. This feature enables you to charge patrons fines on dates the library is closed. Fines accrue during scheduled closings as well as during normal weekly closed dates.
Documentation for this feature is available in the Book of Evergreen at http://docs.evergreen-ils.org/2.2/
2.1.3. Target Copies for Holds at Closed Libraries
By default, when a patron places a hold on a title, the hold targeter will search for copies to fill the hold only at circulating libraries that are open. Copies at closed libraries are not targeted to fill holds. When turned on, this feature enables Evergreen to target copies that have closed circulating libraries to fill holds. Two new org unit settings control this feature.
Documentation for this feature is available in the Book of Evergreen at http://docs.evergreen-ils.org/2.2/
2.2.1. Template Toolkit OPAC (TPAC)
The basic catalog has been replaced by the Template Toolkit OPAC (TPAC). Compared to the traditional catalog (JSPAC), TPAC uses far fewer network calls for each page, resulting in faster loading pages. TPAC is built on the Template Toolkit language to enable simple but powerful customization, and supports integrated gettext-based translation for strings—including placeholders and quantities—for better internationalization support.
The next feature release of Evergreen will make TPAC the primary catalog and deprecate the use of the JSPAC.
2.2.2. Auto Suggest in Catalog Search
The auto suggest feature suggests the completion of search terms as the user enters his query. By default, the user will see ten suggestions although this number is configurable at the database level. Scroll through suggestions with your mouse, or use the arrow keys to scroll through the suggestions. Select a suggestion to view records that are linked to this suggestion.
This feature is not turned on by default. You must turn it on in the Admin module.
2.2.3. Copy Location Groups
This feature allows staff to create and name sets of copy locations to use as a search filter in the catalog. OPAC-visible groups will display within the library selector in the template toolkit OPAC. When a user selects a group and performs a search, the set of results will be limited to records that have copies in one of the copy locations within the group. Groups can live at any level of the library hierarchy and may include copy locations from any parent org unit or child org unit.
For advanced users, this change includes a new Query Parser filter called location_groups().
2.2.4. My Lists
The My Lists feature replaces the bookbag feature that was available in versions proior to 2.2. This feature enables you to create temporary and permanent lists; create and edit notes for items in lists; place holds on items in lists; and share lists via RSS feeds and CSV files.
2.2.5. SMS Text Messaging
The SMS Text Messaging feature enables users to receive hold notices via text message. Users can opt-in to this hold notification as their default setting for all holds, or they can receive specific hold notifications via text message. Users can also send call numbers and copy locations via text message.
2.2.6. New Patron Preferences
Users will now have the ability to designate the following preferences in the Template Toolkit catalog (TPAC):
A preferred search location. Unlike the default search library in JSPAC, this setting will also control which copies display first in search results and record detail screens.
A preferred pickup location.
The ability to keep a history of checked out items.
The ability to keep a history of holds.
2.2.7. Credit Card Payment via Public Catalog
Patrons can now use credit cards to pay fines and bills in My Account of the TPAC.
2.2.8. Record Detail Print and E-mail Actions
Implements Print and Email actions as links below the Add to List link in the TPAC record detail page.
2.2.9. Identify Previously-Checked-Out Items in Search Results
When a user is logged into the TPAC and performs a search, this feature indicates in the results set when any of the result items were ever checked out by the logged-in user. Items will only be tagged when the related org setting is enabled and the user has opted in to circ history tracking.
2.3. Patron Management
2.3.1. Patron Statistical Category Enhancements
The following enhancements have been added to patron statistical categories:
categories can be marked as required (must be filled out when a patron is registered)
categories can be marked to allow or disallow user-created entries
an entry for a given category and org unit can be marked as the default entry. It will be automatically selected in the new patron registration screen.
2.3.2. User Settings Available from Patron Editor
Staff can now access and update user settings, like notification prefererences and default pickup library, in the patron editor.
2.3.3. Mark Patron E-mail or Phone as Invalid
Staff can mark a patron’s email address or phone number as invalid in the patron editor. The system will clear the email (or phone) field from actor.usr, and [both optionally, per OU setting]:
create a corresponding standing penalty against the user, for staff to notice next time they bring up said patron in the staff client;
create a patron note. Related penalties (but not notes) will be cleared whenever that patron’s email address or phone number is updated again.
2.3.4. Address Alert in Patron Registration
Support for comparing user addresses to alert addresses. When an address is found, the address in question is styled (the header row turns red) and the configured alert message is shown along the top-right, where other warnings appear.
2.4.1. Telephony Improvements
Enhancements to notifications by telephony, including:
A feature that allows an Evergreen system to roll over failed notifcations into new ones with a different notification method.
Holiday awareness. System administrators can, via cron, schedule the set_pbx_holidays script on an Evergreen system to periodically update the PBX’s table of holidays, based on a given org unit’s closed date ranges.
Smart retry. In certain situations, if you put too many callfiles into Asterisk’s spool at once, Asterisk will try to make too many calls at once, and all such calls just fail. That is what the allocator is meant to prevent. Smart retry is about moving calls that have been tried once, and will be retried again later due to resulting in a busy signal or other problem, out of the spool to make room for other calls that could be made in the meantime.
2.4.2. Circulation Limit Groups & Limit Sets
The new Circulation Limit Groups interface found in the Server administration menu can be thought of as tags the system places on circulations so that it can find them later. The Limit Sets interface found in the Local administration menu defines rules for limiting the number of active circulations a patron may have based on Circulation Modifiers and Limit Groups. These new features support the following options:
Setting circ limits for circulations that have no circ modifiers. This is useful for systems with circulation rules based on something other than circulation modifiers (for example, MARC type) or for grouping items that may have different circulation modifiers so that, for example, you can count every video, regardless of circulation modifiers.
The ability to set limits for a single library’s items, regardless of the checkout library.
2.4.3. New Checkin Modifiers
The following modifiers have been added to the check-in interface:
Clear Shelf-Expired Holds. When checking in something on the hold shelf, run a Clear Shelf Process for the specific copy ID at that library to auto-clear any Shelf-Expired holds.
Retarget Local Holds. When checking in in process items that are owned by the library, attempt to find a local hold to retarget. This is intended to help with proper targeting of newly-cataloged items.
Retarget All Statuses. Similar to Retarget Local Holds, this modifier will attempt to find a local hold to retarget, regardless of the status of the item being checked in. This modifier must be used in conjunction with the Retarget Local Holds modifier.
Capture Local Holds as Transits. With this checkin modifier, any local holds will be given an in transit status instead of holds shelf. The intent is to stop the system from sending holds notifications before the item is ready to be placed on the holds shelf. Possible use cases include Automated Materials Handling(AMH) checkins, in which items may be sitting in a bin for a while before landing on the holds shelf, and checkins done on closed days.
2.4.4. Copy Location Alerts
This enhancement adds a new checkin_alert column to copy locations. If true (defaults to false), then a routing alert is generated at reshelving time for the location. This is intended for special locations, such as Display, that may require special handling, or that temporarily contain items that are not normally in that location.
2.4.5. Age Hold Protection Based on a Copy’s Active Date
Adds a Sets copy active column to the Copy Statuses interface to identify statuses that indicate a copy is active and ready for checkout. The first time a copy is set to one of these statuses, the system adds an active date for the copy, which can be used for reporting.
Provides a new library setting for age hold protection to be based on the copy’s active date instead of its create date.
2.4.6. Option to Place Holds on Age Protected Items
Allow choice of placing hold despite age protection. This alters the backend to watch when so much as one copy failed only due to age protection. In JSPAC, an alternate confirm message is shown. In TPAC, the failure message is changed and override is always allowed for the hold in question.
2.4.7. Force and Cataloging Recall Holds
Creates two new types of copy-level holds, Force and Cataloging Recall, that cut in front of all other holds and ignore hold rules. For cataloging recall holds, the copy’s status changes to cataloging when it reaches its destination.
2.4.8. Archiving Statistical Categories and Circulation-Time Copy Locations
Circulation-time copy locations are now archived with circulations (aged or active).
Using the Statistical Categories Editor, staff can also designate statistical categories (patron and copy) to archive with circulations.
2.4.9. Browse Holds Shelf Interface Displays Canceled Holds
Holds that are canceled after they are placed on the holds shelf will continue to display in this interface and will also display in the shelf-expired holds view.
2.5.1. Vandelay Integration into Acquisitions
The Acquisitions Load MARC Order Record interface enables you to add MARC records to selection lists and purchase orders and upload the records into the catalog. The Vandelay interface enables you to create specific match points between incoming MARC records and exisiting catalog records. Combining these two features enables you to track on order MARC records through the Acquisitions interface and to utilize the record matching mechanisms available in Vandelay when importing acquisitions records.
2.5.2. Receive Items from an Invoice
This feature enables users to receive items from an invoice. Staff can receive individual copies, or they can receive items in batch.
2.5.3. Lineitem and Copy Actions Accessible from More Interfaces
Users can now access lineitem actions (for example, receive, unreceive, update barcodes, new invoice) from the acquisitions lineitem search results and selection list interfaces. Also available on these interfaces is a link to copy details where users can take receive actions (receive, unreceive, cancel) on individual copies.
2.5.4. Improved Displays for Provider and Fund Administration Pages
This enhancement provides improved support for viewing the provider and fund administation pages. It also allows staff to use filters to find providers and funds.
2.6.1. Authority Control Sets
The tags and subfields that display in authority records in Evergreen are defined by control sets. The Library of Congress control set is the default control set in all versions of Evergreen. However, in Evergreen release 2.2, you can create customized control sets for authority records, and you can define thesauri and authority fields for these control sets.
Patrons and staff can browse authorities in the JSPAC. The following fields are browsable by default: author, series, subject, title, and topic. You can add custom browse axes in addition to these default fields.
2.6.2. Batch Importing MARC Records
The MARC Batch Import interface features improved matching of records and managing of your import queue. In version 2.2, you can specify match points between incoming and existing records to better detect matching records and prevent record duplication. You can also create quality controls to ensure that incoming matching records are superior in quality to existing catalog records.
You also have new options for managing your queue. You can apply filters to your queue, and you can generate a list of import errors. You can also print your queue, email your queue, or export your queue as a CSV file.
2.6.3. Hide Fields in Copy Editor
You can customize the Copy Editor for staff by hiding fields in the Copy Editor that are not relevant for workflows at particular org units. Descendant org units inherit the settings of their parents.
2.6.4. Prevent Bibliographic Records from Having Attached Copies
To enable libraries to designate specific sets of records as only for use as electronic resources, it is possible to configure a bibliographic source such that physical copies or MFHD records may not be attached to records from that source. The config.bib_source table now includes a new Boolean column, can_have_copies, that controls this behavior. If can_have_copies for a given bibliographic source is TRUE, then the staff client will prevent a cataloger from adding volumes or MFHD records to records belonging to that source.
2.6.5. Overlay Existing Catalog Record via Z39.50 Import
You can replace an existing catalog record with a record obtained through a Z39.50 search. No new permissions or administrative settings are needed to use this feature.
2.6.6. Restrict Z39.50 Sources by Permission Group
You can use a permission to restrict users' access to Z39.50 servers. You can apply a permission to the Z39.50 servers to restrict access to that server, and then assign that permission to users or groups so that they can access the restricted servers.
2.6.7. Switch Copy Location Name and Library Short Name in Copy Editor
By default, the copy editor shows the library shortname (BR1 or CONS) followed by the copy location name (Stacks, Reference). A new workstation setting, under Admin → Workstation Administration → Copy Editor: Copy Location Name First, enables staff to change the display so that the copy location name is displayed first, followed by the library shortname. This may be particularly useful for libraries that have defined one set of copy locations at the consortial level and want to enable quick keyboard navigation to copy locations by typing just the first letters of the copy location.
2.7. User Activity Types
The User Activity Types feature enables you to specify the user activity that you want to record in the database. You can use this feature for reporting purposes. This function will also display a last activity date in a user’s account. Currently, this feature only tracks user authentication.
2.8. Authentication Proxy
To support integration of Evergreen with organizational authentication systems, and to reduce the proliferation of user names and passwords, Evergreen offers a new service called open-ils.auth_proxy. If you enable the service, open-ils.auth_proxy supports different authentication mechanisms that implement the authenticate method. You can define a chain of these authentication mechanisms to be tried in order within the <authenticators> element of the opensrf.xml configuration file, with the option of falling back to the native mode that uses Evergreen’s internal method of password authentication.
This service only provides authentication; there is no support for automatic provisioning of accounts. To authenticate against any authentication system, the user account must first be defined within the Evergreen system, and authentication will be based on the user name as it exists in Evergreen.
A sample authentication mechanism for LDAP is provided in Open-ILS::Application::AuthProxy::LDAP_AUTH, and corresponding sample attributes can be found in opensrf.xml.example.
2.9. Auditor Tables
This enhancement adds user and workstation IDs to the auditor tables. It also adds/changes auditor functions to allow for setting, getting, and clearing auditor information, as well as adding a couple of utility functions for updating auditors after changes to their origin columns.
2.10.1. New Views for Reporting Sources
To support the creation of collection development reports, the following reporting sources have been added:
Last Circulation or Creation Date is a source that offers the copy ID, the last circulation date or creation date, and the last circulation date
Hold/Copy Ratio per Bib and Pickup Library is a source that calculates the number of holds per copy per bibliographic record, with granularity by pickup library.
2.11. Staff Client Navigation
2.11.1. Customizable Toolbar
By default, two toolbars are available in the staff client: circulation and cataloging. This feature enables you to customize toolbars in the staff client. You can add buttons that will enable quick access to a variety of features. You can create toolbars for specific org unit(s), workstation(s), or login(s).
2.11.2. Double Clicking in the Staff Client
You can search for a patron’s record, and double click on a result to access that record. You can double click on an item in the Holdings Maintenance screen to access copy information. The item is linked to the Volume/Copy Creator, if you turned it on in the staff client’s org unit settings. If you did not turn on the Volume/Copy Creator, then the item links to the Item Attributes.
2.11.3. Recent Staff Searches
You can view your recent searches as you perform them in the staff client. By default, staff can view their recent searches, although the number is configurable. This feature is only available through the staff client; it is not available to patrons in the OPAC.
2.11.4. Return to Search Results from MARC Record
This feature enables you to return to your title search results directly from any view of the MARC record, including the OPAC View, MARC Record, MARC Edit, and Holdings Maintenance views. You can use this feature to page through records in the MARC Record View or Edit interfaces. You do not have to return to the OPAC View to access title results.
2.11.5. Sorting Columns
This feature enables you to sort by multiple display columns so that you can find easily the information that you need on a screen. You can sort display columns on any screen that is built on a grid, such as the Check In screen or the On Shelf Pull List.
You can also sort the columns on the following Administration screens:
Circulation Limit Sets
Acquisitions User Request List
Vandelay Import Errors
You can sort items in an ascending or descending order, and you can prioritize the order in which columns will sort.
2.11.6. Tab Button
This feature enables you to add a new tab to the Evergreen staff client by clicking the + sign adjacent to the tab that you currently have opened. As in previous versions, you can also add new tabs by clicking File → New Tab, or use the hotkey, Ctrl+T.
2.11.7. Close All Tabs Shortcut
You can use CTRL+Click on the close tab (X) button to close all tabs.
2.11.8. Independent Column Configurations and Receipt Templates for Different Hold List Interfaces
Previously, all hold list interfaces shared the same column picker settings and receipt templates. This enhancement creates independent settings for the following interfaces:
Actions for this Record → View Holds
Patron Display → Holds
Circulation → Browse Hold Shelf
Circulation → Pull List for Hold Requests
2.11.9. Line Number Columns
List displays in the staff client now have a non-sortable line number column which displays the ordinal position of each row in the list. The first row in such a list will always have a value of 1 in the ordinal column, no matter how the list is sorted. There is no special handling for paged interfaces; the first row on any given page still gets an ordinal value of 1.
Supports auto-login in the staff client by adding three new command line parameters:
-ILSuser: user name to log in with
-ILSpassword: password to use
-ILShost: hostname to use
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.