= Evergreen 3.8 Release Notes = :toc: :numbered: :toclevels: 3 == Evergreen 3.8.1 == This release contains bug fixes improving on Evergreen 3.8.0 === Upgrade notes === The fix for https://bugs.launchpad.net/evergreen/+bug/1939338[Launchpad bug 1939338] modifies the `fm_IDL.xml` file. To ensure that everything is up-to-date, existing Evergreen sites should run `autogen.sh` after restarting OpenSRF services and before restarting Apache. === Bug Fixes === ==== Acquisitions ==== * Protects real copies from deletion by an acqusitions line item cancel (https://bugs.launchpad.net/evergreen/+bug/1928003[Bug 1928003]) * Fixes an issue where EDIWriter.pm was not correctly applying some attribute types (https://bugs.launchpad.net/evergreen/+bug/1930740[Bug 1930740]) * Fixes the Providers form to be more friendly to screenreaders (https://bugs.launchpad.net/evergreen/+bug/1950507[Bug 1950507]) ==== Administration ==== * Adds rdeleted parameter to the pingest.pl script (https://bugs.launchpad.net/evergreen/+bug/1862652[Bug 1862652]) * Fixes bug where Carousels could only be viewed & edited by their creating user (https://bugs.launchpad.net/evergreen/+bug/1939338[Bug 1939338]) * Updates Hopeless Holds interface so Title links open in a new tab (https://bugs.launchpad.net/evergreen/+bug/1909681[Bug 1909681]) * Fixes an issue where specific 'opensrf' user is required in oils_ctl.sh and autogen.sh https://bugs.launchpad.net/evergreen/+bug/1900005[Bug 1900005]) * Adds MARC_NAMESPACE to Const.pm (https://bugs.launchpad.net/evergreen/+bug/1930747[Bug 1930747]) * Fixes an issue preventng correct MADS processing of field 755 (https://bugs.launchpad.net/evergreen/+bug/1800871[Bug 1800871]) * Adds default columns in the Angular staff catalog View Holds tab (https://bugs.launchpad.net/evergreen/+bug/1907123[Bug 1907123]) * Adds filters to MARC Coded Value Map grid (https://bugs.launchpad.net/evergreen/+bug/1843970[Bug 1843970]) ==== API ==== * Makes changes to the eBook API to support Overdrive's updated Checkouts API (https://bugs.launchpad.net/evergreen/+bug/1951021[Bug 1951021]) * Fixes issue where loading records with located URIs deleted and recreated call_numbers (https://bugs.launchpad.net/evergreen/+bug/1482757[Bug 1482757]) ==== Architecture ==== * Fixes typo in fm_idl.xml (https://bugs.launchpad.net/evergreen/+bug/1957840[Bug 1957840]) * Fixes an issue where retrieving a title via SuperCat can crash if the title has a serial unit with statcats (https://bugs.launchpad.net/evergreen/+bug/1970486[Bug 1970486]) * Upgrades karma in NPM dependencies (https://bugs.launchpad.net/evergreen/+bug/1965432[Bug 1965432]) * Fixes variable in log_me sub (https://bugs.launchpad.net/evergreen/+bug/1778783[Bug 1778783]) * Fixes material icons package error in NPM install (https://bugs.launchpad.net/evergreen/+bug/1969232[Bug 1969232]) ==== Catalog ==== * Fixes an issue in the traditional staff catalog where PLACE_UNFILLABLE_HOLD override fails if there are no items available (https://bugs.launchpad.net/evergreen/+bug/1906842[Bug 1906842]) * Fixes an issue in the Patron Search from Place Holds modal where barcode search was failing (https://bugs.launchpad.net/evergreen/+bug/1955927[Bug 1955927]) * Restores Hold links in the staff catalog detail page that were broken by a Chrome update (https://bugs.launchpad.net/evergreen/+bug/1964019[Bug 1964019]) * Fixes an issue in the traditional staff catalog where user settings wouldn't load in the Place Holds interface (https://bugs.launchpad.net/evergreen/+bug/1939426[Bug 1939426]) * Excludes empty bibs with transcendent=f from location limited staff searches (https://bugs.launchpad.net/evergreen/+bug/1746800[Bug 1746800]) * Fixes issue in the traditional staff catalog where Patron Barcode Completion didn't populate correctly in the Place Holds interface (https://bugs.launchpad.net/evergreen/+bug/1965317[Bug 1965317]) * Fixes an issue in the Angular staff catalog where monograph parts were sorting incorrectly in the Place Holds interface (https://bugs.launchpad.net/evergreen/+bug/1965161[Bug 1965161]) * Adds default columns in the Angular staff catalog View Holds tab (https://bugs.launchpad.net/evergreen/+bug/1907123[Bug 1907123]) ==== Cataloging ==== * Fixes a regression where owning libraries were not indicated in the Holdings View dropdown (https://bugs.launchpad.net/evergreen/+bug/1739277[Bug 1739277]) * Fixes an issue where batch deletes from an item bucket exhausted drones (https://bugs.launchpad.net/evergreen/+bug/1949910[Bug 1949910]) * Fixes an issue where the Holdings View showed incorrect item counts (https://bugs.launchpad.net/evergreen/+bug/1933275[Bug 1933275]) * Adds Author field to Item Buckets (https://bugs.launchpad.net/evergreen/+bug/1800474[Bug 1800474]) * Fixes an issue where batch removal of items from an item bucket exhausted drones (https://bugs.launchpad.net/evergreen/+bug/1968082[Bug 1968082]) * Splits Active Date and Create Date into separate columns in Angular Holdings View (https://bugs.launchpad.net/evergreen/+bug/1916600[Bug 1916600]) * Adds Author field to Item Buckets (https://bugs.launchpad.net/evergreen/+bug/1800474[Bug 1800474]) * Fixes copy templates setting to allow migration of copy templates from AngularJS to Angular (https://bugs.launchpad.net/evergreen/+bug/1951162[Bug 1951162]) * Angular copy location editor can now pass multiple context org unit IDs (https://bugs.launchpad.net/evergreen/+bug/1956626[Bug 1956626]) ==== Circulation ==== * Excludes child organizational units when fleshing standing penalties (https://bugs.launchpad.net/evergreen/+bug/1959461[Bug 1959461]) * Fixes invalidate email regression (https://bugs.launchpad.net/evergreen/+bug/1950826[Bug 1950826]) * Fixes a bug where Patron Search could cause the browser to become unresponsive (https://bugs.launchpad.net/evergreen/+bug/1959904[Bug 1959904]) * Fixes issue with slow user merging or deleting (https://bugs.launchpad.net/evergreen/+bug/1960956[Bug 1960956]) * Fixes display issue in Hold Shelf Record Summary Detail View (https://bugs.launchpad.net/evergreen/+bug/1838580[Bug 1838580]) * Adds server-side saving for Holds Groups grids (https://bugs.launchpad.net/evergreen/+bug/1956003[Bug 1956003]) * Fixes download & print issue with Angular Holds Pull List (https://bugs.launchpad.net/evergreen/+bug/1958265[Bug 1958265]) * Adds duplicate barcode check to Item Status Replace Barcode (https://bugs.launchpad.net/evergreen/+bug/1950468[Bug 1950468]) ==== Client ==== * Improved filtering on egBasicComboBox typeaheads (https://bugs.launchpad.net/evergreen/+bug/1819233[Bug 1819233]) * Corrects print template data field names for Items Out template (https://bugs.launchpad.net/evergreen/+bug/1766726[Bug 1766726]) * Implements batch method for adding users to a bucket (https://bugs.launchpad.net/evergreen/+bug/1946531[Bug 1946531]) * Fixes untranslatable strings in the Historical Bills print template (https://bugs.launchpad.net/evergreen/+bug/1772631[Bug 1772631]) ==== Course Materials ==== * Adds owning library check to Course Terms uniqueness constraint (https://bugs.launchpad.net/evergreen/+bug/1942645[LP1942645]) * Fixes course search issue (https://bugs.launchpad.net/evergreen/+bug/1913340[Bug 1913340]) ==== Documentation ==== * Updates to Print Template Export documentation (https://bugs.launchpad.net/evergreen/+bug/1929592[Bug 1929592]) * Added Advanced Authorities documentation (https://bugs.launchpad.net/evergreen/+bug/1944205[Bug 1944205]) * Corrections to Override Actions documentation * Updates to Barcode Completion documentation * Added Course Materials documentation * Updates to Holds documentation * Updates to z39.50 documentation * Updates to OPAC Lists documentation * Added relevant Conference videos to some documentation pages * Updates to Using the Public Access Catalog documentation * Updates to Billing documentation ==== OPAC ==== * Fixes an issue in the Bootstrap OPAC where changing a branch did not clear the shelving location list (https://bugs.launchpad.net/evergreen/+bug/1946019[Bug 1946019]) * Restores line breaks in Patron Messages (https://bugs.launchpad.net/evergreen/+bug/1927990[Bug 1927990]) * Fixes an issue where some electronic resource links would not display in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1950394[Bug 1950394]) * Fixes an issue in the Bootstrap OPAC where the 'More Details' button was not translatable (https://bugs.launchpad.net/evergreen/+bug/1919494[Bug 1919494]) * Fixes an issue where a hold in the status "Hold Shelf Delay" displayed blank in the OPAC (https://bugs.launchpad.net/evergreen/+bug/1959405[Bug 1959405]) * Fixes Bootstrap OPAC 'More Details' button so it toggles to 'Less Details' when clicked (https://bugs.launchpad.net/evergreen/+bug/1920039[Bug 1920039]) * Fixes circ history CSV export in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1954923[Bug 1954923]) * Fixes color contrast on Bootstrap OPAC forms (https://bugs.launchpad.net/evergreen/+bug/1942240[Bug 1942240]) * Fixes formatting in Bootstrap OPAC My Lists (https://bugs.launchpad.net/evergreen/+bug/1907863[Bug 1907863]) * Fixes a bug in the Bootstrap OPAC where the self-registration library setting wasn't honored (https://bugs.launchpad.net/evergreen/+bug/1958163[Bug 1958163]) * Adds Matomo support to the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1966802[Bug 19668020]) * Stopgap fix to prevent OPAC payment when zero-dollar or negative bills are present on a patron's account (https://bugs.launchpad.net/evergreen/+bug/1965579[Bug 19965579]) ==== Serials ==== * Fixes an issue where subscription manager fetched too many parallel requests (https://bugs.launchpad.net/evergreen/+bug/1949389[Bug 1949389]) ==== Self Check ==== * Adds Preferred Name to self checkout (https://bugs.launchpad.net/evergreen/+bug/1847827[Bug1847827]) === Acknowledgements === We would like to thank the following individuals who contributed code, testing and documentation patches to the 3.7.3 point release of Evergreen: * MaryAnn Alexander * John Amundson * Jason Boyer * Dan Briem * Jennifer Bruch * Christine Burns * Steve Callender * Galen Charlton * Garry Collum * Jeff Davis * Bill Erickson * Jason Etheridge * Lynn Floyd * Ruth Frasur * Jeff Godin * Elaine Hardy * Blake Graham Henderson * Kyle Huckins * Tiffany Little * Shula Link * Mary Llewellyn * Terran McCanna * Gina Monti * Michele Morgan * Andrea Buntz Neiman * Jennifer Pringle * Mike Risher * Mike Rylander * Jane Sandberg * Chris Sharp * Jason Stephenson * Josh Stompro * Jennifer Weston * Beth Willis * Jessica Woolford == Evergreen 3.8.0 == === Upgrade notes === ==== New Permissions ==== * UPDATE_USER_PHOTO_URL * CREATE_RECORD_NOTE * UPDATE_RECORD_NOTE * DELETE_RECORD_NOTE ==== Removed Permissions ==== * VIEW_STANDING_PENALTY ==== New Library Settings ==== * Pickup Library Soft stalling interval * Pickup Library Hard stalling interval * Void item deposit fee on checkin * Require Photo URL field on patron registration * Show Photo URL field on patron registration * Suggest Photo URL field on patron registration * My Account URL * Maximum number of spelling suggestions that may be offered * Stripe ISO 4217 currency code * Use Item Price or Cost as Primary Item Value * Use Item Price or Cost as Backup Item Value * Staff Catalog Search Filters * Workstation OU is the default for staff-placed holds ==== Backing Up Auditor `alert_message` Column ==== WARNING: The upgrade script will remove the alert_message field from the auditor table, so if you care about preserving those you should run a query to create a backup. For example: [source,sql] ---- CREATE TABLE auditor.backup_usr_alert_msg AS CREATE audit_id, audit_time, audit_action, audit_user, audit_ws, id as "usr_id", last_update_time, alert_message FROM auditor.actor_usr_history WHERE alert_message IS NOT NULL; ---- ==== Reindexing for Search Suggestions ==== The upgrade includes a partial reindexing to update search suggestions. After running the schema upgrade script, e.g., `version-upgrade/3.7.1-3.8.0-upgrade-db.sql`, the reindexing can be done as follows. First, in a `psql` session connected to your Evergreen database, run: [source,sql] ---- \a \t \o title select value from metabib.title_field_entry where source in (select id from biblio.record_entry where not deleted); \o author select value from metabib.author_field_entry where source in (select id from biblio.record_entry where not deleted); \o subject select value from metabib.subject_field_entry where source in (select id from biblio.record_entry where not deleted); \o series select value from metabib.series_field_entry where source in (select id from biblio.record_entry where not deleted); \o identifier select value from metabib.identifier_field_entry where source in (select id from biblio.record_entry where not deleted); \o keyword select value from metabib.keyword_field_entry where source in (select id from biblio.record_entry where not deleted); \o \a \t \q ---- Then, from the command line: [source,sh] ---- $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl title > title.sql $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl author > author.sql $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl subject > subject.sql $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl series > series.sql $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl identifier > identifier.sql $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl keyword > keyword.sql ---- Then finally, back in `psql`: [source,sql] ---- ALTER TABLE search.symspell_dictionary SET UNLOGGED; TRUNCATE search.symspell_dictionary; \i identifier.sql \i author.sql \i title.sql \i subject.sql \i series.sql \i keyword.sql CLUSTER search.symspell_dictionary USING symspell_dictionary_pkey; REINDEX TABLE search.symspell_dictionary; ALTER TABLE search.symspell_dictionary SET LOGGED; VACUUM ANALYZE search.symspell_dictionary; DROP TABLE search.symspell_dictionary_partial_title; DROP TABLE search.symspell_dictionary_partial_author; DROP TABLE search.symspell_dictionary_partial_subject; DROP TABLE search.symspell_dictionary_partial_series; DROP TABLE search.symspell_dictionary_partial_identifier; DROP TABLE search.symspell_dictionary_partial_keyword; ---- ==== Updating Reports on Patron Notes ==== The underlying data structure for patron notes has changed with all notes living in the `actor.usr_message` table, so report writers will need to change the following paths in existing reports: * `actor.usr_note` -> all columns * `actor.usr` -> `alert_message` * `actor.usr_standing_penalty` -> note And for `actor.usr_message`, there is now both a `pub` column and a `deleted` column. ==== Holdings Editor Preferences ==== Given the number of changes between the AngJS holdings editor and the new Angular interfaces, preferences stored for the AngJS interface will not be honored by the new interface. New preferences will have to be applied by staff as needed. === New Features === ==== Acquisitions ==== ===== Angular Rewrite of Acquisitions Administration Interfaces ===== Several administrative interfaces for acquisitions have been rewritten to use the Angular framework: * Claiming * Currencies and Exchange Rates * Distribution Formulas * EDI Attribute Sets * Fund Administration ====== Claiming ====== The interface for managing claim policies is now a single multi-tabbed page that combines the previous interfaces for: * Claim Policies * Claim Policy Actions * Claim Types * Claim Event Types The new interface can be found in Administration > Acquisitions Administration > Claiming. ====== Currencies and Exchange Rates ====== The previous two interfaces for managing currencies and exchange rates have been consolidated into one. The new interface allows users to create, modify, and delete currency types. In addition, the list of currencies now has 'Manage Exchange Rates' buttons to allow specifying the exchange rate from the selected currency to another one. If an exchange is set in one direction, e.g., from USD to EUR, opening the 'Manage Exchange Rates' for EUR will show the inverse of the exchange rate for USD as a read-only field. The new interface can be found in Administration > Acquisitions Administration > Currencies and Exchange Rates. ====== Distribution Formulas ====== The Angular interface for managing distribution formulas displays a grid of existing formulas and allows authorized users to create, modify, and delete formulas. The dialog for editing a formula allows the user to define one or more entries containing owning library, number of items, and optionally shelving location, fund, circulation modifier, and collection code. The new interface can be found in Administration > Acquisitions Administration > Distribution Formulas. ====== EDI Attribute Sets ====== The Angular EDI attribute sets interface is similar to the previous one. However, it includes enhancements to display the number of providers using an attribute set as well as a 'View Providers' button to navigate to those providers. The new interface can be found in Administration > Acquisitions Administration > EDI Attribute Sets. ====== Fund Administration ====== The new fund administration interface unifies configuration of funding sources, purchasing funds, and fund tags. The interface has three tabs: * Funds * Funding Sources * Fund Tags The Funds tab displays a filterable list of funds that allows the user to create, modify, and remove funds. The fund name is hyperlinked; clicking that hyperlink opens a dialog that has the following tabs: * Summary: this contains summary information about the fund, including various balances. * Allocations: this lists allocations to and from the fund. * Transfers: this lists fund transfers to and from the fund. * Debits: this lists debits against the fund. As an enhancement from the previous version of the funds interface, the grid of debits now has links to the line item, purchase order, and/or invoice associated with the debit. * Tags: this lists the tags associated with the funds and allows the user to add or remove tag associations. The fund management dialog also allows the user to create allocations into the fund and transfer money away from the fund. The funds tab also has a 'Fiscal Propagation and Rollover' button. The library from the selector on the funds tab is used to set the context org unit for the propagation and rollover. Upon clicking the button, a dialog box appears that allows the user to select the fiscal year to propagate or rollover, checkboxes to specify whether to also perform a fiscal year close-out and whether to limit a close-out to encumbrances, and a checkbox to specify whether or not to do a dry run. Upon completion of the propagation, the dialog will display summary results. The Funding Sources tab displays a filterable list of funding sources and allows the user to create funding sources, apply and view credits, allocate money to funds, and view allocations. The Fund Tags tab presents a grid that allows users view view, create, modify, and delete fund tags. Assigning a tag to a fund is done using the fund management dialog. The new interface can be found in Administration > Acquisitions Administration > Fund Administration. ====== Other Changes ====== The following miscellaneous changes are included in this work: * Funds are now displayed in Angular selectors with the pattern "CODE (YEAR) (OWNING_LIBRARY)" * The automatically generated fund allocation note associated with fund transfers now reads "Transfer to/form fund CODE (YEAR) (OWNER)". Previously, the fund was identified only by its numeric fund ID. * A new style was added for display of negative money amounts. By default, these amounts display with red text. * The fund propagation and rollover report now includes the total amount of encumbrances that were rolled over. * Various dynamic Angular comboboxes will now display up to 100 entries upon a click without requiring that the user submit a search term. * Various Angular record editing forms will now complain if the user tries to save a field value that contains only whitespace. * Currency amounts in Angular are no longer displayed with a currency symbol. Prior to this change, monetary amounts were displayed with a dollar sign regardless of the intended currency. * Various changes were made in the IDL to adjust field labels and to mark certain fields as required. ===== Fund Debit Auditor Table ===== A new auditor table now exists for the `acq.fund_debit` table. This allows detailed reporting on changes to encumbrances and expenditures over time. ===== Miscellaneous ===== * Funding sources now have an active flag. If a funding source is marked as inactive, adding credits to it or allocating from it is disabled, and it will not show up in the list of possible funding sources when allocating to a fund. ==== Administration ==== ===== Case Insensitive Browse Entries ===== It is now possible for a system administrator to select whether a particular browse entry field's case should be considered when determining uniqueness. A new "Browse Folding is Case-Insensitive" column has been added to the Administration -> Server Administration -> MARC Search/Facet Fields interface. Note that a bib record reingest will be required for changes to take effect. ===== Miscellaneous ===== * The 'Search Filter Groups' administration interface is now ported to Angular. ==== Cataloging ==== ===== Holdings Maintenance & Item Attributes Editor Angular Port ===== Key differences from the AngularJS Holdings and Item Attr. editor interfaces include the following: * Tabbed Holdings vs. Item Attr. interfaces. ** With option to display as a unified interface without tabs. * Item Attr. fields retain position when showing/hiding * Improve keyboard navigation of Item Attr. editor. * Templates are once again managed directly in the Item Attr. editor. * Item Attr. displays values as counts summaries with option to edit by clicking on a field (or tabbing + Enter) a la XUL. * Item Attr batch values support changing only items with selected values. * Batch value display limit vertical expansion of long lists with option for manual expansion. * All fields are visible by default; hidden by modifying preferences. * Owning Library is managed in the Item Attr editor a la XUL. * New feature called "Change Circ Lib When Owning Lib Changes" * Generate Barcodes and Use Checkdigit are visible in the main holdings form with option to hide. * Print Labels checkbox moved from Preferences to the save actions toolbar. * Option to hide various Holdings interface columns for extra horizontal space. * Option to temporarily expand columns in the Holdings interface for reviewing wide columns of text. ===== Fix for Authority Records with Long Subfields ===== Importing or updating authority records with long subfields, i.e. in the vicinity of 5,000 characters or more in length, can cause database errors that will prevent the update or import from happening. The error occurs because non-full text indexes in PostgreSQL have a limited length, and long fields sometimes lead to index entries that exceed this maximum value. In order to rectify this issue, two database indexes on the `authority.full_rec` table's `value` column have been redefined to match their counterparts in the `metabib.real_full_rec` table. After this update, only the first 1024 characters of an authority field or subfield will be considered by these indexes. NOTE: These indexes are not used for authority record search, though they are used for sorting and paging. ===== Bib Record -1 Can No Longer Be Edited ===== Now when retrieving the bibliographic record with the id of -1 the delete button will be missing and the save button is disabled. In addition, new database rules now protect bib record ID -1, call number ID -1 and copy location ID 1 from editing. ===== MARC Batch Import/Export Separate Edit Date/Editor Toggle ===== Adds a new field "Update Bib Edit Date" to Vandelay merge profiles which allows users to update the edit date and editor information on a merged/overlaid bib record without also having to modify the bib source. For backwards compatibility, any existing merge profiles that have "Update Bib Source" applied will also get "Update Bib Edit Date" applied. ===== Browse Heading Navigation ===== In the Angular staff catalog, when viewing the list of bib records linked to a heading, it's now possible to navigate to the previous or next heading directly on the bib list page without having to return to the original browse search. ===== Bibliographic Record Notes ===== Bibliographic record notes (i.e., administrative notes stored in the `biblio.record_note` table, not 5XX fields in the MARC record) can now be edited from the Record Notes tab. Three new permissions manage this and should be added to cataloging accounts and permission groups as appropriate: `CREATE_RECORD_NOTE`, `UPDATE_RECORD_NOTE`, and `DELETE_RECORD_NOTE`. There is an optional public display flag that is not yet supported in the public catalog but included to support future functionality. ==== Circulation ==== ===== Granular control over how to use price and acquisition cost to determine item value ===== This feature adds two new library settings: * Use Item Price or Cost as Primary Item Value * Use Item Price or Cost as Backup Item Value Which intersect the behavior of these existing settings: * Charge lost on zero * Default Item Price * Minimum Item Price * Maximum Item Price Each of these settings affect how item price is used in various contexts and is not limited to "lost" items, but can affect notices, fine rules, and billings for long overdue and damaged items (as well as lost items). By default, the price field on items is the only field considered by these various uses, but if we set, for example, "Use Item Price or Cost as Primary Item Value" to "cost", then we'll use the cost field instead of the price field. Alternately, if we set the "Backup Item Value" to "cost" and either leave the "Primary Item Value" setting unset or set to "price", then we'll consider the price field first, and if it is either unset/null or equal to 0 (and "Charge lost on zero" is true), then it'll fall-through to the cost field. We can also flip the behavior with these settings and consider cost first and then price second. The primary intended use case for this feature is: - If there's an acquisition cost, charge this as the lost value. - If there's not an acquisition cost, but there's a price, charge the price. - If neither, charge the default value. ===== Library selector on the holds pull list ===== The holds pull list screen now includes a library/org unit selector. This allows staff to view the pull list of any library where they have VIEW_HOLDS permissions, rather than having to log in to a workstation at that library. ===== Angular Holds Pull List ===== The holds pull list now uses Angular and has an address of `/eg2/en-US/staff/circ/holds/pull-list`. ===== New Item Triggered Events Log ===== A reimplementation of the Item Triggered Events Log interface, building on the Patron Triggered Events Log Angular reimplementation. ===== Template Support for Information and My Account URLs ===== A new setting has been added named `lib.my_account_url` to provide a path usable in templates to a patron's account login. Both this and the existing `lib.info_url` settings are now available in the server-side processed templates, action triggers and traditional print receipts. Web side processed templates can be found in Administration -> Server Administration -> Print Templates. You can add settings using the following syntax: [source,html] ----