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