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