release notes for Evergreen 2.12.12
[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.12
7 -----------------
8 This release is a security release that fixes cross-site scripting
9 (XSS) vulnerabilities in the Evergreen public catalog.
10
11 Security Issue: XSS Vulnerability in Public Catalog
12 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 This release fixes several cross-site scripting (XSS) vulnerabilities
14 in the public catalog. When upgrading, Evergreen administrators should
15 review whether any of the following templates have been customized
16 or overridden. If so, either the template should be replaced with the
17 stock version or the XSS fix (which entails adding the `| html` filter
18 in several places) applied to the customized version.
19
20 * `Open-ILS/src/templates/opac/parts/record/contents.tt2`
21 * `Open-ILS/src/templates/opac/parts/record/copy_counts.tt2`
22 * `Open-ILS/src/templates/opac/parts/record/issues-mfhd.tt2`
23
24 Note that exploiting the XSS vulnerabilities fixed in this release
25 would require either the ability to create maliciously-constructed
26 MARC bibliographic or holdings records or the ability to set a
27 maliciously constructed organizational unit name.
28
29 Acknowledgements
30 ~~~~~~~~~~~~~~~~
31 We would like to thank the following individuals who contributed code,
32 tests and documentation patches to the 2.12.12 security release of
33 Evergreen:
34
35 * Galen Charlton
36 * Dan Scott
37 * Chris Sharp
38
39 Evergreen 2.12.11
40 -----------------
41 This release contains bug fixes improving on Evergreen 2.12.10:
42
43 * The MARC Editor in the Web staff client now wraps long fields.
44 * The MARC Editor no longer allows catalogers to enter new lines
45 into MARC subfields.
46 * Fixes an issue in the Web staff client reports module that caused
47 syntax errors in reports that use virtual fields and joins.
48 * Fixes an issue that created duplicate copy data when copies or
49 volumes with parts were transferred.
50 * Fixes an issue with the http -> https redirect on Apache 2.4.
51 * Fixes a color contrast accessibility issue in the Web staff
52 client and adds underlining to links in grids for added accessibility.
53 * Adds automated regression and unit tests for the Web staff client
54 reports module.
55
56
57 Acknowledgements
58 ~~~~~~~~~~~~~~~~
59 We would like to thank the following individuals who contributed code,
60 tests and documentation patches to the 2.12.11 point release of
61 Evergreen:
62
63 * Galen Charlton
64 * Blake Graham-Henderson
65 * Kathy Lussier
66 * Remington Steed
67 * Jason Stephenson
68 * Cesar Velez
69
70
71
72 Evergreen 2.12.10
73 -----------------
74 This release contains bug fixes improving on Evergreen 2.12.9:
75
76 * The patron bills screen now prevents staff members from double-clicking
77 on the Apply Payment button (which otherwise would apply two payments).
78 * Fixes a performance bug related to patrons logging in by barcode.
79
80 Acknowledgements
81 ~~~~~~~~~~~~~~~~
82 We would like to thank the following individuals who contributed code,
83 tests and documentation patches to the 2.12.10 point release of
84 Evergreen:
85
86 * Galen Charlton
87 * Bill Erickson
88 * Jason Stephenson
89 * Dan Wells
90
91 Evergreen 2.12.9
92 ----------------
93 This release contains bug fixes improving on Evergreen 2.12.8:
94
95 * NodeJs is now installed from source, rather than using a pre-compiled binary.
96 * NodeJs is now at version 6.11.3, which is the most recent LTS release.
97
98 Acknowledgements
99 ~~~~~~~~~~~~~~~~
100 We would like to thank the following individuals who contributed code,
101 tests and documentation patches to the 2.12.9 point release of
102 Evergreen:
103
104 * Jeanette Lundgren
105 * Ben Shum
106 * Remington Steed
107
108 Evergreen 2.12.8
109 ----------------
110 This release contains several bug fixes improving on Evergreen 2.12.7:
111
112 * Many patron fields have been redacted from the web staff client's patron
113 and record holds grids, leaving patron name, username, and ID.
114 * Fixes two bugs where patron records could fail to be saved upon editing.
115 * The patron summary in the web staff client now correctly displays
116 primary and secondary ID values.
117 * Patron barcode search completion in the web staff client now allows
118 the user to select from all of the matching patron records.
119 * The web staff print templates for current and historical bills can
120 now include copy barcode and title.
121 * Fixes a bug that resulted in some catalog searches unexpectedly
122 timing out.
123 * Fixes a bug where placing a hold request in the public catalog could result
124 in "forgetting" the type and library of the user's previous search.
125 * Fixes a bug that made using the volume/copy editor to change a copy's
126 price problematic.
127 * The administration interface for hard due dates now ensures that
128 new (or edited) ceiling dates have their time component set to end
129 of day, resolving an issue where ceiling dates would not be applied
130 during the ceiling date itself.
131 * Asset merging during bibliographic record merging now correctly
132 recognizes call number prefixes and suffixes and deletes disused
133 call number records.
134 * The Concerto sample data set now includes data allowing for testing
135 placing holds on monographic parts.
136 * Fixes a bug where displaying user surveys could result in PCRUD
137 drone starvation.
138 * Fixes a bug where pg_restore of an Evergreen database could fail
139 to create certain indexes on the `actor.usr` table.
140
141 Acknowledgements
142 ~~~~~~~~~~~~~~~~
143 We would like to thank the following individuals who contributed code,
144 tests and documentation patches to the 2.12.8 point release of
145 Evergreen:
146
147 * Alex Cautley 
148 * Ben Shum 
149 * Bill Erickson 
150 * Cesar Velez 
151 * Chris Sharp 
152 * Galen Charlton 
153 * Jason Boyer 
154 * Jason Stephenson 
155 * Jeff Davis 
156 * Jeff Godin 
157 * Kathy Lussier 
158 * Kyle Huckins 
159 * Michele Morgan 
160 * Mike Rylander 
161 * Remington Steed 
162 * Rogan Hamby 
163
164 Evergreen 2.12.7
165 ----------------
166 This release contains several bug fixes improving on Evergreen 2.12.6
167
168 * Fixes a bug in the web staff client that prevented initials from being
169 stored with copy notes.
170 * Adds billing types that may have been missed by systems that were 
171 running Evergreen prior to the 1.4 release.
172 * Fixes a web staff client bug with the CSV export option available from
173 the Import Queue in the MARC Batch Import/Export interface.
174 * Adds the missing copy alert field in the web client's volume/copy
175 editor.
176 * Fixes a bug where the setting to require date of birth in patron
177 registration was not being honored in the web staff client.
178 * Fixes a bug in the web staff client patron registration form where the 
179 password wasn't generating from the last four digits of the patron's
180 phone number.
181 * Fixes an issue in the web staff client where the complete barcode did
182 not display in some interfaces when partial barcodes were scanned.
183
184 Acknowledgements
185 ~~~~~~~~~~~~~~~~
186 We would like to thank the following individuals who contributed code,
187 tests and documentation patches to the 2.12.7 point release of
188 Evergreen:
189
190 * Galen Charlton
191 * Bill Erickson
192 * Jeanette Lundgren
193 * Kathy Lussier
194 * Mike Rylander
195 * Jane Sandberg
196 * Chris Sharp
197 * Ben Shum
198 * Remington Steed
199 * Cesar Velez
200
201
202 Evergreen 2.12.6
203 ----------------
204 This release contains several bug fixes improving on Evergreen 2.12.5.
205
206 * Removes the option to add a title to My List from Group Formats and
207 Editions searches where the option never worked correctly due to a bad id.
208 * Removes deleted shelving locations from the web client's volume/copy editor. Since there is no database constraint that prevents a copy from a deleted shelving location, if there are already copies attached to those shelving locations, the copy location selector will be blank. Evergreen admins can identify those items by running the following query:
209
210 ----
211 select acp.id, acp.barcode, acpl.name
212 from asset.copy acp
213 join asset.copy_location acpl on (acpl.id = acp.location)
214 where not acp.deleted
215 and acpl.deleted
216 order by acp.id;
217 ----
218 * Adds the patron opt-in check in the web client whenever a patron is retrieved
219 by barcode scan, patron search, or item circ history.
220 * Fixes a bug where the price and acquisitions cost fields did not display
221 their values. 
222 * Fixes a bug where a patron's circulation history no longer moved to the lead
223 account when merging patron accounts.
224 * Now hides the ebook tabs in My Account for sites that have not yet enabled the
225 Ebook API service.
226 * Trims spaces from patron barcodes in the web client check out interface.
227 * Makes a string in the holds validation alert translatable. 
228 * Fixes a bug that prevented the web client patron registration screen from
229 loading when there is an opt-in action triggers, such as the email checkout
230 receipt, t set to be a registration default. 
231 * Fixes a bug where barcode validation in the web client patron editor was 
232 using the incorrect regular expression.
233 * Replaces an empty string in the mobile carrier dropdown menu with a 'Please
234 select your mobile carrier' label to improve usability and resolve a problem
235 with translations.
236 * Restores the ability to display a photo in the web client patron editor for
237 accounts that have an actor.usr.photo_url.
238 * Fixes a Firefox display issue in the web client that occurred when retrieving
239 a bib record by TCN when the MARC Edit tab was set as the default view.
240 * Fixes an bug where setting a patron's default pickup location in the web 
241 client patron editor inadvertently changed the home library. It also disables
242 any locations that are not viable pickup locations.
243 * Fixes a bug where a misscan in a copy bucket failed silently.
244
245 Acknowledgements
246 ~~~~~~~~~~~~~~~~
247 We would like to thank the following individuals who contributed code,
248 tests and documentation patches to the 2.12.6 point release of
249 Evergreen:
250
251 * Jason Boyer
252 * Galen Charlton
253 * Jeff Davis
254 * Bill Erickson
255 * Jason Etheridge
256 * Blake Henderson
257 * Skye Howard
258 * Kathy Lussier
259 * Terran McCanna
260 * Jane Sandberg
261 * Ben Shum
262 * Cesar Velez
263
264 Evergreen 2.12.5
265 ----------------
266 This release contains several bug fixes improving on Evergreen 2.12.4.
267
268 * Hides the _Hold is Behind Circ Desk_ checkbox in the XUL client's patron
269 registration screen for those libraries that have not enabled Behind Desk Pickup 
270 support via the Library Settings Editor
271 * Adds a missing error string that appears when marking an item damaged from
272 an aged circulation.
273 * Changes the hold request form so that it no longer defaults to the first SMS
274 carrier for text notifications.
275 * Adds a requirement for users to enter a phone/SMS number when they have
276 enabled that notification method on the hold request form.
277 * Changes the URL pointing to catalog images, CSS and javascript files to a full
278 absolute URL instead of the relative URL previously used. This change fixes an
279 issue with the Open Graph image property, which requires a full URL.
280 * Fixes an issue where payment amounts sent to Stripe can be one cent less than
281 the actual Evergreen payment.
282 * Fixes an issue where the open-ils.storage OpenSRF module fails to start when
283 using perl 5.24 or higher.
284 * Fixes a problem in the web client where marking a transaction as claims
285 returned or claims never checked out at the same time the patron's record is
286 edited would not increase the count once the patron's record is saved.
287 * Changes the cursor to a pointer for the record menus in the web client.
288 * Fixes hardcoded patchs in srfsh support scripts.
289 * Prevents a "Use of freed value in iteration" error that appeared in logs when
290 adjusting a transaction to zero.
291 * Prevents the temporary list page from crashing when a user adds the same title
292 to the list more than once.
293 * Removes duplicate rows from localized 950.data.seed-values.sql files.
294 * Fixes the following two issues with conjoined items:
295    - Foreign items previously did not display there was no extra copy attached
296 to the bib record.
297    - Conjoined items did not display unless there were two or more items in a
298 set.
299 * Fixes an issue in the web client where the Hold Verify prompt did not display
300 for items in a Copy Location where the hold verify flag is enabled.
301 * Fixes support for automatic item barcode completion in the web client check in,
302 check out, renew, and item status interfaces.
303 * Makes the courier code variable available for transit slips in the web client.
304 * Fixes the ability to apply funds from the acquisitions selection list, 
305 View/Place Order, and MARC Federated Search interfaces.
306
307 Acknowledgements
308 ~~~~~~~~~~~~~~~~
309 We would like to thank the following individuals who contributed code,
310 tests and documentation patches to the 2.12.5 point release of
311 Evergreen:
312
313 * Galen Charlton
314 * Jeff Davis
315 * Bill Erickson
316 * Jason Etheridge
317 * Kathy Lussier
318 * Michele Morgan
319 * Mike Rylander
320 * Dan Scott
321 * Chris Sharp
322 * Ben Shum
323 * Josh Stompro
324 * Cesar Velez
325 * Liam Whalen
326 * Dan Wells
327
328
329
330 Evergreen 2.12.4
331 ----------------
332 Upgrade Notes
333 ~~~~~~~~~~~~~
334 * This release of Evergreen contains a fix to the _Hold/Copy Ratio per Bib
335 and Pickup Library (and Descendants)_ data source. Report templates using
336 this data source will need to be re-created to improve accuracy of the
337 data reported from this source.
338 * This release also contains a fix to downloading large checkout histories from
339 My Account. This feature no longer uses the action/trigger mechanism and the 
340 OPAC now generates the CSV directly.  The old action/trigger code is still
341 present in the database and should be removed at some point in the
342 near future.
343
344 Bug Fixes
345 ~~~~~~~~~
346 This release contains several bug fixes improving on Evergreen 2.12.3
347
348
349 * A fix to a web client bug where adding copies through the _Add Volumes 
350 and Copies_ menu item could fail silently.
351 * A fix to a bug that allowed users to access some web client admin interfaces 
352 without a login.
353 * A fix to the display of the loan duration and fine level fields in the web
354 client Item Status Detail view.
355 * A fix to the display of duplicate data on the bib record View Holds page when 
356 toggling between the holds and OPAC view. 
357 * A fix to a bug that prevented the web client patron registration page from
358 loading.
359 * Support for Org Unit Includes alert text, notice text, event text, header
360 text, and footer text in the web client print templates.
361 * A fix to make the web client MARC Editor's flat text editor selection sticky.
362 * A fix to make the Patron Search library selector sticky.
363 * A fix to a bug in the web client that prevented the user from saving a new
364 copy after using the MARC Edit _Add Item_ option.
365 * A fix to a patron registration bug that did not require the entry of a required
366 user statistical category for stat cats that do not allow free-text entries.
367 * The addition of the bad bacode image file in the web client.
368 * An improvement to the MARC Batch Edit progress indicator to reduce the 
369 likelihood of system backlogs.
370 * Downloading checkout history as a CSV from My Account has been fixed
371 for users with a large circulation history.  Previously, this would
372 time out for patrons with more than 100 or so circulations.
373 * A fix to syntax in the Spanish lang.dtd file that was creating an error
374 when using the Closed Date Editor.
375 * Improvements to CSS to silence some Mozilla extension warnings.
376 * A fix to a failure to update targeted circulations when utilzing the recall
377 functionality.
378 * The addition of text wrapping in the copy details table on the bib
379 record to prevent contents from falling off the page.
380 * A fix to the adjust to zero option so that it can be applied correctly
381 to multiple billings.
382 * A fix to the "Hold/Copy Ratio per Bib and Pickup Library
383 (and Descendants)" data source so that it will now include counts of eligible
384 copies at locations that are not a pickup library for bib's holds.
385 * A fix to the XUL client Item Status -> Alternate View -> Holds / Transit
386 tab so that it properly refreshes all data when switching between copies.
387
388 Acknowledgements
389 ~~~~~~~~~~~~~~~~
390 We would like to thank the following individuals who contributed code,
391 tests and documentation patches to the 2.12.4 point release of
392 Evergreen:
393
394 * Jason Boyer
395 * Galen Charlton
396 * Jeff Davis
397 * Bill Erickson
398 * Jason Etherige
399 * Pasi Kallinen
400 * Angela Kilsdonk
401 * Kathy Lussier
402 * Michele Morgan
403 * Mike Rylander
404 * Jane Sandberg
405 * Dan Scott
406 * Ben Shum
407 * Jason Stephenson
408 * Josh Stompro
409 * Cesar Velez
410 * Dan Wells
411
412 Evergreen 2.12.3
413 ----------------
414
415 This release contains several bug fixes improving on Evergreen 2.12.2.
416
417 Web Client Bug Fixes
418 ~~~~~~~~~~~~~~~~~~~~
419 The web client, which is available for trial production use in libraries,
420 received several fixes in this release:
421
422 * The receipt on payment checkbox now prints a receipt at time of payment.
423 * The Items Out count in the patron screen now includes long overdue
424 items.
425 * A fix was added to prevent values from a previously-edited patron from
426 appearing in the edit form of a subsequent patron.
427 * User notification preferences now save correctly in the patron
428 registration and edit forms.
429 * The UPDATE_MARC permission is no longer requested when performing a
430 search from the staff catalog.
431 * Non-cataloged circulations now display in the Items Out screen without
432 requiring a refresh.
433 * Required statistical categories are now required to be entered in the 
434 copy editor. (A similar bug for the patron editor was fixed in the 2.12.1
435 release).
436 * Voiding bills now requires confirmation.
437 * Staff can no longer use the copy editor to put items into or out of the
438 following statuses: checked out, lost, in transit, on holds shelf, long
439 overdue, and canceled transit.
440 * The contrast is improved for alert text showing the amount a patron owes
441 in bills.
442 * Circ modifiers now sort alphabetically in the copy editor.
443
444 Other Bug Fixes
445 ~~~~~~~~~~~~~~~
446 * Code to prevent a hold already on the Holds Shelf from being
447 transferred to another title.
448 * A fix to a bug that prevented users from scheduling reports with a
449 relative month if the report template used a date that applied the Year +
450 Month transform with the On or After (>=) operator.
451 * A fix to a bug where the max fines threshold was reached prematurely
452 due to the presence of account adjustments.
453 * A check that prevents a SMS message from attempting to sending when the SMS
454 carrier is null.
455 * For systems that provide search format as a filter on the advanced
456 search page, a fix so that the format selected in the search bar when
457 launching a new search from the results page overrides any previously-set 
458 formats.
459 * The addition of an optional new Apache/mod_perl configuration variable for
460 defining the port Apache listens on for HTTP traffic. This resolves an issue
461 where added content lookups attempting HTTP requests on the local Apache
462 instance on port 80 failed because Apache was using non-standard ports.
463 * A fix to the public catalog's My List page responsive design so that it now
464 displays properly on mobile devices and allows users to place holds from My List. 
465 * A fix to a bug where the second (and subsequent)
466 pages of search results in the public catalog (when group
467 formats and editions is in effect) does not correctly generate
468 links to hits that are not part of of a multi-bib metarecords.
469
470 Acknowledgements
471 ~~~~~~~~~~~~~~~~
472 We would like to thank the following individuals who contributed code,
473 testing and documentation patches to the 2.12.3 point release of
474 Evergreen:
475
476 * Jason Boyer
477 * Galen Charlton
478 * Jeff Davis
479 * Bill Erickson
480 * Jason Etheridge
481 * Kathy Lussier
482 * Terran McCanna
483 * Dan Scott
484 * Chris Sharp
485 * Ben Shum
486 * Remington Steed
487 * Cesar Velez
488 * Dan Wells
489
490 Evergreen 2.12.2
491 ----------------
492
493 This release is a security release that also contains several other bug
494 fixes improving on Evergreen 2.12.1.
495
496 Security Issue: XSS Vulnerability in Public Catalog
497 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
498 This release fixes several cross-site scripting (XSS) vulnerabilities
499 in the public catalog. When upgrading, Evergreen administrators should
500 review whether any of the following templates have been customized
501 or overridden. If so, either the template should be replaced with the
502 stock version or the XSS fix (which entails adding the `| html` filter
503 in several places) applied to the customized version.
504
505 * `Open-ILS/src/templates/opac/parts/locale_picker.tt2`
506 * `Open-ILS/src/templates/opac/parts/login/form.tt2`
507 * `Open-ILS/src/templates/opac/parts/searchbar.tt2`
508
509 Upgrade Notes
510 ~~~~~~~~~~~~~
511 * Administrators of Evergreen who use RTL locales and who have customized
512 `style-rtl.css.tt2` should now incorporate their customizations into
513 `style.css.tt2`.
514 * The `reporter.classic_current_circ` view, which is part of some
515 extra views defined in `Open-ILS/src/sql/Pg/example.reporter-extension.sql`,
516 has been fixed to not exclude loans for patrons who do not have a
517 billing address set. Users of this view should rerun
518 `Open-ILS/src/sql/Pg/example.reporter-extension.sql` during upgrade.
519
520 Hold Targeter Repairs and Improvements
521 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
522 A series of changes were made to the new hold targeter available in 2.12.
523
524 * Make the batch targeter more resilient to a single-hold failure.
525 * Additional batch targeter info logging.
526 * Set OSRF_LOG_CLIENT in hold_targeter_v2.pl for log tracing
527 * Removes the confusingly named --target-all option
528  ** The same behavior can be achieved by using --retarget-interval "0s"
529 * Removes --skip-viable (see --soft-retarget-interval below)
530
531 New --next-check-interval Option
532 ++++++++++++++++++++++++++++++++
533 Specify how long after the current run time the targeter will retarget
534 the currently affected holds. Applying a specific interval is useful
535 when the retarget-interval is shorter than the time between targeter
536 runs.
537
538 For example, if the targeter is run nightly at midnight with a
539 --retarget-interval 36h, you would set --next-check-interval to 48hr,
540 since the holds won't be processed again until 48 hours later. This
541 ensures that the org unit closed date checks are looking at the correct
542 date. 
543
544 This setting overrides the default behavior of calculating the next 
545 retarget time from the retarget-interval.
546
547 New --soft-retarget-interval Option
548 +++++++++++++++++++++++++++++++++++
549 This is a replacement for (and rebranding of) the --skip-viable option. 
550 The new option allows for time-based soft-targeting instead simple binary 
551 on/off soft-targeting.
552
553 How soft-targeting works:
554 * Update hold copy maps for all affected holds
555 * Holds with viable targets (on the pull list) are otherwise left alone.
556 * Holds without viable targets are retargeted in the usual manner. 
557
558 Other Bug Fixes
559 ~~~~~~~~~~~~~~
560 * A fix to remove the Chilifresh patron reviews header for Evergreen sites
561 that do not use Chilifresh.
562 * A fix that marks acquisitions POs as received when all line items on the 
563 PO are received or canceled.
564 * A typo fix to the long overdue override permission that prevented staff
565 from being able to override long overdue check ins.
566 * A fix to use a library's configured currency in SIP patron responses
567 instead of always using US dollars.
568 * A fix to SIP timeouts caused by invalid sessions
569 * A fix that allows boolean fields to be recognized in queries to the
570 Z39.50 server.
571 * A fix to use the correct method during adjust to zero on negative
572 balances.
573 * A correction to the datatype for the Vandelay Default Record Match Set
574 setting.
575 * The removal of the _Keep_ field from MARC Batch Import Item Attributes.
576 The field was not previously implemented.
577 * A fix to set the complete time value for grouped Action/Trigger events
578 when an event's state reach complete, consistent with non-grouped events.
579 * A fix to a bug in the rollover_phone_to_print.pl script that kept failed
580 call files from being moved.
581 * A new index for acq.edi_message that speeds up the check for duplicate
582 EDI messages.
583 * A fix that ensures JSON strings are converted to UTF8, ensuring that
584 non-ASCII data display correctly.
585 * A fix to avoid an erroneous unsaved data popup to appear during MARC
586 record creation.
587 * A typo fix in the web client's bill payment receipt template.
588 * A correction to ebook account links on the My Account Summary page.
589 * Improved responsive design for the ebook My Account screens so that
590 they display better on mobile devices.
591 * A fix to a bug that prevented a patron opt-in dialog from loading.
592 * The RTL stylesheet for the public catalog,
593 `templates/opac/css/style-rtl.css.tt2`, has been merged into the LTR
594 one (`templates/opac/css/style.css.tt2`). The combined stylesheet
595 template will emit RTL or LTR styles based on the value of
596 the `rtl` flag of the active locale. An `rtl` variable is also available
597 in the template to allow the correct style to be chosen.
598 * A fix to leaking of the internal port number to the client when
599 Apache is configured to use nonstandard ports in combination with a proxy
600 server.
601 * The addition of the vandelay.auto_overlay_bib_record upgrade script,
602 which was missed in a 2.1-2.2 era upgrade script. It isn't necessary for
603 sites that began using Evergreen since then to run the script, but
604 it is harmless to run.
605 * A web staff client fix that will hid the behind-desk option for
606 for libraries that do not support "Behind Desk Pickup".
607 * A web staff client fix that caused hold transit check ins to fail
608 silently when the transit destination does not have a holds address.
609 * A web staff client fix that now requires the entry of user statistical
610 categories in the patron editor if those stat cats are configured to
611 be required.
612 * A fix to a problem with the "Exclude Electronic Resources" checkbox
613 that prevented users from removing a selection from the box.
614 * The removal of the search format limiters from the new advanced search
615 limiter block on the search results page. The search format limiters
616 should not display there because they can be selected from the search bar.
617
618
619
620
621 Acknowledgements
622 ~~~~~~~~~~~~~~~~
623 We would like to thank the following individuals who contributed code,
624 testing and documentation patches to the 2.12.2 point release of
625 Evergreen:
626
627 * Galen Charlton
628 * Jeff Davis
629 * Bill Erickson
630 * Jason Etheridge
631 * Jeff Godin
632 * Blake Henderson
633 * Linda Jansova
634 * Kathy Lussier
635 * Jillianne Presley
636 * Jane Sandberg
637 * Dan Scott
638 * Chris Sharp
639 * Remington Steed
640 * Jason Stephenson
641 * Josh Stompro
642 * Remington Steed
643
644 Evergreen 2.12.1 
645 ----------------
646
647 This release contains several bug fixes improving on Evergreen 2.12.0
648
649 * A fix to the 2.12 upgrade of the subject|temporal and subject|geographic 
650 indexes, where the above-mentioned browse indexes were not turned off in favor
651 of new browse versions of the indexes. Sites that are upgrading from 2.12.0
652 can cancel the browse reingest that comes with the new upgrade script.
653
654 * A change to the default pickup library when staff place a hold. The place hold
655 screen will now default to the preferred pickup location for the patron. If the
656 patron does not have a preferred pickup location, it will default to the
657 patron's home library.
658 * A fix to a problem where users could not change the selected Org Unit on the
659 MARC Tag Tables server admin page.
660 * A fix to the seed data for translations for some Coded Value Map entries.
661 * The ability to skip the XUL staff client build when in make_release.
662 * Revised layout and styling for the advanced search limiter block that displays
663 on the search results page.
664 * A fix that silences a log warning that appears for every checkout where a hard
665 due date is not used.
666 * Tweaks for sounds that are used in the web staff client.
667 * The addition of f4 and ctrl-f2 as hotkeys in the web staff client.
668 * Additional help text for receipt templates in the web staff client.
669 * The reinstatement of the Reprint Last Receipt functionality in the web staff client.
670 * The ability in the web staff client copy editor to add new volumes to
671 libraries that were not selected in holdings view.
672 * A fix to a billing issue where transactions were not re-opened after they
673 acquired a non-zero balance at check in.
674 * A change to the web staff client work log to prevent it from storing 
675 unnecessary data.
676 * A fix to a translation issue for the record attributes displayed in the 
677 advanced search limiter block on the search results page.
678 * A fix to hold targeting for metarecord holds when the new hold targeter is
679 run in parallel mode.
680
681 Acknowledgements
682 ~~~~~~~~~~~~~~~~
683 We would like to thank the following individuals who contributed code,
684 testing and documentation patches to the 2.12.1 point release of
685 Evergreen:
686
687 * Eva Cerniňáková
688 * Galen Charlton
689 * Bill Erickson
690 * Jason Etherige
691 * Jeanette Lundgren
692 * Kathy Lussier
693 * Mike Rylander
694 * Jane Sandberg
695 * Dan Scott
696 * Ben Shum
697 * Robert Soulliere
698 * Jason Stephenson
699 * Josh Stompro
700 * Dan Wells
701
702
703 2.12.0 Upgrade notes
704 --------------------
705 Evergreen 2.12 now requires OpenSRF 2.5 or later; certain functionality
706 will not work if you attempt to run Evergreen 2.12 on OpenSRF 2.4. Evergreen
707 2.12 recommends PostgreSQL 9.4. The minimum supported version of PostgreSQL is
708 9.3.
709
710 The stock schema upgrade script performs a browse and facet reingest,
711 recalculates bib fingerprints, and remaps metarecords.
712
713 This version also adds two new services, `open-ils.ebook_api` and
714 `open-ils.hold-targeter`.
715
716 2.12.0 New Features
717 -------------------
718
719 Acquisitions
720 ~~~~~~~~~~~~
721 Default status for received line items
722 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
723 A new Library Setting has been added to allow libraries to set the default
724 status for received line items. The previous behavior was to use the
725 "In process" status for all acquisitions items that are received.
726
727
728 Administration
729 ~~~~~~~~~~~~~~
730
731
732
733 Additional SMS Carriers
734 ^^^^^^^^^^^^^^^^^^^^^^^
735 SMS carrier definitions are now included for Google Fi and
736 Republic Wireless. These will be automatically loaded when
737 installing a new Evergreen system; admins who wish to
738 add these definitions during an upgrade can use the following
739 email gateway values:
740
741  * Google Fi: `$number@msg.fi.google.com`
742  * Republic Wireless: `$number@text.republicwireless.com`
743
744
745
746
747 Bibliographic Fingerprint Improvements
748 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
749 The bibliographic fingerprint will now incorporate subfields $n and $p from MARC
750 title fields to better distinguish among records of the same series that
751 may share the same title but have a different part. With this change, these
752 MARC records will no longer be grouped together in a 'Group Formats & Editions'
753 search.
754
755 The bibliographic fingerprint was also changed to better distinguish among
756 the fields contributing to the fingerprint. This change will help the system
757 distinguish between a record for the movie _Blue Steel_ and another record for
758 the book _Blue_ written by Danielle Steel.
759
760
761
762
763
764
765 Batch Hold Targeter Speed-up and New Features
766 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
767
768 Adds a new `open-ils.hold-targeter` service, supporting new targeting options
769 and runtime optimizations to speed up targeting.  The service is launched
770 from a new targeting script, `hold_targeter_v2.pl` (default location:
771 `/openils/bin/hold_targeter_v2.pl`).
772
773 This code has no effect on the existing hold targeter, which is still
774 available as of this release and functions as before.
775
776 New Features/Options
777 ++++++++++++++++++++
778
779 * Adds a global configuration flag 'circ.holds.retarget_interval' for 
780   setting the hold retarget interval.
781
782 * `--target-all` option forces the targeter to process all active
783   holds, regardless of when they were last targeted.
784
785 * `--retarget-interval` option make is possible to override the new
786   'circ.holds.retarget_interval' setting via the command line 
787   when calling the hold targeter.
788
789 * `--skip-viable` option causes the hold targeter to avoid modifying 
790   the currently targeted copy (i.e. the copy on the pull list) for holds 
791   that target a viable (capturable) copy.  
792   {empty} +
793   {empty} +
794   For skipped holds, no entry is added to the unfulfilled_hold_list.
795   The set of potential copies (hold copy maps) are refreshed for all
796   processed holds, regardless of target viability.
797   {empty} +
798   {empty} +
799   This option is useful for 1.) finding targets for holds that require 
800   new targets and 2.) adding new/modified copies to the potential copy 
801   lists (for opportunistic capture) more frequently than you may want to do full
802   retargeting of all holds.
803
804 * `--newest-first` option processes holds in reverse order of request_time,
805   so that newer holds are (re)targeted first.  This is primarily useful
806   when a large backlog of old, un-targetable holds exist.  With 
807   `--newest-first`, the older holds will be processed last.
808
809 * `--parallel` option overrides the parallel settings found in `opensrf.xml`
810   for simpler modification and testing.
811
812 * `--lockfile` option allows the caller to specify a lock file instead
813   of using the default /tmp/hold_targeter-LOCK
814
815 * `--verbose` option prints progress info to STDOUT, showing the number of
816   holds processed per parallel targeter instance.
817
818 * When configured, hold target loops cycle through all org units (with 
819   targetable copies) instead of repeatedly targeting copies at the pickup
820   library when multiple targetable copies exist at the pickup library.
821
822 * When configured, hold target loops prioritize (targetable) org units
823   first by the number of previous target attempts, then by their 
824   weight/proximity.  This effectively back-fills org units that had no
825   targetable copies during earlier target loops so that they are 
826   targeted as many times as other org units (to the extent possible, 
827   anyway).
828
829 Examples
830 ++++++++
831
832 * Traditional daily hold targeter with a value set for 
833   'circ.holds.retarget_interval'.
834
835 [source,sh]
836 --------------------------------------------------------------------------
837 /openils/bin/hold_targeter_v2.pl
838 --------------------------------------------------------------------------
839
840 * (Re)target non-viable holds twice a day, only processing holds that 
841   have never been targeter or those that have not been re-targeted in
842   the last 12 hours.
843
844 [source,sh]
845 --------------------------------------------------------------------------
846 /openils/bin/hold_targeter_v2.pl --skip-viable --retarget-interval "12h"
847 --------------------------------------------------------------------------
848
849 * (Re)target non-viable holds twice a day, processing all holds regardless
850   of when or if they were targeted before, running 3 targeters in
851   parallel.
852
853 [source,sh]
854 --------------------------------------------------------------------------
855 /openils/bin/hold_targeter_v2.pl --skip-viable --target-all --parallel 3
856 --------------------------------------------------------------------------
857
858
859
860
861
862 Add separate make target for translators
863 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
864 For those only interested in building Evergreen translations, a separate
865 "translator" make target has been added to allow for easier installation
866 of i18n prerequisites.
867
868
869 Allow admin to specify where Perl modules will be installed
870 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
871 Add `--with-perlbase` option to `configure` to specify an alternative
872 location for installing the Perl modules. This can be useful for setups
873 that want to run the Perl modules from a shared filesystem or
874 environments that need to run multiple versions of Evergreen
875 simultaneously.
876
877 Users of `--with-perlbase` are responsible for ensuring that `PERL5LIB`
878 is set appropriately.
879
880
881
882 Addition of missing permissions
883 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
884 Required permissions that were previously missing from the stock data have now
885 been added. If Evergreen sites have already manually added these permissions,
886 the upgrade script will remove the old permission and create the new one,
887 maintaining any maps to permission groups, with the stock permission ID.
888
889
890
891
892
893 get_org_unit_ancestor_at_depth Helper Added to Action Trigger Reactor Helpers
894 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
895 In action trigger templates it's now possible to call
896 `helpers.get_org_unit_ancestor_at_depth($id_or_aou, $depth)` in order to retrieve
897 a fleshed aou for the target aou's ancestor at the chosen depth. This could be
898 used to retrieve the name of the library system rather than a specific branch
899 name, for instance.
900
901
902
903
904 Removed unused selfcheck password setting
905 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
906 There was an unused duplicate selfcheck password setting that was removed
907 to avoid confusion over which library setting was supposed to be set to
908 enable passwords for selfcheck. After upgrading, verify that your library
909 policy remains consistent for this setting.
910
911
912
913
914
915 Credit Processor Stripe Settings Permissions
916 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
917 Unprivileged users can retrieve organizational unit setting values for
918 setting types lacking a "view" permission.  When the feature adding
919 Stripe credit card processing was added, the upgrade script neglected
920 to add the VIEW_CREDIT_CARD_PROCESSING permission to the
921 organizational unit setting type.  This means that anyone can retrieve
922 and view the settings for Stripe credit card processing.
923
924 Any system that upgraded from Evergreen version 2.5 to 2.6 is
925 affected.  If you use Stripe for credit card processing, it is
926 strongly recommended that you apply this upgrade.  Even if you do not
927 use Stripe, applying this upgrade is still recommended.  If you did
928 not upgrade from version 2.5 to 2.6 of Evergreen, but started with a
929 later version, applying this upgrade is harmless.
930
931
932
933
934 Cataloging
935 ~~~~~~~~~~
936
937
938
939 New Access Points for MARC Merge/Overlay Profiles
940 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
941 Catalogers can now select a MARC merge/overlay profile to apply when
942 merging records in the (browser client) record bucket merge and Z39.50
943 record overlay interfaces. In both interfaces, if the user selects
944 a merge profile, the results of the merge are displayed, giving the
945 user the opportunity to choose a different merge profile or edit
946 the records involved prior to committing to the merge.
947
948 A new library setting, "Default Merge Profile (Z39.50 and Record Buckets)",
949 specifies the merge profile to preselect in the new merge profile
950 selectors in the record bucket merge and Z39.50 overlay logs. The
951 selectors will also remember the last selection that the user made.
952
953
954
955
956 Circulation
957 ~~~~~~~~~~~
958
959
960
961 Display Copy Alerts With In-House-Use
962 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
963
964 Two library settings are used to control the display of copy alert
965 messages or copy location check in alerts when recording in-house-use
966 in Evergreen.
967
968 Setting 'Display copy alert for in-house-use' to true for an
969 organization will cause an alert to appear with the copy's alert
970 message, if it has one, when recording in-house-use for the copy.
971
972 Setting 'Display copy location check in alert for in-house-use' to true
973 for an organization will cause an alert to display a message
974 indicating that the item needs to be routed to its location if the
975 location has check in alert set to true.
976
977 The settings are independent of one another because you may want to
978 display one and not the other when recording in-house-use.
979
980
981
982
983 Client
984 ~~~~~~
985
986
987
988 Active Date Column Picker Option
989 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
990 The active date will now be available as a column picker option in the Item
991 Status screen.
992
993
994
995
996 Punctuation Insensitive Patron Search
997 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
998 When performing a patron search, punctuation characters will be
999 ignored.  So if the patron is named O'Brien, then you can enter Obrien,
1000 O'Brien, O Brien, etc. in the search box.
1001
1002 This behavior affects the Last Name (internally: family_name), First Name
1003 (first_given_name), and Middle Name (second_given_name) fields of the search.
1004
1005
1006
1007
1008
1009
1010 Touch screen improvements for Evergreen self-check interface
1011 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1012 Improvements were made to the Evergreen self-check interface to make it easier
1013 to use in a touch-screen environment.
1014
1015  * The pay fines link is now a pay fines button, matching other buttons on the
1016 page.
1017  * The checkboxes have been enlarged, making them easier to activate when using
1018 a touch screen.
1019
1020
1021
1022
1023
1024 Trial Production Use of the Web Staff Client
1025 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1026 The new web staff client is ready for trial production use in all functional
1027 areas with the exception of serials and offline transactions. In addition to
1028 many bug fixes in the areas of circulation, cataloging, administration and
1029 reporting, Release 2.12 sees the following additions to web client
1030 functionality.
1031
1032  * Acquisitions interfaces and functionality have been integrated into the web
1033  staff client.
1034  * Booking interfaces and functionality have been integrated into the web staff
1035  client.
1036  * Hatch, the program that will allow for unmediated printing to multiple
1037  printers, sharing of workstation settings, and, eventually, offline 
1038  transactions is now available. A windows installer for Hatch will be available
1039  on the Evergreen-ILS Downloads page.
1040
1041 The Evergreen developers will keep pilot libraries updated about known web
1042 client issues by posting known bugs to https://wiki.evergreen-ils.org/doku.php?id=dev:browser_staff:known_issues .
1043
1044 About Hatch
1045 +++++++++++
1046 Hatch is not required to use the web client, but should be used for workstations
1047 that need to perform the following tasks.
1048
1049  * Unmediated printing to multiple printers. Workstations can print to multiple
1050  printers without Hatch, but will need to click through a dialog to select a
1051  printer. Hatch allows workstations to automatically print, without dialog, to
1052  different printers. 
1053  * Storage of workstation settings in a place outside the browser. Storing local
1054  preferences in hatch will prevent tampering with preferences via the browser
1055  developer tools and protect the settings from possible deletion if the browser
1056  deletes settings in local storage.
1057  * When offline functionality is available, hatch will be required to perform
1058  offline transactions.
1059  
1060 Hatch is currently run as a Chrome extension and is not available in Firefox. To
1061 use hatch on Windows, Evergreen sites should:
1062
1063  . install a java runtime environment version 8 (or higher) if not already
1064  installed,
1065  . download and execute the installer from the Evergreen downloads page, 
1066  . open Chrome and navigate to chrome://extensions,
1067  . enable _Developer Mode_ along the top right of the page,
1068  . click the _Load Unpacked Extension_ button,
1069  . load the directory at Hatch -> extension -> app,
1070  .. In Windows, the default location for the app directory will be
1071  C:\Program Files (x86)\Hatch\extension\app
1072  . enable hatch features in the web client by going to Administration ->
1073  Workstation Administration -> Print/Storage Service ("Hatch") and choosing
1074  which services to use with Hatch.
1075  .. this page will also inform you that hatch is connected. 
1076
1077
1078
1079
1080 Infrastructure
1081 ~~~~~~~~~~~~~~
1082
1083
1084
1085 Client Timezone Awareness
1086 ^^^^^^^^^^^^^^^^^^^^^^^^^
1087
1088 Previously, adjusting the time zone in which a database session operates
1089 could not be done in any way except globally, directly within the database.
1090 However, allowing modification of the timezone parameter now supports
1091 localization efforts for those consortia that span multiple time zones.
1092
1093 Implementation
1094 ++++++++++++++
1095
1096 CStore and other services that interact with the primary Evergreen database
1097 make use of the functionality provided by LP#1485371 in OpenSRF in order to
1098 set the time zone configuration parameter available in PostgreSQL.  This has
1099 the effect of interpreting all timestamps written to or read from the database
1100 in the client's time zone.
1101
1102 Within CStore (and related, C-based services), all stateful sessions make use
1103 of this capability, setting the database time zone upon a successful CONNECT
1104 message from the client.  The time zone is reset to the database default when
1105 a session is terminated either due to client DISCONNECT or server keepalive
1106 timeout.
1107
1108 All stateless requests record the current database time zone, set the database
1109 time zone to that of the client's, run the query, and then reset the database
1110 time zone on each request that carries a client time zone value.  It is expected
1111 that this will not cause any noticeable increase in latency or query execution
1112 time, as this setting is local to the specific PostgreSQL server backend process.
1113
1114 Within the Storage service, the timezone will be set automatically by a simple
1115 wrapper method used by the existing method registration mechanism for method
1116 publishing.  Disconnect and error callbacks are registered to revert the time
1117 zone setting within the database.  This provides completely transparent time
1118 zone manipulation for backend services that make use of open-ils.storage.
1119
1120
1121
1122
1123 Public Catalog
1124 ~~~~~~~~~~~~~~
1125
1126
1127
1128 New Subject Browse Index Definitions
1129 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1130 New subject browse index definitions have been added that display the entire
1131 heading as a unit with hyphens between terms instead of displaying individual
1132 terms separately. 
1133
1134 For example, the browse heading for:
1135
1136 =650 \0$aCats$zUnited States$vCorrespondence.
1137
1138 will display in a single entry as:
1139
1140 Cats -- United States -- Correspondence
1141
1142 Rather than separate entries for Cats and United States. 
1143
1144 Name subjects will continue to display as separate entries because additional
1145 work would be required for the heading to be punctuated correctly.
1146
1147
1148
1149
1150 Advanced Search Limiters Enhancement
1151 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1152 Advanced search limiters will no longer propagate to the basic search box in
1153 the catalog. Instead, the limiters applied to the search will appear underneath
1154 the search box where they can be easily cleared by clicking an 'x.' On a small,
1155 mobile device, the advanced search limiters can be seen by clicking an 'x filter
1156 applied' link. 
1157
1158 The selected limiters will be applied to any search from the search bar until:
1159  * The user actively removes the filters from the search or
1160  * The user starts a new basic or advanced search from scratch.
1161
1162
1163
1164
1165 Arabic and Right-to-Left Language Support for the catalog
1166 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1167 New stylesheets and other changes to the catalog to allow for 
1168 better support of right-to-left (RTL) languages, such as Arabic.
1169
1170 Also adds Arabic (Jordan) as a new supported language.
1171
1172
1173
1174
1175 Ebook API integration
1176 ^^^^^^^^^^^^^^^^^^^^^
1177 Evergreen 2.12 supports partial integration with third-party APIs
1178 provided by OverDrive and OneClickdigital.  When ebook API integration
1179 is enabled, bibliographic records from these vendors that appear in your
1180 public catalog will include vendor holdings and availability information.  Also,
1181 when a user is logged in, the public catalog dashboard and My Account interface
1182 will include information about that user's checkouts and holds for
1183 supported vendors.
1184
1185 For API integration to work, you need to request API access from the
1186 vendor and configure your Evergreen system according to the instructions
1187 below.  You also need to configure the new `open-ils.ebook_api` service.
1188
1189 This feature assumes that you are importing MARC records supplied by the
1190 vendor into your Evergreen system, using Vandelay or some other MARC
1191 import method.  This feature does not search the vendor's online
1192 collections or automatically import vendor records into your system; it
1193 merely augments records that are already in Evergreen.
1194
1195 A future Evergreen release will add the ability for users to check out
1196 titles, place holds, etc., directly via the public catalog.
1197
1198 Ebook API service configuration
1199 +++++++++++++++++++++++++++++++
1200 This feature uses the new `open-ils.ebook_api` OpenSRF service.  This
1201 service must be configured in your `opensrf.xml` and `opensrf_core.xml`
1202 config files for ebook API integration to work.  See
1203 `opensrf.xml.example` and `opensrf_core.xml.example` for guidance.
1204
1205 OverDrive API integration
1206 +++++++++++++++++++++++++
1207 Before enabling OverDrive API integration, you will need to request API
1208 access from OverDrive.  OverDrive will provide the values to be used for
1209 the following new org unit settings:
1210
1211   * *OverDrive Basic Token*: The basic token used for API client
1212     authentication.  To generate your basic token, combine your client
1213     key and client secret provided by OverDrive into a single string
1214     ("key:secret"), and then base64-encode that string.  On Linux, you
1215     can use the following command: `echo -n "key:secret" | base64 -`
1216   * *OverDrive Account ID*: The account ID (a.k.a. library ID) for your
1217     OverDrive API account.
1218   * *OverDrive Website ID*: The website ID for your OverDrive API
1219     account.
1220   * *OverDrive Authorization Name*: The authorization name (a.k.a.
1221     library name) designated by OverDrive for your library.  If your
1222     OverDrive subscription includes multiple Evergreen libraries, you
1223     will need to add a separate value for this setting for each
1224     participating library.
1225   * *OverDrive Password Required*: If your library's OverDrive
1226     subscription requires the patron's PIN (password) to be provided
1227     during patron authentication, set this setting to "true."  If you do
1228     not require the patron's PIN for OverDrive authentication, set this
1229     setting to "false."  (If set to "true," the password entered by a
1230     patron when logging into the public catalog will be cached in plain text in
1231     memcached.)
1232   * *OverDrive Discovery API Base URI* and *OverDrive Circulation API
1233     Base URI*: By default, Evergreen uses OverDrive's production API, so
1234     you should not need to set a value for these settings.  If you want
1235     to use OverDrive's integration environment, you will need to add the
1236     appropriate base URIs for the discovery and circulation APIs.  See
1237     OverDrive's developer documentation for details.
1238   * *OverDrive Granted Authorization Redirect URI*: Evergreen does not
1239     currently support granted authorization with OverDrive, so this
1240     setting is not currently in use.
1241
1242 For more information, consult the
1243 https://developer.overdrive.com/docs/getting-started[OverDrive API
1244 documentation].
1245
1246 To enable OverDrive API integration, adjust the following public catalog settings
1247 in `config.tt2`:
1248
1249   * `ebook_api.enabled`: set to "true".
1250   * `ebook_api.overdrive.enabled`: set to "true".
1251   * `ebook_api.overdrive.base_uris`: list of regular expressions
1252     matching OverDrive URLs found in the 856$9 field of older OverDrive
1253     MARC records.  As of fall 2016, OverDrive's URL format has changed,
1254     and the record identifier is now found in the 037$a field of their
1255     MARC records, with "OverDrive" in 037$b.  Evergreen will check the
1256     037 field for OverDrive record identifiers; if your system includes
1257     older-style OverDrive records with the record identifier embedded in
1258     the 856 URL, you need to specify URL patterns with this setting.
1259
1260 OneClickdigital API integration
1261 +++++++++++++++++++++++++++++++
1262 Before enabling OneClickdigital API integration, you will need to
1263 request API access from OneClickdigital.  OneClickdigital will provide
1264 the values to be used for the following new org unit settings:
1265
1266   * *OneClickdigital Library ID*: The identifier assigned to your
1267     library by OneClickdigital.
1268   * *OneClickdigital Basic Token*: Your client authentication token,
1269     supplied by OneClickdigital when you request access to their API.
1270
1271 For more information, consult the
1272 http://developer.oneclickdigital.us/[OneClickdigital API documentation].
1273
1274 To enable OneClickdigital API integration, adjust the following public catalog
1275 settings in `config.tt2`:
1276
1277   * `ebook_api.enabled`: set to "true".
1278   * `ebook_api.oneclickdigital.enabled`: set to "true".
1279   * `ebook_api.oneclickdigital.base_uris`: list of regular expressions
1280     matching OneClickdigital URLs found in the 859$9 field of your MARC
1281     records.  Evergreen uses the patterns specified here to extract
1282     record identifiers for OneClickdigital titles.
1283
1284 Additional configuration
1285 ++++++++++++++++++++++++
1286 Evergreen communicates with third-party vendor APIs using the new
1287 `OpenILS::Utils::HTTPClient` module.  This module is configured using
1288 settings in `opensrf.xml`.  The default settings should work for most
1289 environments by default, but you may need to specify a custom location
1290 for the CA certificates installed on your server.  You can also disable
1291 SSL certificate verification on HTTPClient requests altogether, but
1292 doing so is emphatically discouraged.
1293
1294
1295
1296 Links to Other Formats and Editions
1297 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1298 The record summary pages in the catalog will now link to other formats and
1299 editions of a title. The links will allow users to quickly jump to another
1300 format of the title or an edition written in another language. 
1301
1302
1303
1304
1305
1306 Metarecord Search Improvements
1307 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1308 This release brings several improvement to the Group Formats and Editions
1309 search. 
1310
1311  * Limiters on the advanced search page can now be successfully applied to 
1312 Group Formats and Editions searches,
1313  * Electronic resources are now retrievable through these searches,
1314  * Paged navigation has improved.
1315
1316
1317
1318
1319 Allow Metarecord Search by default
1320 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1321 Before the TPAC, a site could configure the public catalog to use metarecord searching
1322 by default, via a configuration file.  Here we bring that back.
1323
1324 A new setting called search.metarecord_default is present in
1325 `templates/opac/parts/config.tt2` to enable this feature.  By setting this to
1326 a true value (normally 1) the TPAC will silently include the #metabib search
1327 modifier in the search form on any interfaces that do not have a UI component
1328 that allows the user to control the setting.
1329
1330
1331
1332 RDA Improvements
1333 ^^^^^^^^^^^^^^^^
1334  * Author fields are now normalized to strip ending periods so that authors from
1335 RDA and non-RDA records are collapsed in browse and facet headings.
1336  * All author/contributor roles will now display in the record detail page.
1337 Previously, some of the roles were omitted or were duplicated.
1338
1339
1340 Obalkyknih.cz Integration
1341 ^^^^^^^^^^^^^^^^^^^^^^^^^
1342 Evergreen now integrates with Czech added content provider obalkyknih.cz. A new
1343 setting called obalkyknih_cz.enabled is available in
1344 `templates/opac/parts/config.tt2` to enable this new feature.
1345
1346
1347 2.12.0 Acknowledgments
1348 ----------------------
1349 The Evergreen project would like to acknowledge the following
1350 organizations that commissioned developments in this release of
1351 Evergreen:
1352
1353 * Bibliomation
1354 * British Columbia Libraries Cooperative
1355 * C/W MARS
1356 * Georgia PINES
1357 * King County Library System
1358 * Linn Libraries Consortium
1359 * MassLNC
1360 * Pennsylvania Integrated Library System
1361 * Pioneer Library System
1362
1363 We would also like to thank the following individuals who contributed
1364 code, translations, documentations patches and tests to this release of
1365 Evergreen:
1366
1367 * Adam Bowling
1368 * Anahi Valdez
1369 * Ben Shum
1370 * Bill Erickson
1371 * Billy Horn
1372 * Blake Henderson
1373 * Bob Wicksall
1374 * Chris Sharp
1375 * Christine Burns
1376 * Christine Morgan
1377 * Clare Sobotka
1378 * Dan Pearl
1379 * Dan Scott
1380 * Dan Wells
1381 * Darrell Rodgers
1382 * Debbie Luchenbill
1383 * Eva Cerninakova
1384 * Fares Othman
1385 * Galen Charlton
1386 * Jakub Kotrla
1387 * Jane Sandberg
1388 * Jason Boyer
1389 * Jason Etheridge
1390 * Jason Stephenson
1391 * Jeanette Lundgren
1392 * Jeff Davis
1393 * Jeff Godin
1394 * Jennifer Pringle
1395 * Jillianne Presley
1396 * Jim Keenan
1397 * Job Diógenes Ribeiro Borges
1398 * Jonathan Schatz
1399 * Josh Stompro
1400 * Kate Butler
1401 * Kathy Lussier
1402 * Kyle Huckins
1403 * Linda Jansová 
1404 * Michele Morgan
1405 * Michelle Purcell
1406 * Mike Rylander
1407 * Nawras Othman
1408 * Remington Steed
1409 * Rogan Hamby
1410 * Terran McCanna
1411 * Thomas Berezansky
1412 * Victoria Lewis
1413
1414 We also thank the following organizations whose employees contributed
1415 patches:
1416
1417 * British Columbia Libraries Cooperative
1418 * Calvin College
1419 * Catalyst DevWorks
1420 * C/W MARS
1421 * Emerald Data Networks, Inc.
1422 * Equinox Open Library Initiative
1423 * Georgia PINES
1424 * Indiana State Library
1425 * The Institute for the Study of Totalitarian Regimes, Prague
1426 * Jabok Library
1427 * Jordanian Library and Information Association
1428 * King County Library System
1429 * Lake Agassiz Regional Library
1430 * Laurentian University
1431 * Linn-Benton Community College
1432 * MassLNC
1433 * Merrimack Valley Library Consortium
1434 * MOBIUS Consortium
1435 * North of Boston Library Exchange
1436 * Pioneer Library System
1437 * Rodgers Memorial Library
1438 * Sigio
1439 * Traverse Area District Library
1440
1441
1442 We regret any omissions.  If a contributor has been inadvertently
1443 missed, please open a bug at https://bugs.launchpad.net/evergreen/
1444 with a correction.
1445