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