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