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