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