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