]> git.evergreen-ils.org Git - working/Evergreen.git/blob - docs/RELEASE_NOTES_3_7.adoc
LP 2061136 follow-up: ng lint --fix
[working/Evergreen.git] / docs / RELEASE_NOTES_3_7.adoc
1 = Evergreen 3.7 Release Notes =
2 :toc:
3 :numbered:
4
5
6 == Evergreen 3.7.4 ==
7
8 This release contains bug fixes improving on Evergreen 3.7.3.
9
10 === Bug Fixes ===
11
12 ==== Architecture ====
13
14 * Fixes a memory leak when performing a search of an IDL class that fleshes data from linked classes via open-ils.cstore, open-ils.pcrud, or open-ils.rstore (https://bugs.launchpad.net/evergreen/+bug/1974195[Bug 1974195])
15
16 ==== Cataloging ====
17
18 * Fixes an issue where the Holdings Editor could exhaust drones (https://bugs.launchpad.net/evergreen/+bug/1930617[Bug 1930617])
19
20 ==== Circulation ====
21
22 * Fixes an issue where batch update of due dates in the Items Out tab exhausted drones (https://bugs.launchpad.net/evergreen/+bug/1932203[Bug 1932203])
23
24 ==== Client ====
25
26 * Restores part of the patch to open title links in a new tab on the Hopeless Holds interface from https://bugs.launchpad.net/evergreen/+bug/1909681[Launchpad bug 1909681] that was missed when it was added to release 3.7.3 (https://bugs.launchpad.net/evergreen/+bug/1975861[Bug 1975861])
27
28 === Acknowledgements ===
29
30 We would like to thank the following people who contributed code
31 patches and testing to the 3.7.4 point release of Evergreen:
32
33 * Jason Boyer
34 * Galen Charlton
35 * Jeff Davis
36 * Jason Stephenson
37
38 == Evergreen 3.7.3 ==
39
40 This release contains bug fixes improving on Evergreen 3.7.2.
41
42 === Upgrade notes ===
43
44 The fix for https://bugs.launchpad.net/evergreen/+bug/1939338[Launchpad bug 1939338] modifies the `fm_IDL.xml` file.  To ensure that everything is up-to-date, existing Evergreen sites should run `autogen.sh` after restarting OpenSRF services and before restarting Apache.
45
46 === Bug Fixes ===
47
48 ==== Acquisitions ====
49
50 * Protects real copies from deletion by an acqusitions line item cancel (https://bugs.launchpad.net/evergreen/+bug/1928003[Bug 1928003])
51 * Fixes an issue where EDIWriter.pm was not correctly applying some attribute types (https://bugs.launchpad.net/evergreen/+bug/1930740[Bug 1930740])
52 * Fixes the Providers form to be more friendly to screenreaders (https://bugs.launchpad.net/evergreen/+bug/1950507[Bug 1950507])
53
54 ==== Administration ====
55
56 * Speed improvements to 'Did You Mean' symspell ingest (https://bugs.launchpad.net/evergreen/+bug/1947173[Bug 1947173])
57 * Adds rdeleted parameter to the pingest.pl script (https://bugs.launchpad.net/evergreen/+bug/1862652[Bug 1862652])
58 * Fixes bug where Carousels could only be viewed & edited by their creating user (https://bugs.launchpad.net/evergreen/+bug/1939338[Bug 1939338])
59 * Updates Hopeless Holds interface so Title links open in a new tab (https://bugs.launchpad.net/evergreen/+bug/1909681[Bug 1909681])
60 * Fixes an issue where specific 'opensrf' user is required in oils_ctl.sh and autogen.sh (https://bugs.launchpad.net/evergreen/+bug/1900005[Bug 1900005])
61 * Adds MARC_NAMESPACE to Const.pm (https://bugs.launchpad.net/evergreen/+bug/1930747[Bug 1930747])
62 * Fixes an issue preventng correct MADS processing of field 755 (https://bugs.launchpad.net/evergreen/+bug/1800871[Bug 1800871])
63
64
65 ==== API ====
66
67 * Makes changes to the eBook API to support Overdrive's updated Checkouts API (https://bugs.launchpad.net/evergreen/+bug/1951021[Bug 1951021])
68
69 ==== Architecture ====
70
71 * Fixes typo in fm_idl.xml (https://bugs.launchpad.net/evergreen/+bug/1957840[Bug 1957840])
72 * Fixes issue where loading records with located URIs deleted and recreated call_numbers (https://bugs.launchpad.net/evergreen/+bug/1482757[Bug 1482757])
73 * Fixes an issue where retrieving a title via SuperCat can crash if the title has a serial unit with statcats (https://bugs.launchpad.net/evergreen/+bug/1970486[Bug 1970486])
74
75
76
77 ==== Catalog ==== 
78
79 * Fixes an issue in the traditional staff catalog where PLACE_UNFILLABLE_HOLD override fails if there are no items available (https://bugs.launchpad.net/evergreen/+bug/1906842[Bug 1906842])
80 * Fixes an issue in the Patron Search from Place Holds modal where barcode search was failing (https://bugs.launchpad.net/evergreen/+bug/1955927[Bug 1955927])
81 * Restores Hold links in the staff catalog detail page that were broken by a Chrome update (https://bugs.launchpad.net/evergreen/+bug/1964019[Bug 1964019])
82 * Fixes an issue in the traditional staff catalog where user settings wouldn't load in the Place Holds interface (https://bugs.launchpad.net/evergreen/+bug/1939426[Bug 1939426])
83 * Fixes an issue in the Angular staff catalog where monograph parts were sorting incorrectly in the Place Holds interface (https://bugs.launchpad.net/evergreen/+bug/1965161[Bug 1965161])
84 * Adds default columns in the Angular staff catalog View Holds tab (https://bugs.launchpad.net/evergreen/+bug/1907123[Bug 1907123])
85 * Excludes empty bibs with transcendent=f from location limited staff searches (https://bugs.launchpad.net/evergreen/+bug/1746800[Bug 1746800])
86 * Fixes issue in the traditional staff catalog where Patron Barcode Completion didn't populate correctly in the Place Holds interface (https://bugs.launchpad.net/evergreen/+bug/1965317[Bug 1965317])
87
88
89 ==== Cataloging ====
90
91 * Fixes a regression where owning libraries were not indicated in the Holdings View dropdown (https://bugs.launchpad.net/evergreen/+bug/1739277[Bug 1739277])
92 * Fixes an issue where batch deletes from an item bucket exhausted drones (https://bugs.launchpad.net/evergreen/+bug/1949910[Bug 1949910])
93 * Fixes an issue where the Holdings View showed incorrect item counts (https://bugs.launchpad.net/evergreen/+bug/1933275[Bug 1933275])
94 * Adds Author field to Item Buckets (https://bugs.launchpad.net/evergreen/+bug/1800474[Bug 1800474])
95 * Fixes an issue where batch removal of items from an item bucket exhausted drones (https://bugs.launchpad.net/evergreen/+bug/1968082[Bug 1968082])
96
97
98 ==== Circulation ====
99
100 * Adjust to Zero on billings now closes the associated transaction and sets item status as Lost & Paid (https://bugs.launchpad.net/evergreen/+bug/1830089[Bug 1830089])
101 * Excludes child organizational units when fleshing standing penalties (https://bugs.launchpad.net/evergreen/+bug/1959461[Bug 1959461])
102 * Fixes invalidate email regression (https://bugs.launchpad.net/evergreen/+bug/1950826[Bug 1950826])
103 * Fixes a bug where Patron Search could cause the browser to become unresponsive (https://bugs.launchpad.net/evergreen/+bug/1959904[Bug 1959904])
104
105 ==== Client ====
106
107 * Improves filtering on egBasicComboBox typeaheads (https://bugs.launchpad.net/evergreen/+bug/1819233[Bug 1819233])
108 * Corrects print template data field names for Items Out template (https://bugs.launchpad.net/evergreen/+bug/1766726[Bug 1766726])
109 * Implements batch method for adding users to a bucket (https://bugs.launchpad.net/evergreen/+bug/1946531[Bug 1946531])
110
111 ==== Course Materials ====
112
113 * Adds owning library check to Course Terms uniqueness constraint (https://bugs.launchpad.net/evergreen/+bug/1942645[LP1942645])
114 * Fixes course search issue (https://bugs.launchpad.net/evergreen/+bug/1913340[Bug 1913340])
115
116 ==== Documentation ====
117
118 * Updates to Print Template Export documentation (https://bugs.launchpad.net/evergreen/+bug/1929592[Bug 1929592])
119 * Updates to Transit List documentation
120 * Updates to Workstation Admin documentation
121 * Updates to MARC Batch Import documentation
122 * Updates to Barcode Completion documentation
123 * Added Course Materials documentation
124 * Updates to Holds documentation
125 * Updates to z39.50 documentation
126 * Updates to OPAC Lists documentation
127 * Added relevant Conference videos to some documentation pages
128 * Updates to Batch Search documentation
129 * Updates to Using the Public Access Catalog documentation
130 * Added Advanced Authorities documentation (https://bugs.launchpad.net/evergreen/+bug/1944205[Bug 1944205])
131
132 ==== OPAC ====
133
134 * Fixes an issue in the Bootstrap OPAC where changing a branch did not clear the shelving location list (https://bugs.launchpad.net/evergreen/+bug/1946019[Bug 1946019])
135 * Restores line breaks in Patron Messages (https://bugs.launchpad.net/evergreen/+bug/1927990[Bug 1927990])
136 * Fixes an issue where some electronic resource links would not display in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1950394[Bug 1950394])
137 * Fixes an issue in the Bootstrap OPAC where the 'More Details' button was not translatable (https://bugs.launchpad.net/evergreen/+bug/1919494[Bug 1919494])
138 * Fixes an issue where a hold in the status "Hold Shelf Delay" displayed blank in the OPAC (https://bugs.launchpad.net/evergreen/+bug/1959405[Bug 1959405])
139 * Fixes Bootstrap OPAC 'More Details' button so it toggles to 'Less Details' when clicked (https://bugs.launchpad.net/evergreen/+bug/1920039[Bug 1920039])
140 * Fixes circ history CSV export in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1954923[Bug 1954923])
141 * Fixes color contrast on Bootstrap OPAC forms (https://bugs.launchpad.net/evergreen/+bug/1942240[Bug 1942240])
142 * Fixes formatting in Bootstrap OPAC My Lists (https://bugs.launchpad.net/evergreen/+bug/1907863[Bug 1907863])
143
144
145 ==== Serials ====
146
147 * Fixes an issue where subscription manager fetched too many parallel requests (https://bugs.launchpad.net/evergreen/+bug/1949389[Bug 1949389])
148
149
150 === Acknowledgements ===
151
152 We would like to thank the following individuals who contributed code,
153 testing and documentation patches to the 3.7.3 point release of Evergreen:
154
155 * MaryAnn Alexander
156 * John Amundson
157 * Jason Boyer
158 * Dan Briem
159 * Jennifer Bruch
160 * Christine Burns
161 * Steve Callender
162 * Galen Charlton
163 * Garry Collum
164 * Jeff Davis
165 * Martha Driscoll
166 * Bill Erickson
167 * Jason Etheridge
168 * Lynn Floyd
169 * Ruth Frasur
170 * Jeff Godin
171 * Blake Graham Henderson
172 * Elaine Hardy
173 * Kyle Huckins
174 * Tiffany Little
175 * Mary Llewellyn
176 * Terran McCanna
177 * Gina Monti 
178 * Michele Morgan
179 * Andrea Buntz Neiman
180 * Jennifer Pringle
181 * Mike Risher
182 * Mike Rylander
183 * Jane Sandberg
184 * Chris Sharp
185 * Jason Stephenson
186 * Josh Stompro
187 * Jennifer Weston
188 * Beth Willis
189 * Jessica Woolford
190
191
192
193
194
195
196 == Evergreen 3.7.2 ==
197
198 This release contains bug fixes improving on Evergreen 3.7.1.
199
200 === Upgrade notes ===
201
202 The fix for https://bugs.launchpad.net/evergreen/+bug/1450519[Launchpad bug 1450519] modifies the `fm_IDL.xml` file.  To ensure that everything is up-to-date, existing Evergreen sites should run `autogen.sh` after restarting OpenSRF services and before restarting Apache.
203
204 In reference to the fix for https://bugs.launchpad.net/evergreen/+bug/1944765[Launchpad bug 1944765], existing Evergreen systems on Debian and Ubuntu should do the following to ensure that mod_headers is active:
205
206 ----
207 sudo a2enmod headers
208 sudo systemctl restart apache2
209 ----
210
211 === Bug Fixes ===
212
213 ==== Acquisitions ====
214
215 * Fixes column header in Line Item Search (https://bugs.launchpad.net/evergreen/+bug/1906826[LP1906826])
216
217 ==== Administration ====
218
219 * Adds automated tests for ISBN-13 starting with 979 (https://bugs.launchpad.net/evergreen/+bug/1857060[LP1857060])
220 * Adds circ.collections.exempt user setting to seed data (https://bugs.launchpad.net/evergreen/+bug/1937299[LP1937299])
221 * Adds CPAN module prerequisites for the 'Did You Mean' search suggestions feature (https://bugs.launchpad.net/evergreen/+bug/1936662[LP1936662])
222 * Adds Library Setting to 'Did You Mean' baseline (https://bugs.launchpad.net/evergreen/+bug/1931167[LP1931167])
223 * Restricts access to library setting history for unauthorized users (https://bugs.launchpad.net/evergreen/+bug/1450519[LP1450519])
224 * Fixes filter errors on secondary admin pages (https://bugs.launchpad.net/evergreen/+bug/1919483[LP1919483])
225 * Fixes an issue with the Default Net Access Level Library Setting (https://bugs.launchpad.net/evergreen/+bug/1802682[LP1802682])
226 * Additional query optimization for 'Did You Mean' (https://bugs.launchpad.net/evergreen/+bug/1931162[LP1931162])
227 * Fixes an issue with Action Triggers that have a repeat delay (https://bugs.launchpad.net/evergreen/+bug/1823983[LP1823983])
228 * Fixes an issue with the Action Trigger ApplyPatronPenalty reactor (https://bugs.launchpad.net/evergreen/+bug/1859502[LP1859502])
229 * Enables Apache module mod_headers by default (https://bugs.launchpad.net/evergreen/+bug/1944765[LP1944765])
230 * Fixes typo in three Library Settings descriptions https://bugs.launchpad.net/evergreen/+bug/1826759[LP1826759])
231
232 ==== Architecture ====
233
234 * Fixes datatype issues that can cause unexpected behavior (https://bugs.launchpad.net/evergreen/+bug/1923076[LP1923076])
235 * Fixes an issue running "npm install" for the Angular JS web client (https://bugs.launchpad.net/evergreen/+bug/1937875[LP1937875])
236 * Fixes typo in pingest.pl help command (https://bugs.launchpad.net/evergreen/+bug/1924562[LP1924562])
237
238 ==== Booking ====
239
240 * Adds new Booking permissions to appropriate Permission Groups (https://bugs.launchpad.net/evergreen/+bug/1910891[LP1910891])
241 * Fixes an issue where Booking Resource Type box was not populating (https://bugs.launchpad.net/evergreen/+bug/1916949[LP1916949])
242
243 ==== Catalog ==== 
244
245 * Adds "Show more details" button & workstation setting for the Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/1908722[LP1908722])
246 * Adds call number display Staff Catalog search results (https://bugs.launchpad.net/evergreen/+bug/1910808[LP1910808])
247 * Restores preferred library holdings count in search results (https://bugs.launchpad.net/evergreen/+bug/1913807[LP1913807])
248 * Fixes duplicate circ mod display in embedded OPAC view (https://bugs.launchpad.net/evergreen/+bug/1930308[LP1930308])
249 * Adds jump to details on one hit support to the Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/1912852[LP1912852])
250 * Adds a Patron View button to the Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/1910452[LP1910452])
251 * Fixes display of Age Hold Protection in the Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/1908614[LP1908614])
252 * Adds OPAC visible to Holdings View in the Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/1917338[LP1917338])
253 * Fixes 'copy queue to bucket' function in Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/1928275[LP1929275])
254 * Fixes an issue where the holds page would refresh before a batch holds cancel was complete (https://bugs.launchpad.net/evergreen/+bug/1911023[LP1911023])
255 * 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])
256
257
258 ==== Cataloging ====
259
260 * 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])
261 * Adds SRCE fixed field to Angular MARC Editor (https://bugs.launchpad.net/evergreen/+bug/1718782[LP1718782])
262 * Fixes the Delete Queue link on the Queue Details Page in MARC Batch Import/Export (https://bugs.launchpad.net/evergreen/+bug/1934184[LP1934184])
263 * Fixes a text error in the Load Shared Bucket modals (https://bugs.launchpad.net/evergreen/+bug/1929839[LP1929839])
264 * Fixes an issue that allows precat merges (https://bugs.launchpad.net/evergreen/+bug/827356[LP827356])
265 * Fixes a TCN/ID mismatch in the z39.50 interface (https://bugs.launchpad.net/evergreen/+bug/1786971[LP1786971])
266 * Fixes an issue where import operations could fail (https://bugs.launchpad.net/evergreen/+bug/1941764[LP1941764])
267 * Fixes an issue where authority records with long subfields would not load (https://bugs.launchpad.net/evergreen/+bug/1922567[LP1922567])
268 * Fixes excess openils.actor calls in Add to Item Bucket (https://bugs.launchpad.net/evergreen/+bug/1932051[LP1932051])
269
270 ==== Circulation ====
271
272 * Fixes excess pcrud calls in barcode lookup (https://bugs.launchpad.net/evergreen/+bug/1929136[LP1929136])
273 * Fixes an issue where batch checkin from Item Status caused rapid-fire popups (https://bugs.launchpad.net/evergreen/+bug/1742553[LP1742553])
274 * Fixes an issue where self-check audio alerts were failing (https://bugs.launchpad.net/evergreen/+bug/1815968[LP1815968])
275 * Fixes an issue where removing patrons from buckets caused too many simultaneous requests (https://bugs.launchpad.net/evergreen/+bug/1932358[LP1932358])
276 * Adds missing patron data to Holds for Patron print template (https://bugs.launchpad.net/evergreen/+bug/1926971[LP1926971])
277 * Fixes incorrect hints for fields in the Checkout print template (https://bugs.launchpad.net/evergreen/+bug/1901028[LP1901028])
278 * Fixes a timezone issue with staff scheduled Curbside appointments (https://bugs.launchpad.net/evergreen/+bug/1917396[LP1917396])
279 * 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])
280 * Fixes sorting of SMS Carriers when editing an existing hold (https://bugs.launchpad.net/evergreen/+bug/1809157[LP1809157])
281 * Fixes messages in the patron Offline Block List (https://bugs.launchpad.net/evergreen/+bug/1752356[LP1752356])
282 * Fixes an issue where cloned patron addresses were set to Pending (https://bugs.launchpad.net/evergreen/+bug/1821804[LP1821804])
283 * Fixes an issue with retargeting when a hold's pickup library is changed (https://bugs.launchpad.net/evergreen/+bug/1866667[LP1866667])
284 * Fixes an issue that allowed Hold Activation Dates in the past in the Staff Catalog (https://bugs.launchpad.net/evergreen/+bug/1903357[LP1903357])
285 * Fixes patron name display to use preferred name in the Staff Catalog Place Hold screen (https://bugs.launchpad.net/evergreen/+bug/1924621[LP1924621])
286 * Fixes display of legacy circulations in circ summary (https://bugs.launchpad.net/evergreen/+bug/1942920[LP1942920])
287
288
289 ==== Client ====
290
291 * Fixes display issue in Angular grids (https://bugs.launchpad.net/evergreen/+bug/1916754[LP1916754])
292 * Restores the Circulation History by Year information in Item Status (https://bugs.launchpad.net/evergreen/+bug/1743611[LP1743611]) 
293 * Fixes a display issue with formerly precataloged items (https://bugs.launchpad.net/evergreen/+bug/1904754[LP1904754])
294 * Fixes an issue that allowed logins by expired accounts (https://bugs.launchpad.net/evergreen/+bug/1844121[LP1844121])
295 * Adds missing workstation types for Carousels (https://bugs.launchpad.net/evergreen/+bug/1920253[LP1920253])
296 * Adds caching for workstation & user settings values (https://bugs.launchpad.net/evergreen/+bug/1938729[LP1939729])
297
298 ==== Course Materials ====
299
300 * Fixes an issue where a blank course section number impacted OPAC display (https://bugs.launchpad.net/evergreen/+bug/1913221[LP1913221])
301 * Adds circulation modifier to OPAC Course Details page (https://bugs.launchpad.net/evergreen/+bug/1935693[LP1935693])
302 * Adds an Org Unit selector to the Course List (https://bugs.launchpad.net/evergreen/+bug/1905068[LP1905068])
303 * Fixes the owning library default when adding a new course (https://bugs.launchpad.net/evergreen/+bug/1917809[LP1917809])
304 * Fixes an issue that allowed unreasonable Course-Term mappings (https://bugs.launchpad.net/evergreen/+bug/1906058[LP1906058])
305
306 ==== Documentation ====
307
308 * Updates the Glossary & Apache Rewrite Tricks docs to define 'TLD' (https://bugs.launchpad.net/evergreen/+bug/1837753[LP1837753])
309 * Updates Address Alert docs for web client (https://bugs.launchpad.net/evergreen/+bug/1776977[LP1776977])
310 * Updates to library settings docs & filename corrections (https://git.evergreen-ils.org/?p=Evergreen.git;a=commit;h=c6e50ae7aca514a3b3db441df29162680279e0fb[commit])
311 * Updated Shelving Locations docs for Angular (https://bugs.launchpad.net/evergreen/+bug/1901758[LP1901758])
312 * Fixes to 3.7 Report Sources doc (https://git.evergreen-ils.org/?p=Evergreen.git;a=commit;h=efe8d20613f65c8a568f66f3cd2e334fe12e4341[commit])
313
314 ==== OPAC ====
315
316 * Fixes alignment issue on mobile devices (https://bugs.launchpad.net/evergreen/+bug/1928005[LP1928005])
317 * Adds Curbside Appointments to Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1895737[LP1895737])
318 * Adds 'Limit to Available' in Bootstrap OPAC copy table (https://bugs.launchpad.net/evergreen/+bug/1908612[LP1908612])
319 * Fixes an issue where the Login box was not translateable (https://bugs.launchpad.net/evergreen/+bug/1919497[LP1919497])
320 * Fixes alignment issue with available and holds copy counts in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1933125[LP1933125])
321 * Makes the Bootstrap OPAC self registration form more responsive (https://bugs.launchpad.net/evergreen/+bug/1920273[LP1920273])
322 * Adds missing title and descripton for Shared Lists in the Bootstrap OPAC (https://bugs.launchpad.net/evergreen/+bug/1909584[LP1909584])
323 * Fixes hold failures due to SMS notification selection errors (https://bugs.launchpad.net/evergreen/+bug/1933381[LP1933381])
324 * Fixes tabbing & focus in Bootstrap OPAC login form 
325 (https://bugs.launchpad.net/evergreen/+bug/1909144[LP1909144])
326 * Replaces javascript onfocus/onblur with HTML5 placeholder in KPAC (https://bugs.launchpad.net/evergreen/+bug/1834258[LP1834258])
327
328
329 ==== SIP ====
330
331 * 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])
332
333 === Acknowledgements ===
334
335 We would like to thank the following individuals who contributed code,
336 testing and documentation patches to the 3.7.2 point release of Evergreen:
337
338 * John Amundson
339 * Adam Bowling
340 * Jason Boyer
341 * Dan Briem
342 * Christine Burns
343 * Eva Cerninakova
344 * Galen Charlton
345 * Garry Collum
346 * Dawn Dale
347 * Jeff Davis
348 * Bill Erickson
349 * Jason Etheridge
350 * Lynn Floyd
351 * Ruth Frasur
352 * Rogan Hamby
353 * Elaine Hardy
354 * Shula Link
355 * Tiffany Little
356 * Mary Llewellyn
357 * Terran McCanna
358 * Gina Monti
359 * Christine Morgan
360 * Michele Morgan
361 * Andrea Buntz Neiman
362 * Jennifer Pringle
363 * Mike Risher
364 * Erica Rohlfs
365 * Mike Rylander
366 * Jane Sandberg
367 * Chris Sharp
368 * Jason Stephenson
369 * Josh Stompro
370 * Jennifer Weston
371 * Beth Willis
372 * Jessica Woolford
373
374
375
376
377 == Evergreen  3.7.1 ==
378
379 This release contains bug fixes improving on Evergreen 3.7.0.
380
381
382 === Bug Fixes ===
383
384 ==== Acquisitions ====
385
386 * Acq PO Search cancel reason column shows description (https://bugs.launchpad.net/bugs/1906825[Bug 1906825])
387 * Date columns in Acq Search now also show time (https://bugs.launchpad.net/bugs/1912097[Bug 1912097])
388
389 ==== Administration ====
390
391 * Fixes an issue with editing carousels (https://bugs.launchpad.net/bugs/1879769[Bug 1879769])
392 * Carousel admin grid now has a link to edit the relevant bucket (https://bugs.launchpad.net/bugs/1901893[Bug 1901893])
393 * The Active Column in SMS Carrier administration now displays properly (https://bugs.launchpad.net/bugs/1873539[Bug 1873539])
394 * Fixes upgrade script for Enhanced Print/Email (https://bugs.launchpad.net/bugs/1905091[Bug 1905091])
395 * Cleans up numerous Perl warnings in logs (https://bugs.launchpad.net/bugs/1895660[Bug 1895660])
396
397
398 ==== Catalog ====
399
400 * Fixes an issue displaying highlighting in traditional and bootstrap catalogue (https://bugs.launchpad.net/bugs/1923225[Bug 1923225])
401 * Fixes an issue displaying works with the word "hidden" in the title (https://bugs.launchpad.net/bugs/1930933[Bug 1930933])
402 * Bootstrap OPAC: Simple Selector for Lang now works in Advanced Search (https://bugs.launchpad.net/bugs/1920042[Bug 1920042])
403 * Bootstrap OPAC: My account summary now displays ebook references according to config file (https://bugs.launchpad.net/bugs/1910288[Bug 1910288])
404 * Bootstrap OPAC: Item tags no longer display as separate copies on an x-small screen (https://bugs.launchpad.net/bugs/1916936[Bug 1916936])
405 * Fixes nesting issues on the Bootstrap OPAC Record Detail Page (https://bugs.launchpad.net/bugs/1901710[Bug 1901710])
406 * Opac SMS and Carrier Fields display according to OU Setting when Editing a Hold (https://bugs.launchpad.net/bugs/1902302[Bug 1902302])
407 * Better controls for collapsing and expanding the staff catalog search form (https://bugs.launchpad.net/bugs/1913338[Bug 1913338])
408
409 ==== Cataloging ====
410
411 * Angular Catalog: "Edit" link no longer ignores UPDATE_COPY perm (https://bugs.launchpad.net/bugs/1920815[Bug 1920815])
412 * Angular catalog: fixes an issue with metarecord search (https://bugs.launchpad.net/bugs/1930088[Bug 1930088])
413 * Angular staff catalog now displays e-resource links (https://bugs.launchpad.net/bugs/1881607[Bug 1881607])
414 * Record bucket Batch Edit now navigates to the Angular batch editor (https://bugs.launchpad.net/bugs/1926310[Bug 1926310])
415 * Angular Catalog: Shelving locations assigned to the top level OU now display in list (https://bugs.launchpad.net/bugs/1927527[Bug 1927527])
416 * Add to Carousel added back to the Other Actions menu in the Bib Record (https://bugs.launchpad.net/bugs/1922120[Bug 1922120])
417 * Makes terminology more consistent in Angular Catalog (https://bugs.launchpad.net/bugs/1925725[Bug 1925725])
418
419
420 ==== Circulation ====
421
422 * Preferred Name is now the prominent display name (https://bugs.launchpad.net/bugs/1924185[Bug 1924185])
423 * Unchanged workstation settings are no longer re-applied on every checkin (https://bugs.launchpad.net/bugs/1918362[Bug 1918362])
424 * Adds accessible field labels in patron search and edit (https://bugs.launchpad.net/bugs/1615800[Bug 1615800])
425 * Fixes an issue with the embedded "Place a hold" catalog in the checkout interface (https://bugs.launchpad.net/bugs/1887876[Bug 1887876])
426 * Angular Catalog: Hold status in View Holds is now saved (https://bugs.launchpad.net/bugs/1917495[Bug 1917495])
427 * Angular Staff Catalog: Hold Pickup Library no longer sometimes empty (https://bugs.launchpad.net/bugs/1917944[Bug 1917944])
428 * Fixes an issue with the Angular catalog view holds sort by patron barcode (https://bugs.launchpad.net/bugs/1928684[Bug 1928684])
429 * Staff catalog hold detail page now supports hold notes/notifications (https://bugs.launchpad.net/bugs/1910145[Bug 1910145])
430
431 ==== Client ====
432
433 * Angular grid column field picker has a better sort order (https://bugs.launchpad.net/bugs/1891699[Bug 1891699])
434 * Angular grids now support shift-click multi-row selection (https://bugs.launchpad.net/bugs/1911238[Bug 1911238])
435 * Fixes an issue with multi-word queries in the splash page catalog search (https://bugs.launchpad.net/bugs/1892435[Bug 1892435])
436
437 ==== Database ====
438
439 * Evergreen now uses the builtin array_remove() function rather than its own custom version (https://bugs.launchpad.net/bugs/1778955[Bug 1778955])
440 * Adds seed data for the eg.orgselect.hopeless.wide_holds setting (https://bugs.launchpad.net/bugs/1895738[Bug 1895738])
441
442
443 ==== Documentation ====
444
445 * Adds documentation on how to contribute Documentation (https://bugs.launchpad.net/bugs/1927534[Bug 1927534])
446 * Adds IDL acronym to the glossary (https://bugs.launchpad.net/bugs/1857917[Bug 1857917])
447 * 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])
448 * Improves example for LDAP authentication (https://bugs.launchpad.net/bugs/1901940[Bug 1901940])
449 * Adds documentation about patron with negative balances (https://bugs.launchpad.net/bugs/1929467[Bug 1929467])
450
451 === Acknowledgements ===
452
453 We would like to thank the following individuals who contributed code,
454 testing and documentation patches to the 3.7.1 point release of Evergreen:
455
456
457 * Jason Boyer
458 * Dan Briem
459 * Galen Charlton
460 * Garry Collum
461 * Jeff Davis
462 * Bill Erickson
463 * Jason Etheridge
464 * Lynn Floyd
465 * Blake Graham Henderson
466 * Rogan Hamby
467 * Elaine Hardy
468 * Kyle Huckins
469 * Rosie Le Faive
470 * Tiffany Little
471 * Mary Llewellyn
472 * Katie G. Martin
473 * Terran McCanna
474 * Gina Monti
475 * Michele Morgan
476 * Andrea Buntz Neiman
477 * Mike Risher
478 * Mike Rylander
479 * Jane Sandberg
480 * Chris Sharp
481 * Chrisy Schroth
482 * Jason Stephenson
483 * Stephen Wills
484
485 == Evergreen  3.7.0 ==
486
487 === Upgrade notes ===
488
489 ==== Database Upgrade Procedure ====
490
491 The database schema upgrade for Evergreen 3.7 has more steps than normal. The general
492 procedure, assuming Evergreen 3.6.2 as the starting point, is:
493
494 . Run the main 3.6.2 => to 3.7 schema update script from the Evergreen source directory,
495 supplying database connection parameters as needed:
496 +
497 [source,sh]
498 ----
499 psql -f Open-ILS/src/sql/Pg/version-upgrade/3.6.2-3.7.0-upgrade-db.sql 2>&1 | tee 3.6.2-3.7.0-upgrade-db.log
500 ----
501 [start=2]
502 . Create and ingest search suggestions:
503 .. Run the following from `psql` to export the strings to files:
504 +
505 [source,sql]
506 ----
507 \a
508 \t
509
510 \o title
511 select value from metabib.title_field_entry;
512 \o author
513 select value from metabib.author_field_entry;
514 \o subject
515 select value from metabib.subject_field_entry;
516 \o series
517 select value from metabib.series_field_entry;
518 \o identifier 
519 select value from metabib.identifier_field_entry;
520 \o keyword
521 select value from metabib.keyword_field_entry;
522
523 \o
524 \a
525 \t
526 ----
527 [start=2]
528 .. From the command line, convert the exported words into SQL scripts to load into the database.
529 This step assumes that you are at the top of the Evergreen source tree.
530 +
531 [source,sh]
532 ----
533 $ ./Open-ILS/src/support-scripts/symspell-sideload.pl title > title.sql
534 $ ./Open-ILS/src/support-scripts/symspell-sideload.pl author > author.sql
535 $ ./Open-ILS/src/support-scripts/symspell-sideload.pl subject > subject.sql
536 $ ./Open-ILS/src/support-scripts/symspell-sideload.pl series > series.sql
537 $ ,/Open-ILS/src/support-scripts/symspell-sideload.pl identifier > identifier.sql
538 $ ./Open-ILS/src/support-scripts/symspell-sideload.pl keyword > keyword.sql
539 ----
540 [start=3]
541 .. Back in `psql`, import the suggestions. This step can take several hours in a large databases,
542 but the `\i $FILE.sql`` steps can be run in parallel.
543 +
544 [source,sql]
545 ----
546 ALTER TABLE search.symspell_dictionary SET UNLOGGED;
547 TRUNCATE search.symspell_dictionary;
548
549 \i identifier.sql
550 \i author.sql
551 \i title.sql
552 \i subject.sql
553 \i series.sql
554 \i keyword.sql
555
556 CLUSTER search.symspell_dictionary USING symspell_dictionary_pkey;
557 REINDEX TABLE search.symspell_dictionary;
558 ALTER TABLE search.symspell_dictionary SET LOGGED;
559 VACUUM ANALYZE search.symspell_dictionary;
560
561 DROP TABLE search.symspell_dictionary_partial_title;
562 DROP TABLE search.symspell_dictionary_partial_author;
563 DROP TABLE search.symspell_dictionary_partial_subject;
564 DROP TABLE search.symspell_dictionary_partial_series;
565 DROP TABLE search.symspell_dictionary_partial_identifier;
566 DROP TABLE search.symspell_dictionary_partial_keyword;
567 ----
568 [start=3]
569 . (optional) Apply the new opt-in setting for overdue and preduce notices.
570 The following query will set the circ.default_overdue_notices_enabled
571 user setting to true (the default value) for all existing users,
572 ensuring they continue to receive overdue/predue emails.
573 +
574 [source,sql]
575 ----
576 INSERT INTO actor.usr_setting (usr, name, value)
577 SELECT
578 id,
579 circ.default_overdue_notices_enabled,
580 true
581 FROM actor.usr;
582 ----
583 +
584 The following query will add the circ.default_overdue_notices_enabled
585 user setting as an opt-in setting for all action triggers that send
586 emails based on a circ being due (unless another opt-in setting is
587 already in use).
588 +
589 [source,sql]
590 ----
591 UPDATE action_trigger.event_definition
592 SET opt_in_setting = circ.default_overdue_notices_enabled,
593 usr_field = usr
594 WHERE opt_in_setting IS NULL
595 AND hook = checkout.due
596 AND reactor = SendEmail;
597 ----
598 Evergreen admins who wish to use the new setting should run both of
599 the above queries. Admins who do not wish to use it, or who are
600 already using a custom opt-in setting of their own, do not need to
601 do anything.
602 [start=4]
603 . Perform a `VACUUM ANALYZE` of the following tables using `psql`:
604 +
605 [source,sql]
606 ----
607 VACUUM ANALYZE authority.full_rec;
608 VACUUM ANALYZE authority.simple_heading;
609 VACUUM ANALYZE metabib.identifier_field_entry;
610 VACUUM ANALYZE metabib.combined_identifier_field_entry;
611 VACUUM ANALYZE metabib.title_field_entry;
612 VACUUM ANALYZE metabib.combined_title_field_entry;
613 VACUUM ANALYZE metabib.author_field_entry;
614 VACUUM ANALYZE metabib.combined_author_field_entry;
615 VACUUM ANALYZE metabib.subject_field_entry;
616 VACUUM ANALYZE metabib.combined_subject_field_entry;
617 VACUUM ANALYZE metabib.keyword_field_entry;
618 VACUUM ANALYZE metabib.combined_keyword_field_entry;
619 VACUUM ANALYZE metabib.series_field_entry;
620 VACUUM ANALYZE metabib.combined_series_field_entry;
621 VACUUM ANALYZE metabib.real_full_rec;
622 ----
623
624 ==== New Seed Data ====
625
626
627 ===== New Permissions =====
628
629 * Administer geographic location services (`ADMIN_GEOLOCATION_SERVICES`)
630 * Administer library groups (`ADMIN_LIBRARY_GROUPS`)
631 * Manage batch (subscription) hold events (`MANAGE_HOLD_GROUPS`)
632 * Modify patron SSO settings (`SSO_ADMIN`)
633 * View geographic location services (`VIEW_GEOLOCATION_SERVICES`)
634
635 ===== New Global Flags =====
636
637 * Block the ability of expired user with the STAFF_LOGIN permission to log into Evergreen (`auth.block_expired_staff_login`)
638 * Offer use of geographic location services in the public catalog (`opac.use_geolocation`)
639
640 ===== New Internal Flags =====
641
642 * Maximum search result count at which spelling suggestions may be offered (`opac.did_you_mean.low_result_threshold`)
643
644 ===== New Library Settings =====
645
646 * Allow both Shibboleth and native OPAC authentication (`opac.login.shib_sso.allow_native`)
647 * Allow renewal request if renewal recipient privileges have expired (`circ.renew.expired_patron_allow`)
648 * Enable Holdings Sort by Geographic Proximity ('opac.holdings_sort_by_geographic_proximity`)
649 * Enable Shibboleth SSO for the OPAC (`opac.login.shib_sso.enable`)
650 * Evergreen SSO matchpoint (`opac.login.shib_sso.evergreen_matchpoint`)
651 * Geographic Location Service to use for Addresses (`opac.geographic_location_service_for_address`)
652 * Keyboard distance score weighting in OPAC spelling suggestions (`search.symspell.keyboard_distance.weight`)
653 * Log out of the Shibboleth IdP (`opac.login.shib_sso.logout`)
654 * Minimum required uses of a spelling suggestions that may be offered (`search.symspell.min_suggestion_use_threshold`)
655 * Pg_trgm score weighting in OPAC spelling suggestions (`search.symspell.pg_trgm.weight`)
656 * Randomize group hold order (`holds.subscription.randomize`)
657 * Shibboleth SSO Entity ID (`opac.login.shib_sso.entityId`)
658 * Shibboleth SSO matchpoint (`opac.login.shib_sso.shib_matchpoint`)
659 * Show Geographic Proximity in Miles (`opac.geographic_proximity_in_miles`)
660 * Soundex score weighting in OPAC spelling suggestions (`search.symspell.soundex.weight`)
661
662 ===== New Stock Action/Trigger Event Definitions =====
663
664 * Hold Group Hold Placed for Patron Email Notification
665
666 === New Features ===
667
668
669 ==== Administration ====
670
671
672
673 ===== Single Sign On (Shibboleth) Public Catalog integration =====
674
675 The Evergreen OPAC can now be used as a Service Provider (SP) in a
676 Single Sign On infrastructure.  This allows system administrators to
677 connect the Evergreen OPAC to an identity provider (IdP).  Such a scenario
678 offers significant usability improvements to patrons:
679
680 * They can use the same, IdP-provided login screen and credentials that they
681 use for other applications (SPs).
682 * If they have already logged into another participating application, when
683 they arrive at the Evergreen OPAC, they can be logged in without needing to
684 enter any credentials at all.
685 * Evergreen can be configured to offer a Single Sign-out service, where
686 logging out of the Evergreen OPAC will also log the user out of all other SPs.
687
688 It can also offer security benefits, if it enables a Shibboleth-enabled
689 Evergreen installation to move away from insecure autogenerated user passwords
690 (e.g. year of birth or last four digits of a phone number).
691
692 Different Org Units can use different IdPs.  This development also supports a
693 mix of Shibboleth and non-Shibboleth libraries.
694
695 Note that only the OPAC can be integrated with Shibboleth at this time; no such
696 support exists for the staff client, self-check, etc.
697
698 Also note that this development does not include automatic provisioning of
699 accounts.  At this time, matching accounts must already exist in Evergreen
700 for a patron to successfully authenticate into the OPAC via Single Sign On.
701
702 ====== Installation ======
703
704 Installing and configuring Shibboleth support is a complex project.  In
705 broad strokes, the process includes:
706
707 . Installing Shibboleth and the Shibboleth Apache module (`apt install libapache2-mod-shib2` on Debian and Ubuntu)
708 . Configuring Shibboleth, including:
709   * Setting up a certificate
710   * assigning an Entity ID
711   * getting metadata about the IdP from the IdP (perhaps "locally maintained
712   metadata", where an XML file from the IdP is copied into place on your
713   Evergreen server)
714   * Understanding what attributes the IdP will provide about your users,
715   and describing them in the `attribute-map.xml` file.
716 . Providing your Entity ID, information about possible bindings, and any
717 other requested information to the IdP administrator.  Much of this information
718 will be available at http://YOUR_EVERGREEN_DOMAIN/Shibboleth.sso/Metadata
719 . Configuring Apache, including:
720   * Enabling Shibboleth authentication in the `eg_vhost.conf` file
721   * (Optional) Using the new _sso_loc_ Apache variable to identify
722   which org unit should be used as the context location when fetching
723   Shibboleth-related library settings.
724 . As a user with the new `SSO_ADMIN` permission, configure Evergreen using
725 the Library Settings Editor, including:
726   * Enable Shibboleth SSO for the OPAC
727   * (Optional) Configure whether you will use SSO exclusively, or offer
728   patrons a choice between SSO and standard Evergreen authentication
729   * (Optional) Configure whether or not you will use Single Log Out
730   * (Optional) In scenarios where a single Evergreen installation is
731   connected to multiple IdPs, assign org units to the relevant IdPs,
732   referenced by the IdP's Entity Id.
733   * Of the attributes defined in `attribute-map.xml`, configure which one
734   should be used to match users in the Evergreen database.  This defaults
735   to uid.
736   * For the attribute you chose in the previous step, configure which
737   Evergreen field it should match against.  Options are usrname (default),
738   barcode, and email.
739
740 This https://www.youtube.com/watch?v=SvppXbpv-5k[video on the SAML protocol] can
741 be very helpful for introducing the basic concepts used in the installation and
742 configuration processes.
743
744
745 ==== Architecture ====
746
747
748 ===== Block Login of Expired Staff Accounts =====
749
750 Evergreen now has the ability to prevent staff users whose
751 accounts have expired from logging in. This is controlled
752 by the new global flag "auth.block_expired_staff_login", which
753 is not enabled by default. If that flag is turned on, accounts
754 that have the `STAFF_LOGIN` permission and whose expiration date
755 is in the past are prevented from logging into any Evergreen
756 interface, including the staff client, the public catalog, and SIP2.
757
758 It should be noted that ordinary patrons are allowed to log into
759 the public catalog if their circulation privileges have expired. This
760 feature prevents expired staff users from logging into the public catalog
761 (and all other Evergreen interfaces and APIs) outright in order to
762 prevent them from getting into the staff interface anyway by
763 creative use of Evergreen's authentication APIs.
764
765 Evergreen admins are advised to check the expiration status of staff
766 accounts before turning on the global flag, as otherwise it is
767 possible to lock staff users out unexpectedly. The following SQL
768 query will identify expired but otherwise un-deleted users that
769 would be blocked by turning on the flag:
770
771 [source,sql]
772 ----
773 SELECT DISTINCT usrname, expire_date
774 FROM actor.usr au, permission.usr_has_perm_at_all(id, 'STAFF_LOGIN')
775 WHERE active
776 AND NOT deleted
777 AND NOT barred
778 AND expire_date < NOW()
779 ----
780
781 Note that this query can take a long time to run in large databases
782 given the general way that it checks for users that have the
783 `STAFF_LOGIN` permission. Replacing the use of
784 `permission.usr_has_perm_at_all()` with a query on expired users
785 with profiles known to have the `STAFF_LOGIN` permission will
786 be much faster.
787
788
789
790
791 ===== Migration From GIST to GIN Indexes for Full Text Search =====
792
793 Evergreen now uses GIN indexes for full text search in PostgreSQL.
794 GIN indexes offer better performance than GIST.  For more information
795 on the differences in the two index types, please refer to the
796 https://www.postgresql.org/docs/current/textsearch-indexes.html[PostgreSQL
797 documentation].
798
799 An upgrade script is provided as part of this migration.  If you
800 upgrade normally from a previous release of Evergreen, this upgrade
801 script should run as part of the upgrade process.  The migration
802 script recommends that you run a `VACUUM ANALYZE` in PostgreSQL on the
803 tables that had the indexes changed.  The migration process does not
804 do this for you, so you should do it as soon as is convenient after
805 the upgrade.
806
807 ====== Updating Your Own Indexes ======
808
809 If you have added your own full text indexes of type GIST, and you
810 wish to migrate them to GIN, you may do so.  The following query, when
811 run in your Evergreen databsase after the migration from GIST to GIN,
812 will identify the remaining GIST indexes in your database:
813
814 [source,sql]
815 ----------------------------------------
816 SELECT schemaname, indexname
817 FROM pg_indexes
818 WHERE indexdef ~* 'gist';
819 ----------------------------------------
820
821 If the above query produces output, you can run the next query to
822 output a SQL script to migrate the remaining indexes from GIST to GIN:
823
824 [source,sql]
825 ----------------------------------------
826 SELECT 'DROP INDEX ' || schemaname || '.' || indexname || E';\n' ||
827        REGEXP_REPLACE(indexdef, 'gist', 'gin', 'i') || E';\n' ||
828        'VACUUM ANAlYZE ' || schemaname || '.' || tablename || ';'
829 FROM pg_indexes
830 WHERE indexdef ~* 'gist';
831 ----------------------------------------
832
833
834
835
836 ===== Removal of Custom Dojo Build =====
837
838 Evergreen had a
839 https://wiki.evergreen-ils.org/doku.php?id=scratchpad:random_magic_spells#custom_dojo_build[method
840 of making a custom build of the Dojo JavaScript library].  Following
841 this procedure could improve the load times for the OPAC and other
842 interfaces that use Dojo.  However, very few sites took advantage of
843 this process or even knew of its existence.
844
845 As a part of the process, an `openils_dojo.js` file was built and
846 installed along with the other Dojo files.  Evergreen had many
847 references to load this optional file.  For the majority of sites that
848 did not use this custom Dojo process, this file did not exist.
849 Browsers would spend time and resources requesting this nonexistent
850 file.  This situation also contributed noise to the Apache logs with
851 the 404 errors from these requests.
852
853 In keeping with the goal of eliminating Dojo from Evergreen, all
854 references to `openils_dojo.js` have been removed from the OPAC and
855 other files.  The profile script required to make the custom Dojo
856 build has also been removed.
857
858
859
860
861
862 ====== Cataloging ======
863
864
865
866 ===== Czech language records in sample data =====
867
868 This release adds 7 Czech-language MARC records to the
869 sample data set (also known as Concerto data set).
870
871
872
873
874
875 ===== Publisher Catalog Display Includes 264 Tag =====
876
877 Publisher values are now extracted for display from tags 260 OR 264.
878
879 ====== Upgrade Notes ======
880
881 A partial reingest is required to extract the new publisher data for display.
882 This query may be long-running.
883
884 [source,sql]
885 --------------------------------------------------------------------------
886 WITH affected_bibs AS (
887     SELECT DISTINCT(bre.id) AS id
888     FROM biblio.record_entry bre
889     JOIN metabib.real_full_rec mrfr
890     ON (mrfr.record = bre.id AND mrfr.tag = '264')
891     WHERE NOT bre.deleted
892 )
893 SELECT metabib.reingest_metabib_field_entries(id, TRUE, FALSE, TRUE, TRUE)
894 FROM affected_bibs;
895 --------------------------------------------------------------------------
896
897
898
899
900
901 ==== Circulation ====
902
903
904
905 ===== Hold Groups =====
906
907 This feature allows staff to add multiple users to a named hold group
908 bucket and place title-level holds for a record for that entire set of users.
909 Users can be added to such a hold group bucket from either the patron
910 search result interface, via the Add to Bucket dropdown, or through a dedicated
911 Hold Group interface available from the Circulation menu.  Adding new
912 patrons to a hold group bucket will require staff have the PLACE_HOLD
913 permission.
914
915 Holds can be placed for the users in a hold group bucket either directly from
916 the normal staff-place hold interface in the embedded OPAC, or by supplying the
917 record ID within the hold group bucket interface.  In the latter case, the
918 list of users for which a hold was attempted but failed to be placed can be
919 downloaded by staff in order to address any placement issues.  Placing a
920 hold group bucket hold will requires staff have the MANAGE_HOLD_GROUPS
921 permission, which is new with this development.
922
923 In the event of a mistaken hold group hold, staff with the MANAGE_HOLD_GROUPS
924 permission will have the ability to cancel all unfulfilled holds created as
925 part of a hold group event.
926
927 A link to the title's hold interface is available from the list of hold group
928 events in the dedicated hold group interface.
929
930
931
932
933 ===== Scan Item as Missing Pieces Angular Port =====
934
935 The 'Scan Item As Missing Pieces' interface is now an Angular interface.
936 The functionality is the same, but the interface displays more details
937 on the item in question (title/author/callnum) before proceeding with the 
938 missing pieces process.
939
940
941
942
943 ===== Opt-In Setting for Overdue and Predue Emails =====
944
945 The "Receive Overdue and Courtesy Emails" user setting permits users to
946 control whether they receive email notifications about overdue items.
947
948 To use the setting, modify any action trigger event definitions which
949 send emails about overdue items, setting the "Opt In Setting" to
950 "circ.default_overdue_notices_enabled" and the "User Field" to "usr".
951 You can accomplish this by running the following query in your database:
952
953 ----
954 UPDATE action_trigger.event_definition
955 SET opt_in_setting = 'circ.default_overdue_notices_enabled',
956     usr_field = 'usr'
957 WHERE opt_in_setting IS NULL
958     AND hook = 'checkout.due'
959     AND reactor = 'SendEmail';
960 ----
961
962 Once this is done, the patron registration screen in the staff client
963 will show a "Receive Overdue and Courtesy Emails" checkbox, which will
964 be checked by default.  To ensure that existing patrons continue to
965 recieve email notifications, you will need to add the user setting to
966 their accounts, which you can do by running the following query in your
967 database:
968
969 ----
970 INSERT INTO actor.usr_setting (usr, name, value)
971 SELECT
972     id,
973     'circ.default_overdue_notices_enabled',
974     'true'
975 FROM actor.usr;
976 ----
977
978
979
980
981
982
983 ===== Allow Circulation Renewal for Expired Patrons =====
984
985 The "Allow renewal request if renewal recipient privileges have
986 expired" organizational unit setting can be set to true to permit
987 expired patrons to renew circulations.  Allowing renewals for expired
988 patrons reduces the number of auto-renewal failures and assumes that a
989 patron with items out eligible for renewals has not been expired for
990 very long and that such patrons are likely to renew their privileges
991 in a timely manner.
992
993 The setting is referenced based on the current circulation library for
994 the renewal.  It takes into account the global flags for "Circ: Use
995 original circulation library on desk renewal instead of the
996 workstation library" and "Circ: Use original circulation library on
997 opac renewal instead of user home library."
998
999
1000
1001
1002 ==== OPAC ====
1003
1004
1005
1006 ===== Consistent Ordering for Carousels =====
1007
1008 Carousel ordering is now stable and predictable:
1009
1010  * Newly Cataloged Item and Newest Items by Shelving Location carousels are ordered from most recently cataloged to least recently cataloged.
1011  * Recently Returned Item carousels is ordered is from most recently returned to least recently returned.
1012  * Top Circulated Items carousels is ordered is from most circulated to least circulated.
1013  * Manual carousels (as of now, without the ability to adjust the position of items) are in the order they are added to the backing bucket.
1014   ** Emptying and refilling the bucket allows reordering.
1015
1016
1017
1018
1019 ===== Default Public Catalog to the Bootstrap Skin =====
1020
1021 The public catalog now defaults to the Bootstrap skin rather than the
1022 legacy TPAC skin.
1023
1024 Bootstrap is now the default in order to encourage more testing, but
1025 users should be aware of the following 
1026 https://bugs.launchpad.net/evergreen/+bugs?field.tag=bootstrap-blocker[issues];
1027 certain specific functionality is available only in the TPAC skin.
1028
1029 The TPAC skin remains available for use, but current Evergreen users
1030 should start actively considering migrating to the Bootstrap skin.
1031
1032 In order to continue to use the TPAC skin, comment out the following
1033 line in `eg_vhost.conf`
1034
1035 [source,conf]
1036 -------------------
1037 PerlAddVar OILSWebTemplatePath "@localstatedir@/templates-bootstrap" # Comment this line out to use the legacy TPAC
1038 -------------------
1039
1040
1041
1042 ===== Did You Mean? Single word search suggestions =====
1043
1044 This feature is the first in the series to add native search suggestions
1045 to the Evergreen search logic.  A significant portion of the code is
1046 dedicated to infrastructure that will be used in later enhancements to
1047 the functionality.
1048
1049 ====== Overview ======
1050
1051 When searching the public or staff catalog in a single search class (title,
1052 author, subject, series, identifier, or keyword) with a single search term
1053 users can be presented with alternate search terms.  Depending on how the
1054 instance has been configured, suggestions may be provided for only
1055 misspelled words (as defined by existence in the bibliographic corpus),
1056 terms that are spelled properly but occur very few times, or on every
1057 single-term search.
1058
1059 ====== Settings ======
1060
1061 The following new library settings control the behavior of the suggestions:
1062
1063 * Maximum search result count at which spelling suggestions may be offered
1064 * Minimum required uses of a spelling suggestions that may be offered
1065 * Maximum number of spelling suggestions that may be offered
1066 * Pg_trgm score weighting in OPAC spelling suggestions
1067 * Soundex score weighting in OPAC spelling suggestions
1068 * QWERTY Keyboard similarity score weighting in OPAC spelling suggestions 
1069
1070 There are also two new internal flags:
1071
1072 * symspell.prefix_length
1073 * symspell.max_edit_distance
1074
1075 ====== Upgrading ======
1076
1077 This feature requires the addition of new Perl module dependencies.  Please
1078 run the app server and database server dependency Makefiles before applying
1079 the database and code updates.
1080
1081 At the end of the database upgrade script, the administrator is presented
1082 with a set of instructions necessary to precompute the suggestion
1083 dictionary based on the current bibliographic database.  The first half
1084 of this procedure can be started even before the upgrade begins, as soon
1085 as the Evergreen database is no longer accessible to users that might
1086 cause changes to bibliographic records.  For very large instances, this
1087 dictionary generation can take several hours and needs to be run on a
1088 server with significant RAM and CPU resources. Please look at the upgrade
1089 script before beginning an upgrade and plan this dictionary creation as
1090 part of the overall upgrade procedure.
1091
1092 Given a server, such as a database server with 64G of RAM, you should
1093 be able to run all six of the shell commands in parallel in screen
1094 sessions or with a tool such as GNU parallel.
1095
1096 These commands invoke a script that will generate a class-specific sub-set
1097 of the dictionary, and can be used to recreate the dictionary if
1098 necessary in the future.
1099
1100
1101
1102
1103 ===== Sort Holdings by Geographical Proximity =====
1104
1105 This functionality integrates 3rd party geographic lookup services to allow patrons
1106 to enter an address on the record details page in the OPAC and sort the holdings
1107 for that record based on proximity of their circulating libraries to the entered
1108 address. To support this, latitude and longitude coordinates may be associated with
1109 each org unit. Care is given to not log or leak patron provided addresses or the
1110 context in which they are used.
1111
1112 Requires the following Perl modules: `Geo::Coder::Free`, `Geo::Coder::Google`, and `Geo::Coder::OSM`
1113
1114 Configuration instructions:
1115
1116  . Register an account with a third party geographic location service and copy the API Key.
1117  . Configure the Geographic Location Service (Server Administration > Geographic Location Service > New Geographic Location Service).
1118  . Enable Global Flag by navigating to Server Administration → Global Flags and locating the `opac.use_geolocation` flag. (Any entry in the Value field will be ignored.)
1119  . Enable Library Setting: Enable Holdings Sort by Geographic Proximity (set to True).
1120  . Enable Library Setting: Geographic Location Service to use for Addresses (use the value from the Name field entered in the Geographic Location Services Configuration entry).
1121  . Enable Library Setting: Show Geographic Proximity in Miles (if not set, it will default to kilometers).
1122  . Set the geographic coordinates for each location by navigating to Server Administration > Organizational Units. Select the org unit, switch to the Physical Address subtab and either manually enter Latitude and Longitude values or use the Get Coordinate button. 
1123
1124 Two new permissions, VIEW_GEOLOCATION_SERVICES and ADMIN_GEOLOCATION_SERVICES, control viewing and editing values in the Geolocation Location Services interface. They are added to the System Administrator and Global Administrator permissions groups by default.
1125
1126
1127 ===== Library Groups =====
1128
1129 The Library Groups search feature revives a longstanding internal
1130 concept in Evergreen called "Lassos," which allows an administrator
1131 to define a group of organizational units for searching outside of
1132 the standard organizational unit hierarchy.
1133
1134 Use case examples include creating a group of law or science
1135 libraries within a university consortium, or grouping all school
1136 libraries together within a mixed school/public library consortium.
1137
1138 Searches can be restricted to a particular Library Group from the
1139 library selector in the public catalog basic search page and from
1140 the new "Where" selector on the advanced search page.
1141
1142 Restricting catalog searches by Library Group is available only
1143 in the public catalog and "traditional" staff catalog; it is not
1144 available in the Angular staff catalog.
1145
1146 This feature adds a new permission, `ADMIN_LIBRARY_GROUPS`, that
1147 allows updating Library Groups and Library Group Maps. This permission
1148 is not associated with any profiles by default, and replaces
1149 the `CREATE_LASSO`, `UPDATE_LASSO`, and `DELETE_LASSO` permissions. 
1150
1151 To define new library groups, use the Server Administration Library
1152 Groups and Library Group Maps pages. An autogen and a reload of
1153 Apache should be performed after making changes to Library Groups.
1154
1155
1156 ===== Easier Styling of Public Catalog Logo and Cart Images =====
1157
1158 Evergreen now has IDs associated with logos and cart images in the TPAC and Bootstrap OPACs to aid in customization.  Images are as follows:
1159
1160 * small Evergreen logo in navigation bar is 'topnav_logo_image'
1161 * the large Evergreen logo in the center of the splash page of the TPAC is 'homesearch_main_logo_image' 
1162 * the cart icon is 'cart_icon_image' 
1163 * the small logo in the footer is 'footer_logo_image'
1164
1165 The Bootstrap OPAC does not have a homesearch logo icon as it is added in the background by CSS and can be directly styled through the CSS.
1166
1167
1168
1169
1170 ===== Easier TPAC Customization via colors.tt2 =====
1171
1172 Twelve new colors for TPAC have been added to the colors.tt2 file as well as 
1173 having corresponding changes to the style.css.tt2 file. These use 
1174 descriptive rather than abstract names. These changes help avoid 
1175 situations were unreadable values are placed on top of each other 
1176 and where different values are wanted for elements that only refernece 
1177 a single color previously. Guidelines are below for setting values that 
1178 correspond to the previous values used in the colors.tt2 file.  
1179 For more diverse customizations the OPAC should be reviewed before 
1180 a production load.
1181
1182 * 'footer' is used for the background color of the footer. It replaces the 
1183 'primary'.
1184 * 'footer_text' sets the text color in the footer and replaces 'text_invert' 
1185 * 'header' sets the background of the header and replaces 'primary_fade'
1186 * 'header_text' sets the color of text in the header and replaces 'text_invert'
1187 * 'header_links_bar' sets the background of the links bar that separates the 
1188 header on the front page of the opac and replaces 'background_invert'
1189 * 'header_links_text' sets the text on the links bar and replaces 'text_invert'
1190 * 'header_links_text_hover' set the hover text color on the links bar and 
1191 replaces 'primary'
1192 * 'opac_button' sets the background color of the My Opac button and replaces 
1193 'control'
1194 * 'opac_button_text' explicitly sets the text color on the My Opac button  
1195 * 'opac_button_hover' sets the background color of the My Opac button when the 
1196 mouse is hovering over it and replaces 'primary'
1197 * 'opac_button_hover_text' sets the text color of the My Opac button when the 
1198 mouse is hovering over it and replaces 'text invert'
1199
1200 Note that is patch is primarily meant for users who wish to continue
1201 using TPAC rather than the Bootstrap skin for a while; new Evergreen
1202 users are advised to use the now-default Bootstrap skin.
1203
1204
1205
1206 ===== Configurable Read More Accordion for OPAC Search and Record View (TPAC) =====
1207
1208 ====== Read More Button ======
1209
1210 Public catalog record fields (in the TPAC skin only) now truncate
1211 themselves based on a configurable amount of characters.  The full
1212 field may be displayed upon hitting a (Read More) link, which will
1213 then toggle into a (Read Less) link to re-truncate the field.
1214
1215 ====== Configuration ======
1216
1217 `Open-ILS/src/templates/opac/parts/config.tt2` contains two new
1218 configuration variables:
1219
1220
1221 * `truncate_contents` (default: 1)
1222 * `contents_truncate_length` (default: 50).
1223
1224 Setting `truncate_contents` to 0 will disable the read more
1225 functionality.  The variable `contents_truncate_length` corresponds
1226 to the amount of characters to display before truncating the text.
1227 If `contents_truncate_length` is removed, it will default to 100.
1228
1229 Additional configuration for note fields can be made in
1230 `Open-ILS/src/templates/opac/parts/record/contents.tt2`, allowing a
1231 `trunc_length` variable for each individual type of note, which will
1232 override `contents_truncate_length` for that specific
1233 type of note.
1234
1235
1236 ====== Adding Read More Functionality to further fields ======
1237
1238 To add Read More functionality to any additional fields, you may use
1239 the macro `accordion()`, defined in `misc_util.tt2`. It can take three
1240 variables: `str`, `trunc_length`, and `element`. `str` corresponds to
1241 the string you want to apply it to, `trunc_length` (optional) will
1242 override `contents_truncate_length` if supplied, and `element`
1243 (optional) provides an alternative HTML element to look at for the
1244 truncation process (useful in situations such as the Authors and Cast
1245 fields, where each field is processed individually, but needs to be
1246 treated as a single field).
1247
1248
1249
1250
1251 ==== Reports ====
1252
1253
1254 ===== Reports Scheduler Improvements =====
1255
1256 Previously, the reports scheduler allowed duplicated reports
1257 under certain circumstances.  A uniqueness constraint now
1258 disallows this without adversely affecting the reports process.
1259
1260
1261
1262 ==== Miscellaneous ====
1263
1264 * The 'Create Reservation' form in the Booking module now includes
1265   an option to search for the patron by attributes other than just
1266   their barcode. (https://bugs.launchpad.net/evergreen/+bug/1816655[Bug 1816655])
1267 * The form to add a user to a Course now includes an option to search
1268   for the patron by attributes other than just their barcode. (https://bugs.launchpad.net/evergreen/+bug/1907921[Bug 1907921])
1269 * For consistency with the menu action Cataloging => Retrieve Record by
1270   TCN Value, the staff catalog Numeric Search => TCN search now includes
1271   deleted bib records. (https://bugs.launchpad.net/evergreen/+bug/1881650[Bug 1881650])
1272 * Add a new command-line script, `overdrive-api-checker.pl`, for testing
1273   the OverDrive API. (https://bugs.launchpad.net/evergreen/+bug/1696825[Bug 1696825])
1274 * The Shelving Location Groups editor is ported to Angular. (https://bugs.launchpad.net/evergreen/+bug/1852321[Bug 1852321])
1275 * The staff catalog now has the ability to add all search results (up to
1276   1,000 titles) to the basket in one fell swoop. (https://bugs.launchpad.net/evergreen/+bug/1885179[Bug 1885179])
1277 * Add 'All Videos' as a search format. (https://bugs.launchpad.net/evergreen/+bug/1917826[Bug 1917826])
1278 * Server-side print templates can now have print contexts set. (https://bugs.launchpad.net/evergreen/+bug/1891550[Bug 1891550])
1279 * Add ability to set the print context for a print template to "No-Print"
1280   to specify, well, that a given receipt should never be printed. (https://bugs.launchpad.net/evergreen/+bug/1891550[Bug 1891550])
1281 * Add Check Number as an available column to the Bill History grids. (https://bugs.launchpad.net/evergreen/+bug/1705693[Bug 1705693])
1282 * Adds a new control to the item table in the TPAC public catalog only to
1283   specify that only items that are available should be displayed. (https://bugs.launchpad.net/evergreen/+bug/1853006[Bug 1853006])
1284 * Adds warning before deleting bib records with holds (https://bugs.launchpad.net/evergreen/+bug/1398107[Bug 1398107])
1285 * Library scope on (Angular) Administration pages now defaults to workstation location rather than consortium (https://bugs.launchpad.net/evergreen/+bug/1873322[Bug 173322])
1286 * Pending users now set last four digits of phone number as password when library setting is enabled (https://bugs.launchpad.net/evergreen/+bug/1887852[Bug 1887852])
1287
1288 === Acknowledgments ===
1289
1290 The Evergreen project would like to acknowledge the following
1291 organizations that commissioned developments in this release of
1292 Evergreen:
1293
1294 * BC Libraries Cooperative
1295 * Community Library (Sunbury)
1296 * Consortium of Ohio Libraries (COOL)
1297 * Evergreen Community Development Initiative
1298 * Evergreen Indiana
1299 * Georgia PINES
1300 * Linn-Benton Community College
1301 * Pennsylvania Integrated Library System (PaILS)
1302
1303
1304 We would also like to thank the following individuals who contributed
1305 code, translations, documentation, patches, and tests to this release of
1306 Evergreen:
1307
1308 * John Amundson
1309 * Zavier Banks
1310 * Felicia Beaudry
1311 * Jason Boyer
1312 * Dan Briem
1313 * Andrea Buntz Neiman
1314 * Christine Burns
1315 * Galen Charlton
1316 * Garry Collum
1317 * Eva Cerniňáková
1318 * Dawn Dale
1319 * Elizabeth Davis
1320 * Jeff Davis
1321 * Martha Driscoll
1322 * Bill Erickson
1323 * Jason Etheridge
1324 * Ruth Frasur
1325 * Blake Graham-Henderson
1326 * Katie Greenleaf Martin
1327 * Rogan Hamby
1328 * Elaine Hardy
1329 * Kyle Huckins
1330 * Angela Kilsdonk
1331 * Tiffany Little
1332 * Mary Llewellyn
1333 * Terran McCanna
1334 * Chauncey Montgomery
1335 * Gina Monti
1336 * Michele Morgan
1337 * Carmen Oleskevich
1338 * Jennifer Pringle
1339 * Mike Risher
1340 * Mike Rylander
1341 * Jane Sandberg
1342 * Chris Sharp
1343 * Ben Shum
1344 * Remington Steed
1345 * Jason Stephenson
1346 * Jennifer Weston
1347 * Beth Willis
1348
1349 We also thank the following organizations whose employees contributed
1350 patches:
1351
1352 * BC Libraries Cooperative
1353 * Calvin College
1354 * Catalyte
1355 * CW MARS
1356 * Equinox Open Library Initiative
1357 * Georgia Public Library Service
1358 * Kenton County Public Library
1359 * King County Library System
1360 * Linn-Benton Community College
1361 * MOBIUS
1362 * NOBLE
1363 * Westchester Library System
1364
1365 We regret any omissions.  If a contributor has been inadvertently
1366 missed, please open a bug at http://bugs.launchpad.net/evergreen/
1367 with a correction.
1368