]> git.evergreen-ils.org Git - working/Evergreen.git/blob - docs/RELEASE_NOTES_2_12.adoc
LP#1665115-WebStaff add longoverdue items count to Items Out
[working/Evergreen.git] / docs / RELEASE_NOTES_2_12.adoc
1 Evergreen 2.12 Release Notes
2 ============================
3 :toc:
4 :numbered:
5
6 Evergreen 2.12.2
7 ----------------
8
9 This release is a security release that also contains several other bug
10 fixes improving on Evergreen 2.12.1.
11
12 Security Issue: XSS Vulnerability in Public Catalog
13 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14 This release fixes several cross-site scripting (XSS) vulnerabilities
15 in the public catalog. When upgrading, Evergreen administrators should
16 review whether any of the following templates have been customized
17 or overridden. If so, either the template should be replaced with the
18 stock version or the XSS fix (which entails adding the `| html` filter
19 in several places) applied to the customized version.
20
21 * `Open-ILS/src/templates/opac/parts/locale_picker.tt2`
22 * `Open-ILS/src/templates/opac/parts/login/form.tt2`
23 * `Open-ILS/src/templates/opac/parts/searchbar.tt2`
24
25 Upgrade Notes
26 ~~~~~~~~~~~~~
27 * Administrators of Evergreen who use RTL locales and who have customized
28 `style-rtl.css.tt2` should now incorporate their customizations into
29 `style.css.tt2`.
30 * The `reporter.classic_current_circ` view, which is part of some
31 extra views defined in `Open-ILS/src/sql/Pg/example.reporter-extension.sql`,
32 has been fixed to not exclude loans for patrons who do not have a
33 billing address set. Users of this view should rerun
34 `Open-ILS/src/sql/Pg/example.reporter-extension.sql` during upgrade.
35
36 Hold Targeter Repairs and Improvements
37 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38 A series of changes were made to the new hold targeter available in 2.12.
39
40 * Make the batch targeter more resilient to a single-hold failure.
41 * Additional batch targeter info logging.
42 * Set OSRF_LOG_CLIENT in hold_targeter_v2.pl for log tracing
43 * Removes the confusingly named --target-all option
44  ** The same behavior can be achieved by using --retarget-interval "0s"
45 * Removes --skip-viable (see --soft-retarget-interval below)
46
47 New --next-check-interval Option
48 ++++++++++++++++++++++++++++++++
49 Specify how long after the current run time the targeter will retarget
50 the currently affected holds. Applying a specific interval is useful
51 when the retarget-interval is shorter than the time between targeter
52 runs.
53
54 For example, if the targeter is run nightly at midnight with a
55 --retarget-interval 36h, you would set --next-check-interval to 48hr,
56 since the holds won't be processed again until 48 hours later. This
57 ensures that the org unit closed date checks are looking at the correct
58 date. 
59
60 This setting overrides the default behavior of calculating the next 
61 retarget time from the retarget-interval.
62
63 New --soft-retarget-interval Option
64 +++++++++++++++++++++++++++++++++++
65 This is a replacement for (and rebranding of) the --skip-viable option. 
66 The new option allows for time-based soft-targeting instead simple binary 
67 on/off soft-targeting.
68
69 How soft-targeting works:
70 * Update hold copy maps for all affected holds
71 * Holds with viable targets (on the pull list) are otherwise left alone.
72 * Holds without viable targets are retargeted in the usual manner. 
73
74 Other Bug Fixes
75 ~~~~~~~~~~~~~~
76 * A fix to remove the Chilifresh patron reviews header for Evergreen sites
77 that do not use Chilifresh.
78 * A fix that marks acquisitions POs as received when all line items on the 
79 PO are received or canceled.
80 * A typo fix to the long overdue override permission that prevented staff
81 from being able to override long overdue check ins.
82 * A fix to use a library's configured currency in SIP patron responses
83 instead of always using US dollars.
84 * A fix to SIP timeouts caused by invalid sessions
85 * A fix that allows boolean fields to be recognized in queries to the
86 Z39.50 server.
87 * A fix to use the correct method during adjust to zero on negative
88 balances.
89 * A correction to the datatype for the Vandelay Default Record Match Set
90 setting.
91 * The removal of the _Keep_ field from MARC Batch Import Item Attributes.
92 The field was not previously implemented.
93 * A fix to set the complete time value for grouped Action/Trigger events
94 when an event's state reach complete, consistent with non-grouped events.
95 * A fix to a bug in the rollover_phone_to_print.pl script that kept failed
96 call files from being moved.
97 * A new index for acq.edi_message that speeds up the check for duplicate
98 EDI messages.
99 * A fix that ensures JSON strings are converted to UTF8, ensuring that
100 non-ASCII data display correctly.
101 * A fix to avoid an erroneous unsaved data popup to appear during MARC
102 record creation.
103 * A typo fix in the web client's bill payment receipt template.
104 * A correction to ebook account links on the My Account Summary page.
105 * Improved responsive design for the ebook My Account screens so that
106 they display better on mobile devices.
107 * A fix to a bug that prevented a patron opt-in dialog from loading.
108 * The RTL stylesheet for the public catalog,
109 `templates/opac/css/style-rtl.css.tt2`, has been merged into the LTR
110 one (`templates/opac/css/style.css.tt2`). The combined stylesheet
111 template will emit RTL or LTR styles based on the value of
112 the `rtl` flag of the active locale. An `rtl` variable is also available
113 in the template to allow the correct style to be chosen.
114 * A fix to leaking of the internal port number to the client when
115 Apache is configured to use nonstandard ports in combination with a proxy
116 server.
117 * The addition of the vandelay.auto_overlay_bib_record upgrade script,
118 which was missed in a 2.1-2.2 era upgrade script. It isn't necessary for
119 sites that began using Evergreen since then to run the script, but
120 it is harmless to run.
121 * A web staff client fix that will hid the behind-desk option for
122 for libraries that do not support "Behind Desk Pickup".
123 * A web staff client fix that caused hold transit check ins to fail
124 silently when the transit destination does not have a holds address.
125 * A web staff client fix that now requires the entry of user statistical
126 categories in the patron editor if those stat cats are configured to
127 be required.
128 * A fix to a problem with the "Exclude Electronic Resources" checkbox
129 that prevented users from removing a selection from the box.
130 * The removal of the search format limiters from the new advanced search
131 limiter block on the search results page. The search format limiters
132 should not display there because they can be selected from the search bar.
133
134
135
136
137 Acknowledgements
138 ~~~~~~~~~~~~~~~~
139 We would like to thank the following individuals who contributed code,
140 testing and documentation patches to the 2.12.2 point release of
141 Evergreen:
142
143 * Galen Charlton
144 * Jeff Davis
145 * Bill Erickson
146 * Jason Etheridge
147 * Jeff Godin
148 * Blake Henderson
149 * Linda Jansova
150 * Kathy Lussier
151 * Jillianne Presley
152 * Jane Sandberg
153 * Dan Scott
154 * Chris Sharp
155 * Remington Steed
156 * Jason Stephenson
157 * Josh Stompro
158 * Remington Steed
159
160 Evergreen 2.12.1 
161 ----------------
162
163 This release contains several bug fixes improving on Evergreen 2.12.0
164
165 * A fix to the 2.12 upgrade of the subject|temporal and subject|geographic 
166 indexes, where the above-mentioned browse indexes were not turned off in favor
167 of new browse versions of the indexes. Sites that are upgrading from 2.12.0
168 can cancel the browse reingest that comes with the new upgrade script.
169
170 * A change to the default pickup library when staff place a hold. The place hold
171 screen will now default to the preferred pickup location for the patron. If the
172 patron does not have a preferred pickup location, it will default to the
173 patron's home library.
174 * A fix to a problem where users could not change the selected Org Unit on the
175 MARC Tag Tables server admin page.
176 * A fix to the seed data for translations for some Coded Value Map entries.
177 * The ability to skip the XUL staff client build when in make_release.
178 * Revised layout and styling for the advanced search limiter block that displays
179 on the search results page.
180 * A fix that silences a log warning that appears for every checkout where a hard
181 due date is not used.
182 * Tweaks for sounds that are used in the web staff client.
183 * The addition of f4 and ctrl-f2 as hotkeys in the web staff client.
184 * Additional help text for receipt templates in the web staff client.
185 * The reinstatement of the Reprint Last Receipt functionality in the web staff client.
186 * The ability in the web staff client copy editor to add new volumes to
187 libraries that were not selected in holdings view.
188 * A fix to a billing issue where transactions were not re-opened after they
189 acquired a non-zero balance at check in.
190 * A change to the web staff client work log to prevent it from storing 
191 unnecessary data.
192 * A fix to a translation issue for the record attributes displayed in the 
193 advanced search limiter block on the search results page.
194 * A fix to hold targeting for metarecord holds when the new hold targeter is
195 run in parallel mode.
196
197 Acknowledgements
198 ~~~~~~~~~~~~~~~~
199 We would like to thank the following individuals who contributed code,
200 testing and documentation patches to the 2.12.1 point release of
201 Evergreen:
202
203 * Eva Cerniňáková
204 * Galen Charlton
205 * Bill Erickson
206 * Jason Etherige
207 * Jeanette Lundgren
208 * Kathy Lussier
209 * Mike Rylander
210 * Jane Sandberg
211 * Dan Scott
212 * Ben Shum
213 * Robert Soulliere
214 * Jason Stephenson
215 * Josh Stompro
216 * Dan Wells
217
218
219 2.12.0 Upgrade notes
220 --------------------
221 Evergreen 2.12 now requires OpenSRF 2.5 or later; certain functionality
222 will not work if you attempt to run Evergreen 2.12 on OpenSRF 2.4. Evergreen
223 2.12 recommends PostgreSQL 9.4. The minimum supported version of PostgreSQL is
224 9.3.
225
226 The stock schema upgrade script performs a browse and facet reingest,
227 recalculates bib fingerprints, and remaps metarecords.
228
229 This version also adds two new services, `open-ils.ebook_api` and
230 `open-ils.hold-targeter`.
231
232 2.12.0 New Features
233 -------------------
234
235 Acquisitions
236 ~~~~~~~~~~~~
237 Default status for received line items
238 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
239 A new Library Setting has been added to allow libraries to set the default
240 status for received line items. The previous behavior was to use the
241 "In process" status for all acquisitions items that are received.
242
243
244 Administration
245 ~~~~~~~~~~~~~~
246
247
248
249 Additional SMS Carriers
250 ^^^^^^^^^^^^^^^^^^^^^^^
251 SMS carrier definitions are now included for Google Fi and
252 Republic Wireless. These will be automatically loaded when
253 installing a new Evergreen system; admins who wish to
254 add these definitions during an upgrade can use the following
255 email gateway values:
256
257  * Google Fi: `$number@msg.fi.google.com`
258  * Republic Wireless: `$number@text.republicwireless.com`
259
260
261
262
263 Bibliographic Fingerprint Improvements
264 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
265 The bibliographic fingerprint will now incorporate subfields $n and $p from MARC
266 title fields to better distinguish among records of the same series that
267 may share the same title but have a different part. With this change, these
268 MARC records will no longer be grouped together in a 'Group Formats & Editions'
269 search.
270
271 The bibliographic fingerprint was also changed to better distinguish among
272 the fields contributing to the fingerprint. This change will help the system
273 distinguish between a record for the movie _Blue Steel_ and another record for
274 the book _Blue_ written by Danielle Steel.
275
276
277
278
279
280
281 Batch Hold Targeter Speed-up and New Features
282 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
283
284 Adds a new `open-ils.hold-targeter` service, supporting new targeting options
285 and runtime optimizations to speed up targeting.  The service is launched
286 from a new targeting script, `hold_targeter_v2.pl` (default location:
287 `/openils/bin/hold_targeter_v2.pl`).
288
289 This code has no effect on the existing hold targeter, which is still
290 available as of this release and functions as before.
291
292 New Features/Options
293 ++++++++++++++++++++
294
295 * Adds a global configuration flag 'circ.holds.retarget_interval' for 
296   setting the hold retarget interval.
297
298 * `--target-all` option forces the targeter to process all active
299   holds, regardless of when they were last targeted.
300
301 * `--retarget-interval` option make is possible to override the new
302   'circ.holds.retarget_interval' setting via the command line 
303   when calling the hold targeter.
304
305 * `--skip-viable` option causes the hold targeter to avoid modifying 
306   the currently targeted copy (i.e. the copy on the pull list) for holds 
307   that target a viable (capturable) copy.  
308   {empty} +
309   {empty} +
310   For skipped holds, no entry is added to the unfulfilled_hold_list.
311   The set of potential copies (hold copy maps) are refreshed for all
312   processed holds, regardless of target viability.
313   {empty} +
314   {empty} +
315   This option is useful for 1.) finding targets for holds that require 
316   new targets and 2.) adding new/modified copies to the potential copy 
317   lists (for opportunistic capture) more frequently than you may want to do full
318   retargeting of all holds.
319
320 * `--newest-first` option processes holds in reverse order of request_time,
321   so that newer holds are (re)targeted first.  This is primarily useful
322   when a large backlog of old, un-targetable holds exist.  With 
323   `--newest-first`, the older holds will be processed last.
324
325 * `--parallel` option overrides the parallel settings found in `opensrf.xml`
326   for simpler modification and testing.
327
328 * `--lockfile` option allows the caller to specify a lock file instead
329   of using the default /tmp/hold_targeter-LOCK
330
331 * `--verbose` option prints progress info to STDOUT, showing the number of
332   holds processed per parallel targeter instance.
333
334 * When configured, hold target loops cycle through all org units (with 
335   targetable copies) instead of repeatedly targeting copies at the pickup
336   library when multiple targetable copies exist at the pickup library.
337
338 * When configured, hold target loops prioritize (targetable) org units
339   first by the number of previous target attempts, then by their 
340   weight/proximity.  This effectively back-fills org units that had no
341   targetable copies during earlier target loops so that they are 
342   targeted as many times as other org units (to the extent possible, 
343   anyway).
344
345 Examples
346 ++++++++
347
348 * Traditional daily hold targeter with a value set for 
349   'circ.holds.retarget_interval'.
350
351 [source,sh]
352 --------------------------------------------------------------------------
353 /openils/bin/hold_targeter_v2.pl
354 --------------------------------------------------------------------------
355
356 * (Re)target non-viable holds twice a day, only processing holds that 
357   have never been targeter or those that have not been re-targeted in
358   the last 12 hours.
359
360 [source,sh]
361 --------------------------------------------------------------------------
362 /openils/bin/hold_targeter_v2.pl --skip-viable --retarget-interval "12h"
363 --------------------------------------------------------------------------
364
365 * (Re)target non-viable holds twice a day, processing all holds regardless
366   of when or if they were targeted before, running 3 targeters in
367   parallel.
368
369 [source,sh]
370 --------------------------------------------------------------------------
371 /openils/bin/hold_targeter_v2.pl --skip-viable --target-all --parallel 3
372 --------------------------------------------------------------------------
373
374
375
376
377
378 Add separate make target for translators
379 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
380 For those only interested in building Evergreen translations, a separate
381 "translator" make target has been added to allow for easier installation
382 of i18n prerequisites.
383
384
385 Allow admin to specify where Perl modules will be installed
386 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
387 Add `--with-perlbase` option to `configure` to specify an alternative
388 location for installing the Perl modules. This can be useful for setups
389 that want to run the Perl modules from a shared filesystem or
390 environments that need to run multiple versions of Evergreen
391 simultaneously.
392
393 Users of `--with-perlbase` are responsible for ensuring that `PERL5LIB`
394 is set appropriately.
395
396
397
398 Addition of missing permissions
399 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
400 Required permissions that were previously missing from the stock data have now
401 been added. If Evergreen sites have already manually added these permissions,
402 the upgrade script will remove the old permission and create the new one,
403 maintaining any maps to permission groups, with the stock permission ID.
404
405
406
407
408
409 get_org_unit_ancestor_at_depth Helper Added to Action Trigger Reactor Helpers
410 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
411 In action trigger templates it's now possible to call
412 `helpers.get_org_unit_ancestor_at_depth($id_or_aou, $depth)` in order to retrieve
413 a fleshed aou for the target aou's ancestor at the chosen depth. This could be
414 used to retrieve the name of the library system rather than a specific branch
415 name, for instance.
416
417
418
419
420 Removed unused selfcheck password setting
421 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
422 There was an unused duplicate selfcheck password setting that was removed
423 to avoid confusion over which library setting was supposed to be set to
424 enable passwords for selfcheck. After upgrading, verify that your library
425 policy remains consistent for this setting.
426
427
428
429
430
431 Credit Processor Stripe Settings Permissions
432 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
433 Unprivileged users can retrieve organizational unit setting values for
434 setting types lacking a "view" permission.  When the feature adding
435 Stripe credit card processing was added, the upgrade script neglected
436 to add the VIEW_CREDIT_CARD_PROCESSING permission to the
437 organizational unit setting type.  This means that anyone can retrieve
438 and view the settings for Stripe credit card processing.
439
440 Any system that upgraded from Evergreen version 2.5 to 2.6 is
441 affected.  If you use Stripe for credit card processing, it is
442 strongly recommended that you apply this upgrade.  Even if you do not
443 use Stripe, applying this upgrade is still recommended.  If you did
444 not upgrade from version 2.5 to 2.6 of Evergreen, but started with a
445 later version, applying this upgrade is harmless.
446
447
448
449
450 Cataloging
451 ~~~~~~~~~~
452
453
454
455 New Access Points for MARC Merge/Overlay Profiles
456 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
457 Catalogers can now select a MARC merge/overlay profile to apply when
458 merging records in the (browser client) record bucket merge and Z39.50
459 record overlay interfaces. In both interfaces, if the user selects
460 a merge profile, the results of the merge are displayed, giving the
461 user the opportunity to choose a different merge profile or edit
462 the records involved prior to committing to the merge.
463
464 A new library setting, "Default Merge Profile (Z39.50 and Record Buckets)",
465 specifies the merge profile to preselect in the new merge profile
466 selectors in the record bucket merge and Z39.50 overlay logs. The
467 selectors will also remember the last selection that the user made.
468
469
470
471
472 Circulation
473 ~~~~~~~~~~~
474
475
476
477 Display Copy Alerts With In-House-Use
478 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
479
480 Two library settings are used to control the display of copy alert
481 messages or copy location check in alerts when recording in-house-use
482 in Evergreen.
483
484 Setting 'Display copy alert for in-house-use' to true for an
485 organization will cause an alert to appear with the copy's alert
486 message, if it has one, when recording in-house-use for the copy.
487
488 Setting 'Display copy location check in alert for in-house-use' to true
489 for an organization will cause an alert to display a message
490 indicating that the item needs to be routed to its location if the
491 location has check in alert set to true.
492
493 The settings are independent of one another because you may want to
494 display one and not the other when recording in-house-use.
495
496
497
498
499 Client
500 ~~~~~~
501
502
503
504 Active Date Column Picker Option
505 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
506 The active date will now be available as a column picker option in the Item
507 Status screen.
508
509
510
511
512 Punctuation Insensitive Patron Search
513 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
514 When performing a patron search, punctuation characters will be
515 ignored.  So if the patron is named O'Brien, then you can enter Obrien,
516 O'Brien, O Brien, etc. in the search box.
517
518 This behavior affects the Last Name (internally: family_name), First Name
519 (first_given_name), and Middle Name (second_given_name) fields of the search.
520
521
522
523
524
525
526 Touch screen improvements for Evergreen self-check interface
527 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
528 Improvements were made to the Evergreen self-check interface to make it easier
529 to use in a touch-screen environment.
530
531  * The pay fines link is now a pay fines button, matching other buttons on the
532 page.
533  * The checkboxes have been enlarged, making them easier to activate when using
534 a touch screen.
535
536
537
538
539
540 Trial Production Use of the Web Staff Client
541 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
542 The new web staff client is ready for trial production use in all functional
543 areas with the exception of serials and offline transactions. In addition to
544 many bug fixes in the areas of circulation, cataloging, administration and
545 reporting, Release 2.12 sees the following additions to web client
546 functionality.
547
548  * Acquisitions interfaces and functionality have been integrated into the web
549  staff client.
550  * Booking interfaces and functionality have been integrated into the web staff
551  client.
552  * Hatch, the program that will allow for unmediated printing to multiple
553  printers, sharing of workstation settings, and, eventually, offline 
554  transactions is now available. A windows installer for Hatch will be available
555  on the Evergreen-ILS Downloads page.
556
557 The Evergreen developers will keep pilot libraries updated about known web
558 client issues by posting known bugs to https://wiki.evergreen-ils.org/doku.php?id=dev:browser_staff:known_issues .
559
560 About Hatch
561 +++++++++++
562 Hatch is not required to use the web client, but should be used for workstations
563 that need to perform the following tasks.
564
565  * Unmediated printing to multiple printers. Workstations can print to multiple
566  printers without Hatch, but will need to click through a dialog to select a
567  printer. Hatch allows workstations to automatically print, without dialog, to
568  different printers. 
569  * Storage of workstation settings in a place outside the browser. Storing local
570  preferences in hatch will prevent tampering with preferences via the browser
571  developer tools and protect the settings from possible deletion if the browser
572  deletes settings in local storage.
573  * When offline functionality is available, hatch will be required to perform
574  offline transactions.
575  
576 Hatch is currently run as a Chrome extension and is not available in Firefox. To
577 use hatch on Windows, Evergreen sites should:
578
579  . install a java runtime environment version 8 (or higher) if not already
580  installed,
581  . download and execute the installer from the Evergreen downloads page, 
582  . open Chrome and navigate to chrome://extensions,
583  . enable _Developer Mode_ along the top right of the page,
584  . click the _Load Unpacked Extension_ button,
585  . load the directory at Hatch -> extension -> app,
586  .. In Windows, the default location for the app directory will be
587  C:\Program Files (x86)\Hatch\extension\app
588  . enable hatch features in the web client by going to Administration ->
589  Workstation Administration -> Print/Storage Service ("Hatch") and choosing
590  which services to use with Hatch.
591  .. this page will also inform you that hatch is connected. 
592
593
594
595
596 Infrastructure
597 ~~~~~~~~~~~~~~
598
599
600
601 Client Timezone Awareness
602 ^^^^^^^^^^^^^^^^^^^^^^^^^
603
604 Previously, adjusting the time zone in which a database session operates
605 could not be done in any way except globally, directly within the database.
606 However, allowing modification of the timezone parameter now supports
607 localization efforts for those consortia that span multiple time zones.
608
609 Implementation
610 ++++++++++++++
611
612 CStore and other services that interact with the primary Evergreen database
613 make use of the functionality provided by LP#1485371 in OpenSRF in order to
614 set the time zone configuration parameter available in PostgreSQL.  This has
615 the effect of interpreting all timestamps written to or read from the database
616 in the client's time zone.
617
618 Within CStore (and related, C-based services), all stateful sessions make use
619 of this capability, setting the database time zone upon a successful CONNECT
620 message from the client.  The time zone is reset to the database default when
621 a session is terminated either due to client DISCONNECT or server keepalive
622 timeout.
623
624 All stateless requests record the current database time zone, set the database
625 time zone to that of the client's, run the query, and then reset the database
626 time zone on each request that carries a client time zone value.  It is expected
627 that this will not cause any noticeable increase in latency or query execution
628 time, as this setting is local to the specific PostgreSQL server backend process.
629
630 Within the Storage service, the timezone will be set automatically by a simple
631 wrapper method used by the existing method registration mechanism for method
632 publishing.  Disconnect and error callbacks are registered to revert the time
633 zone setting within the database.  This provides completely transparent time
634 zone manipulation for backend services that make use of open-ils.storage.
635
636
637
638
639 Public Catalog
640 ~~~~~~~~~~~~~~
641
642
643
644 New Subject Browse Index Definitions
645 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
646 New subject browse index definitions have been added that display the entire
647 heading as a unit with hyphens between terms instead of displaying individual
648 terms separately. 
649
650 For example, the browse heading for:
651
652 =650 \0$aCats$zUnited States$vCorrespondence.
653
654 will display in a single entry as:
655
656 Cats -- United States -- Correspondence
657
658 Rather than separate entries for Cats and United States. 
659
660 Name subjects will continue to display as separate entries because additional
661 work would be required for the heading to be punctuated correctly.
662
663
664
665
666 Advanced Search Limiters Enhancement
667 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
668 Advanced search limiters will no longer propagate to the basic search box in
669 the catalog. Instead, the limiters applied to the search will appear underneath
670 the search box where they can be easily cleared by clicking an 'x.' On a small,
671 mobile device, the advanced search limiters can be seen by clicking an 'x filter
672 applied' link. 
673
674 The selected limiters will be applied to any search from the search bar until:
675  * The user actively removes the filters from the search or
676  * The user starts a new basic or advanced search from scratch.
677
678
679
680
681 Arabic and Right-to-Left Language Support for the catalog
682 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
683 New stylesheets and other changes to the catalog to allow for 
684 better support of right-to-left (RTL) languages, such as Arabic.
685
686 Also adds Arabic (Jordan) as a new supported language.
687
688
689
690
691 Ebook API integration
692 ^^^^^^^^^^^^^^^^^^^^^
693 Evergreen 2.12 supports partial integration with third-party APIs
694 provided by OverDrive and OneClickdigital.  When ebook API integration
695 is enabled, bibliographic records from these vendors that appear in your
696 public catalog will include vendor holdings and availability information.  Also,
697 when a user is logged in, the public catalog dashboard and My Account interface
698 will include information about that user's checkouts and holds for
699 supported vendors.
700
701 For API integration to work, you need to request API access from the
702 vendor and configure your Evergreen system according to the instructions
703 below.  You also need to configure the new `open-ils.ebook_api` service.
704
705 This feature assumes that you are importing MARC records supplied by the
706 vendor into your Evergreen system, using Vandelay or some other MARC
707 import method.  This feature does not search the vendor's online
708 collections or automatically import vendor records into your system; it
709 merely augments records that are already in Evergreen.
710
711 A future Evergreen release will add the ability for users to check out
712 titles, place holds, etc., directly via the public catalog.
713
714 Ebook API service configuration
715 +++++++++++++++++++++++++++++++
716 This feature uses the new `open-ils.ebook_api` OpenSRF service.  This
717 service must be configured in your `opensrf.xml` and `opensrf_core.xml`
718 config files for ebook API integration to work.  See
719 `opensrf.xml.example` and `opensrf_core.xml.example` for guidance.
720
721 OverDrive API integration
722 +++++++++++++++++++++++++
723 Before enabling OverDrive API integration, you will need to request API
724 access from OverDrive.  OverDrive will provide the values to be used for
725 the following new org unit settings:
726
727   * *OverDrive Basic Token*: The basic token used for API client
728     authentication.  To generate your basic token, combine your client
729     key and client secret provided by OverDrive into a single string
730     ("key:secret"), and then base64-encode that string.  On Linux, you
731     can use the following command: `echo -n "key:secret" | base64 -`
732   * *OverDrive Account ID*: The account ID (a.k.a. library ID) for your
733     OverDrive API account.
734   * *OverDrive Website ID*: The website ID for your OverDrive API
735     account.
736   * *OverDrive Authorization Name*: The authorization name (a.k.a.
737     library name) designated by OverDrive for your library.  If your
738     OverDrive subscription includes multiple Evergreen libraries, you
739     will need to add a separate value for this setting for each
740     participating library.
741   * *OverDrive Password Required*: If your library's OverDrive
742     subscription requires the patron's PIN (password) to be provided
743     during patron authentication, set this setting to "true."  If you do
744     not require the patron's PIN for OverDrive authentication, set this
745     setting to "false."  (If set to "true," the password entered by a
746     patron when logging into the public catalog will be cached in plain text in
747     memcached.)
748   * *OverDrive Discovery API Base URI* and *OverDrive Circulation API
749     Base URI*: By default, Evergreen uses OverDrive's production API, so
750     you should not need to set a value for these settings.  If you want
751     to use OverDrive's integration environment, you will need to add the
752     appropriate base URIs for the discovery and circulation APIs.  See
753     OverDrive's developer documentation for details.
754   * *OverDrive Granted Authorization Redirect URI*: Evergreen does not
755     currently support granted authorization with OverDrive, so this
756     setting is not currently in use.
757
758 For more information, consult the
759 https://developer.overdrive.com/docs/getting-started[OverDrive API
760 documentation].
761
762 To enable OverDrive API integration, adjust the following public catalog settings
763 in `config.tt2`:
764
765   * `ebook_api.enabled`: set to "true".
766   * `ebook_api.overdrive.enabled`: set to "true".
767   * `ebook_api.overdrive.base_uris`: list of regular expressions
768     matching OverDrive URLs found in the 856$9 field of older OverDrive
769     MARC records.  As of fall 2016, OverDrive's URL format has changed,
770     and the record identifier is now found in the 037$a field of their
771     MARC records, with "OverDrive" in 037$b.  Evergreen will check the
772     037 field for OverDrive record identifiers; if your system includes
773     older-style OverDrive records with the record identifier embedded in
774     the 856 URL, you need to specify URL patterns with this setting.
775
776 OneClickdigital API integration
777 +++++++++++++++++++++++++++++++
778 Before enabling OneClickdigital API integration, you will need to
779 request API access from OneClickdigital.  OneClickdigital will provide
780 the values to be used for the following new org unit settings:
781
782   * *OneClickdigital Library ID*: The identifier assigned to your
783     library by OneClickdigital.
784   * *OneClickdigital Basic Token*: Your client authentication token,
785     supplied by OneClickdigital when you request access to their API.
786
787 For more information, consult the
788 http://developer.oneclickdigital.us/[OneClickdigital API documentation].
789
790 To enable OneClickdigital API integration, adjust the following public catalog
791 settings in `config.tt2`:
792
793   * `ebook_api.enabled`: set to "true".
794   * `ebook_api.oneclickdigital.enabled`: set to "true".
795   * `ebook_api.oneclickdigital.base_uris`: list of regular expressions
796     matching OneClickdigital URLs found in the 859$9 field of your MARC
797     records.  Evergreen uses the patterns specified here to extract
798     record identifiers for OneClickdigital titles.
799
800 Additional configuration
801 ++++++++++++++++++++++++
802 Evergreen communicates with third-party vendor APIs using the new
803 `OpenILS::Utils::HTTPClient` module.  This module is configured using
804 settings in `opensrf.xml`.  The default settings should work for most
805 environments by default, but you may need to specify a custom location
806 for the CA certificates installed on your server.  You can also disable
807 SSL certificate verification on HTTPClient requests altogether, but
808 doing so is emphatically discouraged.
809
810
811
812 Links to Other Formats and Editions
813 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
814 The record summary pages in the catalog will now link to other formats and
815 editions of a title. The links will allow users to quickly jump to another
816 format of the title or an edition written in another language. 
817
818
819
820
821
822 Metarecord Search Improvements
823 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
824 This release brings several improvement to the Group Formats and Editions
825 search. 
826
827  * Limiters on the advanced search page can now be successfully applied to 
828 Group Formats and Editions searches,
829  * Electronic resources are now retrievable through these searches,
830  * Paged navigation has improved.
831
832
833
834
835 Allow Metarecord Search by default
836 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
837 Before the TPAC, a site could configure the public catalog to use metarecord searching
838 by default, via a configuration file.  Here we bring that back.
839
840 A new setting called search.metarecord_default is present in
841 `templates/opac/parts/config.tt2` to enable this feature.  By setting this to
842 a true value (normally 1) the TPAC will silently include the #metabib search
843 modifier in the search form on any interfaces that do not have a UI component
844 that allows the user to control the setting.
845
846
847
848 RDA Improvements
849 ^^^^^^^^^^^^^^^^
850  * Author fields are now normalized to strip ending periods so that authors from
851 RDA and non-RDA records are collapsed in browse and facet headings.
852  * All author/contributor roles will now display in the record detail page.
853 Previously, some of the roles were omitted or were duplicated.
854
855
856 Obalkyknih.cz Integration
857 ^^^^^^^^^^^^^^^^^^^^^^^^^
858 Evergreen now integrates with Czech added content provider obalkyknih.cz. A new
859 setting called obalkyknih_cz.enabled is available in
860 `templates/opac/parts/config.tt2` to enable this new feature.
861
862
863 2.12.0 Acknowledgments
864 ----------------------
865 The Evergreen project would like to acknowledge the following
866 organizations that commissioned developments in this release of
867 Evergreen:
868
869 * Bibliomation
870 * British Columbia Libraries Cooperative
871 * C/W MARS
872 * Georgia PINES
873 * King County Library System
874 * Linn Libraries Consortium
875 * MassLNC
876 * Pennsylvania Integrated Library System
877 * Pioneer Library System
878
879 We would also like to thank the following individuals who contributed
880 code, translations, documentations patches and tests to this release of
881 Evergreen:
882
883 * Adam Bowling
884 * Anahi Valdez
885 * Ben Shum
886 * Bill Erickson
887 * Billy Horn
888 * Blake Henderson
889 * Bob Wicksall
890 * Chris Sharp
891 * Christine Burns
892 * Christine Morgan
893 * Clare Sobotka
894 * Dan Pearl
895 * Dan Scott
896 * Dan Wells
897 * Darrell Rodgers
898 * Debbie Luchenbill
899 * Eva Cerninakova
900 * Fares Othman
901 * Galen Charlton
902 * Jakub Kotrla
903 * Jane Sandberg
904 * Jason Boyer
905 * Jason Etheridge
906 * Jason Stephenson
907 * Jeanette Lundgren
908 * Jeff Davis
909 * Jeff Godin
910 * Jennifer Pringle
911 * Jillianne Presley
912 * Jim Keenan
913 * Job Diógenes Ribeiro Borges
914 * Jonathan Schatz
915 * Josh Stompro
916 * Kate Butler
917 * Kathy Lussier
918 * Kyle Huckins
919 * Linda Jansová 
920 * Michele Morgan
921 * Michelle Purcell
922 * Mike Rylander
923 * Nawras Othman
924 * Remington Steed
925 * Rogan Hamby
926 * Terran McCanna
927 * Thomas Berezansky
928 * Victoria Lewis
929
930 We also thank the following organizations whose employees contributed
931 patches:
932
933 * British Columbia Libraries Cooperative
934 * Calvin College
935 * Catalyst DevWorks
936 * C/W MARS
937 * Emerald Data Networks, Inc.
938 * Equinox Open Library Initiative
939 * Georgia PINES
940 * Indiana State Library
941 * The Institute for the Study of Totalitarian Regimes, Prague
942 * Jabok Library
943 * Jordanian Library and Information Association
944 * King County Library System
945 * Lake Agassiz Regional Library
946 * Laurentian University
947 * Linn-Benton Community College
948 * MassLNC
949 * Merrimack Valley Library Consortium
950 * MOBIUS Consortium
951 * North of Boston Library Exchange
952 * Pioneer Library System
953 * Rodgers Memorial Library
954 * Sigio
955 * Traverse Area District Library
956
957
958 We regret any omissions.  If a contributor has been inadvertently
959 missed, please open a bug at https://bugs.launchpad.net/evergreen/
960 with a correction.
961