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