1 Evergreen 2.11 Release Notes
2 ============================
9 This release contains several bug fixes improving on Evergreen 2.11.3.
11 * A fix to avoid fetching and creating EDI message entries that the
13 * A fix to prevent staff users from marking a long overdue item as lost
14 so that the patron will not be billed twice for the same item.
15 * A fix to the link that is used on the catalog's Library Info page so
16 that links with anchors can be successfully retrieved.
17 * A replacement for the blank fallback image used when the catalog cannot
18 retrieve an added content book cover.
19 * An EDI fix that prevents EDI fetcher from crashing when the vendor
20 supplies a zero-length file.
21 * A fix to an issue where adjusting a bill to zero for a current checkout
22 prematurely closes the transaction.
23 * A fix to encoding problems in MODS output. These problems caused issues
24 when using Zotero with records in the catalog.
25 * A fix to Evergreen self-check to accept the user name value when a barcode
26 regex has been configured for the system.
27 * A fix to duplicate name checking in the patron registration screen so that
28 clicking the "Found x patron(s) with same name" link will retrieve potential
29 duplicate inactive patrons.
30 * A fix to the bower install step used when installing the web staff client.
31 * A fix that marks a hold as fulfilled when staff check out a hold-
32 captured item for a hold whose expire time is in the past.
33 * A change to the acquisitions funding source funds drop down menu so that
34 the menu will now only display active funds and will also display the
35 year alongside the fund.
36 * A fix to a problem where the Current Bills tab of the patron record
37 showed duplicate charges when a check in was done from the Items Out tab.
38 * A fix that hides the option to add to My Lists from the staff client since this functionality does not work as expected in the staff client.
39 * A change to the fund year selectors in acq interfaces so that the years
40 are sorted in descending order.
41 * A fix to a billing issue where transactions were not re-opened after
42 they acquired a non-zero balance at check in.
43 * A change to the default pickup library when staff place a hold. The place hold
44 screen will now default to the preferred pickup location for the patron. If the
45 patron does not have a preferred pickup location, it will default to the
46 patron's home library.
47 * The ability to skip the XUL staff client build when in make_release.
48 * A fix that silences a log warning that appears for every checkout where a hard
53 We would like to thank the following individuals who contributed code,
54 testing and documentation patches to the 2.10.11 point release of
81 This is a security release that also contains several other bugfixes improving
82 on Evergreen 2.11.2. All users of Evergreen 2.11.x are recommended to upgrade
83 to 2.11.3 as soon as possible.
85 Security Issue: Credit Processor Stripe Settings Permissions
86 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87 Unprivileged users can retrieve organizational unit setting values for
88 setting types lacking a "view" permission. When the feature adding
89 Stripe credit card processing was added, the upgrade script neglected
90 to add the VIEW_CREDIT_CARD_PROCESSING permission to the
91 organizational unit setting type. This means that anyone can retrieve
92 and view the settings for Stripe credit card processing.
94 Any system that upgraded from Evergreen version 2.5 to 2.6 is
95 affected. If you use Stripe for credit card processing, it is
96 strongly recommended that you apply this upgrade. Even if you do not
97 use Stripe, applying this upgrade is still recommended. If you did
98 not upgrade from version 2.5 to 2.6 of Evergreen, but started with a
99 later version, applying this upgrade is harmless.
101 If you are not ready to perform a full upgrade, and if you use Stripe,
102 you can protect the settings by running the following two SQL statements:
106 UPDATE config.org_unit_setting_type
107 SET view_perm = (SELECT id FROM permission.perm_list
108 WHERE code = 'VIEW_CREDIT_CARD_PROCESSING' LIMIT 1)
109 WHERE name LIKE 'credit.processor.stripe%' AND view_perm IS NULL;
111 UPDATE config.org_unit_setting_type
112 SET update_perm = (SELECT id FROM permission.perm_list
113 WHERE code = 'ADMIN_CREDIT_CARD_PROCESSING' LIMIT 1)
114 WHERE name LIKE 'credit.processor.stripe%' AND update_perm IS NULL;
117 Missing Upgrade Script Notice
118 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
119 It was recently discovered that the 2.11.2 tarball was missing the
120 upgrade script for 2.11.1. If you upgraded straight to 2.11.2 from
121 2.11.0 or prior, please make sure to apply the
122 2.11.0-2.11.1-upgrade-db.sql before moving on to the 2.11.3 script.
126 Evergreen 2.11.3 also contains the following bugfixes:
128 * A fix to correctly apply floating group settings when performing
130 * An improvement to the speed of looking up patrons by their username;
131 this is particularly important for large databases.
132 * A fix to properly display the contents of temporary lists ('My List') in the
133 public catalog, as well as a fix of the HTML coding of that page.
134 * A fix to the Spanish translation of the public catalog that could
135 cause catalog searches to fail.
136 * A fix of a problem where certain kinds of requests of information
137 about the organizational unit hierarchy to consume all available
138 `open-ils.cstore` backends.
139 * A fix to allow staff to use the 'place another hold' link without
140 running into a user interface loop.
141 * A fix to the 'Edit Due Date' form in the web staff client.
142 * A fix to the definition of the stock 'Full Overlay' merge profile.
143 * A fix to sort billing types in alphabetical order in the web staff
145 * A fix to the display of the popularity score in the public catalog.
146 * A fix to the 'return to grouped search results' link in the public
148 * A fix to allow pre-cat checkouts in the web staff client without requiring
149 a circulation modifier.
150 * A fix to how Action/Trigger event definitions with nullable grouping
151 fields handle null values.
152 * Other typo and documentation fixes.
156 We would like to thank the following individuals who contributed code,
157 testing and documentation patches to the 2.11.3 point release of
180 This release contains several bugfixes improving on Evergreen 2.11.1
182 * A fix to the web client patron interface that changed the holds count in the
183 patron summary from total / available to available / total.
184 * A fix to an issue where the Closed Dates Editor was displaying an extra day of
186 * A fix to the Closed Dates Editor so that it now displays "All Day" when the
187 library is closed for the entire day.
188 * A fix to properly format LC Call numbers in spine label printing.
189 * A fix to a bug that was causing intermittent search failures.
190 * A fix to a bug that was causing search failures for Copy Location Group
192 * A fix to significant increased slowness with holds transfers.
193 * The addition of an index to the action.aged_circulation table to resolve a
194 problem with long-running queries.
195 * A fix to redirects that for one-hit metarecord searches for systems that
196 have enabled the setting to immediately jump to a bib record on one-hit searches.
197 * A fix to the new acquisitions cost field available in the copy editor to
198 resolve an issue where accidentally clearing out the value in the field resulted
200 * A fix to a bug that broke the Alternate Printable Hold Pull List and Vandelay
201 uploads on systems that were running OpenSRF 2.5.
205 We would like to thank the following individuals who contributed code,
206 testing and documentation patches to the 2.11.1 point release of
225 This release contains several bug fixes improving on Evergreen 2.11.0
227 * A fix to that provides alphabetical sorting to the fund selector in
228 the Acquisitions Selection List -> Copies interface.
229 * A fix to the web client check in screen allowing users to click the
230 title of the checked-in item to retrieve the bib record for that item.
231 * The addition of a progress bar that displays when conducting a patron searchin the web client.
232 * A fix to the web client patron interface so that total Items Out in the
233 patron summary now includes overdue and long overdue items. It will also
234 include Lost and Claims Returned items when the appropriate library
236 * A change to the public catalog My Account screen where the font for
237 leading articles will now be smaller when sorting a list by title.
238 * A fix to subject links in the catalog's record summary page so that
239 periods are no longer stripped from resulting subject searches, leading
240 to more accurate results when those links are clicked.
241 * A fix to avoid unint warnings in the logs for prox_cache in
242 open-ils.circ.hold.is_possible.
243 * A fix to rounding errors that occurred when summing owed/paid totals
244 for display in the catalog's credit card payment form.
245 * A change to sort behavior in the My Account screens. Previously, a
246 third click on a column header returned the list to its original sort
247 order. Clicking column headers will now simply toggle the sort
248 between ascending and descending order.
249 * The Permalink option on the catalog's record summary page will now be
250 hidden in the staff client because clicking the link in the client led
251 to no discernible change for users.
252 * A fix to the display of permanent lists in the catalog, which had broken
254 * A fix to the text of a notice that displays when migrating circulation
255 history during the upgrade to 2.10.
256 * An improvement to the performance for the lookup of a user's circ
257 history by adding an index on action.usr_circ_history(usr).
258 * A fix so that when a bib record's fingerprint changes, it gets correctly
259 moved to a different metarecord.
263 We would like to thank the following individuals who contributed code,
264 tests and documentation patches to the 2.11.1 point release of
283 Tablefunc Extension No Longer Required
284 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
285 Changes in the behavior of the connectby function in PostgreSQL 9.5
286 have prompted its removal from the database. It is easier for
287 Evergreen to maintain compatibility with previous versions of
288 PostgreSQL without this function.
290 By eliminating the use of the connectby function, we eliminate the
291 requirement for the tablefunc database extension. It is no longer
292 installed when the database is created. If you are upgrading and wish
293 to remove it from your database, you may run the following statement
294 in the database to drop it:
296 DROP EXTENSION tablefunc;
312 Add Date Header to Action Trigger Email/SMS Templates
313 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
314 The Date: header specified in RFC 2822 has been added to the seed data
315 for the example Action Trigger email and SMS templates, but no attempt
316 has been made to automatically modify existing templates. To add this
317 header (and end any "Why are my library emails from 1969/70?" questions
318 you may have heard) make sure the following lines are in all templates
319 that use the SendEmail or SendSMS reactors:
321 The first is already in most sample templates, but you may need to add
322 it to the top of any custom templates:
325 And this line should be inserted into the header block of each template:
326 `Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]`
332 Support for Ubuntu 16.04
333 ^^^^^^^^^^^^^^^^^^^^^^^^
334 Adds support for Ubuntu Xenial Xerus (16.04).
343 User activity types are now set to transient by default for new
344 Evergreen installs.. This means only the most recent activity entry per
345 user per activity type is retained in the database.
347 This change does not affect existing activity types, which were set to
348 non-transient by default. To make an activity type transient, modify the
349 'Transient' field of the desired type in the staff client under Admin ->
350 Server Administration -> User Activity Types.
352 Setting an activity type to transient means data for a given user will
353 be cleaned up automatically if and when the user performs the activity
354 in question. However, administrators can also force an activity
355 cleanup via SQL. This is useful for ensuring that all old activity
356 data is deleted and for controlling when the cleanup occurs, which
357 may be useful on very large actor.usr_activity tables.
359 To force clean all activity types:
362 ------------------------------------------------------------
363 SELECT actor.purge_usr_activity_by_type(etype.id)
364 FROM config.usr_activity_type etype;
365 ------------------------------------------------------------
367 NOTE: This could take hours to run on a very large actor.usr_activity table.
378 Authority Record Import Updates Editor, Edit Date.
379 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
380 Importing an authority record via MARC Batch Import/Export now causes the
381 authority record's editor and edit_date fields to be updated. The editor
382 value may come from the MARC 905u field or, if none is present, the user
383 performing the import.
388 Authority Propagation Updates Bib Editor / Edit Date
389 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
390 When a bib record is automatically updated as a result of the
391 modification of a linked authority record, the bib record's "Last Edit
392 Date/Time" and "Last Editing User" fields will be updated to match the
393 time of the update and the editor of the modified authority record.
395 A new global flag is available to control this behavior called
396 'ingest.disable_authority_auto_update_bib_meta' ("Authority Automation:
397 Disable automatic authority updates from modifying bib record editor
398 and edit_date"). When enabled, theses fields will not be updated. By
399 default, this setting is disabled.
401 An additional speed improvement is included in this feature. No attempt
402 will be made to update linked bib records when the normalized heading of
403 the modified authority record is unchanged by the authority record update.
408 Bibliographic Record Source Now Copied to 901$s
409 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
410 If a bibliographic record has a source set, the name of that source
411 is now copied to the 901$s whenever the record is created or updated.
412 This allows the source to be used for record matching and MARC
418 Option to Update Bib Source and Edit Details on Record Import
419 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
420 When importing records through the client, users will now have the ability to
421 define whether the bib source, last editor, and last edit date should be updated
422 on a record merge/overlay.
424 In MARC Batch Import / Export, select the _Merge / Overlay_ tab. Each entry in
425 the table has a value in the new _Update bib. source_ column. If that value is
426 True, then the bib source, last editor, and last edit date will be updated.
428 The two system-defined entries have been pre-set to appropriate values (Full
429 Overlay = true; Match-Only Merge = false).
439 Staff Client Honors Aged Circulations
440 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
442 The browser and XUL clients now better represent copy checkout history
443 by honoring and displaying information from aged circulations.
445 * Browser client 'Recent Circ History' and the analogous XUL client
446 'Circulation History' tabs show summary data for aged circulations
447 as well as regular/active circulations. When aged circulation data
448 is displayed, any references to patron names are replaced by the string
449 "<Aged Circulation>".
451 * Browser client 'Circ History List' and the analogous XUL client
452 'Last Few Circulations' tabs behave as above, plus their 'Add
453 Billing' buttons are disabled when displaying aged circulation data.
455 * XUL client 'Retrieve Last Patron' actions from various UI's report,
456 "Item XXX circulation is an aged circulation and has no linked user".
457 Browser client analog uses 'Circ History List' instead; no additional
464 "Canceled Transit" Item Status
465 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
467 Previously, when a transit was aborted, the transited item would either go into
468 "Reshelving" status or would return to whatever status it was in when it went
469 into transit, even when the item itself was in a different status (including
470 "Checked out"). Now, for most transits that get aborted, the item is put into a
471 new status, "Canceled Transit", which signals to staff the actual state of the
472 item. This feature only affects items with a status of "In transit" and does
473 not affect items that were in the following statuses at the time they were sent
484 * Any custom statuses
486 This change should help clear up confusing situations caused by the previous
487 "abort transit" behavior, such as items showing "Available" when they are actually
488 en route, and patrons' items mysteriously disappearing from their accounts and
489 showing "Available" at the item-owning library without evidence of check-in.
494 Copy Status "Is Available" Flag
495 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
497 A new boolean field is now available for copy statuses to indicate when copies
498 having a given status should be considered available. The field has 2 main
501 1. Checking out an "available" copy will no longer result in an override-able
502 "COPY_NOT_AVAILABLE" alert for staff. The copy will checkout without
505 2. "Available" copies will appear in catalog searches where "limit to
506 available" is selected as a search filter.
508 By default, the "Available" and "Reshelving" statuses have the "Is Available"
509 flag set. The flag may be applied to local/custom statuses via the copy
510 status admin interface.
516 Email Checkout Receipts
517 ^^^^^^^^^^^^^^^^^^^^^^^
518 This feature allows patrons to receive checkout receipts through email
519 at the circulation desk in the web client and in the Evergreen self-checkout
520 interface. Patrons need to opt in to receive
521 email receipts by default and must have an email address associated with their
522 account. Opt in can be staff mediated at the time of account creation or in
523 existing accounts. Patrons can also opt in directly in their OPAC account or
524 through patron self-registration. This feature does not affect the behavior of
525 checkouts from the XUL client or SIP2 devices.
527 Patrons can opt in to receive email checkout receipts by default via
528 a new _Email checkout receipts by default_ patron setting.
530 This feature also enhances the patron staging tables so that patron
531 settings can be chosen during self-registration.
533 The web staff interface's checkout screen now includes a "Quick
534 Receipt" button that allows staff members to generate a receipt
540 Set Per-OU Limits on Allowed Payment Amounts
541 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
542 Two new settings have been added to prevent clerks from accidentally clearing
543 all patron bills by scanning a barcode into the Payment Amount field, or
544 accidentally entering the amount without a decimal point (such as you
545 would when using a cash register).
547 Both settings are available via the Library Settings Editor. The _Payment
548 amount threshold for Are You Sure? dialog_ (ui.circ.billing.amount_warn)
549 setting identifies the amount above
550 which staff will be asked if they're sure they want to apply the payment.
551 The _Maximum payment amount allowed_ (ui.circ.billing.amount_limit)
552 setting identifies the maximum amount of
553 money that can be accepted through the staff client.
555 These settings only affect the staff client, not credit
556 cards accepted through the OPAC, or direct API calls
557 from third party tools.
567 Additional Fields Available for Display in Some Interfaces
568 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
569 The holds age protection field will now be available for display in the
570 following interfaces:
572 * Item status list view column picker
573 * Item status alternate view
574 * Holdings maintenance column picker
576 The asset.copy.cost field, which records the amount paid for an item when
577 an invoice is processed, will be available for display in the following
580 * Items status list view column picker
581 * Item status alternate view
593 Merge Notification Preferences Tables in TPAC
594 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
595 The patron notification preference page in the public catalog
596 used to have two tables, separating notification settings
597 based on their source. Since that distinction does not matter
598 to patrons, and since the two tables aren't styled consistently,
599 they are merged together.
604 Improved Holds Screens in My Account
605 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
606 The grids in the My Account _Items on Hold_ and _Holds History_ interfaces are
607 simplified. Data previously contained in their own Activate, Active, and Date
608 Fulfilled columns are now incorporated into the Status column. To further
609 declutter the interface, the holds queue position will only show when the user
610 most needs the information - before the hold has been captured.
612 Distinct CSS classes have also been added for each hold status and each date
613 that could potentially display in these holds interfaces. A new default style
614 highlights the _Available_ status in green and the _Suspended_ status
622 Popularity Boost for Ranking Search Results
623 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
625 This feature uses factors such as circulation and hold activity, record and item age, and item ownership counts to generate popularity badges for bibliographic
626 records. Each badge will have a five-point scale, where more points indicates a more popular record. The average of the badge points earned by each record will constitute a "popularity rating". The number and types of badges will break ties for average popularity, and relevance will sort items with like popularity.
628 A new sort axis of popularity is created to sort first on the weighted average popularity of each record, followed by the query-specific relevance available today. A new option is created in the drop-down called _Most Popular_ that sorts on the combination of "activity metric" (aka badge ranking, aka popularity) first and then the existing, stock relevance ranking when those are equal. For instance, given two records that both have a badge ranking of "4.5", they sort in the order of the query relevance ranking that is calculated today as a tie breaker. Those two records will sort above other records with lower badge rankings regardless of what today's relevance ranking says about them.
630 In addition, a new sort axis of _Popularity-Adjusted Relevance_ is created that augments the normal Relevance sort with a normalized popularity value by multiplying the base relevance by a value controlled by a new global flag, generally set to a decimal number between 1 and 2.
632 Finally, there will continue to be a pure _Relevance_ sort option, which is the version that exists today.
634 Administrators can comment out one of the available sort methods by editing the
635 filtersort.tt2 file.A global flag will allow Evergreen sites to select a default sort method.
640 Administrative interfaces to configure badges are only available in the web
641 client. Administrators can also configure badges directly via the database.
643 Available Popularity Parameters available for badges include:
645 * Holds Filled Over Time
646 * Holds Requested Over Time
648 * Circulations Over Time
649 * Current Circulation Count
652 * Holds/Holdable Ratio
653 * Percent of Time Circulating
654 * Bibliographic Record Age (days)
655 * Publication Age (days)
656 * Available On-Line (for e-books, etc)
659 Badges can be configured to apply to a targeted group of bibliographic records
660 based on the following available filters:
663 * Bibliographic source
664 * Circulation modifier
665 * Copy location group
667 Badges can also be be restricted to materials owned by a specific organizational
670 This new feature comes with a starter badge based on the top 97th percentile of
671 holds requested over the past five years.
676 Ratings for records will be displayed in the catalog in the following ways:
678 * On the record result page, the overall average popularity rating is displayed with a label of _Popularity_.
680 * On the record detail page, each individual badge earned by the record is
681 displayed with its rating.
685 * **OPAC Default Sort (opac.default_sort)**: Identifies the default sort method
686 to be used in the catalog.
688 * **Maximum popularity importance multiplier for popularity-adjusted relevance
689 searches (search.max_popularity_importance_multiplier):** A multiplier identifying
690 the importance of popularity in the Popularity-Adjusted Relevance ranked
691 searches. The number should be a decimal ranging between 1.0 and 2.0. The
692 default value is 1.1.
694 More detailed information is available in the TechRef docs directory of the
695 Evergreen source code.
700 Removal of Advanced Hold Options link when part holds are expected
701 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
702 If a user attempts to place a metarecord hold when all eligible copies
703 contain parts, the hold will fail. To help prevent the user from reaching
704 a dead end while placing holds, the *Advanced Hold Options* link is removed
705 from the Place Hold page in cases where all copies on the record contain
706 parts. The *Advanced Hold Options* link will remain for records that have
707 a mix of parted and non-parted copies.
720 Renewals attempted via SIP will now consider whether a penalty is configured
721 to block renewals before blocking the renewal. Previously, any penalty, even
722 if it wasn't set to block renewals, would prevent a renewal from succeeding
729 Treat SIP Location Field as Login Workstation
730 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
731 When using a version of SIPServer that supports the feature,
732 the Location (CP) field of the Login (93) message will be
733 used as the workstation name if supplied. Blank or missing
734 location fields will be ignored. This allows users or reports
735 to determine which selfcheck performed a circulation.
748 Translations in this release have been significantly increased. In
749 particular, Spanish has received a huge update with over 9,000 new
750 translations, Czech has received a sizable update of over 800
751 translations, and additional smaller updates have been added for
752 Arabic, French (Canada), and Armenian.
756 2.11.0 Acknowledgments
757 ----------------------
758 The Evergreen project would like to acknowledge the following
759 organizations that commissioned developments in this release of
763 * Georgia Public Library Service
765 * Pennsylvania Integrated Library System
766 * Pioneer Library System
768 We would also like to thank the following individuals who contributed
769 code, management, translations, documentation patches and tests to this
770 release of Evergreen:
790 We also thank the following organizations whose employees contributed
794 * Central/Wester Massachusetts Automated Resource Sharing
795 * Equinox Software, Inc.
796 * Emerald Data Networks, Inc.
798 * Georgia Public Library Service
799 * King County Library System
801 * Laurentian University
804 * North of Boston Library Exchange
805 * Traverse Area District Library
807 We regret any omissions. If a contributor has been inadvertently
808 missed, please open a bug at http://bugs.launchpad.net/evergreen/