--- /dev/null
+Acquisitions Purchase Order and other Interface Improvements
+============================================================
+
+Feature Summary
+---------------
+
+The following features, which primarily affect the user interface layer,
+improve Acquisitions work flows.
+
+ * Avoid double-activation of POs
+ * Disable invoice and cancel options for pending POs
+ * Disable zero-copy checkbox for activated POs
+ * Disable new charges for activated POs
+ * Replace "Shelving Location" with Copy Location
+
+ * Rearranging "actions" drop-down
+ ** More consitency in actions applying to selected lineitems specifically
+ ** Things moved from the per-lineitem dropdown to the main one when
+ sensible.
+ ** Add to PO dialog added
+ ** You can no longer add lineitems to a PO if they're already on one.
+ ** Actions in dropdown now enabled/disabled differently depending on
+ the interface where it appears (PO vs Selection List vs Acq Search etc.)
+
+ * Batch update for line items
+ ** Apply updates to all copies of all selected line items at once
+ ** Relies on a middle layer method that streams back information that
+ would suit a more asynchronous display in the future (rather than
+ simply reloading the page upon success, which it does now)
+ ** For failure cases, specific information about which line item cannot
+ be updated, and why, is available to the client, although taking
+ best advantage of this information for user-friendly display is left
+ to the future.
--- /dev/null
+New Feature: Default Number of Acquisistions Copies to Order
+============================================================
+Acquisitions providers have a new "Default # Copies" field. When the value
+is set, this number of copies will be automatically added to each lineitem
+added to a purchase order for the provider. This takes place during PO
+creation from a selection list or existing bib record and when a lineitem is
+added to an existing purchase order. If a lineitem already has copies
+attached, no default copies are added.
--- /dev/null
+Acquisitions Lineitem Order Identifiers
+=======================================
+
+Staff now have the ability to specify the identifier value to use for
+lineitems when communicating order information to vendors. This is
+particularly important when a lineitem has, for example, multiple ISBNs.
+Determining which ISBN is to act as the "order identifier" allows staff
+to provide the most accurate order information to vendors.
+
+Supported identifier types include ISBN, ISSN, and UPC. Order identifier
+values are relayed to vendors via EDI and print PO.
+
+Upgrade Notes
+=============
+
+Two new permissions are added for this feature:
+
+ * ACQ_SET_LINEITEM_IDENTIFIER
+ ** Allows staff to apply order identifiers to lineitems
+ * ACQ_ADD_LINEITEM_IDENTIFIER
+ ** Implies that new identifiers shall be added to linked bib records,
+ when a linkage exists.
--- /dev/null
+Acquisitions MARC Upload Form Persistence
+=========================================
+Adds a two-layer persistence mechanism for the acquisitions MARC file upload
+interface. A set of org unit settings now exist for managing default values
+for the interface. Additionally, for each field where no org unit setting
+value is configured, the last-used value will be persisted locally and re-
+used with subsequent loads of the interface.
--- /dev/null
+Acquisitions Inline Item Detail View
+====================================
+
+Acquisitions selection lists and purchase order interfaces contain a new link
+beside each lineitem which, when clicked, creates an inline grid of copies
+linked to the lineitem. The grid contains the same information that displays
+in the full copy edit grid (from clicking on the Copies(n) link). However,
+the inline grid is read-only, so it displays much faster and does not require
+the user to change visual contexts.
+
+Included along the top of the lineitem table is a new '✓ Expand' link which,
+when clicked, expands or collapses the inline grid for all visible lineitems.
--- /dev/null
+Direct access to Item Attribute Editor
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+You can now access the item attribute editor via Admin -> Local Admin -> Item
+Attribute Editor. No copy record is loaded into the editor, but it is available to without first finding an item and loading it into the editor:
+
+ * Configure copy templates.
+ * Hide fields in the copy editor.
--- /dev/null
+MARC Import Tag Stripping
+=========================
+
+Administrators can configure MARC tags which are removed from MARC records
+imported via Z39.50 and the Vandelay MARC Import/Export UI (ACQ and non-ACQ).
+Tags are organized into groups. Groups can be marked as optional or required.
+For each tag, every instance of the tag (including all subfields) are removed
+from the record.
+
+MARC fields which are contained within required ('always_apply') tag groups
+are always removed from inbound records. No action is needed. Tag groups
+which are optional will appear in MARC import interfaces (see below) allowing
+staff to select which groups of tags to strip from incoming records at import
+time.
+
+Interfaces Affected
+-------------------
+
+ * Admin UI
+ ** Admin => Server Administration => MARC Import Remove Fields
+ * Z39.50 Import
+ ** Cataloging => Import Record from Z39.50
+ ** Optional groups appear with the other import options
+ * Vandelay
+ ** Cataloging => MARC Import/ExportVandelay
+ ** Acquisistions => Load Order Records
+ ** Optional groups appear with the other import options
+
--- /dev/null
+Vandelay Default Match Set
+==========================
+A new org unit setting to specify a default Record Match Set when
+importing MARC records through the MARC Batch Import/Export interface. It does
+not affect the default match set selected in acquisitions. If this
+is set, it will not be possible to leave the Record Match Set field blank;
+it may be necessary to define a default match set that replicates the current
+default behavior.
+
+A new "Vandelay" org unit settings group is also created.
+
--- /dev/null
+Storing Z39.50 Server Credentials
+=================================
+
+In the Z39.50 configuration interface, staff now have the option to apply
+z39.50 login credentials to each Z39.50 server at different levels of the
+org unit hierarchy (similar to org unit settings). When credentials are set
+for a Z39 server, searches against the z39 server will used the stored
+credentials, unless other credentials are provided by the caller, in which
+case the caller credentials are used.
+
+For security purposes, passwords may not be retrieved or reported on by staff.
+Staff can only apply new values for credentials or clear existing ones.
+
--- /dev/null
+Calculated Proximity Adjustments
+================================
+
+Allows customization to the way that Evergreen measures the distance between
+org units for the purposes of 1) determining what copy at what org unit is best
+suited for targeting a title-level hold, and 2) determining what hold is best
+suited for fulfillment by a copy-in-hand at capture (checkin) time. The
+customization is based on a table 'actor.org_unit_proximity_adjustment', with
+certain matching criteria that the system compares to properties of the holds
+and copies in question.
--- /dev/null
+New feature: "Warn patrons when their account is about to expire"
+=================================================================
+To give staff the ability to warn patrons when their account is about to
+expire, the staff client can display an alert message on the patron information
+window. A new library setting, `Warn patrons when their account is about to
+expire` in the *Circulation* section of the *Library Settings Editor*,
+determines how many days in advance of a patron's account expiry date the alert
+should be displayed. By default, warnings about upcoming patron account expiry
+dates are not displayed.
--- /dev/null
+Custom best-hold selection sort order
+=====================================
+
+The ranking algorithm that chooses the best hold to target a copy in
+hand at a capture time used to be fairly simple. It had two modes, FIFO
+and not-FIFO, and that was it.
+
+This change allows full configuration of that algorithm. In other
+words, when the system captures a copy and sets out to evaluate what
+hold, if any, that copy might best fulfull, site staff of sufficient
+permission level are now empowered to choose exactly which comparisons
+the systems makes in what order. This gives said staff much greater
+flexibililty than they have today over holds policy.
+
+For more information, see the included tech spec documents.
+
--- /dev/null
+New feature: add "about:about" to developer menu in staff client
+=================================================================
+
+about:about gives access to various XULRunner diagnostic tools.
+Useful ones include:
+
+about:buildconfig::
+ Get information about how the staff client is built.
+about:config::
+ Tweak XULRunner settings.
+about:memory::
+ Get detailed information about the memory usage of the staff
+ client.
--- /dev/null
+New feature: Clickable Patron Indicators
+========================================
+When retrieving a patron record, staff can now click on the indicators listed
+beneath the patron's name and launch the related tabs.
+
+For example, clicking on (See Notes) will open the associated patron's notes.
--- /dev/null
+Show Hold Patron Name in TPac
+=============================
+
+When looking up patron information for hold placement via the staff client in
+TPac the hold patron name is now shown next to the entered barcode. In the event
+that the barcode is not found a notice is displayed and the submit button is
+disabled until a valid barcode is entered or the staff member is switched to.
--- /dev/null
+New Feature: Generic CVS Notification Generator/Receiver
+========================================================
+
+New Action/Trigger template and sample event definitions for creating a CSV
+export file for various patron actions, primarily for the purpose of creating
+patron notices via external notification mechanisms.
+
+The reference implementation for this development is the TalkingTech iTiva
+product, which consumes CSV files for generating phone/text notifications and
+produces CSV results files for informing the ILS of notification statuses.
+The template and send/receive scripts, however, should be generic enough to
+create CSV for any type of 3rd-party notification product.
+
+Action/Trigger Event Definition Configuration
+---------------------------------------------
+
+ * Supported hook core types include *circ*, *ahr*, *ausp*, and *au*
+ * Reactor is *ProcessTemplate*
+
+Event Environment Requirements
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ * Patron object with card
+ * copy object
+ ** circ.target_copy
+ ** hold.current_copy
+ * Org unit
+ ** circ.circ_lib
+ ** ahr.pickup_lib
+ ** ausp.org_unit
+ ** patron.home_ou
+
+Not all fields are relevent to all notice types.
+
+Required Event Parameters
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ * notify_media (e.g. phone)
+ * notify_type (e.g. overdue)
+ * notify_level (e.g. "1" -- first overdue)
+
+The set of options for each event parameter is dependent on the 3rd-party
+processing the CSV file.
+
+iTiva Event Parameter Options
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ * notify_media
+ ** V (voice)
+ ** T (text)
+ * notify_level
+ ** 1 (1st notice)
+ ** 2 (2nd notice)
+ ** 3 (3rd notice)
+ * notify_type
+ ** FINES
+ ** OVERDUE
+ ** PREOVERDUE
+ ** PRERESERVE
+ ** RECALL
+ ** RESERVE
+ ** RESERVECANCEL
+ ** RESERVEEXPIRE
+ ** SUSPEND
+
+Push/Fetch Scripts
+------------------
+
+ * action_trigger_aggregator.pl collects event output from requested event
+ definitions and stitches them together into a single file, which is sent
+ via (s)FTP to the 3rd party.
+ * Why don't we use the SendFile reactor directly?
+ ** The final file is meant to be a collection of event-def outputs, not
+ the output from a single event def
+ ** The final file may be too large to reasonably store directly in a
+ single action/trigger event_output row.
+ * csv_notify_fetcher.pl retrieves responses from the 3rd party and applies
+ the statuses to the async_output of each notified event.
--- /dev/null
+Staff client search preferences
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Staff can now set workstation-level search preferences through Admin ->
+Workstation Administration -> Set Search Preferences.
+
+ * Default Search Library sets the library that is searched by default from
+ the advanced search page and the portal page.
+ * Preferred library is used to identify copies that should display first.
+ * Advanced search default pane allows staff to set the numeric or expert
+ searches as the default search tab.
+
+The option to change the preferred search library from the search results page
+is no longer available when logged into the staff client.
+
--- /dev/null
+Show Holds On Bib Menu Option
+=============================
+
+Add direct "Show holds on bibs" menu option from item checkin, item status,
+and patron hold interfaces. This gives staff a quicker way of viewing who
+else has holds on an item instead of having to click an option to view the
+bib record, then clicking into the menus to view holds.
--- /dev/null
+Upgrade Notes
+-------------
+Custom toolbar permissions
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+With the addition of more granular permissions for configuring a custom
+toolbars, the ADMIN_TOOLBAR permission alone will not allow users to
+configure a custom toolbar. This permission must now be used in conjunction
+with one or more of the following permissions:
+
+* ADMIN_TOOLBAR_FOR_ORG
+* ADMIN_TOOLBAR_FOR_USER
+* ADMIN_TOOLBAR_FOR_WORKSTATION
--- /dev/null
+Display alternate graphic (880) fields
+======================================
+
+By default, Evergreen displays alternate graphic fields, if any, for
+contributors (1xx / 7xx), titles (245), edition statements (250), imprints
+(260), notes (5xx), subjects (6xx), and series (4xx / 8xx) in search results and record details
+per the Library of Congress MARC21 specifications:
+
+* http://www.loc.gov/marc/bibliographic/bd880.html
+* http://www.loc.gov/marc/bibliographic/ecbdcntf.html
+* http://www.loc.gov/marc/bibliographic/ecbdmulti.html (Model A)
+
+Default display
+---------------
+In general, alternate graphic fields display below the corresponding
+primary field. One exception is the attribution summary on the record details
+page, in which the alternate graphic field contents display between the
+primary field content and the attribution statement. To support CSS
+customizations, HTML elements for the graphic fields have the class attribute
+value `graphic880`.
+
+Implementation details
+----------------------
+The template file `parts/misc_util.tt2` defines two macros for retrieving
+linked 880 fields:
+
+* `get_graphic_880s`: given a _target_field_ scalar value representing a MARC
+ field tag, populate the _graphic_880s_ list with hashes containing the
+ target field tag and any graphic fields linked to that particular tag, with
+ the values for each being a simple concatenation of all subfields that are
+ not control subfields (per
+ http://www.loc.gov/marc/bibliographic/ecbdcntf.html). The structure of the
+ `graphic_880s` list is as follows:
++
+------------------------------------------------------------------------
+[
+ {
+ "primary": {"occur": 01, "value": "foo foo"},
+ "graphic": [
+ {
+ "occur": 01,
+ "value": "bar bar",
+ "orient": "rtl",
+ "script": "CJK"
+ }
+ ]
+ }
+]
+------------------------------------------------------------------------
+* `get_linked_880s` macro iterates over the content of the `linked_fields`
+ list, in which each element of the list to be a scalar representing the $6
+ control subfield link info. The macro populates the `graphics` list with a
+ set of graphic field hashes with the following structure:
++
+------------------------------------------------------------------------
+[
+ {
+ "occur": 01,
+ "value": "bar bar",
+ "orient": "rtl",
+ "script": "CJK"
+ }
+]
+------------------------------------------------------------------------
+
+`misc_util.tt2` preserves legacy attribute lists to enable previous TPAC
+customizations to continue to function normally.
--- /dev/null
+Removal of JSPAC
+^^^^^^^^^^^^^^^^
+TPAC is now the default catalog in Evergreen. The default apache configuration
+now points to TPAC, staff client OPAC options now point to TPAC, and the JSPAC
+to TPAC toggle has been removed from the portal page.
--- /dev/null
+Options to Hide Some User Preferences
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The config.tt2 file now provides options to disable phone notification options, password changes, and e-mail address changes in TPAC. These options are useful
+for libraries that do not do phone notifications and for those that use
+centralized authentication.
+
+Note the ability to disable user name changes is already available through the
+Library Settings editor.
--- /dev/null
+MARC21 Feeds from OpenSearch
+============================
+
+In addition to the already supported formats, you can now get raw MARC21 from
+OpenSearch feeds, à la:
+
+ http://<host>/opac/extras/opensearch/1.1/-/marc21?searchTerms=piano
+
--- /dev/null
+Public Copy Notes
+^^^^^^^^^^^^^^^^^
+Public copy notes are now visible in TPAC.
--- /dev/null
+Search Changes
+==============
+A number of changes have been made to search to allow more control and improve
+performance. These changes and their associated configurations are global to
+the entire system and can not be configured on a per-library basis.
+
+Amongst other things the new search code fixes:
+
+* Inability to use statuses and locations as part of a larger query
+* Invalid queries being generated from advanced searches
+* Some timeouts from backend code taking too long to preform a search
+* Some filters being one-use only
+* Negations not working properly where multiple indexes are involved
+
+Improvements include:
+
+* Exact matches on input should be more likely to float to the top of results
+* Non-English stemming can be used, alongside or instead of English stemming
+* Entered search terms can be found across multiple indexes
+
+Default configuration is geared towards English but is easily changed. In a
+production environment changes will likely require re-indexing, however.
+
+The upgrade script could be pre-tweaked to install desired configuration before
+it builds and/or re-builds many of the indexes.
--- /dev/null
+Searching for deleted records
+=============================
+
+Evergreen now supports searching for deleted records via the '#deleted'
+QP modifier.
+
+In order to support this, sites must enable the
+'ingest.metarecord_mapping.preserve_on_delete' internal flag. It is off by
+default since the ability to search for deleted records requires keeping
+metarecord mappings around when bibs are deleted, which may not be desirable
+for the typical site.
--- /dev/null
+Two new QP filters: create_date and edit_date
+=============================================
+
+These filter on the fields of the same name in biblio.record_entry.
+
+e.g.
+ * create_date(,2013-02-01) => records created before 2013-02-01
+ * create_date(2013-02-01) => records created since 2013-02-01
+ * create_date(2013-02-01,2013-02-28) => records created in Feb 2013
+ * create_date(yesterday) => records since created yesterday
+
--- /dev/null
+TPAC Org Unit Hiding
+====================
+
+Adds support for the opac.org_unit_hiding.depth org unit setting to
+TPAC, which makes out-of-scope org units disappear (except when
+explicitly requested).
+
+Org unit hiding is based on the physical_loc (Physical Location) param /
+cookie, which is the closest analog to 'ol' (original location), from
+which it was based in the JSPAC.
+
+UI Changes
+----------
+
+ * All search org unit selectors
+ * Holds pickup lib selector
+ * Copy summary in search results page
+ * Copy list in search results page
+ * Copy summary in record detail page (which controls the copy grid).
+ * Hold summary in record detail page
--- /dev/null
+New Feature: Show local call number in TPAC My Lists display
+============================================================
+
+If an opac-visible call number exists that is owned by an org unit
+relevant to the patron, show the most relevant call number label
+and owning branch name in the My Lists display for each record in
+the list. Call number is displayed in both saved and temporary lists.
+
+A call number is considered relevant if its owner is one of:
+
+physical location library
+preferred library (plib, home, etc.)
+search library
+
+If no relevant call number is found, no call number is diplayed.
--- /dev/null
+TPAC: Google Books preview
+==========================
+
+Setting `ctx.google_books_preview` to `1` in the TPAC `config.tt2`
+configuration file will cause the TPAC to check to see, as part of the record
+details view, if Google Books has an online preview available. If it does,
+then a preview button will be displayed in the book cover image location.
+If the user then clicks the preview button, the preview will load below the
+title of the book in the record details page.
+
+By default, this functionality is disabled to protect the privacy of users
+who might not want to share their browsing behaviour with Google.
-New features should be accompanied by a file in this directory. The file should
-be in asciidoc format and contain enough description to enable the
-documentation team to write something coherent about the new functionality. The
-name of the file should match the feature. No numbering, etc. is required. With
-each release, the contents of this directory will be appended to the release
-notes and removed from this directory.
+New features should be accompanied by a file in this directory for general
+features, infrastructure, performance enhancements or the like, or a
+directory below this for area- or "module"-specific addtions and changes.
+
+The file should be in asciidoc format and contain enough description to
+enable the documentation team to write something coherent about the new
+functionality. The name of the file should match the feature. No numbering,
+etc. is required. With each release, the contents of this directory will be
+appended to the release notes and removed from this directory.
+
--- /dev/null
+Serial Control: Embed Alternate Interfaces
+==========================================
+As another step toward a unified interface, the serial control subscription
+editor now consists of an embedded version of the alternate control. This
+reduces duplication of both code and documentation, and smoothes the eventual
+transition to a single interface.
+
+In order to not lose any essential features, the following additions were made
+to the new combination editor:
+
+* note editors on subscriptions and distributions
+* labeled dropdown for distribution summary options ("Add to record entry", "Use record entry only", etc.)
+* legacy record entry linkage setup (Allows one to tie a distribution's information to a particular serial record entry (i.e. a MFHD record))
--- /dev/null
+Serial Control: Set Special Statuses
+====================================
+The Serial Control interface prevents direct editing of serial item statuses
+for data integrity reasons. As an alternative to direct control, the interface
+now offers new menu options for setting items to 'claimed', 'not held', and
+'not published'. Note that these statuses are still currently useful for
+reporting and display purposes only.
+++ /dev/null
-New feature: add "about:about" to developer menu in staff client
-=================================================================
-
-about:about gives access to various XULRunner diagnostic tools.
-Useful ones include:
-
-about:buildconfig::
- Get information about how the staff client is built.
-about:config::
- Tweak XULRunner settings.
-about:memory::
- Get detailed information about the memory usage of the staff
- client.
+++ /dev/null
-Acquisitions Purchase Order and other Interface Improvements
-============================================================
-
-Feature Summary
----------------
-
-The following features, which primarily affect the user interface layer,
-improve Acquisitions work flows.
-
- * Avoid double-activation of POs
- * Disable invoice and cancel options for pending POs
- * Disable zero-copy checkbox for activated POs
- * Disable new charges for activated POs
- * Replace "Shelving Location" with Copy Location
-
- * Rearranging "actions" drop-down
- ** More consitency in actions applying to selected lineitems specifically
- ** Things moved from the per-lineitem dropdown to the main one when
- sensible.
- ** Add to PO dialog added
- ** You can no longer add lineitems to a PO if they're already on one.
- ** Actions in dropdown now enabled/disabled differently depending on
- the interface where it appears (PO vs Selection List vs Acq Search etc.)
-
- * Batch update for line items
- ** Apply updates to all copies of all selected line items at once
- ** Relies on a middle layer method that streams back information that
- would suit a more asynchronous display in the future (rather than
- simply reloading the page upon success, which it does now)
- ** For failure cases, specific information about which line item cannot
- be updated, and why, is available to the client, although taking
- best advantage of this information for user-friendly display is left
- to the future.
+++ /dev/null
-New Feature: Default Number of Acquisistions Copies to Order
-============================================================
-Acquisitions providers have a new "Default # Copies" field. When the value
-is set, this number of copies will be automatically added to each lineitem
-added to a purchase order for the provider. This takes place during PO
-creation from a selection list or existing bib record and when a lineitem is
-added to an existing purchase order. If a lineitem already has copies
-attached, no default copies are added.
+++ /dev/null
-Acquisitions Lineitem Order Identifiers
-=======================================
-
-Staff now have the ability to specify the identifier value to use for
-lineitems when communicating order information to vendors. This is
-particularly important when a lineitem has, for example, multiple ISBNs.
-Determining which ISBN is to act as the "order identifier" allows staff
-to provide the most accurate order information to vendors.
-
-Supported identifier types include ISBN, ISSN, and UPC. Order identifier
-values are relayed to vendors via EDI and print PO.
-
-Upgrade Notes
-=============
-
-Two new permissions are added for this feature:
-
- * ACQ_SET_LINEITEM_IDENTIFIER
- ** Allows staff to apply order identifiers to lineitems
- * ACQ_ADD_LINEITEM_IDENTIFIER
- ** Implies that new identifiers shall be added to linked bib records,
- when a linkage exists.
+++ /dev/null
-Acquisitions MARC Upload Form Persistence
-=========================================
-Adds a two-layer persistence mechanism for the acquisitions MARC file upload
-interface. A set of org unit settings now exist for managing default values
-for the interface. Additionally, for each field where no org unit setting
-value is configured, the last-used value will be persisted locally and re-
-used with subsequent loads of the interface.
+++ /dev/null
-Acquisitions Inline Item Detail View
-====================================
-
-Acquisitions selection lists and purchase order interfaces contain a new link
-beside each lineitem which, when clicked, creates an inline grid of copies
-linked to the lineitem. The grid contains the same information that displays
-in the full copy edit grid (from clicking on the Copies(n) link). However,
-the inline grid is read-only, so it displays much faster and does not require
-the user to change visual contexts.
-
-Included along the top of the lineitem table is a new '✓ Expand' link which,
-when clicked, expands or collapses the inline grid for all visible lineitems.
+++ /dev/null
-Display alternate graphic (880) fields
-======================================
-
-By default, Evergreen displays alternate graphic fields, if any, for
-contributors (1xx / 7xx), titles (245), edition statements (250), imprints
-(260), notes (5xx), subjects (6xx), and series (4xx / 8xx) in search results and record details
-per the Library of Congress MARC21 specifications:
-
-* http://www.loc.gov/marc/bibliographic/bd880.html
-* http://www.loc.gov/marc/bibliographic/ecbdcntf.html
-* http://www.loc.gov/marc/bibliographic/ecbdmulti.html (Model A)
-
-Default display
----------------
-In general, alternate graphic fields display below the corresponding
-primary field. One exception is the attribution summary on the record details
-page, in which the alternate graphic field contents display between the
-primary field content and the attribution statement. To support CSS
-customizations, HTML elements for the graphic fields have the class attribute
-value `graphic880`.
-
-Implementation details
-----------------------
-The template file `parts/misc_util.tt2` defines two macros for retrieving
-linked 880 fields:
-
-* `get_graphic_880s`: given a _target_field_ scalar value representing a MARC
- field tag, populate the _graphic_880s_ list with hashes containing the
- target field tag and any graphic fields linked to that particular tag, with
- the values for each being a simple concatenation of all subfields that are
- not control subfields (per
- http://www.loc.gov/marc/bibliographic/ecbdcntf.html). The structure of the
- `graphic_880s` list is as follows:
-+
-------------------------------------------------------------------------
-[
- {
- "primary": {"occur": 01, "value": "foo foo"},
- "graphic": [
- {
- "occur": 01,
- "value": "bar bar",
- "orient": "rtl",
- "script": "CJK"
- }
- ]
- }
-]
-------------------------------------------------------------------------
-* `get_linked_880s` macro iterates over the content of the `linked_fields`
- list, in which each element of the list to be a scalar representing the $6
- control subfield link info. The macro populates the `graphics` list with a
- set of graphic field hashes with the following structure:
-+
-------------------------------------------------------------------------
-[
- {
- "occur": 01,
- "value": "bar bar",
- "orient": "rtl",
- "script": "CJK"
- }
-]
-------------------------------------------------------------------------
-
-`misc_util.tt2` preserves legacy attribute lists to enable previous TPAC
-customizations to continue to function normally.
+++ /dev/null
-Calculated Proximity Adjustments
-================================
-
-Allows customization to the way that Evergreen measures the distance between
-org units for the purposes of 1) determining what copy at what org unit is best
-suited for targeting a title-level hold, and 2) determining what hold is best
-suited for fulfillment by a copy-in-hand at capture (checkin) time. The
-customization is based on a table 'actor.org_unit_proximity_adjustment', with
-certain matching criteria that the system compares to properties of the holds
-and copies in question.
+++ /dev/null
-New feature: "Warn patrons when their account is about to expire"
-=================================================================
-To give staff the ability to warn patrons when their account is about to
-expire, the staff client can display an alert message on the patron information
-window. A new library setting, `Warn patrons when their account is about to
-expire` in the *Circulation* section of the *Library Settings Editor*,
-determines how many days in advance of a patron's account expiry date the alert
-should be displayed. By default, warnings about upcoming patron account expiry
-dates are not displayed.
+++ /dev/null
-New feature: Clickable Patron Indicators
-========================================
-When retrieving a patron record, staff can now click on the indicators listed
-beneath the patron's name and launch the related tabs.
-
-For example, clicking on (See Notes) will open the associated patron's notes.
--- /dev/null
+#!/bin/bash
+
+ver=
+while getopts r: opt; do
+ case $opt in
+ r)
+ ver=$OPTARG
+ ;;
+ esac
+done
+
+if [ -z "$ver" ]; then echo "I need a version: -r"; exit; fi
+
+outfile="../RELEASE_NOTES_$ver.txt"
+
+title="Evergreen $ver Release Notes"
+
+echo $title > $outfile;
+for j in `seq 1 ${#title}`; do echo -n '='; done >> $outfile
+
+echo >> $outfile
+echo ':toc:' >> $outfile
+echo ':numbered:' >> $outfile
+echo >> $outfile
+echo Upgrade notes >> $outfile
+echo ------------- >> $outfile
+echo >> $outfile
+
+
+for i in `ls -l|grep ^d|awk '{print $9}'`; do
+ files=$(ls $i/*txt 2>/dev/null)
+ if [ "_$files" != "_" ]; then
+ echo >> $outfile
+ echo >> $outfile
+ echo $i >> $outfile
+ for j in `seq 1 ${#i}`; do echo -n '~'; done >> $outfile
+ echo >> $outfile
+ echo >> $outfile
+
+ for j in $files; do
+ echo >> $outfile
+ echo >> $outfile
+ cat $j >> $outfile
+ echo >> $outfile
+ echo >> $outfile
+ done
+ fi
+done
+
+files=$(ls *txt 2>/dev/null)
+if [ "_$files" != "_" ]; then
+ echo >> $outfile
+ echo Miscellaneous >> $outfile
+ echo ------------- >> $outfile
+ echo >> $outfile
+ for j in $files; do
+ cat $j >> $outfile
+ done
+fi
+
+++ /dev/null
-Custom best-hold selection sort order
-=====================================
-
-The ranking algorithm that chooses the best hold to target a copy in
-hand at a capture time used to be fairly simple. It had two modes, FIFO
-and not-FIFO, and that was it.
-
-This change allows full configuration of that algorithm. In other
-words, when the system captures a copy and sets out to evaluate what
-hold, if any, that copy might best fulfull, site staff of sufficient
-permission level are now empowered to choose exactly which comparisons
-the systems makes in what order. This gives said staff much greater
-flexibililty than they have today over holds policy.
-
-For more information, see the included tech spec documents.
-
+++ /dev/null
-Show Hold Patron Name in TPac
-=============================
-
-When looking up patron information for hold placement via the staff client in
-TPac the hold patron name is now shown next to the entered barcode. In the event
-that the barcode is not found a notice is displayed and the submit button is
-disabled until a valid barcode is entered or the staff member is switched to.
+++ /dev/null
-MARC Import Tag Stripping
-=========================
-
-Administrators can configure MARC tags which are removed from MARC records
-imported via Z39.50 and the Vandelay MARC Import/Export UI (ACQ and non-ACQ).
-Tags are organized into groups. Groups can be marked as optional or required.
-For each tag, every instance of the tag (including all subfields) are removed
-from the record.
-
-MARC fields which are contained within required ('always_apply') tag groups
-are always removed from inbound records. No action is needed. Tag groups
-which are optional will appear in MARC import interfaces (see below) allowing
-staff to select which groups of tags to strip from incoming records at import
-time.
-
-Interfaces Affected
--------------------
-
- * Admin UI
- ** Admin => Server Administration => MARC Import Remove Fields
- * Z39.50 Import
- ** Cataloging => Import Record from Z39.50
- ** Optional groups appear with the other import options
- * Vandelay
- ** Cataloging => MARC Import/ExportVandelay
- ** Acquisistions => Load Order Records
- ** Optional groups appear with the other import options
-
+++ /dev/null
-MARC21 Feeds from OpenSearch
-============================
-
-In addition to the already supported formats, you can now get raw MARC21 from
-OpenSearch feeds, à la:
-
- http://<host>/opac/extras/opensearch/1.1/-/marc21?searchTerms=piano
-
+++ /dev/null
-New Feature: Generic CVS Notification Generator/Receiver
-========================================================
-
-New Action/Trigger template and sample event definitions for creating a CSV
-export file for various patron actions, primarily for the purpose of creating
-patron notices via external notification mechanisms.
-
-The reference implementation for this development is the TalkingTech iTiva
-product, which consumes CSV files for generating phone/text notifications and
-produces CSV results files for informing the ILS of notification statuses.
-The template and send/receive scripts, however, should be generic enough to
-create CSV for any type of 3rd-party notification product.
-
-Action/Trigger Event Definition Configuration
----------------------------------------------
-
- * Supported hook core types include *circ*, *ahr*, *ausp*, and *au*
- * Reactor is *ProcessTemplate*
-
-Event Environment Requirements
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- * Patron object with card
- * copy object
- ** circ.target_copy
- ** hold.current_copy
- * Org unit
- ** circ.circ_lib
- ** ahr.pickup_lib
- ** ausp.org_unit
- ** patron.home_ou
-
-Not all fields are relevent to all notice types.
-
-Required Event Parameters
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
- * notify_media (e.g. phone)
- * notify_type (e.g. overdue)
- * notify_level (e.g. "1" -- first overdue)
-
-The set of options for each event parameter is dependent on the 3rd-party
-processing the CSV file.
-
-iTiva Event Parameter Options
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
- * notify_media
- ** V (voice)
- ** T (text)
- * notify_level
- ** 1 (1st notice)
- ** 2 (2nd notice)
- ** 3 (3rd notice)
- * notify_type
- ** FINES
- ** OVERDUE
- ** PREOVERDUE
- ** PRERESERVE
- ** RECALL
- ** RESERVE
- ** RESERVECANCEL
- ** RESERVEEXPIRE
- ** SUSPEND
-
-Push/Fetch Scripts
-------------------
-
- * action_trigger_aggregator.pl collects event output from requested event
- definitions and stitches them together into a single file, which is sent
- via (s)FTP to the 3rd party.
- * Why don't we use the SendFile reactor directly?
- ** The final file is meant to be a collection of event-def outputs, not
- the output from a single event def
- ** The final file may be too large to reasonably store directly in a
- single action/trigger event_output row.
- * csv_notify_fetcher.pl retrieves responses from the 3rd party and applies
- the statuses to the async_output of each notified event.
+++ /dev/null
-Search Changes
-==============
-A number of changes have been made to search to allow more control and improve
-performance. These changes and their associated configurations are global to
-the entire system and can not be configured on a per-library basis.
-
-Amongst other things the new search code fixes:
-
-* Inability to use statuses and locations as part of a larger query
-* Invalid queries being generated from advanced searches
-* Some timeouts from backend code taking too long to preform a search
-* Some filters being one-use only
-* Negations not working properly where multiple indexes are involved
-
-Improvements include:
-
-* Exact matches on input should be more likely to float to the top of results
-* Non-English stemming can be used, alongside or instead of English stemming
-* Entered search terms can be found across multiple indexes
-
-Default configuration is geared towards English but is easily changed. In a
-production environment changes will likely require re-indexing, however.
-
-The upgrade script could be pre-tweaked to install desired configuration before
-it builds and/or re-builds many of the indexes.
+++ /dev/null
-Searching for deleted records
-=============================
-
-Evergreen now supports searching for deleted records via the '#deleted'
-QP modifier.
-
-In order to support this, sites must enable the
-'ingest.metarecord_mapping.preserve_on_delete' internal flag. It is off by
-default since the ability to search for deleted records requires keeping
-metarecord mappings around when bibs are deleted, which may not be desirable
-for the typical site.
+++ /dev/null
-Two new QP filters: create_date and edit_date
-=============================================
-
-These filter on the fields of the same name in biblio.record_entry.
-
-e.g.
- * create_date(,2013-02-01) => records created before 2013-02-01
- * create_date(2013-02-01) => records created since 2013-02-01
- * create_date(2013-02-01,2013-02-28) => records created in Feb 2013
- * create_date(yesterday) => records since created yesterday
-
+++ /dev/null
-Serial Control: Embed Alternate Interfaces
-==========================================
-As another step toward a unified interface, the serial control subscription
-editor now consists of an embedded version of the alternate control. This
-reduces duplication of both code and documentation, and smoothes the eventual
-transition to a single interface.
-
-In order to not lose any essential features, the following additions were made
-to the new combination editor:
-
-* note editors on subscriptions and distributions
-* labeled dropdown for distribution summary options ("Add to record entry", "Use record entry only", etc.)
-* legacy record entry linkage setup (Allows one to tie a distribution's information to a particular serial record entry (i.e. a MFHD record))
+++ /dev/null
-Serial Control: Set Special Statuses
-====================================
-The Serial Control interface prevents direct editing of serial item statuses
-for data integrity reasons. As an alternative to direct control, the interface
-now offers new menu options for setting items to 'claimed', 'not held', and
-'not published'. Note that these statuses are still currently useful for
-reporting and display purposes only.
+++ /dev/null
-Show Holds On Bib Menu Option
-=============================
-
-Add direct "Show holds on bibs" menu option from item checkin, item status,
-and patron hold interfaces. This gives staff a quicker way of viewing who
-else has holds on an item instead of having to click an option to view the
-bib record, then clicking into the menus to view holds.
+++ /dev/null
-Upgrade Notes
--------------
-Custom toolbar permissions
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-With the addition of more granular permissions for configuring a custom
-toolbars, the ADMIN_TOOLBAR permission alone will not allow users to
-configure a custom toolbar. This permission must now be used in conjunction
-with one or more of the following permissions:
-
-* ADMIN_TOOLBAR_FOR_ORG
-* ADMIN_TOOLBAR_FOR_USER
-* ADMIN_TOOLBAR_FOR_WORKSTATION
+++ /dev/null
-TPAC Org Unit Hiding
-====================
-
-Adds support for the opac.org_unit_hiding.depth org unit setting to
-TPAC, which makes out-of-scope org units disappear (except when
-explicitly requested).
-
-Org unit hiding is based on the physical_loc (Physical Location) param /
-cookie, which is the closest analog to 'ol' (original location), from
-which it was based in the JSPAC.
-
-UI Changes
-----------
-
- * All search org unit selectors
- * Holds pickup lib selector
- * Copy summary in search results page
- * Copy list in search results page
- * Copy summary in record detail page (which controls the copy grid).
- * Hold summary in record detail page
+++ /dev/null
-New Feature: Show local call number in TPAC My Lists display
-============================================================
-
-If an opac-visible call number exists that is owned by an org unit
-relevant to the patron, show the most relevant call number label
-and owning branch name in the My Lists display for each record in
-the list. Call number is displayed in both saved and temporary lists.
-
-A call number is considered relevant if its owner is one of:
-
-physical location library
-preferred library (plib, home, etc.)
-search library
-
-If no relevant call number is found, no call number is diplayed.
+++ /dev/null
-TPAC: Google Books preview
-==========================
-
-Setting `ctx.google_books_preview` to `1` in the TPAC `config.tt2`
-configuration file will cause the TPAC to check to see, as part of the record
-details view, if Google Books has an online preview available. If it does,
-then a preview button will be displayed in the book cover image location.
-If the user then clicks the preview button, the preview will load below the
-title of the book in the record details page.
-
-By default, this functionality is disabled to protect the privacy of users
-who might not want to share their browsing behaviour with Google.
+++ /dev/null
-Vandelay Default Match Set
-==========================
-A new org unit setting to specify a default Record Match Set when
-importing MARC records through the MARC Batch Import/Export interface. It does
-not affect the default match set selected in acquisitions. If this
-is set, it will not be possible to leave the Record Match Set field blank;
-it may be necessary to define a default match set that replicates the current
-default behavior.
-
-A new "Vandelay" org unit settings group is also created.
-
+++ /dev/null
-Storing Z39.50 Server Credentials
-=================================
-
-In the Z39.50 configuration interface, staff now have the option to apply
-z39.50 login credentials to each Z39.50 server at different levels of the
-org unit hierarchy (similar to org unit settings). When credentials are set
-for a Z39 server, searches against the z39 server will used the stored
-credentials, unless other credentials are provided by the caller, in which
-case the caller credentials are used.
-
-For security purposes, passwords may not be retrieved or reported on by staff.
-Staff can only apply new values for credentials or clear existing ones.
-