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