=== Circulation
==== Batch Editing of Patron Records
+
There is a now a new interface analogous to the Copy Bucket interface
to select and group a set of users into a User Bucket.
The addition of users to a User Bucket is possible from the Patron Search
of a live Evergreen instances, it will need to be added back in order for
batch user editing to succeed.
-==== Honor Timezone of the Acting Library
-
-===== Summary
-
-* Display day-granular due dates in the circulating library's timezone.
-* Only display the date portion of the due date for day-granular circulations.
-* Display the full timestamp, in the client's timezone rather than the circulation library's, for hourly circulations.
-* Provide infrastructure for more advanced formatting of timestamps.
-* Override the built-in AngularJS date filter with an implementation that uses moment.js, providing consistency and better standards compliance.
-
-===== Details
-
-This is a followup to the work done for 2.12, where we added the ability
-for the client to specify a timezone in which timestamps should be interpreted
-in business logic and the database.
-
-Most specifically, this work focuses on circulation due dates and the closed
-date editor. Due dates, where displayed using stock templates (including
-receipt templates) and used for fine calculation, are now manipulated in the
-library's configured timezone. This is controlled by the new 'lib.timezone'
-setting available via the Library Settings Editor, loaded from the server when
-required. Additionally, closings are recorded in the library's timezone so that
-due date calculation is more accurate. The closed date editor is also
-taught how to display closings in the
-closed library's timezone. Closed date entries also explicitly record if they
-are a full day closing, or a multi-day closing. This significantly simplifies
-the editor, and may be useful in other contexts.
-
-To accomplish this, we use the moment.js library and the moment-timezone addon.
-This is necessary because the stock AngularJS date filter does not understand
-locale-aware timezone values, which are required to support DST. A simple
-mapper translates the differences in format values from AngularJS date to
-moment.js.
-
-Of special note are a set of new filters used for formatting timestamps under
-certain circumstances. The new egOrgDateInContext, egOrgDate, and egDueDate
-filters provide the functionality, and autogrid is enhanced to make use of
-these where applicable. egGrid and egGridField are also taught to accept
-default and field-specific options for applying date filters. These filters may
-be useful in other or related contexts.
-
-The egDueDate filter, used for all existing displays of due date via Angular
-code, intentionally interprets timestamps in two different ways WRT timezone,
-based on the circulation duration. If the duration is day-granular (that is,
-the number of seconds in the duration is divisible by 86,400, or 24 hours worth
-of seconds) then the date is interpreted as being in the circulation library's
-timezone. If it is an hourly loan (any duration that does not meet the
-day-granular criterium) then it is instead displayed in the client's timezone,
-just as all other timestamps currently are, because of the previous Evergreen
-timezone work.
-
-The public catalog is adjusted to always display the due date in the circulating
-library's timezone. Because the public catalog displays only the date portion of the due
-date field, this difference is currently considered acceptable. If this proves
-to be a problem in the future, a minor adjustment can be made to match the
-egDueDate filter logic.
-
-Now that due dates are globally stored in the configured timezone of the
-circulating library, the automatic adjustment to day-granular due dates needs
-to take those timezones into account.
-
-An optional SQL command is provided by the upgrade script to retroactively
-adjust existing due dates after library configuration is complete.
-
-
Enhancements to Hard Due Date Functionality
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It will now be possible to delete Hard Due Date Values for dates that have
will open a dialog allowing the staff member search for and select
a patron record.
-
-
-
Retrieve Recent Patrons
^^^^^^^^^^^^^^^^^^^^^^^
describe the purpose of each rule.
-
-
-Apache Internal Port Configuration Option
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Apache configuration now supports a new variable which allows admins to
-specify the port used by Apache to handle HTTP traffic. The value is
-used for HTTP requests routed from Perl handlers back to the same Apache
-instance, like added content requests. Use this when running Apache
-with a non-standard port, typical with a proxy setup. Defaults to "80".
-
-[source,conf]
--------------------------------------------------------------------
-<Location /eg>
- ...
- PerlSetVar OILSWebInternalHTTPPort "7080"
- ...
-</Location>
--------------------------------------------------------------------
-
-
-
-
Configurable Bib Record Display Fields
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
the view and IDL definition. This is essentially a replacement
for `reporter.simple_record`.
-Reingesting
-+++++++++++
-
-After making changes to display field configuration, it's possible to
-reingest only display field data in the database using the following:
-
-[source,sql]
----------------------------------------------------------------------
-SELECT metabib.reingest_metabib_field_entries(id, TRUE, FALSE, TRUE, TRUE,
- (SELECT ARRAY_AGG(id)::INT[] FROM config.metabib_field WHERE display_field))
- FROM biblio.record_entry WHERE NOT deleted AND id > 0;
----------------------------------------------------------------------
-
-
-
-
-
Fix COPY_STATUS_LONGOVERDUE.override Permission Typo
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The existing permission was incorrectly created with a code of
update changes the permission code to match what the event requires.
-
-
-
Hold Targeter V2 Repairs and Improvements
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* Make the batch targeter more resilient to a single-hold failure.
* Holds without viable targets are retargeted in the usual manner.
-
-
-
-New marc_export --descendants Option
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The `marc_export` script has a new option, `--descendants`. This option
-takes one argument of an organizational unit shortname. It works much
-like the existing `--library` option except that it is aware of the
-org. tree and will export records with holdings at the specified
-organizational unit and all of its descendants. This is handy if you
-want to export the records for all of the branches of a system. You
-can do that by specifying this option and the system's shortname,
-instead of specifying multiple `--library` options for each branch.
-
-The `--descendants` option can be repeated, as the `--library` option can.
-All of the specified org. units and their descendants will be included
-in the output. It can also be combined with individual `--library`
-options when necessary.
-
-
-
-
RTL and LTR Public Catalog Stylesheets Merged
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The RTL stylesheet for the public catalog,
in the template to allow the correct style to be chosen.
-
-
Miscellaneous Improvements
^^^^^^^^^^^^^^^^^^^^^^^^^^
in serial copy templates that do not point to defined values.
-
-
-Obsolete Internal Flag Removed
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-An obsolete and unused `ingest.disable_metabib_field_entry` internal
-flag was removed from the `config.internal_flags` table. It was
-rendered obsolete by the addition of the 3 flags to control the
-browse, search, and facet indexing.
-
-
-
-
Tweaks to Caching/Expiry of Public Catalog Assets
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The default cache expiration time for static assets (e.g.,
`ctx.cache_key` Template Toolkit variable.
-
-
Action/Trigger Events Data Purging
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
simpler configuration of their retention interval values.
-
-
-
-Remove JSPAC Redirects
-^^^^^^^^^^^^^^^^^^^^^^
-Future versions of Evergreen will no longer contain automatic redirects
-from JSPAC URLs to TPAC URLs, with the exception of `myopac.xml`, given
-that the JSPAC is no longer supported. Existing sites, however, may
-wish to retain JSPAC redirects in their Apache configuration files since
-JSPAC URLs may still be used in the wild to access their catalogs.
-
-The original JSPAC URL redirects are all retained in the file
-`Open-ILS/examples/jspac_redirects.conf` for reference.
-
-
-
-
API
~~~
2. The 'nonce' parameter is no longer used.
-
-
-
-
Batch Patron Contact Invalidation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The following methods are used to mark patron contact fields
value will have it marked invalid.
-
-
Architecture
-~~~~~~~~~~~~
-
-
Pure-SQL catalog searching
^^^^^^^^^^^^^^^^^^^^^^^^^^
Public and staff catalog search is now both more accurate and faster
by redesigning how the visibility of records is calculated.
-
Reports
~~~~~~~
-
Fix to reporter.classic_current_circ View
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The `reporter.classic_current_circ` view, which is part of some
`Open-ILS/src/sql/Pg/example.reporter-extension.sql` during upgrade.
-
-
New Report Source Table Allowing Report of "Last" Deleted copy
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
copy and more than two deleted copies."
-
-
Add Provider to Provider Note Link
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The Provider reporting source now includes a link to the Provider Note reporting source.
-
-
Link ILS User and Working Location Reporting Sources
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The Working Location reporting source now has labels
and it is now linked to the ILS User reporting source, allowing
reports to display or filter on staff working location.
-
-
-
New Circulation Report Source "All Circulation Combined Types"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* Circulation Type
-
-
-
Reports Template Searching
^^^^^^^^^^^^^^^^^^^^^^^^^^
A new form appears along the top of the reports interface for searching
new 'Next', 'Prev', and 'Start' links next to the output limit selector.
-
SIP
~~~