14cc8bdabf4e38b68764fdc47314b13a9aa4ccd2
[Evergreen.git] / docs / RELEASE_NOTES_3_8.adoc
1 = Evergreen 3.8 Release Notes =
2 :toc:
3 :numbered:
4 :toclevels: 3
5
6 == Evergreen 3.8.1 ==
7
8 This release contains bug fixes improving on Evergreen 3.8.0
9
10 === Upgrade notes ===
11
12 The fix for https://bugs.launchpad.net/evergreen/+bug/1939338[Launchpad bug 1939338] modifies the `fm_IDL.xml` file.  To ensure that everything is up-to-date, existing Evergreen sites should run `autogen.sh` after restarting OpenSRF services and before restarting Apache.
13
14 === Bug Fixes ===
15
16 ==== Acquisitions ====
17
18 * Protects real copies from deletion by an acqusitions line item cancel 
19 (https://bugs.launchpad.net/evergreen/+bug/1928003[Bug 1928003])
20 * Fixes an issue where EDIWriter.pm was not correctly applying some attribute types (https://bugs.launchpad.net/evergreen/+bug/1930740[Bug 1930740])
21 * Fixes the Providers form to be more friendly to screenreaders (https://bugs.launchpad.net/evergreen/+bug/1950507[Bug 1950507])
22
23
24 ==== Administration ====
25
26 * Adds rdeleted parameter to the pingest.pl script (https://bugs.launchpad.net/evergreen/+bug/1862652[Bug 1862652])
27 * Fixes bug where Carousels could only be viewed & edited by their creating user (https://bugs.launchpad.net/evergreen/+bug/1939338[Bug 1939338])
28 * Updates Hopeless Holds interface so Title links open in a new tab (https://bugs.launchpad.net/evergreen/+bug/1909681[Bug 1909681])
29 * Fixes an issue where specific 'opensrf' user is required in oils_ctl.sh and autogen.sh https://bugs.launchpad.net/evergreen/+bug/1900005[Bug 1900005])
30 * Adds MARC_NAMESPACE to Const.pm (https://bugs.launchpad.net/evergreen/+bug/1930747[Bug 1930747])
31 * Fixes an issue preventng correct MADS processing of field 755 (https://bugs.launchpad.net/evergreen/+bug/1800871[Bug 1800871])
32 * Adds default columns in the Angular staff catalog View Holds tab (https://bugs.launchpad.net/evergreen/+bug/1907123[Bug 1907123])
33 * Adds filters to MARC Coded Value Map grid (https://bugs.launchpad.net/evergreen/+bug/1843970[Bug 1843970])
34
35 ==== API ====
36
37 * Makes changes to the eBook API to support Overdrive's updated Checkouts API (https://bugs.launchpad.net/evergreen/+bug/1951021[Bug 1951021])
38 * Fixes issue where loading records with located URIs deleted and recreated call_numbers (https://bugs.launchpad.net/evergreen/+bug/1482757[Bug 1482757])
39
40
41 ==== Architecture ====
42
43 * Fixes typo in fm_idl.xml (https://bugs.launchpad.net/evergreen/+bug/1957840[Bug 1957840])
44 * Fixes an issue where retrieving a title via SuperCat can crash if the title has a serial unit with statcats (https://bugs.launchpad.net/evergreen/+bug/1970486[Bug 1970486])
45 * Upgrades karma in NPM dependencies (https://bugs.launchpad.net/evergreen/+bug/1965432[Bug 1965432])
46 * Fixes variable in log_me sub (https://bugs.launchpad.net/evergreen/+bug/1778783[Bug 1778783])
47 * Fixes material icons package error in NPM install (https://bugs.launchpad.net/evergreen/+bug/1969232[Bug 1969232])
48
49
50 ==== Catalog ==== 
51
52 * Fixes an issue in the traditional staff catalog where PLACE_UNFILLABLE_HOLD override fails if there are no items available (https://bugs.launchpad.net/evergreen/+bug/1906842[Bug 1906842])
53 * Fixes an issue in the Patron Search from Place Holds modal where barcode search was failing (https://bugs.launchpad.net/evergreen/+bug/1955927[Bug 1955927])
54 * Restores Hold links in the staff catalog detail page that were broken by a Chrome update (https://bugs.launchpad.net/evergreen/+bug/1964019[Bug 1964019])
55 * Fixes an issue in the traditional staff catalog where user settings wouldn't load in the Place Holds interface (https://bugs.launchpad.net/evergreen/+bug/1939426[Bug 1939426])
56 * Excludes empty bibs with transcendent=f from location limited staff searches (https://bugs.launchpad.net/evergreen/+bug/1746800[Bug 1746800])
57 * Fixes issue in the traditional staff catalog where Patron Barcode Completion didn't populate correctly in the Place Holds interface (https://bugs.launchpad.net/evergreen/+bug/1965317[Bug 1965317])
58 * Fixes an issue in the Angular staff catalog where monograph parts were sorting incorrectly in the Place Holds interface (https://bugs.launchpad.net/evergreen/+bug/1965161[Bug 1965161])
59 * Adds default columns in the Angular staff catalog View Holds tab (https://bugs.launchpad.net/evergreen/+bug/1907123[Bug 1907123])
60
61 ==== Cataloging ====
62
63 * Fixes a regression where owning libraries were not indicated in the Holdings View dropdown (https://bugs.launchpad.net/evergreen/+bug/1739277[Bug 1739277])
64 * Fixes an issue where batch deletes from an item bucket exhausted drones (https://bugs.launchpad.net/evergreen/+bug/1949910[Bug 1949910])
65 * Fixes an issue where the Holdings View showed incorrect item counts (https://bugs.launchpad.net/evergreen/+bug/1933275[Bug 1933275])
66 * Adds Author field to Item Buckets (https://bugs.launchpad.net/evergreen/+bug/1800474[Bug 1800474])
67 * Fixes an issue where batch removal of items from an item bucket exhausted drones (https://bugs.launchpad.net/evergreen/+bug/1968082[Bug 1968082])
68 * Splits Active Date and Create Date into separate columns in Angular Holdings View (https://bugs.launchpad.net/evergreen/+bug/1916600[Bug 1916600])
69 * Adds Author field to Item Buckets (https://bugs.launchpad.net/evergreen/+bug/1800474[Bug 1800474])
70 * Fixes copy templates setting to allow migration of copy templates from AngularJS to Angular (https://bugs.launchpad.net/evergreen/+bug/1951162[Bug 1951162])
71 * Angular copy location editor can now pass multiple context org unit IDs (https://bugs.launchpad.net/evergreen/+bug/1956626[Bug 1956626])
72
73
74 ==== Circulation ====
75
76 * Excludes child organizational units when fleshing standing penalties (https://bugs.launchpad.net/evergreen/+bug/1959461[Bug 1959461])
77 * Fixes invalidate email regression (https://bugs.launchpad.net/evergreen/+bug/1950826[Bug 1950826])
78 * Fixes a bug where Patron Search could cause the browser to become unresponsive (https://bugs.launchpad.net/evergreen/+bug/1959904[Bug 1959904])
79 * Fixes issue with slow user merging or deleting (https://bugs.launchpad.net/evergreen/+bug/1960956[Bug 1960956])
80 * Fixes display issue in Hold Shelf Record Summary Detail View (https://bugs.launchpad.net/evergreen/+bug/1838580[Bug 1838580])
81 * Adds server-side saving for Holds Groups grids (https://bugs.launchpad.net/evergreen/+bug/1956003[Bug 1956003])
82 * Fixes download & print issue with Angular Holds Pull List (https://bugs.launchpad.net/evergreen/+bug/1958265[Bug 1958265])
83 * Adds duplicate barcode check to Item Status Replace Barcode (https://bugs.launchpad.net/evergreen/+bug/1950468[Bug 1950468])
84
85
86 ==== Client ====
87
88 * Improved filtering on egBasicComboBox typeaheads (https://bugs.launchpad.net/evergreen/+bug/1819233[Bug 1819233])
89 * Corrects print template data field names for Items Out template (https://bugs.launchpad.net/evergreen/+bug/1766726[Bug 1766726])
90 * Implements batch method for adding users to a bucket (https://bugs.launchpad.net/evergreen/+bug/1946531[Bug 1946531])
91 * Fixes untranslatable strings in the Historical Bills print template (https://bugs.launchpad.net/evergreen/+bug/1772631[Bug 1772631])
92
93 ==== Course Materials ====
94
95 * Adds owning library check to Course Terms uniqueness constraint 
96 (https://bugs.launchpad.net/evergreen/+bug/1942645[LP1942645])
97 * Fixes course search issue (https://bugs.launchpad.net/evergreen/+bug/1913340[Bug 1913340])
98
99 ==== Documentation ====
100
101 * Updates to Print Template Export documentation (https://bugs.launchpad.net/evergreen/+bug/1929592[Bug 1929592])
102 * Added Advanced Authorities documentation (https://bugs.launchpad.net/evergreen/+bug/1944205[Bug 1944205])
103 * Corrections to Override Actions documentation
104 * Updates to Barcode Completion documentation
105 * Added Course Materials documentation
106 * Updates to Holds documentation
107 * Updates to z39.50 documentation
108 * Updates to OPAC Lists documentation
109 * Added relevant Conference videos to some documentation pages
110 * Updates to Using the Public Access Catalog documentation
111 * Updates to Billing documentation
112
113 ==== OPAC ====
114
115 * Fixes an issue in the Bootstrap OPAC where changing a branch did not clear the shelving location list (https://bugs.launchpad.net/evergreen/+bug/1946019[Bug 1946019])
116 * Restores line breaks in Patron Messages (https://bugs.launchpad.net/evergreen/+bug/1927990[Bug 1927990])
117 * Fixes an issue where some electronic resource links would not display in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1950394[Bug 1950394])
118 * Fixes an issue in the Bootstrap OPAC where the 'More Details' button was not translatable (https://bugs.launchpad.net/evergreen/+bug/1919494[Bug 1919494])
119 * Fixes an issue where a hold in the status "Hold Shelf Delay" displayed blank in the OPAC (https://bugs.launchpad.net/evergreen/+bug/1959405[Bug 1959405])
120 * Fixes Bootstrap OPAC 'More Details' button so it toggles to 'Less Details' when clicked (https://bugs.launchpad.net/evergreen/+bug/1920039[Bug 1920039])
121 * Fixes circ history CSV export in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1954923[Bug 1954923])
122 * Fixes color contrast on Bootstrap OPAC forms (https://bugs.launchpad.net/evergreen/+bug/1942240[Bug 1942240])
123 * Fixes formatting in Bootstrap OPAC My Lists (https://bugs.launchpad.net/evergreen/+bug/1907863[Bug 1907863])
124 * Fixes a bug in the Bootstrap OPAC where the self-registration library setting wasn't honored (https://bugs.launchpad.net/evergreen/+bug/1958163[Bug 1958163])
125 * Adds Matomo support to the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1966802[Bug 19668020])
126 * Stopgap fix to prevent OPAC payment when zero-dollar or negative bills are present on a patron's account (https://bugs.launchpad.net/evergreen/+bug/1965579[Bug 19965579])
127
128
129 ==== Serials ====
130
131 * Fixes an issue where subscription manager fetched too many parallel requests (https://bugs.launchpad.net/evergreen/+bug/1949389[Bug 1949389])
132
133 ==== Self Check ====
134
135 * Adds Preferred Name to self checkout (https://bugs.launchpad.net/evergreen/+bug/1847827[Bug1847827])
136
137
138 === Acknowledgements ===
139
140 We would like to thank the following individuals who contributed code,
141 testing and documentation patches to the 3.7.3 point release of Evergreen:
142
143 * MaryAnn Alexander
144 * John Amundson
145 * Jason Boyer
146 * Dan Briem
147 * Jennifer Bruch
148 * Christine Burns
149 * Steve Callender
150 * Galen Charlton
151 * Garry Collum
152 * Jeff Davis
153 * Bill Erickson
154 * Jason Etheridge
155 * Lynn Floyd
156 * Ruth Frasur
157 * Jeff Godin
158 * Elaine Hardy
159 * Blake Graham Henderson
160 * Kyle Huckins
161 * Tiffany Little
162 * Shula Link
163 * Mary Llewellyn
164 * Terran McCanna
165 * Gina Monti
166 * Michele Morgan
167 * Andrea Buntz Neiman
168 * Jennifer Pringle
169 * Mike Risher
170 * Mike Rylander
171 * Jane Sandberg
172 * Chris Sharp
173 * Jason Stephenson
174 * Josh Stompro
175 * Jennifer Weston
176 * Beth Willis
177 * Jessica Woolford
178
179
180 == Evergreen 3.8.0 ==
181
182 === Upgrade notes ===
183
184 ==== New Permissions ====
185
186 * UPDATE_USER_PHOTO_URL
187 * CREATE_RECORD_NOTE
188 * UPDATE_RECORD_NOTE
189 * DELETE_RECORD_NOTE
190
191 ==== Removed Permissions ====
192
193 * VIEW_STANDING_PENALTY
194
195 ==== New Library Settings ====
196
197 * Pickup Library Soft stalling interval
198 * Pickup Library Hard stalling interval
199 * Void item deposit fee on checkin
200 * Require Photo URL field on patron registration
201 * Show Photo URL field on patron registration
202 * Suggest Photo URL field on patron registration
203 * My Account URL
204 * Maximum number of spelling suggestions that may be offered
205 * Stripe ISO 4217 currency code
206 * Use Item Price or Cost as Primary Item Value
207 * Use Item Price or Cost as Backup Item Value
208 * Staff Catalog Search Filters
209 * Workstation OU is the default for staff-placed holds
210
211 ==== Backing Up Auditor `alert_message` Column ====
212
213 WARNING: The upgrade script will remove the alert_message field from the
214 auditor table, so if you care about preserving those you should run a query to
215 create a backup.
216
217 For example:
218
219 [source,sql]
220 ----
221 CREATE TABLE auditor.backup_usr_alert_msg AS
222    CREATE audit_id, audit_time, audit_action, audit_user,
223           audit_ws, id as "usr_id", last_update_time,
224           alert_message
225    FROM auditor.actor_usr_history
226    WHERE alert_message IS NOT NULL;
227 ----
228
229 ==== Reindexing for Search Suggestions ====
230
231 The upgrade includes a partial reindexing to update search suggestions. After
232 running the schema upgrade script, e.g., `version-upgrade/3.7.1-3.8.0-upgrade-db.sql`,
233 the reindexing can be done as follows.
234
235 First, in a `psql` session connected to your Evergreen database, run:
236
237 [source,sql]
238 ----
239 \a
240 \t
241
242 \o title
243 select value from metabib.title_field_entry where source in (select id from biblio.record_entry where not deleted);
244 \o author
245 select value from metabib.author_field_entry where source in (select id from biblio.record_entry where not deleted);
246 \o subject
247 select value from metabib.subject_field_entry where source in (select id from biblio.record_entry where not deleted);
248 \o series
249 select value from metabib.series_field_entry where source in (select id from biblio.record_entry where not deleted);
250 \o identifier
251 select value from metabib.identifier_field_entry where source in (select id from biblio.record_entry where not deleted);
252 \o keyword
253 select value from metabib.keyword_field_entry where source in (select id from biblio.record_entry where not deleted);
254
255 \o
256 \a
257 \t
258 \q
259 ----
260
261 Then, from the command line:
262
263 [source,sh]
264 ----
265 $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl title > title.sql
266 $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl author > author.sql
267 $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl subject > subject.sql
268 $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl series > series.sql
269 $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl identifier > identifier.sql
270 $ ~/EG-src-path/Open-ILS/src/support-scripts/symspell-sideload.pl keyword > keyword.sql
271 ----
272
273 Then finally, back in `psql`:
274
275 [source,sql]
276 ----
277 ALTER TABLE search.symspell_dictionary SET UNLOGGED;
278 TRUNCATE search.symspell_dictionary;
279
280 \i identifier.sql
281 \i author.sql
282 \i title.sql
283 \i subject.sql
284 \i series.sql
285 \i keyword.sql
286
287 CLUSTER search.symspell_dictionary USING symspell_dictionary_pkey;
288 REINDEX TABLE search.symspell_dictionary;
289 ALTER TABLE search.symspell_dictionary SET LOGGED;
290 VACUUM ANALYZE search.symspell_dictionary;
291
292 DROP TABLE search.symspell_dictionary_partial_title;
293 DROP TABLE search.symspell_dictionary_partial_author;
294 DROP TABLE search.symspell_dictionary_partial_subject;
295 DROP TABLE search.symspell_dictionary_partial_series;
296 DROP TABLE search.symspell_dictionary_partial_identifier;
297 DROP TABLE search.symspell_dictionary_partial_keyword;
298 ----
299
300 ==== Updating Reports on Patron Notes ====
301
302 The underlying data structure for patron notes has changed with all notes
303 living in the `actor.usr_message` table, so report writers will need to change
304 the following paths in existing reports:
305
306  * `actor.usr_note` -> all columns
307  * `actor.usr` -> `alert_message`
308  * `actor.usr_standing_penalty` -> note
309
310 And for `actor.usr_message`, there is now both a `pub` column and a `deleted` column.
311
312 ==== Holdings Editor Preferences ====
313
314 Given the number of changes between the AngJS holdings editor and the
315 new Angular interfaces, preferences stored for the AngJS interface will
316 not be honored by the new interface.  New preferences will have to be
317 applied by staff as needed.
318
319 === New Features ===
320
321 ==== Acquisitions ====
322
323 ===== Angular Rewrite of Acquisitions Administration Interfaces =====
324
325 Several administrative interfaces for acquisitions have been rewritten
326 to use the Angular framework:
327
328   * Claiming
329   * Currencies and Exchange Rates
330   * Distribution Formulas
331   * EDI Attribute Sets
332   * Fund Administration
333
334 ====== Claiming ======
335
336 The interface for managing claim policies is now a single multi-tabbed
337 page that combines the previous interfaces for:
338
339   * Claim Policies
340   * Claim Policy Actions
341   * Claim Types
342   * Claim Event Types
343
344 The new interface can be found in Administration > Acquisitions
345 Administration > Claiming.
346
347 ====== Currencies and Exchange Rates ======
348
349 The previous two interfaces for managing currencies and exchange
350 rates have been consolidated into one. The new interface allows
351 users to create, modify, and delete currency types. In addition,
352 the list of currencies now has 'Manage Exchange Rates' buttons
353 to allow specifying the exchange rate from the selected currency
354 to another one.
355
356 If an exchange is set in one direction, e.g., from USD to EUR,
357 opening the 'Manage Exchange Rates' for EUR will show the inverse
358 of the exchange rate for USD as a read-only field.
359
360 The new interface can be found in Administration > Acquisitions
361 Administration > Currencies and Exchange Rates.
362
363 ====== Distribution Formulas ======
364
365 The Angular interface for managing distribution formulas displays
366 a grid of existing formulas and allows authorized users to create,
367 modify, and delete formulas. The dialog for editing a formula
368 allows the user to define one or more entries containing
369 owning library, number of items, and optionally shelving location, fund,
370 circulation modifier, and collection code.
371
372 The new interface can be found in Administration > Acquisitions
373 Administration > Distribution Formulas.
374
375 ====== EDI Attribute Sets ======
376
377 The Angular EDI attribute sets interface is similar to the previous
378 one. However, it includes enhancements to display the number of
379 providers using an attribute set as well as a 'View Providers' button
380 to navigate to those providers.
381
382 The new interface can be found in Administration > Acquisitions
383 Administration > EDI Attribute Sets.
384
385 ====== Fund Administration ======
386
387 The new fund administration interface unifies configuration of funding
388 sources, purchasing funds, and fund tags. The interface has three tabs:
389
390   * Funds
391   * Funding Sources
392   * Fund Tags
393
394 The Funds tab displays a filterable list of funds that allows the
395 user to create, modify, and remove funds. The fund name is hyperlinked;
396 clicking that hyperlink opens a dialog that has the following tabs:
397
398   * Summary: this contains summary information about the fund,
399     including various balances.
400   * Allocations: this lists allocations to and from the fund.
401   * Transfers: this lists fund transfers to and from the fund.
402   * Debits: this lists debits against the fund. As an enhancement
403     from the previous version of the funds interface, the grid
404     of debits now has links to the line item, purchase order,
405     and/or invoice associated with the debit.
406   * Tags: this lists the tags associated with the funds and allows
407     the user to add or remove tag associations.
408
409 The fund management dialog also allows the user to create allocations
410 into the fund and transfer money away from the fund.
411
412 The funds tab also has a 'Fiscal Propagation and Rollover' button.
413 The library from the selector on the funds tab is used to set the
414 context org unit for the propagation and rollover. Upon clicking the
415 button, a dialog box appears that allows the user to select the fiscal
416 year to propagate or rollover, checkboxes to specify whether to also
417 perform a fiscal year close-out and whether to limit a close-out to
418 encumbrances, and a checkbox to specify whether or not to do a dry run.
419 Upon completion of the propagation, the dialog will display summary
420 results.
421
422
423 The Funding Sources tab displays a filterable list of funding
424 sources and allows the user to create funding sources, apply and view
425 credits, allocate money to funds, and view allocations.
426
427 The Fund Tags tab presents a grid that allows users view view,
428 create, modify, and delete fund tags. Assigning a tag to a fund is
429 done using the fund management dialog.
430
431 The new interface can be found in Administration > Acquisitions
432 Administration > Fund Administration.
433
434 ====== Other Changes ======
435
436 The following miscellaneous changes are included in this work:
437
438 * Funds are now displayed in Angular selectors with the pattern
439   "CODE (YEAR) (OWNING_LIBRARY)"
440 * The automatically generated fund allocation note associated with
441   fund transfers now reads "Transfer to/form fund CODE (YEAR) (OWNER)".
442   Previously, the fund was identified only by its numeric fund ID.
443 * A new style was added for display of negative money amounts. By
444   default, these amounts display with red text.
445 * The fund propagation and rollover report now includes the total
446   amount of encumbrances that were rolled over.
447 * Various dynamic Angular comboboxes will now display up to 100
448   entries upon a click without requiring that the user submit a
449   search term.
450 * Various Angular record editing forms will now complain if
451   the user tries to save a field value that contains only whitespace.
452 * Currency amounts in Angular are no longer displayed with a currency
453   symbol. Prior to this change, monetary amounts were displayed with
454   a dollar sign regardless of the intended currency.
455 * Various changes were made in the IDL to adjust field labels and
456   to mark certain fields as required.
457
458 ===== Fund Debit Auditor Table =====
459
460 A new auditor table now exists for the `acq.fund_debit` table. This
461 allows detailed reporting on changes to encumbrances and expenditures
462 over time.
463
464
465 ===== Miscellaneous =====
466
467 * Funding sources now have an active flag. If a funding source is marked
468   as inactive, adding credits to it or allocating from it is disabled, and
469   it will not show up in the list of possible funding sources when allocating
470   to a fund.
471
472 ==== Administration ====
473
474 ===== Case Insensitive Browse Entries =====
475
476 It is now possible for a system administrator to select whether
477 a particular browse entry field's case should be considered when
478 determining uniqueness.  A new "Browse Folding is Case-Insensitive"
479 column has been added to the Administration -> Server Administration
480 -> MARC Search/Facet Fields interface.  Note that a bib record reingest
481 will be required for changes to take effect.
482
483 ===== Miscellaneous =====
484
485 * The 'Search Filter Groups' administration interface is now ported
486   to Angular.
487
488 ==== Cataloging ====
489
490 ===== Holdings Maintenance & Item Attributes Editor Angular Port =====
491
492 Key differences from the AngularJS Holdings and Item Attr. editor 
493 interfaces include the following:
494
495 * Tabbed Holdings vs. Item Attr. interfaces.
496 ** With option to display as a unified interface without tabs.
497 * Item Attr. fields retain position when showing/hiding
498 * Improve keyboard navigation of Item Attr. editor.
499 * Templates are once again managed directly in the Item Attr. editor.
500 * Item Attr. displays values as counts summaries with option to edit by
501   clicking on a field (or tabbing + Enter) a la XUL.
502 * Item Attr batch values support changing only items with selected values.
503 * Batch value display limit vertical expansion of long lists with option for 
504   manual expansion.
505 * All fields are visible by default; hidden by modifying preferences. 
506 * Owning Library is managed in the Item Attr editor a la XUL.
507 * New feature called "Change Circ Lib When Owning Lib Changes"
508 * Generate Barcodes and Use Checkdigit are visible in the main holdings
509   form with option to hide.
510 * Print Labels checkbox moved from Preferences to the save actions toolbar.
511 * Option to hide various Holdings interface columns for extra horizontal space.
512 * Option to temporarily expand columns in the Holdings interface for reviewing
513   wide columns of text.
514
515 ===== Fix for Authority Records with Long Subfields =====
516
517 Importing or updating authority records with long subfields, i.e. in
518 the vicinity of 5,000 characters or more in length, can cause database
519 errors that will prevent the update or import from happening.  The
520 error occurs because non-full text indexes in PostgreSQL have a
521 limited length, and long fields sometimes lead to index entries that
522 exceed this maximum value.
523
524 In order to rectify this issue, two database indexes on the
525 `authority.full_rec` table's `value` column have been redefined to
526 match their counterparts in the `metabib.real_full_rec` table.  After
527 this update, only the first 1024 characters of an authority field or
528 subfield will be considered by these indexes.
529
530 NOTE: These indexes are not used for authority record search, though
531 they are used for sorting and paging.
532
533 ===== Bib Record -1 Can No Longer Be Edited =====
534
535 Now when retrieving the bibliographic record with the id of -1 the
536 delete button will be missing and the save button is disabled.
537
538 In addition, new database rules now protect bib record ID -1,
539 call number ID -1 and copy location ID 1 from editing.
540
541 ===== MARC Batch Import/Export Separate Edit Date/Editor Toggle =====
542
543 Adds a new field "Update Bib Edit Date" to Vandelay merge profiles which
544 allows users to update the edit date and editor information on a
545 merged/overlaid bib record without also having to modify the bib source.
546
547 For backwards compatibility, any existing merge profiles that have 
548 "Update Bib Source" applied will also get "Update Bib Edit Date" applied.
549
550 ===== Browse Heading Navigation =====
551
552 In the Angular staff catalog, when viewing the list of bib records linked
553 to a heading, it's now possible to navigate to the previous or next heading
554 directly on the bib list page without having to return to the original
555 browse search.
556
557 ===== Bibliographic Record Notes =====
558
559 Bibliographic record notes (i.e., administrative notes stored in the
560 `biblio.record_note` table, not 5XX fields in the MARC record) can now
561 be edited from the Record Notes tab.  Three new permissions manage this
562 and should be added to cataloging accounts and permission groups as
563 appropriate:  `CREATE_RECORD_NOTE`, `UPDATE_RECORD_NOTE`, and
564 `DELETE_RECORD_NOTE`. There is an optional public display flag that is
565 not yet supported in the public catalog but included to support future functionality.
566
567 ==== Circulation ====
568
569 ===== Granular control over how to use price and acquisition cost to determine item value  =====
570
571 This feature adds two new library settings:
572
573  * Use Item Price or Cost as Primary Item Value
574  * Use Item Price or Cost as Backup Item Value
575
576 Which intersect the behavior of these existing settings:
577
578  * Charge lost on zero
579  * Default Item Price
580  * Minimum Item Price
581  * Maximum Item Price
582
583 Each of these settings affect how item price is used in
584 various contexts and is not limited to "lost" items, but
585 can affect notices, fine rules, and billings for long
586 overdue and damaged items (as well as lost items).
587
588 By default, the price field on items is the only field
589 considered by these various uses, but if we set, for
590 example, "Use Item Price or Cost as Primary Item Value" to
591 "cost", then we'll use the cost field instead of the price
592 field.
593
594 Alternately, if we set the "Backup Item Value" to "cost"
595 and either leave the "Primary Item Value" setting unset or
596 set to "price", then we'll consider the price field first,
597 and if it is either unset/null or equal to 0 (and
598 "Charge lost on zero" is true), then it'll fall-through to
599 the cost field.  We can also flip the behavior with these
600 settings and consider cost first and then price second.
601
602 The primary intended use case for this feature is:
603
604  - If there's an acquisition cost, charge this as the lost value.
605  - If there's not an acquisition cost, but there's a price, charge the price.
606  - If neither, charge the default value.
607
608 ===== Library selector on the holds pull list =====
609
610 The holds pull list screen now includes a library/org unit selector.
611 This allows staff to view the pull list of any library where they have
612 VIEW_HOLDS permissions, rather than having to log in to a workstation
613 at that library.
614
615 ===== Angular Holds Pull List =====
616
617 The holds pull list now uses Angular and has an address of `/eg2/en-US/staff/circ/holds/pull-list`.
618
619 ===== New Item Triggered Events Log =====
620
621 A reimplementation of the Item Triggered Events Log interface, building
622 on the Patron Triggered Events Log Angular reimplementation.
623
624 ===== Template Support for Information and My Account URLs =====
625
626 A new setting has been added named `lib.my_account_url` to provide a
627 path usable in templates to a patron's account login. Both this and
628 the existing `lib.info_url` settings are now available in the
629 server-side processed templates, action triggers and traditional print
630 receipts.
631
632 Web side processed templates can be found in 
633 Administration -> Server Administration -> Print Templates.
634
635 You can add settings using the following syntax:
636
637 [source,html]
638 ----
639 <div>[% helpers.get_org_setting(staff_org.id, 'lib.info_url'); %]</div>
640 <div>[% helpers.get_org_setting(staff_org.id, 'lib.my_account_url'); %]</div>
641 ----
642
643 Print Receipts found in Administration -> Workstation -> Print Templates
644 can be added with these includes:
645
646 [source,conf]
647 ----
648 {{includes.info_url}}
649 {{includes.my_account_url}}
650 ----
651
652 Action triggers can use both values with the `helpers.get_org_setting`
653 include.  Example:
654
655 [source,conf]
656 ----
657 [% helpers.get_org_setting(circ_lib.id, 'lib.my_account_url') %]
658 ----
659
660
661 ===== Override Dialogs  =====
662
663 This reworks the override action dialogs in the patron display for Check Out
664 and Items Out, and in the Circulation -> Renew Items interface.  It exposes the
665 auto-override behavior as checkboxes giving staff more fine-grained control
666 over which events are auto-forced or skipped upon subsequent encounters.  It
667 also changes the Cancel action for batch renewals to abort the remaining
668 renewals in the batch, and makes it so that new authorization credentials
669 provided during such a batch will be treated as an operator change for the
670 entire batch.  We also fix an existing bug where events marked as already
671 encountered for auto-override could leak into other patron contexts via Patron
672 Search.
673
674 ===== New Patron Triggered Events Log =====
675
676 A reimplementation of the Patron Triggered Events Log interface along with
677 supporting infrastructure for speedier results with large datasets.
678
679 ===== Photo URL  =====
680
681 Editing of the patron's photo URL can now be done in the staff client's patron
682 registration and edit screen. A new permission UPDATE_USER_PHOTO_URL controls
683 the ability to actually edit the field.
684
685 ===== `open-ils.circ.renew.auto` Removed =====
686
687 The deprecated `open-ils.circ.renew.auto` API was removed.  You will
688 want to use `open-ils.circ.renew` with the `auto_renewal` option set
689 to 1.  This mainly affects those who have written custom code using
690 the open-ils.circ backend.
691
692 ===== Void Deposit Billing at Checkin =====
693
694 There is a new setting called "Void item deposit fee on checkin"
695 that, when enabled, will cause items that have deposit billings
696 to be automatically voided.
697
698 ===== Miscellaneous =====
699
700 * The patron record editor now has a button to send a password
701   reset email to the patron's email address.
702 * Add a new pair of library settings to support pickup library-based
703   hold stalling. 'Pickup Library Soft stalling interval', when set for,
704   the pickup library, specifies that for holds with a request time age
705   smaller than the specified interval only items scanned at the pickup
706   library can be opportunistically captured. Example "5 days". This setting
707   takes precedence over "Soft stalling interval" (circ.hold_stalling.soft)
708   when the interval is in force. 'Pickup Library Hard stalling interval',
709   when set for the pickup library, specifies that no items with a
710   calculated proximity greater than 0 from the pickup library can be
711   directly targeted for this time period if there are local available
712   copies.
713 * Add a new library setting, 'Workstation OU is the default for staff-placed holds',
714   to indicate that the workstation OU should be set as the default pickup
715   location for hold requests that are placed via the staff interface. The
716   process for setting the default pickup location is now:
717   . Workstation if the 'Workstation OU is the default for staff-placed holds' setting
718     is turned on
719   . The user's preferred pickup location, if set
720   . if the user's preferred pickup location is not set, the
721     Workstation if the 'Workstation OU fallback for staff-placed holds'
722     setting is turned on
723   . Otherwise, it defaults to the user's home library.
724
725 ==== Client ====
726
727 ===== Consolidate Patron Notes, Alerts, and Messages =====
728
729 Patron notes, messages, alert messages, and standing penalties have been folded
730 into one Notes interface.  Notes designated as public will show in the My
731 Account -> Message Center in the public catalog for patrons.
732
733 The underlying data structure has also changed with all notes living in the
734 `actor.usr_message` table, so report writers will need to change the following
735 paths in existing reports:
736
737  * `actor.usr_note` -> all columns
738  * `actor.usr` -> `alert_message`
739  * `actor.usr_standing_penalty` -> note
740
741 And for `actor.usr_message`, there is now both a `pub` column and a `deleted` column.
742
743 Depending on privacy policies, system administrators may wish to set up a
744 recurring process to truly delete older entries in `actor.usr_message` that have
745 been flagged as deleted.
746
747 WARNING: The upgrade script will remove the alert_message field from the
748 auditor table, so if you care about preserving those you should run a query to
749 create a backup.
750
751 For example:
752
753 [source,sql]
754 ----
755 CREATE TABLE auditor.backup_usr_alert_msg AS
756    CREATE audit_id, audit_time, audit_action, audit_user,
757           audit_ws, id as "usr_id", last_update_time,
758           alert_message
759    FROM auditor.actor_usr_history
760    WHERE alert_message IS NOT NULL;
761 ----
762
763 ===== Fix for Staff Splash Page Multi-Word Search =====
764
765 The addition of the Angular Staff Catalog surfaced a double-encoding issue
766 with redirects in certain Apache versions. This caused searches for multiple
767 words to have %20 in place of spaces, almost certainly resulting in 0 results.
768
769 In order to apply this fix, change the Angular redirects in eg_vhost.conf from
770
771  RewriteRule ^/eg2/(.*) https://%{HTTP_HOST}/eg2/en-US/$1 [R=307,L]
772
773 to
774
775  RewriteRule ^/eg2/(.*) https://%{HTTP_HOST}/eg2/en-US/$1 [NE,R=307,L]
776
777 ===== Miscellaneous =====
778
779 * In the Angular staff catalog, rename 'Catalog Preferences' to
780   'Search Preferences' and add a return button.
781 * Angular grids now have a have a 'Manage Actions Menu' configuration
782   action to allow users to control which actions are displayed
783   on the context menu for the grid.
784 * The item table and holdings view in the Angular staff catalog record
785   details page now include 'Total Circ Count' and 'Last Circ Date' columns.
786 * There is a new library setting, 'Staff Catalog Search Filters', that can be
787   used to customize the list of search filters that are available on the
788   Angular staff catalog advanced search form. This setting takes an array
789   of desired filters, e.g., `["item_lang","audience","lit_form"]`. The complete
790   list of available filters is item_type, item_form, item_lang, audience,
791   vr_format, bib_level, and lit_form. If the library setting is not set,
792   all of the filters are displayed.
793
794 ==== Public Catalog ====
795
796 ===== Credit card payments using Stripe now implemented with PaymentIntents instead of Charges =====
797
798 This changes the Stripe code in the public catalog to use their PaymentIntents and confirmCreditCard API,
799 which is recommended over their Charges API.  Credit card charges are no longer finalized
800 (captured/confirmed) on Evergreen's backend, though the backend does check whether a payment was
801 made successfully before recording it.
802
803 ===== Miscellaneous =====
804
805 * The Bootstrap public catalog now displays cover images on the My Account
806   items checked out, check out history, holds, and holds history pages.
807 * Carousels on the public catalog home page now take up 80% of the page width
808   by default rather than just 40%.
809
810 ==== Reports ====
811
812 ===== Reporter Item Statistics View =====
813
814 A new reports source, Item Statistics View is available.
815 Certain third-party products such as collection development
816 management providers require copy statistics that are not
817 readily available in a single report.  This view adds those,
818 which will also benefit library staff reports generally.
819
820 To add the view, a system administrator will need to (re-)run
821 the example.reporter-extension.sql script, which will create 
822 the new view in the database.
823
824 ===== Hold/Copy Ratio Report Source Changes =====
825
826 This standardizes how the existing Hold/Copy Ratio reports sources count holdable copies; notably, metarecord copies are no longer counted in these report sources and all sources now use action.hold_copy_map. 
827
828 Any reports using these sources will need to be rewritten.
829
830 A new source that breaks out counts by patron home library was also added, named Hold/Copy Ratio per Bib and Home Library.
831
832
833 ===== Add Dewey Call Number Blocks and Ranges to Reports =====
834
835 A new view is added to the reporter with links from Call Number that
836 will allow users to display or filter on the Dewey 10's or 100's block
837 or range that a call number falls within. They can be accessed by
838 following the "Dewey Classification" link from Call Number.
839
840 ===== More Granular Age Divisions for Reports =====
841
842 Reports now include an option for more detailed age divisions for users
843 based on the entered date of birth.  Divisions include:
844
845  * Child 0-5 Years Old
846  * Child 6-12 Years Old
847  * Teen 13-17 Years Old
848  * Adult 18-25 Years Old
849  * Adult 26-49 Years Old
850  * Adult 50-59 Years Old
851  * Adult 60-69 Years Old
852  * Adult 70+
853
854 This new column is accessible from ILS User -> Demographic Info and the new
855 field is named "Detailed Age Division".
856
857 === Acknowledgments ===
858
859 The Evergreen project would like to acknowledge the following
860 organizations that commissioned developments in this release of
861 Evergreen:
862
863 * CW MARS
864 * Evergreen Community Development Initiative
865 * NOBLE
866 * PaILS
867 * Westchester Library System
868
869 We would also like to thank the following individuals who contributed
870 code, translations, documentations, patches, and tests to this release of
871 Evergreen:
872
873 * Adam Bowling
874 * Andrea Buntz Neiman
875 * Angela Kilsdonk
876 * Beth Willis
877 * Bill Erickson
878 * Blake Graham-Henderson
879 * Chris Sharp
880 * Christine Burns
881 * Christine Morgan
882 * Chrisy Schroth
883 * Dan Briem
884 * Dawn Dale
885 * Elaine Hardy
886 * Erica Rohlfs
887 * Galen Charlton
888 * Garry Collum
889 * Gina Monti
890 * Jane Sandberg
891 * Jason Boyer
892 * Jason Etheridge
893 * Jason Stephenson
894 * Jeff Davis
895 * Jeff Godin
896 * Jennifer Bruch
897 * Jennifer Pringle
898 * Jennifer Weston
899 * Jessica Woolford
900 * John Amundson
901 * Josh Stompro
902 * Katie G. Martin
903 * Kyle Huckins
904 * Lindsay Stratton
905 * Lisa Carlucci
906 * Lynn Floyd
907 * Mary Llewellyn
908 * Michele Morgan
909 * Mike Risher
910 * Mike Rylander
911 * Rogan Hamby
912 * Rosie Le Faive
913 * Ruth Frasur
914 * Seth Erickson
915 * Shula Link
916 * Stephen Wills
917 * Terran McCanna
918 * Tiffany Little
919 * Verbio Group
920
921 We also thank the following organizations whose employees contributed
922 patches:
923
924 * BC Libraries Coop
925 * Bibliomation
926 * Catalyte
927 * CW MARS
928 * Emerald Data
929 * Equinox Open Library Initiative
930 * Georgia Public Library Service
931 * Greater Clarks Hill Regional Library
932 * Indiana State Library
933 * Kenton County Library
934 * King County Library System
935 * Linn Benton Community College
936 * MOBIUS
937 * NOBLE
938 * PaILS
939 * Sigio
940 * University of Prince Edward Island
941 * Westchester Library System
942
943 We regret any omissions.  If a contributor has been inadvertently
944 missed, please open a bug at http://bugs.launchpad.net/evergreen/
945 with a correction.