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