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