LP 1768715: Use named arguments in function calls in pingest.pl.
[working/Evergreen.git] / docs / RELEASE_NOTES_3_1.adoc
1 Evergreen 3.1 Release Notes
2 ===========================
3 :toc:
4 :numbered:
5
6 Evergreen 3.1.5
7 ----------------
8 This release contains bug fixes improving on Evergreen 3.1.4.
9 All bug fixes refer to the web staff client unless otherwise specified.
10
11 Bug fixes
12 ~~~~~~~~~
13
14 * Several strings are now displayed in the correct translation.
15 * Right clicking in grids results in more intuitive behavior.
16 * Usernames and barcodes containging the _%_ character no longer
17 experience problems logging in.
18 * Fixes cases in which the web client stops loading after the toolbar.
19 * Fixes problems in which using the web client in multiple tabs leads
20 to data inconsistency.
21 * Fixes an issue that caused authentication session checks to spam
22 the system and needlessly fill up logs.
23 * Boolean fields within grid views now say "Yes"/"No" instead of 
24 "true"/"false".
25 * Fixes sorting issues in the patron search.
26 * Staff can now choose to print out only a selection of items out,
27 instead of having to print them all.
28 * The patron triggered event screen now respects the
29 `circ.staff.max_visible_event_age` library setting.
30 * Fixes an issue which caused an exception to be thrown during
31 non-cataloged item checkout.
32 * Fixes permission issues related to merging users.
33 * The bibliographic record summary now displays the call number that
34 matches the library's classification system.
35 * The copy editor now makes shelving locations visible to catalogers
36 from other libraries as needed.
37 * Once a record is overlayed in the Z39.50 screen, it is no longer
38 marked for overlay.
39 * Fixes several issues with the item status list view.
40 * When adding new copies, the circulation library now defaults to the
41 call number's owning library.
42 * Fixes display issues with the Print Item Labels page.
43 * Fixes an issue in which the staff client and the OPAC displayed
44 different counts of available items.
45
46 Acknowledgements
47 ~~~~~~~~~~~~~~~~
48 We would like to thank the following individuals who contributed code,
49 tests and documentation patches to the 3.1.5 point release of
50 Evergreen:
51
52 * John Amundson
53 * a. bellenir
54 * Jason Boyer
55 * Garry Collum
56 * Jeff Davis
57 * Bill Erickson
58 * Rogan Hamby
59 * Kathy Lussier
60 * Terran McCanna
61 * Michele Morgan
62 * Mike Rylander
63 * Jane Sandberg
64 * Chris Sharp
65 * Jason Stephenson
66 * Ben Shum
67 * Cesar Velez
68 * John Yorio
69
70
71 Evergreen 3.1.4
72 ----------------
73 This release contains bug fixes improving on Evergreen 3.1.3.  Note that
74 all bug fixes refer to the web staff client unless otherwise specified.
75
76 Bug fixes
77 ~~~~~~~~~
78
79 * Fixes right-click issues with the Web client grids
80 * Fixes an issue with the Default SMS Carrier in the patron edit form.
81 * Fixes an issue that allowed overdue notices to be sent to a patron
82 whose long overdue item has been paid for.
83 * Checking in precat items now displays the "Route to Cataloging" alert each
84 time the item is checked in.
85 * Fixes an issue where alerts that had been cleared by a check-in continued
86 to display.
87 * Fixes an issue in which the Adjust to Zero feature
88 does not close a checked-in lost circ.
89 * Deleted copies that are still checked out can now be checked in.
90 * Fixes a mislabeled column in the patron checkout grid.
91 * Grocery bills are no longer styled the same way as overdue bills.
92 * Fixes an error with the missing pieces functionality.
93 * Courier codes now display in the transit slip receipt preview.
94 * Fixes several issues related to adding volumes.
95 * Fixes several issues related to empty volumes.
96 * Fixes several issues related to item and volume transfers.
97 * Fixes several issues with checkboxes in the volume/copy editor.
98 * The Item Status grid now displays OU shortnames instead of full names
99 for the "Circulation Library" column.
100 * The Volume/Copy editor now allows users to remove a value from the Age
101 Hold Protection field.
102 * Barcode completion now works in copy buckets.
103 * The Z39.50 interface now notices when another record has been marked
104 for overlay.
105 * Fixes a display issue for the Remove MARC Field Groups checkboxes in
106 the Z39.50 interface.
107 * Fixes a performance issue for the Validate button in the MARC Editor.
108 * Fixes an incorrect close tag in the Print Item Labels toolbar.
109 * Better scoping of copy tags in search results.
110 * Prevents sending invalid search.highlight_display_fields calls.
111 * Electronic Resource links now open in a new tab.
112 * Fixes an issue with the fiscal year close-out operation.
113
114 Acknowledgements
115 ~~~~~~~~~~~~~~~~
116 We would like to thank the following individuals who contributed code,
117 tests and documentation patches to the 3.1.4 point release of
118 Evergreen:
119
120 * A. Bellenir
121 * Adam Bowling
122 * Jason Boyer
123 * Galen Charlton
124 * Garry Collum
125 * Jeff Davis
126 * Bill Erickson
127 * Kathy Lussier
128 * Terran McCanna
129 * Michele Morgan
130 * Jennifer Pringle
131 * Mike Rylander
132 * Jane Sandberg
133 * Chris Sharp
134 * Jason Stephenson
135 * Cesar Velez
136 * Dan Wells
137
138 Evergreen 3.1.3
139 ---------------
140 This release contains bug fixes improving on Evergreen 3.1.2.  Note that
141 all bug fixes refer to the web staff client unless otherwise specified.
142
143 Bug fixes
144 ~~~~~~~~~
145
146 * Fixes specific cases in which deleted records appear in search results.
147 * Fixes a performance issue with deleting patrons.
148 * The hold shelf dialog popup now lists the patron's notification
149 preferences.
150 * Fixes an issue that prevented editing items when a monograph part
151 is present.
152 * Patron information is now available for use in the bills_current
153 and bills_historical receipt templates.
154 * The browser's "This page may contain unsaved data" warning now 
155 appears when users click the update
156 expire date button in a patron account and attempt to navigate away
157 without saving.
158 * The holds tab of the patron record now includes a monograph part
159 column.
160 * The barcode box in the checkout screen
161 no longer hovers above patron record tabs when
162 staff users scroll down.
163 * Fixes an issue with the date of birth in the patron edit scren.
164 * The patron account bills grid are now color-coded by the item's
165 status.
166 * Fixes an issue with the dropdown of billing type options.
167 * The Item Status screen now includes as a floating group column.
168
169 Acknowledgements
170 ~~~~~~~~~~~~~~~~
171 We would like to thank the following individuals who contributed code,
172 tests and documentation patches to the 3.1.3 point release of
173 Evergreen:
174
175 * BC Libraries Cooperative
176 * A. Bellenir
177 * Jason Boyer
178 * Galen Charlton
179 * Garry Collum
180 * Dawn Dale
181 * Bill Erickson
182 * Blake Graham-Henderson
183 * Kyle Huckins
184 * Jeanette Lundgren
185 * Kathy Lussier
186 * Terran McCanna
187 * Michele Morgan
188 * Dan Pearl
189 * Mike Rylander
190 * Geoff Sams
191 * Jane Sandberg
192 * Chris Sharp
193 * Remington Steed
194 * Jason Stephenson
195 * Cesar Velez
196 * Dan Wells
197
198
199 Evergreen 3.1.2
200 ---------------
201
202 This release contains bug fixes improving on Evergreen 3.1.1.   Note that
203 all bug fixes refer to the web staff client unless otherwise specified.
204
205 Bug fixes
206 ~~~~~~~~~
207
208 Cataloging
209 ^^^^^^^^^^
210
211 * The MARC editor now handles 008 fields better.
212 * Adds spaces between subfields when suggesting a call
213 number for a new volume.
214 * MarcXML exports from the MARC Batch Import/Export ->
215 Export Records screen now downloads the file, rather than opening
216 it in the browser.
217 * The Item Status Circulation Library column now displays a 
218 shortname rather than the full library name.
219 * The Item Status Remaining Renewals column now displays
220 correctly.
221 * The Item Status now has a "Last Renewal Workstation" column
222 available.
223 * Fixes the circulation counts displayed in Item Status Details.
224 * Removes an error that got thrown in the Holdings View when a call number
225 contains no copy.
226 * Fixes an issue where multiple copies with different values for required
227 statistical categories could not be edited and saved in batch.
228 * Add an option to remove floating in the copy editor.
229 * Fixes an issue with the floating dropdown in the copy editor.
230 * Fixes a problem in which the copy template didn't properly copy
231 certain objects.
232 * Reduces the number of API calls that the MARC Editor requires.
233 * The order of the Z39.50 servers on the Z39.50 import screen
234 no longer relies on capitalization.
235
236 Circulation
237 ^^^^^^^^^^^
238
239 * Fixes an issue that prevented the offline patron registration
240 screen from loading.
241 * Fixes an issue with searching patrons by permission group.
242 * The barcodes in the patron search are now clickable.
243 * Staff members can now manually override the patron juvenile
244 flag value, regardless of the patron's date of birth.
245 * Checkboxes on patron registration screen are now properly aligned
246 with other fields.
247 * The user permission group dropdowns in the patron registration,
248 edit, and search interfaces now have scrollbars.
249 * The date picker on the checkout screen is now hidden unless
250 circ staff activates a specific due date option.
251 * The check-in screen now includes a copy status column.
252 * The Merge Patrons interface now displays the date of birth.
253 * The user bucket screen now displays the Bucket ID.
254 * The payment button on patron bills screen is now inactive if the
255 Payment Received field is blank.
256 * The Bill History receipt now includes a Finish date and a Last
257 Payment date.
258 * When a patron summary contains an image of the patron,
259 that image tag now has a null alt attribute to remove it from
260 the flow of a screen reader.
261 * Corrects an issue that caused the transit dialog to show the
262 wrong branch.
263 * Corrects an issue with printing transit lists.
264 * "Find another target" on transiting hold no longer leaves the 
265 copy "in-transit".
266 * The images now display to distinguish hold and transit slips.
267 * The Clearable Holds list printout now only shows holds that have
268 expired.
269 * Restores the call number prefix and suffix fields to the holds
270 pull list.
271 * The documentation at the top of the hold shelf slip template
272 adds `patron.alias`.
273 * The cursor in the in-house use screen now automatically goes
274 to the barcode field.
275 * The in-house use screen now shows a copy status column.
276 * Add support for converting change to patron credit in the patron bills
277 interface, consistent with the XUL feature.
278 * Fixes a bug that caused pickup/request library fields to be
279 blank sometimes.
280 * Fixes a bug in the offline org unit tree.
281
282 Command-line system administration
283 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
284
285 * The novelist entry in `eg_vhost.conf` includes two new
286 parameters.
287 * Corrects an issue with the `--max-sleep` argument on the
288 `action_trigger_runner.pl` support script.
289 * Corrects an issue with how the `eg_pbx_allocator.pl` script
290 detects an existing lock file.
291 * The 3.0.2-3.0.3 upgrade script disables triggers before
292 recalculating bib visibility.
293
294 Public catalog
295 ^^^^^^^^^^^^^^
296
297 * Fixes an issue that caused records with located URIs to be
298 retrieved in Copy Location and Copy Location Group searches.
299 * Fixes an error message that appeared in the search box
300 in the public catalog while placing hold after an advanced search.
301 * Restores the display of copy information for the user's
302 preferred library in the public catalog.
303 * Author and contributor names are no longer highlighted in 
304 search results when the user has turned off highlighting.
305 * Fixes regression errors in the search results page.
306 * Removes redundant call numbers from the Show More Details
307 search results.
308 * The cast field in the catalog is now taken from the 511 field
309 when first indicator = 1, rather than the 508.
310 * Fixes a display issue caused by editing holds.
311 * Repairs broken author search links on the catalog record page.
312
313 Serials
314 ^^^^^^^
315
316 * Fixes an issue that prevented users from searching for
317 receivable issues using Database ID or ISSN in the Serials
318 Batch Receive interface.
319
320 General
321 ^^^^^^^
322 * Pins AngularJS support to version 1.6, which prevents unsupported
323 AngularJS versions (such as 1.7) from breaking the build process.
324 * Adds some padding to the bottom of Web Client interfaces.
325 * Logins now honor all org unit timeout settings.
326 * Evergreen will now identify and handle invalid timezones.
327 * Fixes an issue where a column header in some interfaces were automatically
328 highlighted in green when retrieving the interface.
329 * The parts column in the Item Status screen now displays parts data.
330
331
332 Acknowledgements
333 ~~~~~~~~~~~~~~~~
334 We would like to thank the following individuals who contributed code,
335 tests and documentation patches to the 3.1.2 point release of
336 Evergreen:
337
338 * John Amundson
339 * Jason Boyer
340 * Galen Charlton
341 * Garry Collum
342 * Dawn Dale
343 * Jeff Davis
344 * Bill Erickson
345 * Lynn Floyd
346 * Rogan Hamby
347 * Kyle Huckins
348 * Sam Link
349 * Jeanette Lundgren
350 * Kathy Lussier
351 * Katie G. Martin
352 * Terran McCanna
353 * Michele Morgan
354 * Dan Pearl
355 * Mike Rylander
356 * Laura Sachjen
357 * Jane Sandberg
358 * Chris Sharp
359 * Ben Shum
360 * Remington Steed
361 * Jason Stephenson
362 * Josh Stompro
363 * Cesar Velez
364 * Dan Wells
365 * Bob Wicksall
366
367
368
369 Evergreen 3.1.1
370 ---------------
371 This release contains bug fixes improving on Evergreen 3.1.0.
372
373 * Fixes a performance issue with the Patron Billing History screen and
374 other screens that cause Flattener.pm to re-create joins
375 unnecessarily.
376 * Fixes an issue that prevented patron alerts from showing to staff at
377 other libraries.
378 * Corrects the "Holdable" attribute display on the Item Status detailed
379 view.
380 * Fixes the ability to delete multiple copies from Item Status.
381
382 Acknowledgements
383 ~~~~~~~~~~~~~~~~
384 We would like to thank the following individuals who contributed code,
385 tests and documentation patches to the 3.1.1 point release of
386 Evergreen:
387
388 * Jason Boyer
389 * Bill Erickson
390 * Morkor Quarshie
391 * Jane Sandberg
392 * Remington Steed
393 * Jason Stephenson
394 * Kevin Tran
395 * Dan Wells
396
397
398 3.1.0 Upgrade Notes
399 -------------------
400 Like many major Evergreen upgrades, 3.1 requires a full reingest of your
401 bibliographic records before the system is usable again.  While a basic reingest
402 is included at the end of the upgrade script, it happens after the main
403 COMMIT, so it is safe to cancel that and run the required reingest as you see
404 fit (e.g. via pingest.pl).
405
406
407 3.1.0 New Features
408 ------------------
409
410 Administration
411 ~~~~~~~~~~~~~~
412
413 New Latency Tester Tool
414 ^^^^^^^^^^^^^^^^^^^^^^^
415 The Evergreen Web Staff Client now includes a section called *Tests* linked from
416 *Administration -> Workstation*. The *Tests* page houses a simple tool
417 that can be used to test the latency of the websocket connection between the
418 client and the server (via the `opensrf.echo` service).
419
420 This page displays which Evergreen host server is being queried. Upon hitting
421 the blue "Start Test" button for the first time, it will issue 10 sequentially
422 fired requests in order to get a solid initial average. Clicking the button a
423 second time will take one more measurement and recalculate the average
424 latency. The results can be copied to clipboard for troubleshooting purposes
425 and also cleared from display.
426
427 marc_export --uris option
428 ^^^^^^^^^^^^^^^^^^^^^^^^^
429 The marc_export support script now has a `--uris` option (short form:
430 `-u`) to export records with located URIs (i.e. electronic resources).  When
431 used by itself, it will export only records that have located URIs.  When
432 used in conjunction with `--items`, it will add records with located URIs
433 but no items/copies to the output.  If combined with a `--library` or
434 `--descendants` option, this option will limit its output to those
435 records with URIs at the designated libraries.  The best way to use
436 this option is in combination with the `--items` and one of the
437 `--library` or `--descendants` options to export *all* of a library's
438 holdings both physical and electronic.
439
440
441 Architecture
442 ~~~~~~~~~~~~
443
444 Sample Data Includes Surveys
445 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
446 The Concerto sample data set now includes patron surveys, questions,
447 answers, and responses.
448
449 Virtual Index Definitions
450 ^^^^^^^^^^^^^^^^^^^^^^^^^
451 The practical purpose of Virtual Index Definitions is to supply an Evergreen
452 administrator with the ability to control the weighting and field inclusion of
453 values in the general keyword index, commonly referred to as "the blob,"
454 without requiring tricky configuration that has subtle semantics, an
455 over-abundance of index definitions which can slow search generally, or the
456 need to reingest all records on a regular basis as experiments are performed
457 and the configuration refined. Significant results of recasting keyword indexes
458 as a set of one or more Virtual Index Definitions will be simpler search
459 configuration management, faster search speed overall, and more practical
460 reconfiguration and adjustment as needed.
461
462 Previously, in order to provide field-specific weighting to
463 keyword matches against titles or authors, an administrator must duplicate many
464 other index definitions and supply overriding weights to those duplicates. This
465 not only complicates configuration, but slows down record ingest as well as
466 search. It is also fairly ineffective at achieving the goal of weighted keyword
467 fields. Virtual Index Definitions will substantially alleviate the need for
468 these workarounds and their consequences.
469
470   * A Virtual Index Definition does not require any configuration for
471 extracting bibliographic data from records, but instead can become a sink for
472 data collected by other index definitions, which is then colocated together to
473 supply a search target made up of the separately extracted data. Virtual Index
474 Definitions are effectively treated as aggregate definitions, matching across
475 all values extracted from constituent non-virtual index definitions.  They can
476 further make use of the Combined class functionality to colocate all values in a
477 class together for matching even across virtual fields.
478
479   * Configuration allows for weighting of constituent index definitions that
480 participate in a Virtual Index Definition. This weighting is separate from the
481 weighting supplied when the index definition itself is a search target.
482
483   * The Evergreen QueryParser driver returns the list of fields actually
484 searched using every user-supplied term set, including constituent expansion
485 when a Virtual Index Definition is searched. In particular, this will facilitate
486 Search Term Highlighting described below.
487
488   * Stock configuration changes make use of pre-existing, non-virtual index
489 definitions mapped to new a Virtual Index Definition that implements the
490 functionality provided by the `keyword|keyword` index definition. The
491 `keyword|keyword` definition is left in place for the time being, until more data
492 can be gathered about the real-world effect of removing it entirely and
493 replacing it with Virtual Index Definition mappings.
494
495   * New system administration functions will be created to facilitate
496 modification of Virtual Index Definition mapping, avoiding the need for a full
497 reingest when existing index definitions are added or removed from a virtual
498 field.
499
500 Increased use of Metabib Display Fields
501 +++++++++++++++++++++++++++++++++++++++
502 We use Metabib Display Fields (newly available in 3.0) to render catalog search
503 results, intermediate metarecord results, and record detail pages. This requires
504 the addition of several new Metabib Display Field definitions, as well as Perl
505 services to gather and render the data.
506
507 We also use more Metabib Display Fields in the client. As a result,
508 bibliographic fields will display in proper case in more client interfaces and
509 in Evergreen reports.
510
511 Interfaces
512 ++++++++++
513 A new AngularJS "MARC Search/Facet Fields" interface has been created to replace
514 the Dojo version, and both have been extended to support Virtual Index
515 Definition data supplier mapping and weighting.
516
517 Settings & Permissions
518 ++++++++++++++++++++++
519 The new Virtual Index Definition data supplier mapping table,
520 `config.metabib_field_virtual_map`, requires the same permissions as the
521 MARC Search/Facet Fields interface: CREATE_METABIB_FIELD, UPDATE_METABIB_FIELD,
522 DELETE_METABIB_FIELD, or ADMIN_METABIB_FIELD for all actions
523
524 Backend
525 +++++++
526 There now exist several new database tables and functions primarily in support
527 of search highlighting. Additionally, the QueryParser driver for Evergreen has
528 been augmented to be able to return a data structure describing how the search
529 was performed, in a way that allows a separate support API to gather a
530 highlighted version of the Display Field data for a given record.
531
532 Default Weights
533 +++++++++++++++
534 By default, the following fields will be weighted more heavily in keyword
535 searches. Administrators can change these defaults by changing the values in the
536  "All searchable fields" virtual index in the "MARC Search/Facet Fields"
537 interface.
538
539   * Title proper
540   * Main title (a new index limited to the words in the 245a)
541   * Personal author
542   * All subjects
543
544 In addition, note indexes and the physical description index will receive
545 less weight in default keyword searches.
546
547 Re-ingest or Indexing Dependencies
548 ++++++++++++++++++++++++++++++++++
549 With the addition and modification of many Index Definitions, a full reingest is
550 recommended.  However, search will continue to work as it did previously
551 for those records that have not yet been reingested. Therefore a slow, rolling
552 reingest is recommended.
553
554 Performance Implications or Concerns
555 ++++++++++++++++++++++++++++++++++++
556 Because the Metabib Display Fields infrastructure will eventually replace
557 functionality that is significantly more CPU-intensive in the various forms of
558 XML parsing, XSLT transformation, XPath calculation, and
559 Metabib Virtual Record construction, it is expected that the overall CPU load
560 will be reduced by this development, and ideally the overall time required to
561 perform and render a search will likewise drop. It is unlikely that the speed
562 increase will be visible to users on a per-search basis, but that search in
563 aggregate will become a smaller consumer of resources.
564
565
566 Cataloging
567 ~~~~~~~~~~
568
569 Track Record Merges
570 ^^^^^^^^^^^^^^^^^^^
571 When 2 or more bib records are merged, all records involved are stamped
572 with a new `merge_date` value.  For any bib record, this field indicates
573 the last time it was involved in a merge.  At the same time, all
574 subordinate records (i.e. those deleted as a product of the merge) are
575 stamped with a `merged_to` value indicating which bib record the source
576 record was merged with.
577
578 In the browser client bib record display, a warning alert now appears
579 along the top of the page (below the Deleted alert) indicating when a
580 record was used in a merge, when it was merged, and which record it was
581 merge with, rendered as a link to the target record.
582
583
584 Circulation
585 ~~~~~~~~~~~
586
587 Alternate Patron Hold Pickup
588 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
589 This feature adds a bit of convenience to a common task: checking out
590 an item on hold to another patron (typically a family member or helper).
591
592 When you checkout the item, you will get a pop-up window with warnings associated
593 with this item.  The "ITEM_ON_HOLDS_SHELF" message is now expanded to
594
595  * Let you know the name of the person who had placed the hold.
596  * Give you the option (in the form of a checkbox) of cancelling the
597    hold placed by the above-named patron.  (Checked = Cancel the hold;
598    Unchecked = Leave the hold in place)
599
600 The initial value of the checkbox is derived from the
601 `circ.clear_hold_on_checkout` organizational setting.
602
603 If the operator has CANCEL_HOLD privilege, then if the checkbox is checked and
604 the checkout is allowed to proceed, the hold will be cancelled with a note that
605 the item was checked out to another patron.
606
607 This feature is available in the browser-based staff client.
608
609 New Patron Billing Statement
610 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
611 The Evergreen web staff client now includes a patron billing statement,
612 which summarizes a patron's bills, credits and payments in a familiar
613 layout.  This can be found on the "Statement" tab of the Patron Bill
614 Details page. (From the Patron Bills page, double-click a row to view
615 its details, or choose "Full Details" from the Actions menu.)
616
617 Enhanced Billing Timestamp Support
618 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
619 Previously, billings had to make do with a single timestamp attempting
620 to fill two different roles.  In the case of an overdue fine, the
621 timestamp represented the *end* of the fine period for that billing,
622 while for all other fines, the timestamp was merely the time the bill
623 was created.  This setup generally worked, but not without confusion,
624 and limited our ability to understand and process the data.
625
626 Billings will now have up to three timestamps: a create date, and when
627 applicable, a fine period start and a fine period end.  This clarifies
628 and simplifies things like backdating, retrospective fine generation,
629 account balancing for negative balance avoidance, and billing timeline
630 views.
631
632 Copy Alerts and Suppression Matrix
633 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
634 The Copy Alerts feature allows library staff to add customized alert
635 messages to copies. The copy alerts will appear when a specific event
636 takes place, such as when the copy is checked in, checked out, or
637 renewed. Alerts can be temporary or persistent: temporary alerts will be
638 disabled after the initial alert and acknowledgement from staff, while
639 persistent alerts will display each time the alert event takes place.
640 Copy Alerts can be configured to display at the circulating or owning
641 library only or, alternatively, when the library at which the alert
642 event takes place is not the circulating or owning library.  Copy Alerts
643 can also be configured to provide options for the next copy status that
644 should be applied to an item.  Library administrators will have the
645 ability to create and customize Copy Alert Types and to suppress copy
646 alerts at specific org units.
647
648 Copy alerts can be added via the volume/creator and the check in,
649 check out, and renew pages.  Copy alerts can also be managed at the
650 item status page.
651
652 Copy alert types can be managed via the Copy Alert Types page in
653 Local Administration, and suppression of them can be administered
654 via the Copy Alert Suppression page under Local Administration.
655
656 Place Multiple Holds At Once
657 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
658 Users with the appropriate permissions now have the ability to place multiple
659 title/metarecords holds at once. This feature is especially beneficial for book
660 clubs and reading groups, which need to place holds on multiple copies of a
661 title.
662
663 In order to use the feature:
664
665   * Set the _Maximum number of duplicate holds allowed_ Library Setting
666     (`circ.holds.max_duplicate_holds`) to a number higher than 1
667   * Log in as a user with the CREATE_DUPLICATE_HOLDS
668
669 When placing a title or metarecord hold, a _Number of copies_ field will
670 display for these users. This field is not available when placing part, volume
671 or copy holds.
672
673 This feature does not change the way in which the system fills holds. The
674 multiple holds will fill in the same way that they would if the user had placed
675 multiple holds separately.
676
677 New Notice Columns in Items Out Grid
678 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
679 The grid in the patron "items out" page in the Evergreen web staff client has two new
680 columns indicating the number of notifications generated for a given loan and the date of
681 the most recent notification. These columns will allow circulation staff to better respond to
682 patron questions about whether they were sent notification about an overdue item.
683
684 The columns are based on the number of completed Action Trigger events on the
685 loan that have a 'checkout.due' hook. In other words, they would include overdue
686 and courtesy notices.
687
688 A new library setting, "Exclude Courtesy Notices from Patrons Itemsout Notices Count",
689 if set will cause the notice count and date fields to exclude courtesy notices.
690
691 Patron Email Addresses Now Clickable In Web Staff Client
692 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
693 Adds a mailto link to the patron's email in their profile so it can
694 be clicked to send and email to the patron. No new settings or
695 permissions are included in this feature.
696
697 Pickup Library for Staff-placed Holds
698 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
699 Adds a new library setting, _circ.staff_placed_holds_fallback_to_ws_ou_,
700 that helps determine the hold pickup library in cases where patrons don't
701 have a preferred hold pickup library in their account and a staff member
702 is placing the hold on their behalf.
703
704   * When this setting is true and the patron doesn't have a preferred
705   library listed, the hold pickup library will default to the
706   workstation's organizational unit.
707   * When this setting is false and the patron doesn't have a preferred
708   library listed, the hold pickup library will default to the
709   patron's home library.
710
711 Public Catalog
712 ~~~~~~~~~~~~~~
713
714 Search Term Highlighting
715 ^^^^^^^^^^^^^^^^^^^^^^^^
716 Evergreen now highlights search terms on the public catalog's main search
717 results page, the record detail page, and intermediate pages such as metarecord
718 grouped results page. Highlighting search terms will help the user determine why
719 a particular record (or set of records) was retrieved.
720
721 Highlighting of matched terms uses the same stemming used to accomplish the
722 search, as configured per field and class.
723
724 This feature will help the user more quickly determine the relevance of a
725 particular record by calling their attention to search terms in context. Lastly,
726 it will help familiarize the user with how records are searched, including which
727 fields are searched as well as exposing concepts like stemming.
728
729 You can turn off search term highlighting by uncommenting the line
730 `search.no_highlight = 1;` in `config.tt2`.
731
732 When highlighting is generally enabled, it may be turned on or off on a per-page
733 basis through the use of a UI component which will request the page again
734 without highlighting.
735
736 Highlighting of terms uses Template::Toolkit-driven CSS. A generic CSS class
737 identifying a highlighted term, along with CSS classes identifying the search
738 class and each search field are available for use for customization of the
739 highlighting. A stock CSS template is provided as a baseline upon which sites
740 may expand.
741
742
743 Copy Location Filter Displays for System Searches
744 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
745 The Shelving Location filter now displays on the advanced search page when
746 a search is scoped to a library system, not just to an individual branch. If
747 a library system is selected as the Search Library, the shelving location
748 limiter will display any shelving location that is owned by the selected system
749 or by the consortium. It will NOT display shelving locations owned by child
750 branches.
751
752 Multi-source Attributes
753 ^^^^^^^^^^^^^^^^^^^^^^^
754 We now allow record attribute definitions to extract data using more than
755 one strategy (XPath, tag+subfield, fixed field, etc.) as long as the values
756 from various sources would, after normalization, have the same shape.
757
758 Multilingual Search
759 +++++++++++++++++++
760 This change allows us to configure multilingual search, by extracting values
761 from both the 008 controlfield and the 041 datafield.  Because the values
762 in each can be normalized to the same controlled list (and, in practice, are
763 already from the same normalized value set), catalog searches can now use normal
764 boolean search semantics to find records with various combinations of
765 language attributes.
766
767 E.g., in the concerto test data:
768
769   * `keyword: piano item_lang(eng) item_lang(ita)`
770
771
772 Optional Display of Badges in Catalog
773 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
774 A new setting controls whether badges (popularity, etc.) are displayed
775 in the catalog. If you do not wish badges to be displayed, set the
776 `ctx.hide_badge_scores` setting to "true" in `config.tt2`.
777
778
779 Miscellaneous
780 ~~~~~~~~~~~~~
781
782 Fixes to patron name/username search indexes
783 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
784 When using pg_restore to restore an Evergreen database, some of the
785 indexes used to speed up patron searches on names and usernames
786 could be lost.
787
788 This release fixes the underlying issue and re-creates the indexes
789 in question.
790
791 Details
792 +++++++
793 When using pg_restore to restore an affected database, the
794 "unaccent" indexes on actor.usr would not be created due to an
795 unqualified function reference in `evergreen.unaccent_and_squash`.
796
797 The function will be replaced to resolve the search path issue,
798 and the following indexes on actor.usr will be dropped and then
799 re-created:
800
801   * actor_usr_first_given_name_unaccent_idx;
802   * actor_usr_second_given_name_unaccent_idx;
803   * actor_usr_family_name_unaccent_idx;
804   * actor_usr_usrname_unaccent_idx;
805
806 This will be done even if the indexes are already present, and may
807 take a few minutes on a database with many patrons.
808
809
810 3.1.0 Acknowledgments
811 ---------------------
812 The Evergreen project would like to acknowledge the following
813 organizations that commissioned developments in this release of
814 Evergreen:
815
816 * Albany Public Library (Oregon)
817 * Consortium of Ohio Libraries
818 * CW MARS
819 * Indiana State Library
820 * Georgia Public Library Service
821 * Hagerstown - Jefferson Township Library
822 * Linn-Benton Community College
823 * MassLNC
824 * Pennsylvania Integrated Library System
825 * Sage Library System
826 * Union County Public Library (Indiana)
827
828 We would also like to thank the following individuals who contributed
829 code, translations, documentations patches and tests to this release of
830 Evergreen:
831
832 * Eva Cerninakova
833 * Andi Chandler
834 * Galen Charlton
835 * Jeff Davis
836 * Bill Erickson
837 * Jeff Godin
838 * Rogan Hamby
839 * Angela Kilsdonk
840 * Sam Link
841 * Jeanette Lundgren
842 * Kathy Lussier
843 * Fares Othman
844 * Dan Pearl
845 * Mike Rylander
846 * Jane Sandberg
847 * Chris Sharp
848 * Ben Shum
849 * Remington Steed
850 * Jason Stephenson
851 * Kevin Tran
852 * Cesar Velez
853 * Dan Wells
854
855
856 We also thank the following organizations whose employees contributed
857 patches:
858
859 * Bibliomation
860 * British Columbia Libraries Cooperative
861 * Calvin College
862 * CW MARS
863 * Equinox Open Library Initiative
864 * Georgia Public Library Service
865 * Greater Clarks Hill Regional Library System
866 * Jordanian Library and Information Association
867 * King County Library System
868 * Knihovna Jabok
869 * Linn-Benton Community College
870 * MassLNC
871 * Sigio
872 * Traverse Area District Library
873
874 We regret any omissions.  If a contributor has been inadvertently
875 missed, please open a bug at http://bugs.launchpad.net/evergreen/
876 with a correction.