]> git.evergreen-ils.org Git - Evergreen.git/blob - docs/RELEASE_NOTES_3_6.adoc
LP1615805 No inputs after submit in patron search (AngularJS)
[Evergreen.git] / docs / RELEASE_NOTES_3_6.adoc
1 = Evergreen 3.6 Release Notes =
2 :toc:
3 :numbered:
4
5 == Evergreen 3.6.5 ==
6
7 This release contains bug fixes improving on Evergreen 3.6.4.
8
9 === Upgrade notes ===
10
11 The fix for https://bugs.launchpad.net/evergreen/_bug/1450519[Launchpad bug 1450519] modifies the `fm_IDL.xml` file.  To ensure that everything is up-to-date, existing Evergreen sites should run `autogen.sh` after restarting OpenSRF services and before restarting Apache.
12
13 In reference to the fix for https://bugs.launchpad.net/evergreen/+bug/1944765[Launchpad bug 1944765], existing Evergreen systems on Debian and Ubuntu should do the following to ensure that mod_headers is active:
14
15 ----
16 sudo a2enmod headers
17 sudo systemctl restart apache2
18 ----
19
20 === Bug Fixes ===
21
22 ==== Acquisitions ====
23
24 * Fixes column header in Line Item Search (https://bugs.launchpad.net/evergreen/+bug/1906826[LP1906826])
25
26 ==== Administration ====
27
28 * Adds automated tests for ISBN-13 starting with 979 (https://bugs.launchpad.net/evergreen/+bug/1857060[LP1857060])
29 * Adds circ.collections.exempt user setting to seed data (https://bugs.launchpad.net/evergreen/+bug/1937299[LP1937299])
30 * Restricts access to library setting history for unauthorized users (https://bugs.launchpad.net/evergreen/+bug/1450519[LP1450519])
31 * Fixes filter errors on secondary admin pages (https://bugs.launchpad.net/evergreen/+bug/1919483[LP1919483])
32 * Fixes an issue with the Default Net Access Level Library Setting (https://bugs.launchpad.net/evergreen/+bug/1802682[LP1802682])
33 * Fixes an issue with Action Triggers that have a repeat delay (https://bugs.launchpad.net/evergreen/+bug/1823983[LP1823983])
34 * Fixes an issue with the Action Trigger ApplyPatronPenalty reactor (https://bugs.launchpad.net/evergreen/+bug/1859502[LP1859502])
35 * Enables Apache module mod_headers by default (https://bugs.launchpad.net/evergreen/+bug/1944765[LP1944765])
36 * Fixes typo in three Library Settings descriptions https://bugs.launchpad.net/evergreen/+bug/1826759[LP1826759])
37
38
39 ==== Architecture ====
40
41 * Fixes datatype issues that can cause unexpected behavior (https://bugs.launchpad.net/evergreen/+bug/1923076[LP1923076])
42 * Fixes an issue running "npm install" for the Angular JS web client (https://bugs.launchpad.net/evergreen/+bug/1937875[LP1937875])
43 * Fixes typo in pingest.pl help command (https://bugs.launchpad.net/evergreen/+bug/1924562[LP1924562])
44
45 ==== Booking ====
46
47 * Adds new Booking permissions to appropriate Permission Groups (https://bugs.launchpad.net/evergreen/+bug/1910891[LP1910891])
48 * Fixes an issue where Booking Resource Type box was not populating (https://bugs.launchpad.net/evergreen/+bug/1916949[LP1916949])
49
50 ==== Catalog ==== 
51
52 * Adds "Show more details" button & workstation setting for the Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/1908722[LP1908722])
53 * Adds call number display Staff Catalog search results (https://bugs.launchpad.net/evergreen/+bug/1910808[LP1910808])
54 * Restores preferred library holdings count in search results (https://bugs.launchpad.net/evergreen/+bug/1913807[LP1913807])
55 * Adds jump to details on one hit support to the Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/1912852[LP1912852])
56 * Adds a Patron View button to the Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/1910452[LP1910452])
57 * Fixes display of Age Hold Protection in the Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/1908614[LP1908614])
58 * Adds OPAC visible to Holdings View in the Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/1917338[LP1917338])
59 * Fixes 'copy queue to bucket' function in Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/1928275[LP1929275])
60 * Fixes an issue where the holds page would refresh before a batch holds cancel was complete (https://bugs.launchpad.net/evergreen/+bug/1911023[LP1911023])
61 * Fixes an issue where 'submit' or 'enter' was required for a patron barcode on the Staff Catalog holds form (https://bugs.launchpad.net/evergreen/+bug/1903358[LP1903358])
62
63 ==== Cataloging ====
64
65 * Adds a workstation setting to allow users to save grid preferences for the angular catalog item table (https://bugs.launchpad.net/evergreen/+bug/1907296[LP1907296])
66 * Adds SRCE fixed field to Angular MARC Editor (https://bugs.launchpad.net/evergreen/+bug/1718782[LP1718782])
67 * Fixes the Delete Queue link on the Queue Details Page in MARC Batch Import/Export (https://bugs.launchpad.net/evergreen/+bug/1934184[LP1934184])
68 * Fixes a text error in the Load Shared Bucket modals (https://bugs.launchpad.net/evergreen/+bug/1929839[LP1929839])
69 * Fixes an issue that allows precat merges (https://bugs.launchpad.net/evergreen/+bug/827356[LP827356])
70 * Fixes an issue where adding items to bucket causes too many simultaneous requests (https://bugs.launchpad.net/evergreen/+bug/1932051[LP1932051])
71 * Fixes a TCN/ID mismatch in the z39.50 interface (https://bugs.launchpad.net/evergreen/+bug/1786971[LP1786971])
72 * Fixes an issue where import operations could fail (https://bugs.launchpad.net/evergreen/+bug/1941764[LP1941764])
73 * Fixes an issue where authority records with long subfields would not load (https://bugs.launchpad.net/evergreen/+bug/1922567[LP1922567])
74
75
76 ==== Circulation ====
77
78 * Fixes excess pcrud calls in barcode lookup (https://bugs.launchpad.net/evergreen/+bug/1929136[LP1929136])
79 * Fixes an issue where batch checkin from Item Status caused rapid-fire popups (https://bugs.launchpad.net/evergreen/+bug/1742553[LP1742553])
80 * Fixes an issue where self-check audio alerts were failing (https://bugs.launchpad.net/evergreen/+bug/1815968[LP1815968])
81 * Fixes an issue where removing patrons from buckets caused too many simultaneous requests (https://bugs.launchpad.net/evergreen/+bug/1932358[LP1932358])
82 * Adds missing patron data to Holds for Patron print template (https://bugs.launchpad.net/evergreen/+bug/1926971[LP1926971])
83 * Fixes incorrect hints for fields in the Checkout print template (https://bugs.launchpad.net/evergreen/+bug/1901028[LP1901028])
84 * Fixes hold failures due to SMS notification selection errors (https://bugs.launchpad.net/evergreen/+bug/1933381[LP1933381])
85 * Fixes a timezone issue with staff scheduled Curbside appointments (https://bugs.launchpad.net/evergreen/+bug/1917396[LP1917396])
86 * Fixes an issue where the Missing Pieces slip was sent to the Default printer instead of the Receipt printer (https://bugs.launchpad.net/evergreen/+bug/1938450[LP1938450])
87 * Fixes sorting of SMS Carriers when editing an existing hold (https://bugs.launchpad.net/evergreen/+bug/1809157[LP1809157])
88 * Fixes messages in the patron Offline Block List (https://bugs.launchpad.net/evergreen/+bug/1752356[LP1752356])
89 * Fixes an issue where cloned patron addresses were set to Pending (https://bugs.launchpad.net/evergreen/+bug/1821804[LP1821804])
90 * Fixes an issue with retargeting when a hold's pickup library is changed (https://bugs.launchpad.net/evergreen/+bug/1866667[LP1866667])
91 * Fixes an issue that allowed Hold Activation Dates in the past in the Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/1903357[LP1903357])
92 * Fixes patron name display to use preferred name in the Staff Catalog Place Hold screen (https://bugs.launchpad.net/evergreen/+bug/1924621[LP1924621])
93 * Fixes display of legacy circulations in circ summary (https://bugs.launchpad.net/evergreen/+bug/1942920[LP1942920])
94
95 ==== Client ====
96
97 * Restores the Circulation History by Year information in Item Status (https://bugs.launchpad.net/evergreen/+bug/1743611[LP1743611]) 
98 * Fixes a display issue with formerly precataloged items (https://bugs.launchpad.net/evergreen/+bug/1904754[LP1904754])
99 * Fixes an issue that allowed logins by expired accounts (https://bugs.launchpad.net/evergreen/+bug/1844121[LP1844121])
100 * Adds missing workstation types for Carousels (https://bugs.launchpad.net/evergreen/+bug/1920253[LP1920253])
101 * Adds caching for workstation & user settings values (https://bugs.launchpad.net/evergreen/+bug/1938729[LP1939729])
102
103 ==== Course Materials ====
104
105 * Fixes an issue where a blank course section number impacted OPAC display (https://bugs.launchpad.net/evergreen/+bug/1913221[LP1913221])
106 * Adds an Org Unit selector to the Course List (https://bugs.launchpad.net/evergreen/+bug/1905068[LP1905068])
107 * Adds circulation modifier to OPAC Course Details page (https://bugs.launchpad.net/evergreen/+bug/1935693[LP1935693])
108 * Fixes the owning library default when adding a new course (https://bugs.launchpad.net/evergreen/+bug/1917809[LP1917809])
109 * Fixes an issue that allowed unreasonable Course-Term mappings (https://bugs.launchpad.net/evergreen/+bug/1906058[LP1906058])
110
111 ==== Documentation ====
112
113 * Updates the Glossary & Apache Rewrite Tricks docs to define 'TLD' (https://bugs.launchpad.net/evergreen/+bug/1837753[LP1837753])
114 * Updates Address Alert docs for web client (https://bugs.launchpad.net/evergreen/+bug/1776977[LP1776977])
115
116
117 ==== OPAC ====
118
119 * Fixes alignment issue on mobile devices (https://bugs.launchpad.net/evergreen/+bug/1928005[LP1928005])
120 * Adds Curbside Appointments to Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1895737[LP1895737])
121 * Fixes alignment issue with available and holds copy counts in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1933125[LP1933125])
122 * Makes the Bootstrap OPAC self registration form more responsive (https://bugs.launchpad.net/evergreen/+bug/1920273[LP1920273])
123 * Adds missing title and descripton for Shared Lists in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1909584[LP1909584])
124 * Fixes tabbing & focus in Bootstrap OPAC login form (https://bugs.launchpad.net/evergreen/+bug/1909144[LP1909144])
125 * Replaces javascript onfocus/onblur with HTML5 placeholder in KPAC (https://bugs.launchpad.net/evergreen/+bug/1834258[LP1834258])
126 * Fixes an issue where the Login box was not translateable (https://bugs.launchpad.net/evergreen/+bug/1919497[LP1919497])
127
128 ==== SIP ====
129
130 * Exports PERL5LIB in oils_ctl.sh to account for a change in Perl 5.26.0. This change affects Ubuntu 18.04 (Bionic Beaver) and Debian 10 (Buster) and any future releases. (https://bugs.launchpad.net/evergreen/+bug/1899974[LP1899974])
131
132 === Acknowledgements ===
133
134 We would like to thank the following individuals who contributed code,
135 testing and documentation patches to the 3.6.5 point release of Evergreen:
136
137 * Adam Bowling
138 * Jason Boyer
139 * Dan Briem
140 * Christine Burns
141 * Eva Cerninakova
142 * Galen Charlton
143 * Garry Collum
144 * Dawn Dale
145 * Jeff Davis
146 * Bill Erickson
147 * Jason Etheridge
148 * Ruth Frasur
149 * Rogan Hamby
150 * Elaine Hardy
151 * Shula Link
152 * Tiffany Little
153 * Mary Llewellyn
154 * Terran McCanna
155 * Gina Monti
156 * Christine Morgan
157 * Michele Morgan
158 * Andrea Buntz Neiman
159 * Jennifer Pringle
160 * Mike Risher
161 * Erica Rohlfs
162 * Mike Rylander
163 * Chris Sharp
164 * Jane Sandberg
165 * Jason Stephenson
166 * Josh Stompro
167 * Jennifer Weston
168 * Beth Willis
169 * Jessica Woolford
170
171 == Evergreen  3.6.4 ==
172
173 This release contains bug fixes improving on Evergreen 3.6.3.
174
175 === Upgrade notes ===
176
177 The addition of the Angular Staff Catalog surfaced a double-encoding issue
178 with redirects in certain Apache versions. This caused searches for multiple
179 words to have %20 in place of spaces, almost certainly resulting in 0 results.
180
181 In order to apply this fix, change the Angular redirects in eg_vhost.conf from
182
183  RewriteRule ^/eg2/(.*) https://%{HTTP_HOST}/eg2/en-US/$1 [R=307,L]
184
185 to
186
187  RewriteRule ^/eg2/(.*) https://%{HTTP_HOST}/eg2/en-US/$1 [NE,R=307,L]
188
189
190 === Bug Fixes ===
191
192 ==== Acquisitions ====
193
194 * Acq PO Search cancel reason column shows description (https://bugs.launchpad.net/bugs/1906825[Bug 1906825])
195 * Date columns in Acq Search now also show time (https://bugs.launchpad.net/bugs/1912097[Bug 1912097])
196
197 ==== Administration ====
198
199 * Fixes an issue with editing carousels (https://bugs.launchpad.net/bugs/1879769[Bug 1879769])
200 * Carousel admin grid now has a link to edit the relevant bucket (https://bugs.launchpad.net/bugs/1901893[Bug 1901893])
201 * The Active Column in SMS Carrier administration now displays properly (https://bugs.launchpad.net/bugs/1873539[Bug 1873539])
202 * Fixes upgrade script for Enhanced Print/Email (https://bugs.launchpad.net/bugs/1905091[Bug 1905091])
203 * Cleans up numerous Perl warnings in logs (https://bugs.launchpad.net/bugs/1895660[Bug 1895660])
204
205
206 ==== Catalog ====
207
208 * Fixes an issue displaying highlighting in traditional and bootstrap catalogue (https://bugs.launchpad.net/bugs/1923225[Bug 1923225])
209 * Fixes an issue displaying works with the word "hidden" in the title (https://bugs.launchpad.net/bugs/1930933[Bug 1930933])
210 * Bootstrap OPAC: Simple Selector for Lang now works in Advanced Search (https://bugs.launchpad.net/bugs/1920042[Bug 1920042])
211 * Bootstrap OPAC: My account summary now displays ebook references according to config file (https://bugs.launchpad.net/bugs/1910288[Bug 1910288])
212 * Bootstrap OPAC: Item tags no longer display as separate copies on an x-small screen (https://bugs.launchpad.net/bugs/1916936[Bug 1916936])
213 * Fixes nesting issues on the Bootstrap OPAC Record Detail Page (https://bugs.launchpad.net/bugs/1901710[Bug 1901710])
214 * Opac SMS and Carrier Fields display according to OU Setting when Editing a Hold (https://bugs.launchpad.net/bugs/1902302[Bug 1902302])
215 * Better controls for collapsing and expanding the staff catalog search form (https://bugs.launchpad.net/bugs/1913338[Bug 1913338])
216
217 ==== Cataloging ====
218
219 * Angular Catalog: "Edit" link no longer ignores UPDATE_COPY perm (https://bugs.launchpad.net/bugs/1920815[Bug 1920815])
220 * Angular catalog: fixes an issue with metarecord search (https://bugs.launchpad.net/bugs/1930088[Bug 1930088])
221 * Angular staff catalog now displays e-resource links (https://bugs.launchpad.net/bugs/1881607[Bug 1881607])
222 * Record bucket Batch Edit now navigates to the Angular batch editor (https://bugs.launchpad.net/bugs/1926310[Bug 1926310])
223 * Angular Catalog: Shelving locations assigned to the top level OU now display in list (https://bugs.launchpad.net/bugs/1927527[Bug 1927527])
224 * Add to Carousel added back to the Other Actions menu in the Bib Record (https://bugs.launchpad.net/bugs/1922120[Bug 1922120])
225 * Makes terminology more consistent in Angular Catalog (https://bugs.launchpad.net/bugs/1925725[Bug 1925725])
226
227
228 ==== Circulation ====
229
230 * Preferred Name is now the prominent display name (https://bugs.launchpad.net/bugs/1924185[Bug 1924185])
231 * Unchanged workstation settings are no longer re-applied on every checkin (https://bugs.launchpad.net/bugs/1918362[Bug 1918362])
232 * Adds accessible field labels in patron search and edit (https://bugs.launchpad.net/bugs/1615800[Bug 1615800])
233 * Fixes an issue with the embedded "Place a hold" catalog in the checkout interface (https://bugs.launchpad.net/bugs/1887876[Bug 1887876])
234 * Angular Catalog: Hold status in View Holds is now saved (https://bugs.launchpad.net/bugs/1917495[Bug 1917495])
235 * Angular Staff Catalog: Hold Pickup Library no longer sometimes empty (https://bugs.launchpad.net/bugs/1917944[Bug 1917944])
236 * Fixes an issue with the Angular catalog view holds sort by patron barcode (https://bugs.launchpad.net/bugs/1928684[Bug 1928684])
237 * Staff catalog hold detail page now supports hold notes/notifications (https://bugs.launchpad.net/bugs/1910145[Bug 1910145])
238
239 ==== Client ====
240
241 * Angular grid column field picker has a better sort order (https://bugs.launchpad.net/bugs/1891699[Bug 1891699])
242 * Angular grids now support shift-click multi-row selection (https://bugs.launchpad.net/bugs/1911238[Bug 1911238])
243 * Fixes an issue with multi-word queries in the splash page catalog search (https://bugs.launchpad.net/bugs/1892435[Bug 1892435])
244
245 ==== Database ====
246
247 * Evergreen now uses the builtin array_remove() function rather than its own custom version (https://bugs.launchpad.net/bugs/1778955[Bug 1778955])
248 * Adds seed data for the eg.orgselect.hopeless.wide_holds setting (https://bugs.launchpad.net/bugs/1895738[Bug 1895738])
249
250
251 ==== Documentation ====
252
253 * Adds documentation on how to contribute Documentation (https://bugs.launchpad.net/bugs/1927534[Bug 1927534])
254 * Adds IDL acronym to the glossary (https://bugs.launchpad.net/bugs/1857917[Bug 1857917])
255 * Adds documentation on how to use the browser client efficiently (https://bugs.launchpad.net/bugs/1250528[Bug 1250528] and https://bugs.launchpad.net/bugs/1751146[Bug 1751146])
256
257
258
259
260 === Acknowledgements ===
261
262 We would like to thank the following individuals who contributed code,
263 testing and documentation patches to the 3.6.4 point release of Evergreen:
264
265 * Jason Boyer
266 * Dan Briem
267 * Galen Charlton
268 * Garry Collum
269 * Jeff Davis
270 * Bill Erickson
271 * Jason Etheridge
272 * Blake Graham Henderson
273 * Rogan Hamby
274 * Elaine Hardy
275 * Kyle Huckins
276 * Tiffany Little
277 * Mary Llewellyn
278 * Terran McCanna
279 * Gina Monti
280 * Michele Morgan
281 * Andrea Buntz Neiman
282 * Mike Risher
283 * Mike Rylander
284 * Jane Sandberg
285 * Chris Sharp
286 * Chrisy Schroth
287 * Jason Stephenson
288 * Stephen Wills
289
290 == Evergreen  3.6.3 ==
291
292 This release contains bug fixes improving on Evergreen 3.6.2,
293 including a security bug fix.
294
295 === Bug Fixes ===
296
297 ==== Security ====
298
299 * Fixes an XSS bug in MARC fields that are rendered as HTML (https://bugs.launchpad.net/bugs/1902965[Bug 1902965])
300
301
302 ==== Administration ====
303
304 * Angular admin pages "Library" scope (https://bugs.launchpad.net/bugs/1873322[Bug 1873322])
305 * No Access to Composite Attribute Entry Definitions from MARC Coded Value Maps (https://bugs.launchpad.net/bugs/1843969[Bug 1843969])
306 * Use consistent terminology in Local Admin Interfaces (https://bugs.launchpad.net/bugs/1871510[Bug 1871510])
307
308
309 ==== Circulation ====
310
311 * In house use: it would be nice if the item barcode column linked to item status (https://bugs.launchpad.net/bugs/1859513[Bug 1859513])
312
313 ==== Client ====
314
315 * Angular grids: interval columns are not filterable (https://bugs.launchpad.net/bugs/1848579[Bug 1848579])
316 * Angular Staff Client Hamburger Menu no longer clipped off screen (https://bugs.launchpad.net/bugs/1915323[Bug 1915323])
317
318 ==== Course materials ====
319
320 * Display course name when editing reserve item (https://bugs.launchpad.net/bugs/1907977[Bug 1907977])
321 * "Instructor" search/browse option does not always display in OPAC (https://bugs.launchpad.net/bugs/1907979[Bug 1907979])
322
323 ==== OPAC ====
324
325 * Bootstrap OPAC: add support for Stripe v3 (Elements) (https://bugs.launchpad.net/bugs/1895679[Bug 1895679])
326 * Bootstrap OPAC: Pagination on copy table now works (https://bugs.launchpad.net/bugs/1916085[Bug 1916085])
327 * Terms Governing Use and Reproduction Note Displays Twice in Record Details (https://bugs.launchpad.net/bugs/1917804[Bug 1917804])
328 * Email now displays when editing hold prefs in OPAC (https://bugs.launchpad.net/bugs/1908616[Bug 1908616])
329 * Bootstrap OPAC:  Call number on search results page (https://bugs.launchpad.net/bugs/1916904[Bug 1916904])
330
331 ==== Performance ====
332
333 * Search indexes now use GIN by default (https://bugs.launchpad.net/bugs/1703658[Bug 1703658])
334 * Record bucket 'Add To Bucket' actions should be batched or serialized. (https://bugs.launchpad.net/bugs/1913458[Bug 1913458])
335
336 ==== Staff catalog ====
337
338 * Angular Catalog: Part column no longer missing from Item table (https://bugs.launchpad.net/bugs/1899405[Bug 1899405])
339 * Publication information in angular search results now displays from tag 260 or 264 (https://bugs.launchpad.net/bugs/1896840[Bug 1896840])
340 * Angular catalog can now sort browse result record lists (https://bugs.launchpad.net/bugs/1908444[Bug 1908444])
341 * No Pagination Navigation at the Bottom of a Catalog Search (https://bugs.launchpad.net/bugs/1912380[Bug 1912380])
342
343 === Upgrade Notes ===
344
345 A partial reingest is required to extract the new publisher data for display.
346 This query may be long-running.
347
348 [source,sql]
349 --------------------------------------------------------------------------
350 WITH affected_bibs AS (
351     SELECT DISTINCT(bre.id) AS id
352     FROM biblio.record_entry bre
353     JOIN metabib.real_full_rec mrfr
354     ON (mrfr.record = bre.id AND mrfr.tag = '264')
355     WHERE NOT bre.deleted
356 )
357 SELECT metabib.reingest_metabib_field_entries(id, TRUE, FALSE, TRUE, TRUE)
358 FROM affected_bibs;
359 --------------------------------------------------------------------------
360
361
362
363 === Acknowledgements ===
364
365 We would like to thank the following individuals who contributed code,
366 testing and documentation patches to the 3.6.3 point release of Evergreen:
367
368
369 * Jason Boyer
370 * Dan Briem
371 * Galen Charlton
372 * Garry Collum
373 * Jeff Davis
374 * Bill Erickson
375 * Tiffany Little
376 * Terran McCanna
377 * Michele Morgan
378 * Jennifer Pringle
379 * Mike Risher
380 * Jane Sandberg
381 * Chris Sharp
382 * Jason Stephenson
383 * Beth Willis
384
385 == Evergreen 3.6.2 ==
386
387
388 This release contains bug fixes improving on Evergreen 3.6.1,
389 including a security bug fix.
390
391 === Bug Fixes ===
392
393 ==== Security ====
394
395 * Fix an issue where `open-ils.pcrud` backends could crash with
396 a segmentation fault under certain conditions that could be invoked
397 by an external attacker, thus leading to a potential denial
398 of service attack.
399
400 ==== Staff Interface ====
401 * Expert Search in the staff interface now respects the search library.
402 (https://bugs.launchpad.net/evergreen/+bug/1468132[Bug 1468132])
403 * The Items Out page is now less prone to cause `open-ils.actor` backend
404 exhaustion. It now also displays a progress bar while loading.
405 (https://bugs.launchpad.net/evergreen/+bug/1913811[Bug 1913811])
406 * Grids in the staff interface no longer require that a row
407 be selected in order to activate a grid action that doesn't
408 logically require that at least one row be selected.
409 (https://bugs.launchpad.net/evergreen/+bug/1670457[Bug 1670457])
410 * The display of total amounted billed, owed, and paid on the patron
411 Bills page now reflects just open bills with a non-zero balance, fixing
412 an issue where the totals could include paid billings for transactions
413 that are still open.
414 (https://bugs.launchpad.net/evergreen/+bug/1772955[Bug 1772955])
415 * The pending patron interface now respects the library setting whether
416 to set the patron's initial password to the last four digits of their
417 phone number.
418 (https://bugs.launchpad.net/evergreen/+bug/1887852[Bug 1887852])
419 * Several interfaces, including Mark Missing, adding patrons to a bucket
420 from a search, and applying a default item status now use batch
421 API calls for better efficiency.
422 (https://bugs.launchpad.net/evergreen/+bug/1896285[Bug 1896285])
423 * Fix an issue where the holdings editor would not close its window
424 when the Save & Exit button was clicked.
425 (https://bugs.launchpad.net/evergreen/+bug/1913219[Bug 1913219])
426 * Fix an issue where a double barcode scan could create a precat
427 item without giving the staff member the chance to review the
428 form before submitting it.
429 (https://bugs.launchpad.net/evergreen/+bug/1778522[Bug 1778522])
430 * Fix an issue preventing the staff interface from being used
431 on various Android and iOS devices.
432 (https://bugs.launchpad.net/evergreen/+bug/1901760[Bug 1901760])
433 * Fix an issue where the report editor could supply the wrong
434 kind of input for an aggregate filter.
435 (https://bugs.launchpad.net/evergreen/+bug/1858114[Bug 1858114])
436 * The staff interfaces now warns if the user attempts to delete
437 a bib record that has active holds on it.
438 (https://bugs.launchpad.net/evergreen/+bug/1398107[Bug 1398107])
439 * Expired staff accounts can no longer log into the staff interface
440 (https://bugs.launchpad.net/evergreen/+bug/1474029[Bug 1474029])
441 * Most Angular administration pages now include grid filters
442 (https://bugs.launchpad.net/evergreen/+bug/1846042[Bug 1846042])
443 * The grid header in most Angular admin interfaces is now sticky
444 (https://bugs.launchpad.net/evergreen/+bug/1855457[Bug 1855457])
445 * The Angular staff catalog now supports more easily placing multiple
446 holds on the same target
447 (https://bugs.launchpad.net/evergreen/+bug/1889128[Bug 1889128])
448 * The Angular staff catalog now respects the 'Not a Pickup Library'
449 setting
450 (https://bugs.launchpad.net/evergreen/+bug/1908743[Bug 1908743])
451 * Fix an issue where the staff catalog hold request form was not
452 registering a change of pickup library.
453 (https://bugs.launchpad.net/evergreen/+bug/1911031[Bug 1911031])
454 * In some cases, an upgraded database would fail to honor a request
455 to delete an item tag. This is now fixed.
456 (https://bugs.launchpad.net/evergreen/+bug/1786100[Bug 1786100])
457 * The order of fields in various staff interface record editing
458 forms has been improved.
459 (https://bugs.launchpad.net/evergreen/+bug/1857351[Bug 1857351])
460 * Fix an issue where the Angular MARC editor would sometimes fail
461 to display fields.
462 (https://bugs.launchpad.net/evergreen/+bug/1907115[Bug 1907115])
463 * Fix the retrieve last bib record feature in the Angular staff
464 catalog
465 (https://bugs.launchpad.net/evergreen/+bug/1907286[Bug 1907286])
466 * Improve the placement of the 'Add Materials' button in the Course
467 Material interface
468 (https://bugs.launchpad.net/evergreen/+bug/1907923[Bug 1907923])
469 * Catalog links in the line item manager now link to the Angular
470 staff catalog
471 (https://bugs.launchpad.net/evergreen/+bug/1908420[Bug 1908420])
472 * Fix an issue where MARC Batch Edit's Go button could be disabled
473 during a CSV file upload.
474 (https://bugs.launchpad.net/evergreen/+bug/1910409[Bug 1910409])
475 * Improve the labeling of publication date sort option in the
476 Angular staff catalog
477 (https://bugs.launchpad.net/evergreen/+bug/1908724[Bug 1908724])
478 * Fix sorting of the surveys administration grid.
479 (https://bugs.launchpad.net/evergreen/+bug/1908763[Bug 1908763])
480 * Saving a record created via 'Create New MARC Record' now directs
481 the user to the Angular staff catalog.
482 (https://bugs.launchpad.net/evergreen/+bug/1914630[Bug 1914630])
483 * Fix a couple typos.
484
485 ==== Public Catalog ====
486
487 * Fix an issue where titles could run together when viewing a
488 carousel with a mobile browser.
489 (https://bugs.launchpad.net/evergreen/+bug/1868147[Bug 1868147])
490 * The order that items in a carousel display in is now more
491 predictable. For example, for 'Top Circulated Items' carousels,
492 the order is from most circulated to least circulated.
493 (https://bugs.launchpad.net/evergreen/+bug/1866406[Bug 1866406])
494 * Carousels no longer display deleted items.
495 (https://bugs.launchpad.net/evergreen/+bug/1836254[Bug 1836254])
496 * CGI parameters in the public catalog are now consistently forced
497 to be separated by ampersands rather than semicolons.
498 (https://bugs.launchpad.net/evergreen/+bug/1687545[Bug 1687545]) and
499 (https://bugs.launchpad.net/evergreen/+bug/1914116[Bug 1914116])
500
501 ==== Public Catalog (Bootstrap theme) ====
502
503 * The Bootstrap public catalog now allows patrons to update
504 hold notification preferences.
505 (https://bugs.launchpad.net/evergreen/+bug/1902265[Bug 1902265])
506 * Fix an issue where email and phone number notification information
507 was not saved when placing a hold.
508 (https://bugs.launchpad.net/evergreen/+bug/1903424[Bug 1903424])
509 * Suspending a hold at the time of placement now works in the Bootstrap
510 public catalog.
511 (https://bugs.launchpad.net/evergreen/+bug/1903594[Bug 1903594])
512 * Add the Type filter to the Bootstrap public catalog's Advanced
513 Search page
514 (https://bugs.launchpad.net/evergreen/+bug/1908298[Bug 1908298])
515 * The Bootstrap public catalog now includes the record emailing
516 and printing enhancements added in 3.6.0.
517 (https://bugs.launchpad.net/evergreen/+bug/1895676[Bug 1895676])
518 * The Bootstrap public catalog is now implements course
519 materials search and display.
520 (https://bugs.launchpad.net/evergreen/+bug/1895678[Bug 1895678])
521 * Carousels in the Bootstrap public catalog now link to their titles.
522 (https://bugs.launchpad.net/evergreen/+bug/1908113[Bug 1908113])
523 * Fix an issue with saving list notes in the Bootstrap public catalog.
524 (https://bugs.launchpad.net/evergreen/+bug/1908766[Bug 1908766])
525 * The My Account circulation history display now includes the
526 title and author of loans of precat items.
527 (https://bugs.launchpad.net/evergreen/+bug/1910138[Bug 1910138])
528 * Fix an issue with adding a basket to an existing list.
529 (https://bugs.launchpad.net/evergreen/+bug/1907866[Bug 1907866])
530
531 ==== Administration ====
532
533 * The EDI Webrick installer now works on Ubuntu 18.04
534 (https://bugs.launchpad.net/evergreen/+bug/1901900[Bug 1901900])
535
536 === Acknowledgements ===
537
538 We would like to thank the following individuals who contributed code,
539 testing and documentation patches to the 3.6.1 point release of Evergreen:
540
541 * John Amundson
542 * Zavier Banks
543 * Jason Boyer
544 * Dan Briem
545 * Galen Charlton
546 * Garry Collum
547 * Jeff Davis
548 * Bill Erickson
549 * Ruth Frasur
550 * Blake Graham-Henderson
551 * Rogan Hamby
552 * Elaine Hardy
553 * Angela Kilsdonk
554 * Tiffany Little
555 * Terran McCanna
556 * Michele Morgan
557 * Jane Sandberg
558 * Mike Risher
559 * Mike Rylander
560 * Chris Sharp
561 * Jason Stephenson
562
563 == Evergreen 3.6.1 ==
564
565 This release contains bug fixes improving on Evergreen 3.6.0.
566
567 === Bug Fixes ===
568
569 ==== Administration ====
570
571 * Improves description of an org unit setting
572 (https://bugs.launchpad.net/evergreen/+bug/1325704[Bug 1325704])
573
574 ==== Cataloging ====
575
576 * Fixes the journal title search in the Angular Staff Catalog
577 (https://bugs.launchpad.net/evergreen/+bug/1901038[Bug 1901038])
578
579 ==== Circulation ====
580
581 * The Register Patron form can now set default password according to a patron's
582 phone number when the org setting "Patron: password from phone #" is TRUE
583 (https://bugs.launchpad.net/evergreen/+bug/1900184[Bug 1900184])
584 * Fixes an issue with the hold targeter
585 (https://bugs.launchpad.net/evergreen/+bug/1508208[Bug 1508208])
586 * Fixes an issue that prevents items from circulating when OpenSRF is installed
587 with non-default router names
588 (https://bugs.launchpad.net/evergreen/+bug/1904220[Bug 1904220])
589
590
591 ==== Client ====
592
593 * Fixes an issue that caused a blank screen to appear
594 (https://bugs.launchpad.net/evergreen/+bug/1855737[Bug 1855737])
595
596
597 === Acknowledgements ===
598
599 We would like to thank the following individuals who contributed code,
600 testing and documentation patches to the 3.6.1 point release of Evergreen:
601
602 * Jason Boyer
603 * Dan Briem
604 * Galen Charlton
605 * Garry Collum
606 * Bill Erickson
607 * Jason Etheridge
608 * Katie Greenleaf Martin
609 * Terran McCanna
610 * Mike Rylander
611 * Jane Sandberg
612 * Chris Sharp
613 * Remington Steed
614
615
616 == Evergreen 3.6.0 ==
617
618 === Upgrade notes ===
619
620 This release adds a new OpenSRF service called `open-ils.courses`.
621 While strictly speaking this is an optional service and could be
622 omitted if you are not planning on using the new Course Materials
623 module, it is recommended that the service be run in case future
624 work bakes in an assumption that it will always be present.
625
626 This release also a new OpenSRF service, `open-ils.curbside`, which
627 must be enabled and registered with the public router for the
628 Curbside Pickup feature to function.
629
630 This release also includes a new experimental public catalog skin
631 based on the Bootstrap framework. Instructions for turning it on
632 can be found below.
633
634 This release adds a new Perl module dependency, `Config::General`.
635
636 This release adds two new rows to action_trigger.event_definition,
637 two into action_trigger.hook, and six into action_trigger.environment.
638
639 === New Features ===
640
641 ==== Acquisitions ====
642
643 ===== Angular Acquisitions Search =====
644
645 The acquisitions search interfaces are now written in Angular
646 and provide a new centralized place for searching Line Items,
647 Purchase Orders, Invoices, and Selection Lists in the Acquisitions
648 module of Evergreen. The Acquisitions Search interface can be accessed
649 under Acquisitions -> General Search.
650
651 The search interface has four tabs for line item search, purchase order
652 search, invoices search, and selection list search.  Each tab
653 offers a search form allowing the user to select one or more
654 fields to search on. Each search tab stores a separate default search
655 that the user can update; for example, a user could have their
656 line item search default to showing all on-order line items from
657 a particular provider.
658
659 The grid that displays search results in each tab is filterable.
660
661 The line items and PO search interfaces allow the user to navigate to
662 linked POs, invoices, and so forth, but offers no direct actions. The
663 invoices search tab includes a 'Print Selected Invoices' action,
664 while the selection lists search tab offers actions to create,
665 clone, delete, and merge selection lists.
666
667 The Angular search page contains a link to the legacy Dojo search
668 interface if needed. The Dojo interface will be removed in a future
669 release of Evergreen.
670
671 The Angular search interface offers various usability improvements
672 over the Dojo interface, including:
673
674 * only the search operators that are relevant for a given field
675   are displayed.
676 * search fields that are associated with controlled vocabularies
677   will display drop-downs on the search form.
678 * results are sortable.
679 * the line item and PO state fields have been relabeled to "Status".
680 * greater than and less than are now available as search operators.
681 * publication date searches are more flexible.
682
683 As part of this feature, the stock permissions for the Acquisitions
684 and Acquisitions Administrator profiles have been expanded. In
685 particular, the Acquisitions Administrator profile can now be
686 more readily used to perform normal acquisitions work in addition
687 to configuring the acquisitions module.
688
689 ===== Angular Providers Interface =====
690
691 The interfaces for searching for and managing Acquisitions provider
692 records have been rewritten in Angular. This rewrite includes the
693 following significant changes:
694
695 * The provider search interface is now available directly from the
696   Acquisitions menu, supplementing its longstanding availability from
697   the Acquisitions Administration page.
698 * The search interface is modeled after the patron interface, including
699   a search form that can be hidden or displayed, a provider summary box,
700   and a multi-tabbed interface for managing the provider itself.
701 * The grid displaying search results is filterable and sortable.
702 * The provider display tabs are
703 ** Details, allowing the user to view, and if permitted, edit the base provider record.
704 ** Addresses
705 ** Contacts
706 ** Attribute Definitions
707 ** Holdings Definitions
708 ** EDI
709 ** Invoices, providing an interface for viewing the invoices associated with the provider.
710 ** POs, providing an interface for viewing the purchase orders associated with the provider.
711 * The new interface makes it possible to edit contact addresses.
712 * The base provider record now has an optional primary contact field.
713   Selecting a contact as the primary one is managed on the Contacts
714   tab.  The primary contact, if set, is displayed on the provider
715   summary box.
716
717 Interfaces that used to link to the Dojo provider interface now link
718 to the Angular one instead.
719
720 ==== Administration ====
721
722
723 ===== Changes to Autorenewal Action/Trigger Failure Reasons =====
724
725 Previously the "reason" field in the userdata for an Autorenewal
726 event would contain both the failure code and the description for
727 the failure event as a single string such as
728 "MAX_RENEWALS_REACHED : Circulation has no more renewals remaining."
729
730 Now the "reason" field will only contain the description of the issue
731 (Circulation has ...) while a new "textcode" field will contain the
732 event code (MAX_RENEWALS_REACHED) if administrators still want to
733 display it in template outputs.
734
735
736 ===== EZProxy authentication =====
737
738 Evergreen can now provide CGI authentication for EZProxy.
739 To enable this, you will need to:
740
741 . Add a new User Activity Type to Evergreen for EZProxy CGI authentications.
742 . Add a new Remote Authentication Profile to Evergreen. You will probably want
743 to use `EZProxyCGI` as the name.
744 . Edit the `<Location /api/ezproxy>` stanza in Evergreen's eg_vhost configuration
745 file. In particular, you will need to allow access to from your EZProxy server,
746 fill in the base uri of your EZProxy server, and add a secret to the
747 _OILSRemoteAuthEZProxySecret_ variable.
748 . Restart Apache.
749 . Edit the EZProxy user.txt file.  You will likely want to add a stanza such
750 as the following:
751
752 .Sample user.txt stanza
753 ----
754 ::CGI=http://your-evergreen-catalog.com/api/ezproxy?url=^R
755 ::Ticket
756 MD5 <same secret as in eg_vhost config>
757 Expired; Deny expiredticket.htm
758 /Ticket
759 ----
760
761 When this feature is enabled, users will see an Evergreen-based login screen.
762 You may customize the look and feel of this login screen by editing the relevant
763 template toolkit files.
764
765 ===== Matomo Support =====
766
767 Support for the open source web analytics platform Matomo is now
768 native to Evergreen. Support is on an org unit level so different
769 libraries can have separate or no analytics. Once you setup
770 a Matomo service you will need the URL and site ID. Typically
771 Matomo will give you a block of javascript you can insert into
772 web sites. One line will look like :
773
774 `var u="http://mylibrary.lib/matomo/";`
775
776 The full URL in the double quotes will be your URL.  Another line
777 will look like:
778
779 `_paq.push(['setSiteId', '1']);`
780
781 In this case the number 1 will be your site ID.
782
783 These are set by the Library Settings opac.analytics.matomo_url and
784 opac.analytics.matomo_id respectively.  A new permission,
785 MATOMO_UPDATE_SETTINGS, controls access to these.
786
787 ===== "PatronAPI" authentication =====
788
789 Evergreen now supports the III "PatronAPI" scheme for authenticating
790 patrons and supplying some information about them.
791
792 To enable this, you will need to:
793
794 . Add a new User Activity Type to Evergreen for PatronAPI authentications.
795 . Add a new Remote Authentication Profile to Evergreen. You will probably want
796 to use `PatronAPI` as the name.
797 . Edit the `<Location /api/patronapi>` stanza in Evergreen's eg_vhost configuration
798 file. In particular, you will need to allow access to it from the server(s)
799 wanting to make PatronAPI requests, determine whether to enable the PatronAPI
800 "dump" feature, and specify whether users can be identified by username
801 or barcode.
802 . Restart Apache.
803 . Update the PatronAPI client to use https://your.evergreen.server/api/patronapi
804   as its base URL.
805
806 Example PatronAPI URLs look something like this:
807
808 .PatronAPI URLs
809 ----
810 # test a patron's PIN:
811 https://evergreen.example.org/api/patronapi/USERNAME/PASSWORD/pintest
812
813 # dump some information about the patron. Note that this
814 # does _not_ require the the patron's password be supplied.
815 https://evergreen.example.org/api/patronapi/USERNAME/dump
816 ----
817
818 The responses for the `pintest` and `dump` actions are specified by
819 Template Toolkit templates under (e.g.) `/openils/var/templates/remoteauth`.
820
821
822 ===== Preloaded Audio Icon and Search Format =====
823
824 A new search and icon format called Preloaded Audio now exists
825 that overlaps with the eAudio format.  If you want to exclude
826 the Preloaded Audio format from overlapping with eAudio
827 you can use the following SQL:
828
829 ----
830 UPDATE config.composite_attr_entry_definition SET definition = '{"0":{"_attr":"item_type","_val":"i"},"1":[{"_attr":"item_form","_val":"o"},{"_attr":"item_form","_val":"s"}]}'
831     WHERE coded_value IN (SELECT id FROM config.coded_value_map WHERE code = 'eaudio');
832 ----
833
834 It is also recommended that you reingest your bibliographic records
835 to updated the fixed field indexes. You can accomplish this by running
836 the following query in your database:
837
838 ----
839 SELECT metabib.reingest_record_attributes(source)
840 FROM metabib.record_attr_vector_list WHERE
841 (SELECT id FROM config.coded_value_map WHERE ctype = 'item_form' AND code = 'q') = ANY(vlist)
842 AND (SELECT id FROM config.coded_value_map WHERE ctype = 'item_type' AND code = 'i') = ANY(vlist);
843 ----
844
845
846
847
848
849 ==== API ====
850
851
852
853 ===== Override Label for draw_field_label Patron Edit Fields =====
854
855 Evergreen developers may now specify a label for fields in
856 the patron registration/patron edit form (generated by
857 the draw_field_label macro). By default,
858 draw_field_label uses the label of supplied IDL field class.
859 Now a developer may supply an additional third parameter,
860 label_override, which overrides the default IDL-based label.
861 This would typically be done in the course of customizing
862 the web staff client template `circ/patron/t_edit.tt2`.
863
864
865
866
867 ==== Architecture ====
868
869
870
871
872 ===== New Action/Trigger reactor for 3rd party signaling =====
873
874 This new Action/Trigger reactor module allows an Evergreen administrator to
875 create event definitions that use HTTP (or HTTPS) to contact external services
876 and let them know that something has happened in Evergreen.
877
878 For instance, a discovery layer can be informed when a bib record is updated
879 or when a user's barcode changes.
880
881 ====== Reactor Template Syntax ======
882
883 The new reactor module uses a template to define its behavior.  While the
884 template is processed by Template Toolkit, as with any A/T templates, its
885 output format is new to Evergreen.
886
887 The template should output data that can be parsed by the Config::General Perl
888 module.  See: https://metacpan.org/pod/Config::General
889
890 Top level settings should include the HTTP *method* and the *url*.
891
892 A block called *Headers* can be used to supply arbitrary HTTP headers.
893
894 A block called *Parameters* can be used to append CGI parameters to the URL,
895 most useful for GET form submission.  Repeated parameters are allowed.  If
896 this block is used, the URL should /not/ contain any parameters, use one or
897 the other.
898
899 A HEREDOC called *content* can be used with POST or PUT to send an arbitrary block
900 of content to the remote server.
901
902 If the requested URL requires Basic or Digest authentication, the template can
903 include top level configuration parameters to supply a *user*, *password*, *realm*,
904 and hostname:port *location*.
905
906 A default user agent string of "EvergreenReactor/1.0" is used when sending requests.
907 This can be overridden using the top level *agent* setting.
908
909 Here is an example template that could be used by a definition attached to the
910 *bib.edit* hook:
911
912 [source,conf]
913 ----
914 method   post # Valid values are post, get, put, delete, head
915 url      https://example.com/api/incoming-update
916 agent    MySpecialAgent/0.1
917
918 user     updater
919 password uPd4t3StufF
920 realm    "Secret area"
921 location example.com:443
922
923 <Headers>
924   Accept-Language en
925 </Headers>
926
927 <Parameters>
928   type bib
929   id   [% target.id %]
930 </Parameters>
931
932 content <<MARC
933 [% target.marc %]
934 MARC
935 ----
936
937
938
939
940
941 ===== Documentation Now Uses the Antora Toolchain =====
942
943 The core Evergreen documentation under the `docs/` subdirectory
944 has been changed to use Antora, a documentation site generator
945 for AsciiDoc. The result of this change is the ability to generate
946 documentation for the `docs.evergreen-ils.org` website that is
947 searchable, easier to maintain, and readily installable on a
948 local Evergreen site if desired.
949
950 For instructions on how to build the documentation, consult
951 the file `README.adoc` under the `docs` directory.
952
953
954
955
956 ==== Cataloging ====
957
958
959
960 ===== Manage Authorities Angular Port =====
961
962 The Cataloging -> Manage Authorities interface has been ported to Angular.
963
964 New functionality includes displaying additional authority data, like create
965 and edit dates, etc.  It's also possible to view the list of linked bib
966 records.
967
968
969
970
971 ===== MARC Batch Edit UI Angular Port =====
972
973 The MARC Batch Edit interface has been ported to Angular.
974
975
976
977
978 ===== Preloaded Audio Icon and Search Format =====
979
980 A new search and icon format called Preloaded Audio now exists
981 using the following atttributes: itemtype i, item form q.  This
982 overlaps with the eAudio format.  If you want to exclude
983 preloaded audio from eAudio there is a script in the Administration
984 notes to exclude it.
985
986
987
988
989 ===== Item Status Allows Pasting a List of Barcodes in csv Format =====
990
991 The item status input box will now accept a string of barcodes, separated with commas, as well as a single barcode.
992
993
994 ===== Fix For "Blank" (Empty String) TCN Source =====
995
996 Previously, it was possible for sparsely-populated MARC records to be
997 saved with a TCN Source of '' (the "empty string"), which caused the
998 901 $b subfield to be void of data, causing errors when exporting
999 MARC records to such third-party programs as Zotero.
1000
1001 A site that has been running without this patch for a long time might want to
1002 check how many bib records they have with an empty tcn_source:
1003
1004 ----
1005 SELECT COUNT(*) FROM biblio.record_entry WHERE deleted IS FALSE AND tcn_source = '';
1006 ----
1007
1008 Sites can fix the problem by issuing UPDATE statements to set the 901$b to a value
1009 like 'AUTOGEN' or 'Unknown'. They should probably do it per-record, however, to
1010 avoid locking the table in a huge commit.
1011
1012
1013 ==== Circulation ====
1014
1015
1016
1017 ===== Booking Capture is now in Angular =====
1018
1019
1020 The interface to capture resources for booking
1021 reservations has been re-implemented in Angular.
1022 Other booking screens, such as Pick Up and
1023 Manage Reservations, now include an option to
1024 re-print capture slips.
1025
1026 System administrators can now edit the template
1027 for booking capture slips in Administration ->
1028 Server administration -> Print templates.
1029
1030
1031
1032
1033
1034 ===== New Fields for AutorenewNotify Event Template =====
1035
1036
1037 Two new fields, `auto_renewal_remaining`, and `total_renewal_remaining` have
1038 been added to the AutorenewNotify action/trigger event code.  They will
1039 report the number of autorenewals and regular renewals, respectively,
1040 remaining on the new circulation if renewed, or on the old circulation
1041 if not renewed.  This is provided as a convenience to avoid possibly
1042 inaccurate math in the template.  You may access them in the template via
1043 the `udata`:
1044
1045 ----
1046 Automatic Renewals Remaining: [% udata.auto_renewal_remaining %]
1047 Total Renewals Remaining: [% udata.total_renewal_remaining %]
1048 ----
1049
1050
1051
1052
1053
1054 ===== Course Materials Module =====
1055
1056 This version of Evergreen includes an optional course materials module.
1057 Like course reserves modules in other library software, this module
1058 makes reserves collections more discoverable and easier to manage.
1059 The module also provides similar functionality for library electronic
1060 resources and open educational resources, whether they have been
1061 cataloged or not.
1062
1063 To enable the course materials module, go to Administration ->
1064 Local Administration -> Library Settings Editor. Find the setting
1065 called "Opt Org Unit into the Course Materials Module".  Set it to
1066 True for the org units that want to use the module.
1067
1068 To use the course materials module effectively, staff will need a
1069 new permission called _MANAGE_RESERVES_.  By default, circulation
1070 administrators will receive this permission.
1071
1072 Staff members with the _MANAGE_RESERVES_ permission can create
1073 courses, attach materials to them, attach users to them, and
1074 archive them when they are no longer needed.
1075
1076 When associating physical materials from the catalog to a
1077 course, staff members can choose temporary item attributes.
1078 These attributes will last until the course is archived or
1079 the item is detached from the course, whichever happens
1080 first.
1081
1082 Staff can also choose to associate electronic resources from
1083 the catalog (which must have a transcendent bib source or
1084 a located URI).  They can also create a brief bib record
1085 to attach to the course from within the course materials
1086 module.
1087
1088 Staff members can attach users to the course.  These users
1089 can have either a public role (e.g. instructor) or private
1090 roles (e.g. student).  The public roles will be displayed
1091 in the OPAC.
1092
1093
1094 If the module is enabled, the OPAC will include a course search
1095 and a course browse option.
1096
1097
1098 Libraries may also want to use this module to manage their
1099 displays.  Each display can be treated as a course, and staff
1100 can attach the items they wish to display to the course along
1101 with the temporary attributes (e.g. a shelving location called
1102 "On display").  When the display is over, staff members can
1103 archive the course.
1104
1105
1106
1107
1108 ===== Hopeless Holds Interface =====
1109
1110 A new interface under Local Administration has been added called
1111 Hopeless Holds.  Using a new Hopeless Date field on hold requests,
1112 this interface gives staff a way to resolve issues with hold
1113 requests that may have become unfulfillable or "hopeless".
1114
1115 The Hopeless Date is set for a given request by the hold targeter
1116 whenever the potential items list for the hold is empty, or when
1117 all potential items have a copy status that has been designated
1118 as Hopeless Prone (a new boolean field on Item Statuses).
1119
1120
1121
1122
1123
1124 ===== In-house use now records workstations =====
1125
1126 Evergreen now records the workstation along with each
1127 in-house use.  Staff can now run reports on which
1128 workstation created which in-house use.
1129
1130
1131
1132
1133 ===== Option to Make Effective Date of Checkin Sticky =====
1134
1135 Adds a checkbox to the Checkin screen that will make the backdate effective until logout.
1136
1137
1138
1139
1140 ===== Purge User Preferred Names =====
1141
1142 The new, user preferred name fields are now set to NULL in the
1143 database when a user account is purged via the staff client or using
1144 the actor.usr_delete function in the database.
1145
1146 To clear the preferred name fields from records that have already been
1147 purged, run the following SQL update:
1148
1149 [source,sql]
1150 ----
1151 UPDATE actor.usr
1152 SET pref_prefix = NULL,
1153     pref_first_given_name = NULL,
1154     pref_second_given_name = NULL,
1155     pref_family_name = NULL,
1156     pref_suffix = NULL,
1157     name_keywords = NULL
1158 WHERE usrname ~ ('^' || id || '-PURGED')
1159 AND NOT active
1160 AND deleted
1161 AND (
1162   pref_prefix IS NOT NULL OR
1163   pref_first_given_name IS NOT NULL OR
1164   pref_second_given_name IS NOT NULL OR
1165   pref_family_name IS NOT NULL OR
1166   pref_suffix IS NOT NULL OR
1167   name_keywords IS NOT NULL
1168 );
1169 ----
1170
1171
1172
1173
1174 ===== Test Notification Method =====
1175
1176 Patrons and staff may request a test notification for a patron's default email address or SMS
1177 number via the Patron Registration interface in the staff client or the OPAC preferences interface. The OPAC_LOGIN permissions are required to
1178 request a notification. When a notification is sent, it will be sent to either the user's default email or default SMS number, depending on what was requested.
1179
1180 ====== Upgrade Notes ======
1181
1182 This feature adds two new rows to action_trigger.event_definition, two into
1183 action_trigger.hook, and six into action_trigger.environment.
1184
1185
1186
1187 ===== Curbside Pickup =====
1188
1189 The Curbside Pickup feature in Evergreen provides an interface to help
1190 facilitate contact-free pickup of library materials.  It provides a dedicated
1191 interface in the staff client for library staff to track and manage curbside
1192 pickup appointments and materials through the various stages of the process.
1193 Staff can also schedule pickup appointments on behalf of patrons.  This feature
1194 also allows patrons to schedule their own curbside pickup appointments in their
1195 OPAC account, as well as inform the library when they have arrived and are
1196 waiting for their materials.  
1197
1198 This is an extension of the existing holds functionality in Evergreen.  A hold
1199 must be placed for an item to be eligible for curbside pickup.  After an item
1200 has been captured for a hold and is available for pickup from the holds shelf,
1201 a curbside pickup appointment can be scheduled to allow the materials to be
1202 obtained in a contact-free transaction.
1203
1204 It can accommodate several different workflows depending on how the library
1205 decides to implement curbside pickup services.  It can help library staff track and
1206 checkout batches of items to be picked up curbside and help facilitate
1207 communication between library staff and patrons.  It does not prescribe nor require a
1208 specific workflow for curbside pickup.
1209
1210 It can be used alongside regular (i.e. inside the library) hold pickup.  Curbside pickup
1211 can be an option offered patrons in addition to regular pickup or it can
1212 be the primary pickup option depending on the library’s current service plan.
1213
1214 It assumes the library will have a staff member assigned to managing curbside
1215 pickup throughout the day.
1216
1217 ====== Library Settings ======
1218
1219 This feature adds the following library settings:
1220
1221  * `circ.curbside`: whether to enable curbside appointments for
1222    picking up available hold requests. This defaults to off.
1223     
1224  * `circ.curbside.granularity`: interval between appointment slots. This
1225    defaults to 15 minutes.
1226  
1227  * `circ.curbside.max_concurrent`: how many appointments to permit per
1228    time slot.  This defaults to 10.
1229
1230  * `circ.curbside.disable_patron_input`: if turned on, display scheduled
1231     and pending appointments in My Account in the public catalog but
1232     do not give the patron the ability to change them from My Account.
1233     This defaults to false, i.e., allowing patrons to modify appointments
1234     from My Account.
1235
1236 ====== Notifications And Action Triggers ======
1237
1238 There are several new patron notice options related to curbside pickup.
1239
1240 When a patron’s holds are marked as ready for pickup in Evergreen, an email or
1241 text/SMS notification can be sent to let them know that curbside pickup is an
1242 option at their library.  This notice can be used to promote this service and
1243 the default message will prompt patrons to log in to their OPAC account to
1244 schedule an appointment or call the library to schedule an appointment.
1245 Notice message is customizable.  The Trigger Event Definitions for this notice
1246 are called:
1247
1248  * Curbside offer Email notification, triggered by CurbsideSlot reactor on a
1249    definition attached to the hold available hook.
1250  * Curbside offer SMS notification, triggered by CurbsideSlot reactor on a
1251    definition attached to the hold available hook.
1252
1253 If a patron has scheduled a curbside pickup appointment, an email or text/SMS
1254 notification can be sent to confirm the appointment.  It will also prompt them
1255 to log into their account or call the library when they have arrived for their
1256 pickup appointment.  The Trigger Event Definitions for this notice are called:
1257
1258  * Curbside confirmation Email notification.
1259  * Curbside confirmation SMS notification.
1260
1261 Patrons can receive an email with a list of the items they checked out.  To
1262 receive this notice patrons must have an email address associated with their
1263 account and the option for “Email checkout receipts by default?” must be
1264 selected in their account.  This is an existing notice in Evergreen that ties
1265 in to the curbside pickup workflow.
1266
1267 There is another action trigger called “Trigger curbside offer events and
1268 create a placeholder for the patron, where applicable”.  This action trigger
1269 does not send a notice to patrons or staff.  It is a silent action behind the
1270 scenes that initiates the curbside offer email or SMS notification described
1271 above.  
1272
1273 ====== Upgrade Notes ======
1274
1275 This feature adds a new OpenSRF service, `open-ils.curbside`, which must be
1276 enabled and registered with the public router for the feature to function.
1277
1278 This feature adds no new staff permissions.
1279
1280
1281
1282 ===== Allow Use of Adjusted Proximity for Age-protection =====
1283
1284 Introduces a new library setting to consult adjusted proximity for age-protected items at hold placement time.
1285
1286
1287
1288
1289 ==== Client ====
1290
1291
1292
1293 ===== New Angular Staff Catalog Default =====
1294
1295 The experimental Angular staff catalog has been promoted to operate as the
1296 default catalog in the browser staff client.  It will be used for all
1297 catalog entry points, except for the menu entries for the traditional
1298 catalog and any links within the traditional catalog.
1299
1300 ====== Menu Changes ======
1301
1302 * Search -> 'Search The Catalog' now searches to new catalog.
1303 * Cataloging -> 'Search The Catalog' now searches to new catalog.
1304 * Cataloging -> 'Search The Catalog (Traditional)' searches the traditional
1305   TPAC-style catalog.
1306 * Staff client splash page -> 'Search the catalog' inline form uses the
1307   new catalog.
1308
1309
1310
1311
1312
1313 ===== Basket To Bucket Action Now Allows Adding To Shared Buckets =====
1314
1315 The Angular staff catalog's 'Add Basket to Bucket' action now
1316 gives the user the option of adding the contents of the basket
1317 to a shared bucket.
1318
1319
1320 ===== Angular catalog recall/force/part holds =====
1321
1322 The Angular staff catalog now has entry points for placing Recall,
1323 Force, and Part-level holds.
1324
1325 For any item-level hold type, the user now has the option to cycle
1326 between Item, Recall, and Force hold types.  The selected type affects
1327 the full batch of holds.
1328
1329 For title-level holds, the user now has the option to select a part
1330 as the hold target for each record in the list.  Part selection is
1331 optional.
1332
1333
1334 ==== OPAC ====
1335
1336
1337 ===== New Bootstrap-based OPAC =====
1338
1339
1340 This release includes a new experimental OPAC with a cleaner, more modern design.
1341
1342 To enable the new OPAC design, open the `/etc/apache2/eg_vhost.conf` file.
1343
1344 Find the following line:
1345
1346 ----
1347 PerlAddVar OILSWebTemplatePath "/openils/var/templates"
1348 ----
1349
1350 Add the following line directly below it:
1351
1352 ----
1353 PerlAddVar OILSWebTemplatePath "/openils/var/templates-bootstrap"
1354 ----
1355
1356 Be sure that, if you have any local customizations, that they are referenced below
1357 this line.  This way, your customizations will still appear in the new OPAC design
1358 (although they may need to be adjusted to better fit the new style).
1359
1360 You can also turn on the new OPAC for some virtual hosts only, by adding it to the
1361 appropriate virtual host entry.  Be sure to reference the OILSWebTemplatePath for
1362 the `templates-bootstrap` directory before referencing any local customizations
1363 used by that virtual host.
1364
1365 To emphasize, the new OPAC skin is considered experimental for 3.6.x. There
1366 are some discrepancies between its functionality and the functionality
1367 present in the original "TPAC" skin. The Evergreen community aims to
1368 resolve those discrepancies and make the Bootstrap skin become the default
1369 OPAC for the Spring 2021 release (though the original TPAC skin will still
1370 be available). Using the Bootstrap skin in production for 3.6 is at your own risk.
1371
1372
1373
1374
1375 ===== Enhanced Public Catalog Printing and Email =====
1376
1377 Evergreen now provides additional functionality for printing and emailing
1378 bibliographic record and holdings information from the catalog, including
1379 from an individual record or from a list or basket.
1380
1381 After selecting Print or Email, the user will be presented with a preview of
1382 the printout or email, respectively.  From the preview users can chose to view
1383 Brief or Full record information (Full includes holdings information) and how
1384 records should be sorted (Author, Title, Publication Date).  Holdings
1385 information can also be limited to a certain library.
1386
1387 Users can be required to log in to their OPAC account to send an email, or this
1388 feature can be configured to allow sending an email without signing in to the
1389 public catalog. If the option to allow emailing without signing in is enabled
1390 (by turning on the new 'Allow record emailing without login' library setting),
1391 user will be asked to solve an arithmetic CAPTCHA in order to send the email.
1392
1393 ====== Administration ======
1394
1395 Two new interfaces have been added to Local Administration: Event Definition
1396 Groups and Event Definition Group Members.  The Event Definition Groups defines
1397 the various groups for Action Trigger Event Definitions -- currently Print
1398 Record(s) or Email Record(s).  The Event Definition Group Members defines the
1399 options within each group -- currently Brief or Full record information.
1400
1401 These two interfaces expose the infrastructure behind the new print and
1402 email functionality and library staff will not need to make any changes to
1403 these interfaces to use the existing print and email options.  The stock print
1404 and email Action Trigger Event Definitions can be cloned and modified to
1405 provide additional bibliographic format options.  After creating the custom
1406 Event Definition, add it to the appropriate Event Definition Group (Print
1407 Record or Email Record) and the new format will be available in the catalog.
1408
1409
1410
1411
1412
1413 ===== Credit card payments using Stripe now on version 3 (Elements) =====
1414
1415 When Stripe payments are enabled, the public catalog will now
1416 use version 3 of the Stripe client library, as well as its
1417 Elements API for building the credit card form.  For
1418 technical reasons, this more easily lends a site to PCI
1419 compliance.
1420
1421 On the staff side, the credit card option is disabled for
1422 Stripe, as that has not been implemented and in the past
1423 would just give an error.
1424
1425
1426
1427
1428 ===== Improve Access to Library Info in OPAC =====
1429
1430 Adds the library's address, email, phone, and website link to the myopac patron account preferences page.
1431
1432
1433
1434
1435 ==== Reports ====
1436
1437
1438
1439 ===== Combined Aged and Active Circulations Source Naming =====
1440
1441 A recent improvement to aid web client data retrieval
1442 speed resulted in a new reports source that was named
1443 nearly identically to a long-existing one, and both
1444 were appearing in the "Core Sources" section of reports.
1445 The newer source has been renamed for clarity and removed
1446 from the core sources to prevent confusion:
1447
1448  * "Combined Aged and Active Circulations" is now named "Combined Aged and Active Circulations (Slim Version)"
1449    and is removed from the Core Sources.
1450  * "Combined Aged and Active Circulations", which contains more linkages to other data sources, remains in the
1451    Core Sources list.
1452
1453
1454
1455
1456 ===== Reports Subtotals =====
1457
1458 Reports now allow group subtotals and grand totals.  By checking the
1459 new "Calculate grouping subtotals" checkbox under "Output Options",
1460 a new unlabeled row or column is created with the subtotals for each
1461 grouping and an unlabeled grand total row or column.
1462
1463 This takes advantage of PostreSQL's built-in ROLLUP feature.  See the
1464 PostgreSQL documentation for details:
1465
1466 https://www.postgresql.org/docs/9.6/queries-table-expressions.html#QUERIES-GROUPING-SETS
1467
1468 An example of a report that could use this new feature is
1469 one based on the Circulation source with the following fields:
1470
1471  * Circulation -> Checkout / Renewal Library -> Short (Policy) Name (Raw Data)
1472  * Circulation -> Checkout Date/Time (Year)
1473  * Circulation -> Shelving Location -> Name (Raw Data)
1474  * Circulation -> Circ ID (Count Distinct)
1475
1476 Turning on the "Calculate grouping subtotals" checkbox would make
1477 the report show subtotals for each combination of
1478 short name, checkout year, and shelving location name.
1479
1480
1481
1482
1483 ==== SIP ====
1484
1485
1486
1487 ===== Allow Username in Patron ID =====
1488
1489 Evergreen now accepts a patron's username in the SIP2 Patron ID field
1490 (AA) in addition to the barcode.  This modification is useful for
1491 vendors, such as Overdrive, who can accept a user's username.
1492 Additionally, it is easier for a patron to find and remember their
1493 username over their barcode.
1494
1495 The new feature determines if the value in the Patron ID field is a
1496 barcode or username by comparing the field value against the
1497 `opac.barcode_regex` setting for the organizational unit of the logged
1498 in SIP2 account as configured in the oils_sip.xml file.  This is
1499 similar to what the OPAC does when a patron logs in.
1500
1501 This feature requires activation.  To activate, uncomment (or add) the
1502 following line in the oils_sip.xml configuration file and change the
1503 value from 'false' to 'true'.
1504
1505 [source,xml]
1506 ----
1507 <option name='support_patron_username_login' value='true' />
1508 ----
1509
1510
1511
1512 === Acknowledgments ===
1513
1514 The Evergreen project would like to acknowledge the following
1515 organizations that commissioned developments in this release of
1516 Evergreen:
1517
1518 * C/W MARS
1519 * Equinox Open Library Initiative
1520 * Evergreen Community Development Initiative
1521 * Georgia Public Library Service
1522 * Indiana State Library
1523 * Linn-Benton Community College
1524 * MassLNC
1525 * NOBLE
1526 * PaILS
1527 * Treasure Valley Community College
1528
1529 We would also like to thank the following individuals who contributed
1530 code, translations, documentation, patches, and tests to this release of
1531 Evergreen:
1532
1533 * John Amundson
1534 * Nelson Appell
1535 * Zavier Banks
1536 * a. bellenir
1537 * Felicia Beaudry
1538 * Jason Boyer
1539 * Dan Briem
1540 * Chris Burton
1541 * Steven Callender
1542 * Lisa Carlucci
1543 * Galen Charlton
1544 * Garry Collum
1545 * Dawn Dale
1546 * Jeff Davis
1547 * Diane Disbro
1548 * Bill Erickson
1549 * Jason Etheridge
1550 * Lynn Floyd
1551 * Ruth Frasur
1552 * Blake Graham-Henderson
1553 * Rogan Hamby
1554 * Elaine Hardy
1555 * Kyle Huckins
1556 * Angela Kilsdonk
1557 * Owen Leonard
1558 * Troy Leonard
1559 * Shula Link
1560 * Tiffany Little
1561 * Mary Llewellyn
1562 * Terran McCanna
1563 * Gina Monti
1564 * Christine Morgan
1565 * Michele Morgan
1566 * Andrea Buntz Neiman
1567 * Jennifer Pringle
1568 * Mike Risher
1569 * Mike Rylander
1570 * Jane Sandberg
1571 * Dan Scott
1572 * Chris Sharp
1573 * Remington Steed
1574 * Jason Stephenson
1575 * Josh Stompro
1576 * Dan Wells
1577 * Jennifer Weston
1578 * Beth Willis
1579 * John Yorio
1580
1581 We also thank the following organizations whose employees contributed
1582 patches:
1583
1584 * Ann Arbor District Library
1585 * BC Libraries Cooperative
1586 * Bibliomation
1587 * Calvin College
1588 * Catalyte
1589 * C/W MARS
1590 * Equinox Open Library Initiative
1591 * Georgia Public Library Service
1592 * Grand Rapids Public Library
1593 * Greater Clark Hills Regional Library System
1594 * Indiana State Library
1595 * Kenton County Public Library
1596 * King County Library System
1597 * Laurentian University
1598 * Linn-Benton Community College
1599 * MOBIUS
1600 * Niagara Falls Public Library
1601 * NOBLE
1602 * Scenic Regional Library
1603 * Sigio
1604 * Washington County (MO) Public Library
1605 * Westchester Library System
1606 * Zivot Design
1607
1608 We regret any omissions.  If a contributor has been inadvertently
1609 missed, please open a bug at http://bugs.launchpad.net/evergreen/
1610 with a correction.
1611