]> git.evergreen-ils.org Git - working/Evergreen.git/blob - docs/RELEASE_NOTES_3_2.adoc
Docs: Add bugfix release notes for 3.2.5
[working/Evergreen.git] / docs / RELEASE_NOTES_3_2.adoc
1 Evergreen 3.2 Release Notes
2 ===========================
3 :toc:
4 :numbered:
5
6 Evergreen 3.2.5
7 ---------------
8
9 This release contains bug fixes improving on Evergreen 3.2.4.
10 All bug fixes refer to the web staff client unless otherwise specified.
11
12 Bug fixes
13 ~~~~~~~~~
14
15 General
16 ^^^^^^^
17
18 * Improves the web client splash screen by linking the images along with their links
19   (https://bugs.launchpad.net/evergreen/+bug/1802662[Bug #1802662])
20
21 Circulation
22 ^^^^^^^^^^^
23
24 * Allows the Title Hold screen to remember previously selected pickup library
25   (https://bugs.launchpad.net/evergreen/+bug/1665534[Bug #1665534])
26 * Sorting improvements for printing the Holds Pull List
27   (https://bugs.launchpad.net/evergreen/+bug/1749502[Bug #1749502])
28 * Better display for non-catalogued checkouts in the offline checkout preview
29   pane (https://bugs.launchpad.net/evergreen/+bug/1818576[Bug #1818576])
30
31 Cataloging
32 ^^^^^^^^^^
33
34 * Fixes a bug that changed subfield order in bib record after editing a linked
35   authority (https://bugs.launchpad.net/evergreen/+bug/712490[Bug #712490])
36 * Allows opening multiple selected items in Item Status screen from the Holdings
37   View (https://bugs.launchpad.net/evergreen/+bug/1734775[Bug #1734775])
38 * Adds missing "Deleted?" column choice to Record Buckets
39   (https://bugs.launchpad.net/evergreen/+bug/1746360[Bug #1746360])
40 * Fixes the batch Call Number label field on the Call Number editor to populate
41   from the MARC record (https://bugs.launchpad.net/evergreen/+bug/1793196[Bug
42   #1793196])
43 * Fixes a bug to allow editing the call number label for some but not all
44   attached items (https://bugs.launchpad.net/evergreen/+bug/1794588[Bug
45   #1794588])
46 * Fixes the sort order of Parts on the Holdings View
47   (https://bugs.launchpad.net/evergreen/+bug/1800178[Bug #1800178])
48 * Adds missing action "Find Originating Acquisition" to Cataloging actions menu
49   (https://bugs.launchpad.net/evergreen/+bug/1705497[Bug #1705497])
50 * Keeps the Item Status screen updated after editing items
51   (https://bugs.launchpad.net/evergreen/+bug/1721109[Bug #1721109])
52 * Fixes a bug with the "checked" state of the Item note "Public Note" checkbox
53   (https://bugs.launchpad.net/evergreen/+bug/1778571[Bug #1778571])
54 * Fixes a bug with Item Alert counts in the Holdings view
55   (https://bugs.launchpad.net/evergreen/+bug/1798628[Bug #1798628])
56 * Improved display when merging bib records from a bucket (side by side, with
57   optional holdings) (https://bugs.launchpad.net/evergreen/+bug/1739293[Bug
58   #1739293])
59 * Fixes issues where edits to MARC records would fail to save during merge
60   (https://bugs.launchpad.net/evergreen/+bug/1776736[Bug #1776736])
61
62 System administration
63 ^^^^^^^^^^^^^^^^^^^^^
64
65 * Web client (websocket) logins are now properly tracked as user activity
66   (https://bugs.launchpad.net/evergreen/+bug/1818153[Bug #1818153])
67 * Fixes some log warnings related to Holds Depth
68   (https://bugs.launchpad.net/evergreen/+bug/1667497[Bug #1667497])
69 * Fixes a bug in the fine generator related to Bookings
70   (https://bugs.launchpad.net/evergreen/+bug/1819796[Bug #1819796])
71 * Fixes the Group Penalty Threshold link under the Local Administration menu
72   (https://bugs.launchpad.net/evergreen/+bug/1812389[Bug #1812389])
73 * Fixes a typo in seed data and all related PO files for translation
74   (https://bugs.launchpad.net/evergreen/+bug/1759238[Bug #1759238])
75 * Fixes an error in the sitemap_generator script when using the shortname
76   parameter (https://bugs.launchpad.net/evergreen/+bug/1808006[Bug #1808006])
77
78
79 Acknowledgments
80 ~~~~~~~~~~~~~~~
81 We would like to thank the following individuals who contributed code,
82 testing and documentation patches to the 3.2.5 point release of
83 Evergreen:
84
85 * John Amundson
86 * Jason Boyer
87 * Adam Bowling
88 * Steven Callender
89 * Galen Charlton
90 * Garry Collum
91 * Bill Erickson
92 * Jason Etheridge
93 * Rogan Hamby
94 * Elaine Hardy
95 * Kyle Huckins
96 * Sam Link
97 * Tiffany Little
98 * Terran McCanna
99 * Michele Morgan
100 * Geoff Sams
101 * Jane Sandberg
102 * Janet Schrader
103 * Chris Sharp
104 * Ben Shum
105 * Remington Steed
106 * Jason Stephenson
107 * Josh Stompro
108 * Dan Wells
109
110
111 Evergreen 3.2.4
112 ---------------
113
114 This release contains bug fixes improving on Evergreen 3.2.3.
115 All bug fixes refer to the web staff client unless otherwise specified.
116
117 Bug fixes
118 ~~~~~~~~~
119
120 Accessibility
121 ^^^^^^^^^^^^^
122
123 * Adds appropriate alt text to the Evergreen splash page (https://bugs.launchpad.net/evergreen/+bug/1802594[Bug #1802594])
124 * The public catalog search box now only autofocuses when searching is the main purpose of the page (https://bugs.launchpad.net/evergreen/+bug/1796225[Bug #1796225])
125
126 Acquisitions
127 ^^^^^^^^^^^^
128
129 * Fixes an issue that prevented purchase orders to not open in a new tab (https://bugs.launchpad.net/evergreen/+bug/1813290[Bug #1813290])
130
131 Circulation
132 ^^^^^^^^^^^
133
134 * The Billing History grids now save their configuration in the database (https://bugs.launchpad.net/evergreen/+bug/1806709[Bug #1806709])
135
136 Cataloging
137 ^^^^^^^^^^
138
139 * Catalogers can now set the Bib Source in the Z39.50 Overlay and Import interfaces (https://bugs.launchpad.net/evergreen/+bug/1727345[Bug #1727345])
140 * Fixes an issue where publishers display in the publication date column in copy buckets (https://bugs.launchpad.net/evergreen/+bug/1812698[Bug #1812698])
141 * Electronic reources no longer display a call number called _##URI##_ in the Volume Editor (https://bugs.launchpad.net/evergreen/+bug/1752665[Bug #1752665])
142 * Spine/pocket label templates can now include circulation library and owning library (https://bugs.launchpad.net/evergreen/+bug/1726568[Bug #1726568])
143
144
145 Reports
146 ^^^^^^^
147
148 * Fixes an issue where external documentation links can open in the reports module (https://bugs.launchpad.net/evergreen/+bug/1784893[Bug #1784893])
149 * Fixes an issue where publishers display as a publication date in reports (https://bugs.launchpad.net/evergreen/+bug/1812698[Bug #1812698])
150
151 Search
152 ^^^^^^
153
154 * Staff users can now set their prefered default Advanced Search pane (https://bugs.launchpad.net/evergreen/+bug/1799963[Bug #1799963])
155 * The public catalog search box now only autofocuses when searching is the main purpose of the page (https://bugs.launchpad.net/evergreen/+bug/1796225[Bug #1796225])
156
157 System administration
158 ^^^^^^^^^^^^^^^^^^^^^
159
160 * The _DELETE_COPY_ALERT_ permission no longer needs to be granted on the consortium level (https://bugs.launchpad.net/evergreen/+bug/1783421[Bug #1783421])
161
162 Angular client
163 ^^^^^^^^^^^^^^
164
165 * The angular client now uses Angular 7 (https://bugs.launchpad.net/evergreen/+bug/1801984[Bug #1801984])
166 * The angular client grid actions can now be disabled depending on the criteria of which rows are selected (https://bugs.launchpad.net/evergreen/+bug/1808268[Bug #1808268])
167 * Angular client pages now display their own titles in the browser tab, rather than _AngEG_ (https://bugs.launchpad.net/evergreen/+bug/1813647[Bug #1813647])
168
169
170 Acknowledgments
171 ~~~~~~~~~~~~~~~
172 We would like to thank the following individuals who contributed code,
173 tests and documentation patches to the 3.2.4 point release of
174 Evergreen:
175
176 * John Amundson
177 * Jason Boyer
178 * Galen Charlton
179 * Jeff Davis
180 * James Fournie
181 * Angela Kilsdonk
182 * Sam Link
183 * Tiffany Little
184 * Terran McCanna
185 * Michele Morgan
186 * Mike Rylander
187 * Jane Sandberg
188 * Chris Sharp
189 * Jason Stephenson
190 * Ben Shum
191 * Cesar Velez
192 * Dan Wells
193
194 Evergreen 3.2.3
195 ----------------
196 This release contains bug fixes improving on Evergreen 3.2.3.
197 All bug fixes refer to the staff client unless otherwise specified.
198
199 Bug fixes
200 ~~~~~~~~~
201
202 General
203 ^^^^^^^
204
205 * Hatch is now deprecated for local data storage.  Hatch is
206 still recommended for printing in certain situations.
207
208 Acquisitions
209 ^^^^^^^^^^^^
210
211 * The new `edi_order_pusher.pl` now only pushes purchase orders
212 with a state of "on-order", to prevent older purchase orders
213 from being unintentionally pushed to vendors.
214
215 Cataloging
216 ^^^^^^^^^^
217
218 * The Z39.50 and record bucket interfaces now open relevant 
219 catalog records in new tabs.
220 * Fixes a bug that prevented batch importing authority records.
221 * The template dropdown in the holdings editor now provides more
222 space to accommodate longer template names.
223 * The drop-down of copy tag types in the Manage Copy Tags dialog
224 now includes the owning library of the copy tag type.
225
226 Circulation
227 ^^^^^^^^^^^
228
229 * Fixes an issue with recalling checked-out materials.
230 * Added several missing columns to the patron bills grid.
231 * Corrected the display of the Bill Type column in the patron bills grid.
232 * Clarified the names of the "Billing Location" and "Grocery Billing
233 Location" columns in the patron bills grid.
234 * The Bill Full Details grid now includes a billing location column
235 for both circulation and grocery bills, as well as the owning library for
236 circulation bills.
237 * The Billing History transactions grid now remembers any changes that
238 users make to the column settings.
239 * Fixes an issue with printing multiple copies of bills.
240 * Fixes an issue with saving self-registered patron accounts.
241 * Staff can now delete self-registered patron accounts.
242
243 System administration
244 ^^^^^^^^^^^^^^^^^^^^^
245
246 * Fixes the marc_stream_importer to be compatible with Vandelay session
247 tracking.
248 * Includes an accessibility improvement for the Acquisitions
249 Administration interfaces.
250
251
252 Acknowledgments
253 ~~~~~~~~~~~~~~~
254 We would like to thank the following individuals who contributed code,
255 tests and documentation patches to the 3.2.3 point release of
256 Evergreen:
257
258 * John Amundson
259 * Jason Boyer
260 * Andrea Buntz Neiman
261 * Jeff Davis
262 * Bill Erickson
263 * Kyle Huckins
264 * Angela Kilsdonk
265 * Katie G. Martin
266 * Terran McCanna
267 * Mike Rylander
268 * Jane Sandberg
269 * Janet Schrader
270 * Chris Sharp
271 * Remington Steed
272 * Jason Stephenson
273 * Cesar Velez
274
275
276 Evergreen 3.2.2
277 ----------------
278 This release contains bug fixes improving on Evergreen 3.2.1.
279 All bug fixes refer to the web staff client unless otherwise specified.
280
281 Bug fixes
282 ~~~~~~~~~
283
284 General
285 ^^^^^^^
286
287 * Fixes a bug that blocked logging in from mobile browsers
288 * Fixes a readability issue with mobile menus
289 * Fixes performance issue related to grid tooltips.
290 * Fixes an issue that caused some grid columns to appear
291 empty.
292
293 Cataloging
294 ^^^^^^^^^^
295
296 * Improves the functionality of setting a default tab of a bib record
297 * The web client now remembers the most recently selected copy template
298 * Adds help tips to Print Item Labels Settings tab
299 * If you add or edit copies and/or volumes from the Holdings View tab,
300 the view now automatically refreshes to show your changes.
301 * Provides an upgrade to MODS 3.3 for older Evergreen installations.
302 * Improves usability of Z39.50 MARC View.
303
304
305 Circulation
306 ^^^^^^^^^^^
307
308 * Fixes a daylight savings time-related circulation bug.
309 * Fixes a bug that caused deleted items to show up on the holds shelf.
310 * Staff can now place multiple email addresses into the patron registration/
311 edit form, depending on the value of the `ui.patron.edit.au.email.regex`
312 library setting.
313 * Fixes an issue with the offline circulation module.
314 * When merging two users, the non-lead account is now completely purged from
315 the database, rather than simply being marked as deleted.
316 * Fixes a bug which prevented the canceling of holds from the title
317 record.
318
319 Public catalog
320 ^^^^^^^^^^^^^^
321
322 * Removes incorrect copy counts from metarecord search results pages
323 * Electronic resources now display in the browse interfaces
324 * Restores ability to request password resets
325
326 System administration
327 ^^^^^^^^^^^^^^^^^^^^^
328
329 * The example Apache 2.4 configuration now enables remoteip.
330 * Improves syntax in the fm_idl file.
331
332
333 Acknowledgements
334 ~~~~~~~~~~~~~~~~
335 We would like to thank the following individuals who contributed code,
336 tests and documentation patches to the 3.2.2 point release of
337 Evergreen:
338
339 * Jason Boyer
340 * Galen Charlton
341 * Garry Collum
342 * Bill Erickson
343 * Rogan Hamby
344 * Rosie Le Faive
345 * Jeanette Lundgren
346 * Kathy Lussier
347 * Michele Morgan
348 * Mike Rylander
349 * Jane Sandberg
350 * Janet Schrader
351 * Chris Sharp
352 * Ben Shum
353 * Remington Steed
354 * Jason Stephenson
355 * Cesar Velez
356 * Dan Wells
357
358 Evergreen 3.2.1
359 ----------------
360 This release contains bug fixes improving on Evergreen 3.2.0.
361
362 Bug fixes
363 ~~~~~~~~~
364
365 * Adds several columns to the items out grid.
366 * Adds the ability to copy patron addresses to the clipboard.
367 * Fixes several issues with adding new items and call numbers.
368 * Adds links to catalog records from the query and pending tabs of the Record Buckets interface.
369 * Corrects the date format used in several bucket interfaces.
370 * Adds a loading spinner to interfaces that are embedded in the web staff client via iframe
371 (such as the catalog).
372 * The new Angular 6 interfaces now use the correct favicon.
373
374 Acknowledgements
375 ~~~~~~~~~~~~~~~~
376 We would like to thank the following individuals who contributed code,
377 tests and documentation patches to the 3.2.1 point release of
378 Evergreen:
379
380 * John Amundson
381 * a. bellenir
382 * Jason Boyer
383 * Galen Charlton
384 * Garry Collum
385 * Dawn Dale
386 * Bill Erickson
387 * Kathy Lussier
388 * Mike Rylander
389 * Jane Sandberg
390 * Jason Stephenson
391 * Cesar Velez
392 * Dan Wells
393
394
395 3.2.0 Upgrade notes
396 -------------------
397
398 Disabling of Legacy XUL Staff Client
399 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
400 The legacy XUL staff client is no longer supported in Evergreen
401 3.2.x and the server-side installation no longer supports a
402 direct connection by a version XUL client by default.  *All
403 users of Evergreen 3.2.x are strongly urged to complete their
404 switch to the web staff client as part of upgrading to 3.2.x.*
405
406 Evergreen administrators who for some reason continue to wish
407 to deploy the XUL staff client can do so at their risk by
408 supplying `STAFF_CLIENT_STAMP_ID` during the `make install` step
409 and using `make_release` to create installers for the staff client.
410 However, no community support will be provided for the XUL client.
411
412
413
414 Acq Invoice Reports
415 ~~~~~~~~~~~~~~~~~~~
416
417 Existing Acquisitions report templates that reference the invoice 'complete'
418 field should be modified to check whether the new close_date field is NOT NULL
419 instead.
420
421 At deploy time, all invoices with a 'complete' value of TRUE will have their
422 'close_date' field set to NOW.  A value is required, since this field is
423 now the source of whether an invoice is open or closed.
424
425 However, no values will be applied to the closed_by field for already closed
426 invoices.
427
428
429 Angular6 Base Application
430 ~~~~~~~~~~~~~~~~~~~~~~~~~
431
432 System Admin Upgrade Notes
433 ^^^^^^^^^^^^^^^^^^^^^^^^^^
434
435 Like the AngularJS application, Evergreen releases will come with all
436 web browser staff client code pre-compiled.  Admins only need to add an
437 Apache configuration change.
438
439 Add the following stanza to /etc/apache2/eg_vhost.conf.
440
441 [source,conf]
442 --------------------------------------------------------------------------
443 RewriteCond %{REQUEST_URI}  ^/eg2/
444 RewriteCond %{REQUEST_URI}  !^/eg2/([a-z]{2}-[A-Z]{2})/
445 RewriteRule ^/eg2/(.*) https://%{HTTP_HOST}/eg2/en-US/$1 [R=307,L]
446
447 <Directory "/openils/var/web/eg2/en-US">
448     FallbackResource /eg2/en-US/index.html
449 </Directory>
450 --------------------------------------------------------------------------
451
452 For multi-locale sites, see the bottom section of
453 Open-ILS/examples/apache[_24]/eg_vhost.conf.in for a sample fr-CA
454 configuration.  The section starts with "/eg2/ client setup and locale
455 configuration"
456
457 Developer Upgrade Notes
458 ^^^^^^^^^^^^^^^^^^^^^^^
459
460 Developers building Angular code on existing installations need to update
461 their version of NodeJS by re-running the -developer prereqs installer.
462
463 [source,sh]
464 --------------------------------------------------------------------------
465 sudo make -f Open-ILS/src/extras/Makefile.install <osname>-developer
466 --------------------------------------------------------------------------
467
468
469 Asynchronous Vandelay Imports
470 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
471
472 Users of NGINX as a reverse proxy may need to set a suitable
473 `client_max_body_size` value in the NGINX configuration so that large
474 MARC record uploads are not truncated. Note that this would have
475 always been necessary, but since this feature allows larger files
476 to be more reliably queued and imported, the need to set `client_max_body_size`
477 became more apparent.
478
479
480 Browser Client Settings & Preferences Stored on the Server
481 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
482
483 A new permission APPLY_WORKSTATION_SETTING has been added to control who
484 may apply values to workstation settings.  Use something like the following
485 to apply the permission to all staff accounts (mileage may vary):
486
487 [source,sh]
488 --------------------------------------------------------------------------
489 INSERT INTO permission.grp_perm_map (grp, perm, depth)
490 VALUES (
491     (SELECT id FROM permission.grp_tree WHERE name = 'Staff'), -- name may vary
492     (SELECT id FROM permission.perm_list WHERE code =
493 'APPLY_WORKSTATION_SETTING'),
494     0 -- or 1, 2, etc.
495 );
496 --------------------------------------------------------------------------
497
498 Workstation setting types matching values previously stored in the browser
499 (via localStorage or Hatch) are created as part of this feature.  During
500 upgrade, admins should consider whether any of these new setting types
501 should be transferred to user and/or org unit settings instead.  Setting
502 type changes can be made at any time, but when a setting type is deleted
503 all of its data is deleted, so a change in type means re-applying the
504 settings in the browser client.
505
506 Values stored in the browser will automatically migrate to server settings
507 as each setting is accessed in the browser client.  Once migrated, the
508 in-browser copies are deleted.
509
510 If a setting type does not exist where the browser expects one, the
511 value is stored in-browser instead and a warning is issued in the console.
512
513
514
515
516 3.2.0 New Features
517 ------------------
518
519
520 Acquisitions
521 ~~~~~~~~~~~~
522
523 Auto-Cancel Line items When All Copies Are Canceled
524 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
525 When a copy (line item detail) is canceled through the Acquisitions interface, 
526 the parent line item is also canceled if all copies for that line item are also 
527 canceled.  The cancel reason given will come from:
528
529 . The cancel reason for the just-canceled copy if it's a Keep Debits true 
530 cancel reason.
531 . The cancel reason from any other copy on the lineitem that has a Keep 
532 Debits true cancel reason.
533 . The cancel reason for the just-canceled copy if no copies have a Keep
534 Debits true cancel reason.
535
536
537 Invoice Closed Date and Closed By Fields
538 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
539 Acquisitions invoices have 2 new fields:
540
541 * Close Date -- This is set to the time when the ACQ user clicks the "Close"
542   button in the invoice interface.
543   ** This field 'replaces' the existing 'complete' field.  An invoice is
544      considered complete if a close date value is set.
545 * Closed By -- This is set to the logged in staff user who performs the 
546   "Close" action.
547
548 As with the now-defunct 'complete' field, but new fields are cleared in the 
549 event an invoice is reopened.
550
551 These new fields are visible in the invoice interface under the 
552 'Show Details' action for closed invoices.
553
554 Upgrading Invoice Reports
555 +++++++++++++++++++++++++
556
557 Existing report templates that reference the invoice 'complete' field 
558 should be modified to check whether the new close_date field is NOT NULL
559 instead.
560
561 Other Upgrade Considerations
562 ++++++++++++++++++++++++++++
563
564 At deploy time, all invoices with a 'complete' value of TRUE will have their
565 'close_date' field set to NOW.  A value is required, since this field is
566 now the source of whether an invoice is open or closed.
567
568 However, no values will be applied to the closed_by field for already closed
569 invoices.
570
571
572
573 Patron Acquisitions Requests
574 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
575
576 The existing interface for staff-mediated patron acquisition requests has been replaced in the web staff client with a re-implementation written in AngularJS, with some minor bug fixes (including access from the Patron interface) and other improvements.
577
578
579
580 Administration
581 ~~~~~~~~~~~~~~
582
583 Hold Targeter Script has been Replaced
584 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
585
586 The original hold_targeter.pl script has been renamed to
587 "hold_targeter_legacy.pl", and the new-style hold targeting
588 script has been renamed to "hold_targeter.pl".  Administrators
589 will want to change their crontab files to reflect this.
590
591 .Previous Syntax
592 [source,bash]
593 ---------------------------------------------------------------------
594 -*/15 * * * *   . ~/.bashrc && $EG_BIN_DIR/hold_targeter.pl $SRF_CORE
595 ---------------------------------------------------------------------
596
597 .New Syntax
598 [source,bash]
599 -----------------------------------------------------------------------------------
600 -*/15 * * * *   . ~/.bashrc && $EG_BIN_DIR/hold_targeter.pl --osrf-config
601 $SRF_CORE
602 -----------------------------------------------------------------------------------
603
604 The sample crontab file at `Open-ILS/examples/crontab.example` reflects
605 this change.
606
607
608
609 Architecture
610 ~~~~~~~~~~~~
611
612 Angular6 Base Application
613 ^^^^^^^^^^^^^^^^^^^^^^^^^
614 With Evergreen 3.2, we introduce the initial infrastructure for
615 migrating to a new version of Angular.  The structure of the new code
616 is quite different from the AngularJS code and it runs as a separate
617 application which communicates with the AngularJS app via shared storage
618 and in-page URLs that link back and forth between the two.
619
620 For this release, users will only be directed to the new Angular site
621 when navigating to Administration => Acquisitions Administration.  Once
622 on this page, some of the admin interfaces will presented as Angular6
623 interfaces, while others will direct users back to the AngularJS
624 application.  The Angular6 interfaces are the simpler, grid-based
625 interfaces.
626
627 Acquisitions Admin Angular6 Interfaces
628 ++++++++++++++++++++++++++++++++++++++
629
630  * Cancel Reasons
631  * Claim Event Types
632  * Claim Policies
633  * Claim Policy Actions
634  * Claim Types
635  * Currency Types
636  * EDI Accounts
637  * EDI Messages
638  * Exchange Rates
639  * Fund Tags
640  * Invoice Item Types
641  * Invoice Payment Method
642  * Line Item Alerts
643  * Line Item MARC Attribute Definitions
644
645 System Admin Upgrade Notes
646 ++++++++++++++++++++++++++
647
648 Like the AngularJS application, Evergreen releases will come with all
649 web browser staff client code pre-compiled.  Admins only need to add an
650 Apache configuration change.
651
652 Add the following stanza to /etc/apache2/eg_vhost.conf.
653
654 [source,conf]
655 --------------------------------------------------------------------------
656 RewriteCond %{REQUEST_URI}  ^/eg2/
657 RewriteCond %{REQUEST_URI}  !^/eg2/([a-z]{2}-[A-Z]{2})/
658 RewriteRule ^/eg2/(.*) https://%{HTTP_HOST}/eg2/en-US/$1 [R=307,L]
659
660 <Directory "/openils/var/web/eg2/en-US">                                       
661     FallbackResource /eg2/en-US/index.html                                     
662 </Directory>  
663 --------------------------------------------------------------------------
664
665 For multi-locale sites, see the bottom section of
666 Open-ILS/examples/apache[_24]/eg_vhost.conf.in for a sample fr-CA
667 configuration.  The section starts with "/eg2/ client setup and locale
668 configuration"
669
670 Developer Upgrade Notes
671 +++++++++++++++++++++++
672
673 Developers building Angular code on existing installations need to update 
674 their version of NodeJS by re-running the -developer prereqs installer.
675
676 [source,sh]
677 --------------------------------------------------------------------------
678 sudo make -f Open-ILS/src/extras/Makefile.install <osname>-developer
679 --------------------------------------------------------------------------
680
681
682 Cataloging
683 ~~~~~~~~~~
684
685 Add UPC to z39.50 search for OCLC and LOC
686 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
687 Add UPC as a search attribute for both OCLC and LOC targets in
688 z39.50 for cataloging.
689
690
691 Asynchronous Vandelay Imports
692 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
693
694 Vandelay imports are now monitored from the browser client asynchronously,
695 meaning the client requests updates from the server instead of waiting for 
696 the server to respond to the original import request.  This changes allows 
697 for incremental progress updates in the browser client.
698
699 New Database Table
700 ++++++++++++++++++
701
702 This adds a new database table vandelay.session_tracker for tracking
703 in-progress vandelay upload activity.  A new tracker row is added for
704 each of "upload", "enqueue", and "import" actions, linked for a given
705 session by the value stored in the "session_key" field.
706
707 The table tracks other potentially useful data, like the staff member
708 and workstation where the action was performed.
709
710 Upgrade notes
711 +++++++++++++
712 Users of NGINX as a reverse proxy may need to set a suitable
713 `client_max_body_size` value in the NGINX configuration so that large
714 MARC record uploads are not truncated. Note that this would have
715 always been necessary, but since this feature allows larger files
716 to be more reliably queued and imported, the need to set `client_max_body_size`
717 became more apparent.
718
719
720
721
722 Support for Last Inventory Date
723 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
724 Evergreen now provides an option to add an inventory date to items to facilitate
725 the process of performing inventory in libraries. Staff can add an inventory
726 date to an item in one of the following ways:
727  * From the check in screen, there is now an Update Inventory check in modifier.
728 When selected, scanned barcodes will have the current date/time added as the
729 inventory date while the item is checked in.
730  * From the Item Status screen, an action is available to add the current 
731 date/time as the inventory date to selected items.
732
733 This new feature will also store the workstation that was used when the
734 inventory date was updated.
735
736
737
738 Parallel Ingest with pingest.pl
739 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
740 A program named pingest.pl is now installed to allow faster bibliographic record
741 ingest.  It performs ingest in parallel so that multiple batches can
742 be done simultaneously.  It operates by splitting the records to be
743 ingested up into batches and running all of the ingest methods on each
744 batch.  You may pass in options to control how many batches are run at
745 the same time, how many records there are per batch, and which ingest
746 operations to skip.
747
748 NOTE: The browse ingest is presently done in a single process over all
749 of the input records as it cannot run in parallel with itself.  It
750 does, however, run in parallel with the other ingests.
751
752 Command Line Options
753 ++++++++++++++++++++
754 pingest.pl accepts the following command line options:
755
756 --host::
757     The server where PostgreSQL runs (either host name or IP address).
758     The default is read from the PGHOST environment variable or
759     "localhost."
760
761 --port::
762     The port that PostgreSQL listens to on host.  The default is read
763     from the PGPORT environment variable or 5432.
764
765 --db::
766     The database to connect to on the host.  The default is read from
767     the PGDATABASE environment variable or "evergreen."
768
769 --user::
770     The username for database connections.  The default is read from
771     the PGUSER environment variable or "evergreen."
772
773 --password::
774     The password for database connections.  The default is read from
775     the PGPASSWORD environment variable or "evergreen."
776
777 --batch-size::
778     Number of records to process per batch.  The default is 10,000.
779
780 --max-child::
781     Max number of worker processes (i.e. the number of batches to
782     process simultaneously).  The default is 8.
783
784 --skip-browse::
785 --skip-attrs::
786 --skip-search::
787 --skip-facets::
788 --skip-display::
789     Skip the selected reingest component.
790
791 --start-id::
792     Start processing at this record ID.
793
794 --end-id::
795     Stop processing when this record ID is reached.
796
797 --pipe::
798     Read record IDs to reingest from standard input.  This option
799     conflicts with --start-id and/or --end-id.
800
801 --max-duration::
802     Stop processing after this many total seconds have passed.  The
803     default is to run until all records have been processed.
804
805 --help::
806     Show the help text.
807
808
809
810 View Authority Record by Database ID
811 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
812
813 A new interface allows catalogers to retrieve a specific
814 authority record using its database ID.  Catalogers can
815 find those IDs in subfield $0 of matching fields in
816 bibliographic records.
817
818 To use the new authority record viewer:
819
820 . Click *Cataloging -> Retrieve Authority Record by ID*.
821 . Type in the ID number of the authority record you are
822 interested in. Don't include any prefixes, just the ID
823 number.
824 . Click *Submit*.
825 . View or edit the authority record as needed.
826
827
828
829 Circulation
830 ~~~~~~~~~~~
831
832
833
834 Autorenewal of Loans
835 ^^^^^^^^^^^^^^^^^^^^
836 Circulation policies in Evergreen can now be configured to automatically renew
837 certain items checked out on patron accounts. Circulations will be renewed
838 automatically up to a custom limit (the `max_auto_renewal` field) and patrons
839 will not need to log in to their OPAC accounts or ask library staff to manually
840 renew materials.
841
842 Two new action triggers have been added to Evergreen that permit the Auto-Renew
843 feature. They can be found, configured, and enabled in Administration>Local
844 Administration>Notifications/Action Triggers. They are named **Autorenew** and
845 **AutorenewNotify**.
846
847 The **Autorenew** A/T definition uses the `checkout.due` hook to automatically
848 validate and renew (in the reactor) circulations on the day they are due,
849 grouped by user. The output events of this definition is is the input used by
850 the related **AutorenewNotify** A/T that simply uses a new hook called
851 `autorenewal` to notify patrons via email of their currently due or
852 auto-renewed items.
853
854 In the webstaff's Patron Items Out page, the new column `AutoRenewalsRemaining`
855 indicates how many autorenewals are available for a particular circulation.
856
857
858
859
860
861 Emergency Closing Handler
862 ^^^^^^^^^^^^^^^^^^^^^^^^
863
864 Staff are provided with interfaces and mechanisms to create library closings
865 that, in addition to affecting future circulation and booking due dates, and
866 hold shelf expirations, will automatically move existing circulation and booking
867 due dates and hold shelf expiration times. This new functionality is
868 conceptually described as Emergency Closings and business logic implementing it
869 as the Emergency Closing Handler. It contains additions and adjustments to the
870 user interface, business logic, and database layers. Access to this
871 functionality is available through the Closed Dates Editor interface in the
872 staff client which has been ported to AngularJS.
873
874 Overview
875 ++++++++
876
877 This development has created new business logic code to inspect, in real time,
878 existing circulation, booking, and hold records, and modify such date and time
879 stamps so that the circulation, booking, or hold will end in the same state it
880 would have if the closing had existed at the time the circulation or booking
881 occurred, or the hold was placed and captured. Of specific note, hourly loans
882 will have their due date adjusted to be the end of the day following the
883 closing.
884
885 When the Emergency Closing is saved, any fines accrued during the closing may be
886 voided, as settings dictate, with the exception of circulations that have been
887 marked as LOST or LONG OVERDUE. That is, even for LOST and LONG OVERDUE
888 circulations with due dates that fall within the Emergency Closing, no fine
889 adjustment will be applied. Emergency Closing processing is permanent, and
890 cannot be rolled back.
891
892 This functionality is explicitly initiated by staff action. If staff do not
893 request an Emergency Closing, existing circulations, bookings, and holds will
894 not be processed and adjusted. However, if staff request any Closing that starts
895 nearer in time than the length of the longest circulation duration configured
896 for use in the Evergreen instance they will be prompted with the option to
897 create the closing as an Emergency Closing.
898
899 Action/Trigger hooks have been created for circulations and bookings that are
900 adjusted by the Emergency Closing Handler. These will facilitate the creation of
901 notifications to patrons that the due date has changed and to alert them to
902 potential changes in accrued fines.
903
904 Booking start dates are explicitly ignored in this implementation. Because an
905 Emergency Closing is, by its nature, an unexpected event, it will be up to staff
906 to address any bookings which intersect with a new Emergency Closings. Reports
907 can be used to identify booking start dates that overlap with a closing and that
908 may require staff intervention.
909
910 Staff requesting and Emergency Closing must have the new EMERGENCY_CLOSING
911 permission.  Some text describing the feature.
912
913
914
915
916
917 Patron Preferred Name and Name Search Keywords
918 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
919
920 Preferred Name
921 ++++++++++++++
922
923 Adds a new set of patron preferred name fields for prefix, first,
924 middle, last, and suffix allowing patrons to provide preferred name
925 information.  Preferred names are optional and each acts as an overlay
926 to the analogous primary name field, making it possible to provide
927 preferred name values for individual fields.
928
929 For example, a patron named William Erickson may have a preferred first
930 name (pref_first_given_name) of Bill, in which case the preferred name
931 would be Bill Erickson.  Note a preferred last name is not required in
932 this case as the code uses primary name values as defaults when not
933 replaced with a preferred version.
934
935 * Patrons will see primary names displayed in the catalog when set.
936 * Staff will see both primary name and preferred name in the patron
937   summary side bar.
938 * Patron searches for any given name field will search both the primary
939   and preferred name data.
940 * Preferred name fields are available in Action/Trigger templates and
941   are present in various patron-focused print templates.
942
943 Name Keywords
944 ++++++++++++++
945
946 Adds a new field to store miscellaneous patron name search terms.  These
947 values are only for searching and do not appear in any interfaces, apart
948 from the patron summary side bar and the patron edit UI.
949
950 Included is a new search field in the patron search UI which searches
951 keyword values and all other name fields.  It's essentially a global patron
952 name keyword search.
953
954
955
956
957 Client
958 ~~~~~~
959
960 Disabling of legacy XUL staff client
961 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
962 The legacy XUL staff client is no longer supported in Evergreen
963 3.2.x and the server-side installation no longer supports a
964 direct connection by a version XUL client by default.  All
965 users of Evergreen 3.2.x are strongly urged to complete their
966 switch to the web staff client as part of upgrading to 3.2.x.
967
968 Evergreen administrators who for some reason continue to wish
969 to deploy the XUL staff client can do so at their risk by
970 supplying `STAFF_CLIENT_STAMP_ID` during the `make install` step
971 and using `make_release` to create installers for the staff client.
972 However, no community support will be provided for the XUL client.
973
974
975
976
977 Permission Group Display Entries
978 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
979 In some cases, it is useful to have the ability to reorder permission, or to make
980 only specific groups available in the permission group selector for specific
981 Org Units. An interface has been made available to allow this.
982
983 Group Tree Display Entry Interface
984 ++++++++++++++++++++++++++++++++++
985
986 Permission Group Display Entries can be reordered, added, or removed via
987 _Administration -> Local Admin -> Permission Tree Display Entries_.
988 Select the Org Unit you wish to edit the entries in.
989
990 Entries may be added using the Add functionality, creating entries based
991 on permission groups that have not been added to the tree for the Org
992 Unit you wish to add them to.
993
994 image::media/pgtde_01.png[Group Tree Display Entry Admin UI]
995
996 Moving an Entry
997 +++++++++++++++
998 Moving an entry will shift its position up or down in the patron profile
999 selector for a given Org Unit.
1000
1001 * Select an entry
1002 * Press either the *Move Up* or *Move Down* button. The entry will be 
1003 moved up or down, accordingly.
1004 * Click *Save* to save your edits.  
1005
1006 NOTE: You may only move up or down entries that have sibling entries.
1007
1008 Removing an Entry
1009 +++++++++++++++++
1010 If you want a particular Org Unit to not have access to specific
1011 entries, you may remove an entry. Removing an entry will remove it from 
1012 view. The entry will be removed from the database.
1013
1014 * Select an entry and press the *Remove* button.
1015
1016 Adding an Entry
1017 +++++++++++++++
1018 You may add entries from permission groups that are not currently
1019 reflected in the permission group tree. This is useful for moving 
1020 entries to different parents, or making them root entries.
1021
1022 image::media/pgtde_02.png[Add Entry modal]
1023
1024 * If desired, select an entry to be used as the parent entry. 
1025 * Press the *Add* button. 
1026 * Select a permission group from the dropdown.
1027 * If you've selected a parent entry, you may check the *Add Root Entry*
1028 box to override that parent and add the entry on the root level. 
1029 * If you did not select a parent entry, the entry will be added on the root 
1030 level of the tree.
1031
1032
1033
1034 Browser Client Settings & Preferences Stored on the Server
1035 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1036 Browser client settings and preferences that should persist over time are
1037 now stored as settings on the server.  This allows settings to follow
1038 users and workstations and reduces problems associated with losing settings 
1039 as a result of clearing browser data.
1040
1041 The browser client honors setting values stored as user settings, workstation
1042 settings, and org unit settings, depending on which setting types are
1043 locally configured.
1044
1045 Setting Types
1046 +++++++++++++
1047
1048 * No setting can be both a user and workstation setting.  They are mutually
1049   exclusive.
1050 * Any setting can be an org unit setting in addition to being a user or
1051   workstation setting.
1052
1053 Read-Only Settings
1054 ++++++++++++++++++
1055
1056 Read-only settings are useful for defining values that staff can use but
1057 not modify.  For example, admins may wish to prevent users from locally
1058 modifying the grid configuration for a given interface so it remains
1059 consistent for all users.
1060
1061 A setting is read-only when an org unit setting type exists (regardless of 
1062 whether a value is applied) and no user or workstation setting type exists.
1063
1064 Server-Stored Workstation Settings Workstation Admin View
1065 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1066
1067 There's a new "Server Workstation Prefs" tab to the stored preferences
1068 workstation admin interface.  From here, users can view which
1069 preferences are stored as server-stored workstation preferences and
1070 delete select values.
1071
1072 Upgrade Notes
1073 +++++++++++++
1074
1075 A new permission APPLY_WORKSTATION_SETTING has been added to control who
1076 may apply values to workstation settings.  Use something like the following
1077 to apply the permission to all staff accounts (mileage may vary):
1078
1079 [source,sh]
1080 --------------------------------------------------------------------------
1081 INSERT INTO permission.grp_perm_map (grp, perm, depth) 
1082 VALUES (
1083     (SELECT id FROM permission.grp_tree WHERE name = 'Staff'), -- name may vary
1084     (SELECT id FROM permission.perm_list WHERE code = 'APPLY_WORKSTATION_SETTING'),
1085     0 -- or 1, 2, etc.
1086 );
1087 --------------------------------------------------------------------------
1088
1089 Workstation setting types matching values previously stored in the browser
1090 (via localStorage or Hatch) are created as part of this feature.  During
1091 upgrade, admins should consider whether any of these new setting types 
1092 should be transferred to user and/or org unit settings instead.  Setting
1093 type changes can be made at any time, but when a setting type is deleted
1094 all of its data is deleted, so a change in type means re-applying the 
1095 settings in the browser client.
1096
1097 Values stored in the browser will automatically migrate to server settings
1098 as each setting is accessed in the browser client.  Once migrated, the
1099 in-browser copies are deleted.  
1100
1101 If a setting type does not exist where the browser expects one, the 
1102 value is stored in-browser instead and a warning is issued in the console.
1103
1104
1105 More consistent terminology in the client
1106 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1107 Terminology has been updated in the staff client so that we consistently use
1108 the same name to describe the same thing. The following updates have been made:
1109
1110   * The term 'item' is now consistently used to describe the barcoded entity
1111 that had been previously been called both an 'item' and a 'copy'. As a result,
1112 we now use the terms 'item buckets', 'item tags', and 'item alerts'.
1113   * The term 'volume' is no longer used in the client, with the exception of
1114 serials, where the term is used to describe serial volumes. The term 'call
1115 number' will replace volume in most other places.
1116   * 'Holdings' is a more general term used to describe a combination of items
1117 and call numbers.
1118   * The term 'Shelving Location' is used consistently in favor of 'Copy
1119 Location.'
1120
1121
1122
1123
1124 OPAC
1125 ~~~~
1126
1127
1128
1129 Batch Actions In the Public Catalog
1130 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1131 The public catalog now displays checkboxes on the bibliographic and
1132 metarecord constituents results pages. Selecting one or more titles
1133 by using the checkboxes will dynamically add those title to the
1134 temporary list, which is now renamed the cart.
1135
1136 Above the results lists there is now a bar with a select-all checkbox,
1137 a link to the cart management page that also indicates the number of
1138 of titles in the cart, and a link to remove from the cart titles that
1139 are selected on the currently displayed results page.
1140
1141 The search bar now includes an icon of a cart and displays the number
1142 of titles currently in the cart. Next to that icon is a menu of cart
1143 actions.
1144
1145 The cart actions available are Place Hold, Print Title Details,
1146 Email Title Details, Add Cart to Saved List, and Clear Cart. In the
1147 web staff client, the cart actions also include Add Cart to Bucket.
1148 When an action is selected from this menu, the user is given an
1149 opportunity to confirm the action and to optionally empty the cart
1150 when the action is complete. The action is applied to all titles
1151 in the cart.
1152
1153 Clicking on the cart icon brings the user to a page listing the
1154 titles in the cart. From there, the user can select specific records
1155 to request, print, email, add to a list, or remove from the cart.
1156
1157 The list of actions on the record details page now provides separate
1158 links for adding the title to a cart or to a permanent list.
1159
1160 The permanent list management page in the public catalog now also
1161 includes batch print and email actions.
1162
1163 Additional information
1164 ++++++++++++++++++++++
1165 * The checkboxes do not display on the metarecord results page, as
1166   metarecords currently cannot be put into carts or lists.
1167 * The checkboxes are displayed only if JavaScript is enabled. However,
1168   users can still add items to the cart and perform batch actions on
1169   the cart and on lists.
1170 * A template `config.tt2` setting, `ctx.max_cart_size`, can be used to
1171   set a soft limit on the number of titles that can be added to the
1172   cart. If this limit is reached, checkboxes to add more records to the
1173   cart are disabled unless existing titles in the cart are removed
1174   first. The default value for this setting is 500.
1175
1176 Developer notes
1177 +++++++++++++++
1178
1179 This patch adds to the public catalog two routes that return JSON
1180 rather than HTML:
1181
1182 * `GET /eg/opac/api/mylist/add?record=45`
1183 * `GET /eg/opac/api/mylist/delete?record=45`
1184
1185 The JSON response is a hash containing a mylist key pointing to the list
1186 of bib IDs of contents of the cart.
1187
1188 The record parameter can be repeated to allow adding or removing
1189 records as an atomic operation. Note that this change also now available
1190 to `/eg/opac/mylist/{add,delete}`
1191
1192 More generally, this adds a way for EGWeb context loaders to specify that
1193 a response should be emitted as JSON rather than rendering an HTML
1194 page using `Template::Toolkit`.
1195
1196 Specifically, if the context as munged by the context loader contains
1197 a `json_response` key, the contents of that key will to provide a
1198 JSON response. The `json_response_cookie` key, if present, can be used
1199 to set a cookie as part of the response.
1200
1201 Template Toolkit processing is bypassed entirely when emitting a JSON
1202 response, so the context loader would be entirely responsible for
1203 localization of strings in the response meant for direct human
1204 consumption.
1205
1206
1207
1208
1209 New class for searchbar when on the homepage
1210 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1211
1212 This adds the `.searchbar-home` class to the div that contains the searchbar
1213 when on the homepage.  This allows sites to customize the searchbar differently
1214 on the homepage than in other places the search bar appears (for example,
1215 offering a large, Google-style search bar on the homepage only).
1216
1217
1218 Username Login Hint
1219 ^^^^^^^^^^^^^^^^^^^
1220 To make customization easier, the username hint on the OPAC login page ("Please
1221 include leading zeros...") has been moved to a separate TT2 template.  If you
1222 have customized the hint text, you will need to add your modifications to
1223 username_hint.tt2.
1224
1225
1226
1227 Acknowledgments
1228 ---------------
1229 The Evergreen project would like to acknowledge the following
1230 organizations that commissioned developments in this release of
1231 Evergreen:
1232
1233 * BC Libraries Cooperative
1234 * Consortium Of Ohio Libraries
1235 * CW MARS
1236 * Georgia Public Library Service
1237 * Indiana State Library
1238 * Lake Agassiz Regrional Library
1239 * MassLNC
1240 * North Texas Library Consortium
1241 * Northwest Regional Library
1242 * Pennsylvania Integrated Library System
1243 * South Carolina State Library
1244
1245 We would also like to thank the following individuals who contributed
1246 code, translations, documentations patches and tests to this release of
1247 Evergreen:
1248
1249 * Felicia Beaudry
1250 * Jason Boyer
1251 * Andrea Buntz Neiman
1252 * Eva Cerninakova
1253 * Galen Charlton
1254 * Garry Collum
1255 * Jeff Davis
1256 * Bill Erickson
1257 * Jason Etheridge
1258 * Lynn Floyd
1259 * Jeff Godin
1260 * Blake Graham-Henderson
1261 * Francisco J Guel-Mendoza
1262 * Kyle Huckins
1263 * Mary Jinglewski
1264 * Angela Kilsdonk
1265 * Kathy Lussier
1266 * Katie G. Martin
1267 * Jennifer Pringle
1268 * Morkor Quarshie
1269 * Mike Rylander
1270 * Jane Sandberg
1271 * Chris Sharp
1272 * Ben Shum
1273 * Remington Steed
1274 * Jason Stephenson
1275 * Cesar Velez
1276 * Dan Wells
1277 * Stephan Woidowski
1278
1279 We also thank the following organizations whose employees contributed
1280 patches:
1281
1282 * BC Libraries Cooperative
1283 * Calvin College
1284 * Catalyte
1285 * Equinox Open Library Initiative
1286 * Government of Manitoba
1287 * Kenton County Public Library
1288 * King County Library System
1289 * Linn-Benton Community College
1290 * MassLNC
1291 * Sigio
1292
1293 We regret any omissions.  If a contributor has been inadvertently
1294 missed, please open a bug at http://bugs.launchpad.net/evergreen/
1295 with a correction.
1296