Docs: correcting typos in release notes
[Evergreen.git] / docs / RELEASE_NOTES_3_4.adoc
1 Evergreen 3.4 Release Notes
2 ===========================
3 :toc:
4 :numbered:
5
6 Evergreen 3.4.4
7 ---------------
8
9 This release contains bug fixes improving on Evergreen 3.4.3.
10
11 Bug Fixes
12 ~~~~~~~~~
13
14
15 Administration
16 ^^^^^^^^^^^^^^
17
18 * Fixes a bug that caused the Emergency Closing handler to skip circulations with fines (https://bugs.launchpad.net/evergreen/+bug/1870605[Bug 1870605])
19 * The column headers in the Copy Status configuration screen have improved labels (https://bugs.launchpad.net/evergreen/+bug/1848573[Bug 1848573])
20 * Fixes an incorrect link to the Match Set configuration screen (https://bugs.launchpad.net/evergreen/+bug/1840294[Bug 1840294])
21 * Updates the descriptions of the _circ.staff_client.receipt_ library settings (https://bugs.launchpad.net/evergreen/+bug/1705302[Bug 1705302])
22 * The labels of the All Circulations reporter sources have been clarified (https://bugs.launchpad.net/evergreen/+bug/1852443[Bug 1852443])
23 * The emergency closing form provides additional guidance about end dates (https://bugs.launchpad.net/evergreen/+bug/1867524[Bug 1867524])
24 * The badge_score_generator.pl script is now installed as part of an Evergreen install (https://bugs.launchpad.net/evergreen/+bug/1847784[Bug 1847784])
25 * User preferred names and name keywords are now purged from the database when the user is purged
26 (https://bugs.launchpad.net/evergreen/+bug/1802166[Bug 1802166])
27 * Fixes a bug with the "months ago" functionality in the reporter (https://bugs.launchpad.net/evergreen/+bug/1885759[Bug 1885759])
28 * Angular call number prefix/suffix admin pages no longer let you edit sort key (https://bugs.launchpad.net/evergreen/+bug/1889251[Bug 1889251])
29
30 Cataloging
31 ^^^^^^^^^^
32
33 * Various improvements to the MARC Editor (Bugs https://bugs.launchpad.net/evergreen/+bug/1735568[Bug 1735568] and
34 https://bugs.launchpad.net/evergreen/+bug/1830443[Bug 1830443])
35 * Fixes an issue with undeleting bibliographic records (https://bugs.launchpad.net/evergreen/+bug/1845241[Bug 1845241])
36 * Item status now alerts the user about invalid barcodes uploaded from a file (https://bugs.launchpad.net/evergreen/+bug/1847784[Bug 1847784])
37 * You can now open multiple items in Item Status from an item bucket (https://bugs.launchpad.net/evergreen/+bug/1735828[Bug 1735828])
38 * The experimental catalog now allows searching by format (https://bugs.launchpad.net/evergreen/+bug/1886118[Bug 1886118])
39 * The experimental catalog now displays the bib call number according to the search library's org unit setting
40 (https://bugs.launchpad.net/evergreen/+bug/1874897[Bug 1874897])
41 * Fixes an issue with adding and editing call numbers in the experimental catalog (https://bugs.launchpad.net/evergreen/+bug/1878079[Bug 1878079])
42 * Newly added items and call numbers have distinct styling (https://bugs.launchpad.net/evergreen/+bug/1731370[Bug 1731370])
43 * Fixes an issue with hold activation dates (https://bugs.launchpad.net/evergreen/+bug/1783793[Bug 1783793])
44 * Adds item creator and editor to holdings editor grids (https://bugs.launchpad.net/evergreen/+bug/1811466[Bug 1811466])
45
46 Circulation
47 ^^^^^^^^^^^
48
49 * Overdue items are now highlighted in red in the Items Out screen (https://bugs.launchpad.net/evergreen/+bug/1775286[Bug 1775286])
50 * Fixes an issue that caused patron stat cat information to persist between patrons in the Patron Edit screen
51 (https://bugs.launchpad.net/evergreen/+bug/1844365[Bug 1844365])
52 * The Pending User Buckets now allow more than 100 users (https://bugs.launchpad.net/evergreen/+bug/1754387[Bug 1754387])
53 * Fixes an issue that caused long patron names to obscure important parts of circulation screens
54 (https://bugs.launchpad.net/evergreen/+bug/1805860[Bug 1805860])
55 * Prevents an incorrect "Input is out of range" validation error in the date pickers of the check out and renewal
56 screens (https://bugs.launchpad.net/evergreen/+bug/1864056[Bug 1864056])
57 * Long overdue and lost and paid items now count toward patron limits (https://bugs.launchpad.net/evergreen/+bug/1747542[Bug 1747542])
58 * The holds shelf list now includes columns for "User Alias" and "User Alias or Display Name" (https://bugs.launchpad.net/evergreen/+bug/1712854[Bug 1712854])
59 * In the messages tab of a patron's account, you can now change the date range of displayed archived penalties
60 (https://bugs.launchpad.net/evergreen/+bug/1775940[Bug 1775940])
61 * Fixes an issue with hanging transits (https://bugs.launchpad.net/evergreen/+bug/1819542[Bug 1819542])
62 * Fixes some hold targeting logic (https://bugs.launchpad.net/evergreen/+bug/1886852[Bug 1886852])
63 * Fixes an issue with default billing type prices (https://bugs.launchpad.net/evergreen/+bug/1776757[Bug 1776757])
64 * The experimental catalog's hold grid now includes both date and time for hold request time (https://bugs.launchpad.net/evergreen/+bug/1889296[Bug 1889296])
65 * Sounds now play when an item alert pops up in the web client (https://bugs.launchpad.net/evergreen/+bug/1851541[Bug 1851541])
66 * Autorenewal notifications now display a more intelligible message (https://bugs.launchpad.net/evergreen/+bug/1842431[Bug 1842431])
67
68 Client
69 ^^^^^^
70
71 * New installations of Evergreen will prevent problematic caching of the Angular client (https://bugs.launchpad.net/evergreen/+bug/1775276[Bug 1775276])
72 * All screens in the angular client now have a banner to indicate which screen it is (https://bugs.launchpad.net/evergreen/+bug/1474874[Bug 1474874])
73 * Fixes a bug that caused inconsistent hotkey behavior (https://bugs.launchpad.net/evergreen/+bug/1886713[Bug 1886713])
74 * The moment-timezone library is pinned to 0.5.27 in the Angular client (https://bugs.launchpad.net/evergreen/+bug/1884787[Bug 1884787])
75 * Fixes an issue with comboboxes (typeaheads) in the Angular client (https://bugs.launchpad.net/evergreen/+bug/1882591[Bug 1882591])
76 * Publicly visible buckets are now known as Shareable buckets (https://bugs.launchpad.net/evergreen/+bug/1717996[Bug 1717996])
77
78 Feeds
79 ^^^^^
80
81 * Fixes an issue with HTML item feed cover images (https://bugs.launchpad.net/evergreen/+bug/1674364[Bug 1674364])
82
83 Public catalog
84 ^^^^^^^^^^^^^^
85
86 * The list of holdings in the OPAC now considers call number suffix in its sorting (https://bugs.launchpad.net/evergreen/+bug/1795469[Bug 1795469])
87 * The Exclude Electronic Resources checkbox now works properly when locale picker is enabled (https://bugs.launchpad.net/evergreen/+bug/1847343[Bug 1847343])
88
89 Search
90 ^^^^^^
91
92 * Fixes an issue with SRU search (https://bugs.launchpad.net/evergreen/+bug/1833300[Bug 1833300])
93 * Fixes an issue with searching the catalog from the staff client (https://bugs.launchpad.net/evergreen/+bug/1858701[Bug 1858701])
94 * The experimental catalog basket clears when a staff member logs out (https://bugs.launchpad.net/evergreen/+bug/1867834[Bug 1867834])
95 * Fixes an accessibility issue with the catalog search on the splash page (https://bugs.launchpad.net/evergreen/+bug/1839369[Bug 1839369])
96
97 Upgrade notes
98 ~~~~~~~~~~~~~
99
100 Evergreen administrators should update existing apache configuration files
101 so that the Angular index.html file is never cached by the client.  This
102 can be done by changing the Angular setup section of the apache configuration
103 that starts with:
104
105 [source,xml]
106 ----
107 <Directory "/openils/var/web/eg2/en-US">
108 ----
109
110 or similar in the apache configuration. Add the following after the
111 FallbackResource directive:
112
113 [source,xml]
114 ----
115     <Files "index.html">
116       <IfModule mod_headers.c>
117         Header set Cache-Control "no-cache, no-store, must-revalidate"
118         Header set Pragma "no-cache"
119         Header set Expires 0
120       </IfModule>
121     </Files>
122 ----
123
124 Finally, ensure that the mod_headers apache module is enabled by running the
125 following commands on all apache servers as the root user:
126
127 [source,bash]
128 ----
129 a2enmod headers
130 sudo /etc/init.d/apache2 restart
131 ----
132
133 Purge User Preferred Names
134 ^^^^^^^^^^^^^^^^^^^^^^^^^^
135 The new, user preferred name fields are now set to NULL in the
136 database when a user account is purged via the staff client or using
137 the actor.usr_delete function in the database.
138
139 To clear the preferred name fields from records that have already been
140 purged, run the following SQL update:
141
142 [source,sql]
143 ----
144 UPDATE actor.usr
145 SET pref_prefix = NULL,
146     pref_first_given_name = NULL,
147     pref_second_given_name = NULL,
148     pref_family_name = NULL,
149     pref_suffix = NULL,
150     name_keywords = NULL
151 WHERE usrname ~ ('^' || id || '-PURGED')
152 AND NOT active
153 AND deleted
154 AND (
155   pref_prefix IS NOT NULL OR
156   pref_first_given_name IS NOT NULL OR
157   pref_second_given_name IS NOT NULL OR
158   pref_family_name IS NOT NULL OR
159   pref_suffix IS NOT NULL OR
160   name_keywords IS NOT NULL
161 );
162 ----
163
164 Acknowledgements
165 ~~~~~~~~~~~~~~~~
166 We would like to thank the following individuals who contributed code,
167 testing and documentation patches to the 3.4.4 point release of Evergreen:
168
169 * John Amundson
170 * A. Bellenir
171 * Jason Boyer
172 * Steven Callender
173 * Galen Charlton
174 * Jeff Davis
175 * Bill Erickson
176 * Jason Etheridge
177 * Ruth Frasur
178 * Blake Graham Henderson
179 * Rogan Hamby
180 * Elaine Hardy
181 * Kyle Huckins
182 * Shula Link
183 * Tiffany Little
184 * Christine Morgan
185 * Michele Morgan
186 * Terran McCanna
187 * Gina Monti
188 * Mike Risher
189 * Mike Rylander
190 * Jane Sandberg
191 * Dan Scott
192 * Jason Stephenson
193 * Josh Stompro
194 * John Yorio
195
196 Evergreen 3.4.3
197 ---------------
198
199 This release contains bug fixes improving on Evergreen 3.4.2.
200
201 Bug Fixes
202 ~~~~~~~~~
203
204 * Check In - "Route To" Field Sometimes Incorrect (https://bugs.launchpad.net/evergreen/+bug/1775276[Bug 1775276])
205 * Repair nested i18n Angular attribute (https://bugs.launchpad.net/evergreen/+bug/1862395[Bug 1862395])
206 * Select element on login not accessible (https://bugs.launchpad.net/evergreen/+bug/1839359[Bug 1839359])
207 * Org unit admin interface sorting (https://bugs.launchpad.net/evergreen/+bug/1860468[Bug 1860468])
208 * Splash page needs headers (https://bugs.launchpad.net/evergreen/+bug/1839372[Bug 1839372])
209 * Use correct API method for updating existing MARC records. (https://bugs.launchpad.net/evergreen/+bug/1859191[Bug 1859191])
210 * Callnumber Sorting by Sortkey in Transit & Copy Buckets (https://bugs.launchpad.net/evergreen/+bug/1654529[Bug 1654529])
211 * Reset field transform after adding fields (https://bugs.launchpad.net/evergreen/+bug/1778521[Bug 1778521])
212 * Login page tile is confusing to screen readers (https://bugs.launchpad.net/evergreen/+bug/1839361[Bug 1839361])
213 * Wrong row details shown on billing grid (https://bugs.launchpad.net/evergreen/+bug/1792995[Bug 1792995])
214 * Mark items as damaged - changing fee usability issues (https://bugs.launchpad.net/evergreen/+bug/1849370[Bug 1849370])
215 * Item Status checkout date and checkout workstation for renewed items (https://bugs.launchpad.net/evergreen/+bug/1787415[Bug 1787415])
216 * Staff catalog add mono part repair (https://bugs.launchpad.net/evergreen/+bug/1860275[Bug 1860275])
217 * Ang cat prevent keyword starts/exact searches (https://bugs.launchpad.net/evergreen/+bug/1819236[Bug 1819236])
218 * Marc flat editor repair slashes (in AngJS and Angular) (https://bugs.launchpad.net/evergreen/+bug/1841823[Bug 1841823])
219 * Add Vols and Copies honors owning lib (https://bugs.launchpad.net/evergreen/+bug/1854197[Bug 1854197])
220 * Avoid repeating qtype prefix in query (https://bugs.launchpad.net/evergreen/+bug/1839684[Bug 1839684])
221 * Link ADMIN_CAROUSEL permission to appropriate OU context (https://bugs.launchpad.net/evergreen/+bug/1863386[Bug 1863386])
222 * Add barcode to patron neg balance grid (https://bugs.launchpad.net/evergreen/+bug/1668352[Bug 1668352])
223 * Copy delete override repairs, perm failed handler (https://bugs.launchpad.net/evergreen/+bug/1860460[Bug 1860460])
224 * Change Pull list page title from Holds Shelf title; Make page title consistent with heading (https://bugs.launchpad.net/evergreen/+bug/1774285[Bug 1774285])
225 * Event Def Environment Fleshing Might Have Issue (https://bugs.launchpad.net/evergreen/+bug/850160[Bug 850160])
226 * Fix sample survey data. (https://bugs.launchpad.net/evergreen/+bug/1863929[Bug 1863929])
227 * Visited link color (https://bugs.launchpad.net/evergreen/+bug/1789491[Bug 1789491])
228 * 3.4 Angular version mismatch repairs (https://bugs.launchpad.net/evergreen/+bug/1860460[Bug 1860460])
229 * Fixes to consistency in two files, creating uniform capitalization and use of ellipses (https://bugs.launchpad.net/evergreen/+bug/1865951[Bug 1865951])
230 * Adding alt attributes to Open-ILS\src\templates\kpac\parts\paginate.tt2 (also handling I18N) (https://bugs.launchpad.net/evergreen/+bug/1834251[Bug 1834251])
231 * On patron edit screen set the email and phone notification to true (https://bugs.launchpad.net/evergreen/+bug/1774268[Bug 1774268])
232 when patron doesn't have any preferences. This mimics the behavior in the xul client.
233 * Item Status Precat Information (https://bugs.launchpad.net/evergreen/+bug/1801137[Bug 1801137])
234 * Change expire list to match what the hold expire function (https://bugs.launchpad.net/evergreen/+bug/1819540[Bug 1819540])
235 * Fix floating point issue preventing transactions from closing (https://bugs.launchpad.net/evergreen/+bug/1781274[Bug 1781274])
236 * Additional aged_payment fields; Aged money control flags; Money aging srfsh script function repair; Disable inititial aged money migration (https://bugs.launchpad.net/evergreen/+bug/1858448[Bug 1858448])
237 * Fix Bad End Tags (https://bugs.launchpad.net/evergreen/+bug/1873286[Bug 1873286])
238 * Angular staff cat browse links (https://bugs.launchpad.net/evergreen/+bug/1869906[Bug 1869906])
239 * Coerce Values to String in egGridValueFilter (https://bugs.launchpad.net/evergreen/+bug/1813088[Bug 1813088])
240 * Remove right justification in grid view; Sort Libraries without Holdings In Holdings View (https://bugs.launchpad.net/evergreen/+bug/1787636[Bug 1787636])
241 * Add scoped retrieve perms for booking resource types and resources (https://bugs.launchpad.net/evergreen/+bug/1873048[Bug 1873048])
242 * Org proximity admin disable org filter (https://bugs.launchpad.net/evergreen/+bug/1837656[Bug 1837656])
243 * Fix rendering of monograph parts (https://bugs.launchpad.net/evergreen/+bug/1880035[Bug 1880035])
244 * Links to secondary admin pages (fm-editor defaultNewRecord backport;
245 config_field attribute in IDL; Admin grids support config_field links; Admin
246 grid filter display, default fields, IDL repairs; https://bugs.launchpad.net/evergreen/+bug/1847800[Bug 1847800], https://bugs.launchpad.net/evergreen/+bug/1834687[Bug 1834687], https://bugs.launchpad.net/evergreen/+bug/1847781[Bug 1847781], https://bugs.launchpad.net/evergreen/+bug/1847810[Bug 1847810])
247
248 Acknowledgements
249 ~~~~~~~~~~~~~~~~
250 We would like to thank the following individuals who contributed code,
251 testing and documentation patches to the 3.4.3 point release of Evergreen:
252
253 * Bill Erickson
254 * Chris Sharp
255 * Dan Briem
256 * Daniel Pearl
257 * Dawn Dale
258 * Elaine Hardy
259 * Galen Charlton
260 * Gina Monti
261 * Jane Sandberg
262 * Jason Boyer
263 * Jason Etheridge
264 * Jason Stephenson
265 * Jeff Davis
266 * Jennifer Pringle
267 * Jennifer Weston
268 * Jessica Woolford
269 * John Amundson
270 * Josh Stompro
271 * Kyle Huckins
272 * Llewellyn Marshall
273 * Lynn Floyd
274 * Michele Morgan
275 * Mike Risher
276 * Mike Rylander
277 * Ruth Frasur
278 * Sam Link
279 * Steven Callender
280 * Terran McCanna
281 * Tiffany Little
282
283
284 Evergreen 3.4.2
285 ----------------
286
287 This release contains bug fixes improving on Evergreen 3.4.1
288
289 Upgrade Notes
290 ~~~~~~~~~~~~~
291
292 The SendEmail reactor for Action/Trigger has been updated to use the
293 Email::MIME Perl module for proper encoding of the email message
294 header fields.  You should notice no functional difference in the
295 sending of emails.  This change does add a new prerequisite package,
296 so be sure to run the prerequisite installation procedure for your
297 Linux distribution before upgrading Evergreen.
298
299 The new dependency is the `libemail-mime-perl` package for Debian and
300 Ubuntu, and the `perl-Email-MIME` package for Fedora.
301
302 Bug Fixes
303 ~~~~~~~~~
304
305 General
306 ^^^^^^^
307
308 * Fixes an issue with the Angular portions of the web client running on Firefox (https://bugs.launchpad.net/evergreen/+bug/1857710[Bug 1857710])
309 * Fixes an issue with sending emails on newer versions of Ubuntu and Debian (https://bugs.launchpad.net/evergreen/+bug/1801163[Bug 1801163])
310 * It is now harder to accidentally close modals in the Angular portions of the web client (https://bugs.launchpad.net/evergreen/+bug/1827942[Bug 1827942])
311 * Organizational Unit Selectors in the Angular portions of the web client now present libraries in the correct order (https://bugs.launchpad.net/evergreen/+bug/1857350[Bug 1857350])
312 * Several fixes to grids in the Angular portions of the web client (Bugs https://bugs.launchpad.net/evergreen/+bug/1855931[1855931], https://bugs.launchpad.net/evergreen/+bug/1835982[1835982], and https://bugs.launchpad.net/evergreen/+bug/1858138[1858138])
313 * Fixes some permission-related code in the Angular portions of the web client (https://bugs.launchpad.net/evergreen/+bug/1860351[Bug 1860351])
314
315 Hatch
316 ^^^^^
317 * Fixes several bugs related to Hatch (Bugs https://bugs.launchpad.net/evergreen/+bug/1830391[1830391] and https://bugs.launchpad.net/evergreen/+bug/1858118[1858118])
318
319
320 Acquisitions
321 ^^^^^^^^^^^^
322
323 * Fixes an issue with receiving line items from the general acquisitions search screen (https://bugs.launchpad.net/evergreen/+bug/1607922[Bug 1607922])
324
325 Administration
326 ^^^^^^^^^^^^^^
327
328 * Fixes an issue with the carousel creation process (https://bugs.launchpad.net/evergreen/+bug/1851524[Bug 1851524])
329 * Fixes an issue with the Server Administration Permission Group interface (https://bugs.launchpad.net/evergreen/+bug/1851831[Bug 1851831])
330 * Fixes an issue with the Local Administration Standing Penalty interface (https://bugs.launchpad.net/evergreen/+bug/1843640[Bug 1843640])
331
332 Cataloging
333 ^^^^^^^^^^
334
335 * The new batch import/export interface now allows users to view and edit the incoming MARC records while inspecting an imported queue (https://bugs.launchpad.net/evergreen/+bug/1830923[Bug 1830923])
336 * Evergreen now asks users to confirm that they want to delete items that are in non-ideal statuses, like Checked Out (https://bugs.launchpad.net/evergreen/+bug/1735566[Bug 1735566])
337 * Catalogers can now apply copy alerts to multiple items at once when creating new items (https://bugs.launchpad.net/evergreen/+bug/1832735[Bug 1832735])
338 * The experimental staff catalog now displays more helpful titles in browser tabs (https://bugs.launchpad.net/evergreen/+bug/1849182[Bug 1849182])
339 * The experimental staff catalog now uses the $ (dollar sign) instead of ‡ (double dagger) as the flat text editor's subfield delimiter (https://bugs.launchpad.net/evergreen/+bug/1848778[Bug 1848778])
340 * Fixes an issue that prevented catalogers from setting a bib source for a bibliographic record (https://bugs.launchpad.net/evergreen/+bug/1843599[Bug 1843599])
341 * Fixes a display issue in the experimental staff catalog holdings view (https://bugs.launchpad.net/evergreen/+bug/1840982[Bug 1840982])
342
343
344 Circulation
345 ^^^^^^^^^^^
346
347 * The check in screen now honors the `ui.circ.suppress_checkin_popups` library setting (https://bugs.launchpad.net/evergreen/+bug/1437103[Bug 1437103])
348 * Fixes an issue with selecting bills on the Bill History tab (https://bugs.launchpad.net/evergreen/+bug/1780283[Bug 1780283])
349 * Improves performance of the hold shelf functionality (https://bugs.launchpad.net/evergreen/+bug/1855329[Bug 1855329])
350 * Fixes a display issue with the check out screen's due date box on wider screens (https://bugs.launchpad.net/evergreen/+bug/1803406[Bug 1803406])
351 * The check out screeen no longer allows due dates in the past (https://bugs.launchpad.net/evergreen/+bug/1712644[Bug 1712644])
352 * Circulation staff with appropriate permissions can now override certain circulation alerts (Bugs https://bugs.launchpad.net/evergreen/+bug/1851434[Bug 1851434] and https://bugs.launchpad.net/evergreen/+bug/1827901[1827901])
353 * Loan duration rules can now include hour lengths that are longer than two digits (https://bugs.launchpad.net/evergreen/+bug/1857156[Bug 1857156])
354 * The check in grid now has an optional Monograph Parts column (https://bugs.launchpad.net/evergreen/+bug/1739609[Bug 1739609])
355
356
357 Acknowledgements
358 ~~~~~~~~~~~~~~~~
359 We would like to thank the following individuals who contributed code,
360 testing and documentation patches to the 3.4.2 point release of Evergreen:
361
362 * John Amundson
363 * Zavier Banks
364 * Felicia Beaudry
365 * Katlyn Beck
366 * Jason Boyer
367 * Dan Briem
368 * Andrea Buntz Neiman
369 * Galen Charlton
370 * Garry Collum
371 * Bill Erickson
372 * Lynn Floyd
373 * Rogan Hamby
374 * Kyle Huckins
375 * Terran McCanna
376 * Michele Morgan
377 * Mike Risher
378 * Mike Rylander
379 * Jane Sandberg
380 * Dan Scott
381 * Chris Sharp
382 * Remington Steed
383 * Jason Stephenson
384 * Josh Stompro
385 * Beth Willis
386
387
388 Evergreen 3.4.1
389 ---------------
390
391 This release contains bug fixes improving on Evergreen 3.4.0.
392
393 Bug Fixes
394 ~~~~~~~~~
395
396 * Reduce the cost of utility functions, speeding up search (https://bugs.launchpad.net/evergreen/+bug/1836963[Bug 1836963])
397 * Fixes Current Date in Date Returned in Circ History CSV (https://bugs.launchpad.net/evergreen/+bug/1813056[Bug 1813056])
398 * Fix Last Captured Hold Check for Holds Shelf (https://bugs.launchpad.net/evergreen/+bug/1827250[Bug 1827250])
399 * Only include OPAC-visible copies in SRU/Z39.50 holdings (https://bugs.launchpad.net/evergreen/+bug/1609556[Bug 1609556])
400 * Re-alphabetize Local & Server Administration Links (https://bugs.launchpad.net/evergreen/+bug/1803790[Bug 1803790])
401 * Allow saving Bill Full Details grids (https://bugs.launchpad.net/evergreen/+bug/1729435[Bug 1729435])
402 * Improve usability of Patron Bill History date selector (https://bugs.launchpad.net/evergreen/+bug/1841089[Bug 1841089])
403 * MARC Batch Import/Export: Disable grid row select on queued record matches (https://bugs.launchpad.net/evergreen/+bug/1842763[Bug 1842763])
404 * Fix when the "duplicate barcode" alert appears (https://bugs.launchpad.net/evergreen/+bug/1777698[Bug 1777698])
405 * Fix paging of pending patrons (https://bugs.launchpad.net/evergreen/+bug/1749970[Bug 1749970])
406 * Check bib visibility for located URI auto suggest (https://bugs.launchpad.net/evergreen/+bug/1802952[Bug 1802952])
407 * Patron Prefix and Suffix Display in Summary (https://bugs.launchpad.net/evergreen/+bug/1821969[Bug 1821969])
408 * Numerous usability improvements to the Booking module (https://bugs.launchpad.net/evergreen/+bug/1816475[Bug 1816475])
409 * Do not include Tag Owner in Tag (https://bugs.launchpad.net/evergreen/+bug/1825403[Bug 1825403])
410 * Browser refresh no longer closes an open purchase order (https://bugs.launchpad.net/evergreen/+bug/1765434[Bug 1765434])
411 * Avoid hard-coded paths in Apache config (https://bugs.launchpad.net/evergreen/+bug/1844720[Bug 1844720])
412 * Close all open dialogs on Angular route change (https://bugs.launchpad.net/evergreen/+bug/1849372[Bug 1849372])
413 * Offline: Non-cataloged item receipt printing (https://bugs.launchpad.net/evergreen/+bug/1806783[Bug 1806783])
414 * Require some Storage submodules instead of use them (https://bugs.launchpad.net/evergreen/+bug/1835620[Bug 1835620])
415 * Test Angular(JS) with modern browsers (https://bugs.launchpad.net/evergreen/+bug/1845693[Bug 1845693])
416 * Remove "Install latest LTS node from source" docs (https://bugs.launchpad.net/evergreen/+bug/1849506[Bug 1849506])
417 * Remove extra grid refresh from configuration load (https://bugs.launchpad.net/evergreen/+bug/1846038[Bug 1846038])
418
419 Acknowledgements
420 ~~~~~~~~~~~~~~~~
421 We would like to thank the following individuals who contributed code,
422 testing and documentation patches to the 3.4.1 point release of Evergreen:
423
424 * Andrea Buntz
425 * Bill Erickson
426 * Chris Sharp
427 * Dan Briem
428 * Dan Scott
429 * Dan Wells
430 * Galen Charlton
431 * Garry Collum
432 * Jane Sandberg
433 * Jason Boyer
434 * Jason Stephenson
435 * Jeff Davis
436 * Jeff Godin
437 * Jennifer Pringle
438 * Josh Stompro
439 * Kyle Huckins
440 * Michele Morgan
441 * Mike Rylander
442 * Remington Steed
443 * Terran McCanna
444 * Tiffany Little
445
446
447 Evergreen 3.4.0
448 ---------------
449 The Evergreen 3.4.0 release is a major feature release.
450
451 Upgrade notes
452 -------------
453
454 Minimum Required OpenSRF Version
455 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
456 Evergreen 3.4 requires OpenSRF 3.2.x or later.
457
458 Updating OPAC colors.tt2 file
459 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
460
461 Sites that have customized `colors.tt2` should add a line for
462 the new `link` color.  For example:
463
464 [source,perl]
465 ----
466 link = "#3ef624", # lime green
467 ----
468
469 The template can be found at opac/parts/css/colors.tt2.
470
471 marc_stream_importer.pl configuration file
472 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
473
474 Because `marc_stream_importer.pl` now expects its configuration file to
475 be in the configuration directory, not the binary directory, existing
476 users will likely need to manually move the configuration file into
477 place.
478
479
480
481 New Features
482 ------------
483
484
485
486 Administration
487 ~~~~~~~~~~~~~~
488
489 Ability to specify specific date in action_trigger_aggregator.pl
490 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
491
492 An option, `--date`, has been added to the `action_trigger_aggregator.pl`
493 support script that allows the user to specify a specific date to aggregate
494 event output for.  This new argument cannot be used with either `--start-date`
495 or `--end-date`.  This option was added to simplify pulling event output for a 
496 single day.
497
498 Aged Billings and Payments
499 ^^^^^^^^^^^^^^^^^^^^^^^^^^
500
501 Two new database tables are added for tracking aged billings and payments:
502 `money.aged_billing` and `money.aged_payment`.
503
504 Two new database views are added, `money.all_billings` and `money.all_payments`
505 for aggregating data across the active and aged tables.
506
507 When a circulation is aged, billings and payments linked to the circulation
508 are migrated from the active billing and payment tables to the new aged 
509 tables.
510
511 The new tables are accessible to the reporter.
512
513 New Action Trigger - Fine Limit Exceeded
514 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
515 New optional email notification that is sent when a block is applied
516 to a patron's account due to excess fines.
517
518 (The patron block functionality itself already exists and is based on
519 the settings in Local Administration -> Standing Penalties (PATRON_EXCEEDS_FINES)
520 and Local Administration -> Group Penalty Thresholds.)
521
522 Install marc_stream_importer.pl By Default
523 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
524 The script for the MARC stream importer, `marc_stream_importer.pl`,
525 is now installed in the Evergreen `bin` directory (typically
526 `/openils/bin`) by default. It now also expects that its configuration
527 file will be in the usual config directory (typically `/openils/conf`)
528 and the example configuration file is installed there by default.
529
530
531 AuthProxy Support for Arbitrary LDAP Usernames
532 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
533
534 AuthProxy now supports LDAP-based login with a username that is
535 different from your Evergreen username.
536
537 This feature may be useful for libraries that use an LDAP server for
538 single sign-on (SSO).  Let's say you are a post-secondary library using
539 student or employee numbers as Evergreen usernames, but you want people
540 to be able to login to Evergreen with their SSO credentials, which may
541 be different from their student/employee number.  To support this,
542 AuthProxy can now be configured to accept your SSO username on login,
543 use it to look up your student/employee number on the LDAP server, and
544 log you in as the appropriate Evergreen user.
545
546 For this to work, in the AuthProxy configuration for your LDAP server in
547 `opensrf.xml`, set `bind_attr` to the LDAP field containing your LDAP
548 username, and "id_attr" to the LDAP field containing your student or
549 employee number (or whatever other value is used as your Evergreen
550 username).  If `bind_attr` is not set, Evergreen will assume that your
551 LDAP username and Evergreen username are the same.
552
553 Now, let's say your LDAP server is only an authoritative auth provider
554 for Library A.  Nothing prevents the server from reporting that your
555 student number is 000000, even if that Evergreen username is already in
556 use by another patron at Library B.  We want to ensure that AuthProxy
557 does not use Library A's LDAP server to log you in as the Library B
558 patron.  For this reason, a new `restrict_by_home_ou` setting has been
559 added to AuthProxy config.  When enabled, this setting restricts LDAP
560 authentication to users belonging to a library served by that LDAP
561 server (i.e. the user's home library must match the LDAP server's
562 `org_units` setting in `opensrf.xml`).  Use of this setting is strongly
563 recommended.
564
565 Angular Organizational Units Admin Page
566 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
567
568 The Administration -> Server Administration -> Organizational Units 
569 page has been migrated to Angular.
570
571 pingest.pl Now Has a --rebuild-rmsr Option
572 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
573
574 An option, `--rebuild-rmsr`, has been added to the `pingest.pl` support
575 script.  This option will rebuild the
576 `reporter.materialized_simple_record` (rmsr) table after the ingests are
577 complete.
578
579 This option might prove useful if you want to rebuild the table as
580 part of a larger reingest.  If all you wish to do is to rebuild the
581 rmsr table, then it would be just as simple to connect to the database
582 server and run the following SQL:
583
584 [source,sql]
585 ----
586 SELECT reporter.refresh_materialized_simple_record();
587 ----
588
589 Links in Public Catalog Now Have Separate Color
590 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
591 Hyperlinks in the public catalog now have a separate color definition
592 in the `colors.tt2` template to make it easier to style the public
593 catalog header/footer to use the same background color as the center
594 panel.
595
596
597 Server-Managed Print Templates for Angular
598 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
599
600 Adds support for generating print content via server-side web service.  
601 Server print templates are implemented as Template Toolkit and content
602 is compiled and generated on the server, based on runtime data provided
603 by clients.
604
605 Feature includes a new Angular admin interface for testing and editing
606 server-managed print templates.  The UI is accessed under Administration ->
607 Server Administration -> Print Templates, though the menu entry may be
608 moved to Administration -> Local Administration, once Local Administration is migrated
609 to Angular.
610
611 Two sample templates are included to demonstrate the format and 
612 functionality.  The `Holds For Bib Record` template may be tested by
613 navigating to the record holds tab in the Angular staff catalog 
614 (/eg2/en-US/staff/catalog/record/<record-id>/holds) and chose the 
615 `Print Holds` grid action.
616
617 Apache Configuration
618 ++++++++++++++++++++
619
620 Apply Apache configuration changes to `eg_vhost.conf` and `eg_startup`.
621
622 * Add to `eg_vhost.conf`
623 [source,conf]
624 ---------------------------------------------------------------------------
625 <Location /print_template>
626     SetHandler perl-script
627     PerlHandler OpenILS::WWW::PrintTemplate
628     Options +ExecCGI
629     PerlSendHeader On
630     Require all granted
631 </Location>
632 ---------------------------------------------------------------------------
633
634 * Add to `eg_startup`
635 [source,conf]
636 ---------------------------------------------------------------------------
637 # Pass second argument of '1' to enable process-level template caching.
638 use OpenILS::WWW::PrintTemplate ('/openils/conf/opensrf_core.xml', 0); 
639 ---------------------------------------------------------------------------
640
641 New Perl Dependency
642 +++++++++++++++++++
643
644 A new Perl module `HTML::Defang` is required for cleansing generated HTML 
645 of executable code for security purposes.  The dependency is added to 
646 the Makefile.install process for new builds.  Existing Evergreen instances
647 will need the dependency manually installed.
648
649 Installing on (for example) Ubuntu:
650
651 [source,conf]
652 ---------------------------------------------------------------------------
653 sudo apt-get install libhtml-defang-perl
654 ---------------------------------------------------------------------------
655
656 Angular Standing Penalty Admin Page
657 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
658
659 The Administration -> Local Administration -> Standing Penalties
660 page has been migrated to Angular.
661
662 Copy Alert Permissions Added to Seed Data
663 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
664 Copy alerts were improved in recent releases of Evergreen,
665 but the permissions were not assigned to any of the stock
666 permission profiles in the "seed data" supplied to first time
667 installations.
668
669 The VIEW_COPY_ALERT permission is now assigned to all profiles
670 under the "Staff" parent profile, and ADMIN_COPY_ALERT is now
671 assigned to Cataloging Administrator and should be available to
672 all Administrator profiles.
673
674 This change does NOT include an upgrade script, so site server
675 administrators are responsible for updating the permissions
676 profiles for their individual systems.
677
678 Architecture and Internals
679 ~~~~~~~~~~~~~~~~~~~~~~~~~~
680
681 Angular Grid Improvements
682 ^^^^^^^^^^^^^^^^^^^^^^^^^
683 Grids in new Angular staff interfaces now have options to
684
685 * allow users to filter results per-column
686 * make the grid header in tall/long grids sticky (i.e., the
687   grid header continues to be displayed while the user
688   scrolls through the grid)
689 * allow users to edit a record in a grid and save the results
690   without losing one's place in grid paging.
691
692 Configurable APIs for Patron Authentication and Retrieval
693 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
694 Many external services need to authenticate patrons and retrieve information
695 about their accounts from Evergreen.  Most of these services support some form
696 of HTTP-based authentication, but every service has its own requirements and
697 none of them support native Evergreen authentication.  Meanwhile, libraries
698 often need to restrict access to these external services based on patron type,
699 current status, standing penalties, and so on.
700
701 To meet these needs, Evergreen now has support for separate, configurable HTTP
702 API endpoints for remote patron authentication and retrieval.  Each RemoteAuth
703 endpoint handles a different external service or authentication method.  You
704 set up the endpoints you want in your Apache config; each one uses a generic
705 mod_perl handler to manage incoming requests, and specifies a Perl module that
706 can actually talk to the external service, as well as an authentication profile
707 that determines which patrons can be authenticated at this endpoint.  Support
708 for https://tools.ietf.org/html/rfc7617["Basic" HTTP Authentication] is
709 provided as a reference implementation.
710
711 open-ils.circ.renew.auto API Deprecated
712 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
713 The `open-ils.circ.renew.auto` API added in release 3.2 is deprecated
714 and will be removed in Evergreen release 3.5.  Please switch to using
715 the `open-ils.circ.renew` API with the `auto_renew` option set to 1 in any
716 custom code.
717
718 Cataloging
719 ~~~~~~~~~~
720
721 New Cancel Edit Button In Record Merge Interface
722 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
723 The web staff client's Record Merge dialog now has a "Cancel Edit"
724 button that is displayed when editing the lead record in place. Using
725 this button will abandon any pending record edits without requiring
726 that the entire dialog be dismissed.
727
728 Staff Catalog Basket Export Option
729 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
730
731 Adds a new "Export Records" option to the staff catalog basket menu.
732 When selected, the user is directed to the Vandelay record export
733 interface, which will be set to "basket export" mode.  Staff can then
734 apply export preferences (usmarc, marxml, etc.) and export the basket
735 records.  In "basket export" mode, Vandley provides a link to return to
736 the catalog (preserving search parameters).
737
738 Copy Edit Interface Display Modifications
739 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
740
741 Hide Disabled Fields
742 ++++++++++++++++++++
743
744 Disabling a field in the "Defaults" tab in the copy editor now hides the 
745 field instead of simply disabling it.
746
747 Working Items Moves Down
748 ++++++++++++++++++++++++
749
750 The "Working Items" grid now sits below the item attribute edit area, so the
751 attributes are allowed to fill the horizontal space.
752
753 New Options for Importing Copies
754 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
755
756 Two new options for importing holdings have been added to MARC Batch
757 Import/Export:
758
759 . **Auto-overlay On-order Cataloguing Copies**: This is similar to
760   "Auto-overlay In-process Acquisitions Copies," but for copies that were not
761   created from an acquisitions workflow.  Holdings information in the incoming
762   record will be used to overlay any existing On Order copies for the matching
763   record which belong to the owning library defined in the Holdings Import
764   Profile.  The Holdings Import Profile is also used to match incoming copies to
765   existing copies, if possible; otherwise, On Order copies are overlaid in the
766   order they were created.  The call number will also be overlaid if the
767   incoming record provides one.
768 . **Use Org Unit Matching in Copy to Determine Best Match**: When there are
769   multiple potential matching records, this feature allows the user to
770   automatically select the record which has the most copies at libraries near
771   the importing library in the org tree.  That is, starting at the importing
772   library, it climbs the org tree, gradually expanding the scope at which it
773   checks for holdings on matching records; once holdings are found, the record
774   with the most holdings at that scope is selected for overlay.  If there are
775   no matching records with holdings, then the default best match overlay is
776   attempted.
777
778 Permissions
779 +++++++++++
780
781 Two new permissions control the use of these new features:
782
783 * IMPORT_ON_ORDER_CAT_COPY
784 * IMPORT_USE_ORG_UNIT_COPIES
785
786 Enhanced Request Items Functionality
787 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
788
789 The Request Items action available in the Item Status and Item Buckets
790 interfaces has been given an Honor User Preferences checkbox which does
791 the following for the selected user when checked:
792
793  * Change the Pickup Lib selection to match the user's Default Hold Pickup Location
794  * Honor the user's Holds Notification settings (including Default Phone Number, etc.)
795
796 Success and Failure toasts have also been added based on what happens
797 after the Request Items interface has closed.
798
799 Also, a Title Hold option has been added to the Hold Type menu.  This will create
800 one title-level hold request for each unique title associated with the items that were selected
801 when Request Items was invoked.
802
803 Display Codes in Physical Characteristics Wizard Drop-downs (LP#1776003)
804 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
805 Drop-downs in the Physical Characteristics Wizard in the MARC editor
806 now display both code and label.
807
808 Circulation
809 ~~~~~~~~~~~
810
811 Booking Module Refresh
812 ^^^^^^^^^^^^^^^^^^^^^^
813
814 The Booking module has been redesigned, with many of its interfaces being
815 redesigned in Angular.
816
817 This adds a new screen called "Manage Reservations", where staff can check details about
818 all outstanding reservations, including those that have been recently placed, captured,
819 picked up, or returned.
820
821 On many screens within the new booking module, staff are able to edit reservations.  Previously,
822 they would have needed to cancel and recreate those reservations with the new data.
823
824 There is a new notes field attached to reservations, where staff can leave notes about the
825 reservation.  One use case is to alert staff that a particular resource is being stored in
826 an unfamiliar location.  This field is visible on all screens within the booking module.
827
828 The Create Reservations UI is completely re-designed, and now includes a calendar-like view
829 on which staff can view existing reservations and availability.
830
831 New Permission: CREATE_PRECAT
832 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
833
834 This permission is required to create (or re-create) a pre-cataloged item
835 through the "Barcode ??? was mis-scanned or is a non-cataloged item."
836 dialog.  All form elements in the pre-cat dialog other than the Cancel
837 button will be disabled if the current user lacks the CREATE_PRECAT
838 permission when an uncataloged (or already pre-cataloged item) is scanned.
839 This permission is not needed to renew pre-cataloged items.
840
841 The upgrade script for this feature will insert the permission into every
842 permission group that has the STAFF_LOGIN permission, so out-of-the-box no
843 behavior will change.
844
845 Enhanced Mark Item Functionality
846 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
847
848 Evergreen's Mark Item Damaged and Mark Item Missing functionality has
849 been enhanced, and the ability to mark an item with the Discard/Weed
850 status has been added.  This enhancement affects both the Evergreen
851 back end code and the staff client.
852
853 Staff Client Changes
854 ++++++++++++++++++++
855
856 The option to "Mark Item as Discard/Weed" has been added to areas
857 where the option(s) to "Mark Item as Missing" and/or "Mark Item as
858 Damaged" appear.  This is primarily in the action menus on the
859 following interfaces:
860
861  * Item Status
862  * Checkin
863  * Renew
864  * Holds Pull List
865  * Patron Holds List
866  * Record Holds List
867  * Holds Shelf
868  * Holdings Edit
869
870 This new option allows staff to mark a copy with the Discard/Weed
871 status quickly and easily without necessarily requiring the
872 intervention of cataloging staff.  In order to mark an item with the
873 Discard/Weed status, staff will require either the `MARK_ITEM_DISCARD`
874 or `UPDATE_COPY` status at the item's owning library.  (NOTE: This
875 permission choice is consistent with the permission requirements for
876 the current Mark Item Damaged or Missing functionality.)
877
878 If the item to be marked Discard/Weed is checked out to a patron, the
879 staff will be presented with a dialog informing them that the item is
880 checked out and asking if they would like to check it in and proceed.
881 If they choose to continue, the item will be checked in and then
882 marked with the Discard/Weed status.  If the staff person chooses to
883 cancel, then the item will not be checked in, and it will not be
884 marked Discard/Weed.  The Mark Item Missing functionality has also
885 been changed to exhibit this behavior with checked out items.  The
886 Mark Item Damaged functionality already handles checked out items.
887
888 Should the item have a status of In Transit at the time it is to be
889 marked, then staff will be prompted to abort the transit before
890 proceeding with changing the item's status.  If they choose to abort
891 the transit and they have the permission to do so, the transit will be
892 aborted and the item's status changed.  If they choose to cancel, then
893 the transit will not be aborted and the item's status will remain
894 unchanged.  This change applies to all three of the current Mark Item
895 statuses: Missing, Damaged, and Discard/Weed.
896
897 Marking an item Discard/Weed is typically one step away from deleting
898 the item.  For this reason, if the item to be marked Discard/Weed is
899 not in a Checked Out or In Transit status, but it is in a status that
900 restricts item deletion, the staff will be presented with a dialog
901 notifying them of the item's status and asking if they wish to
902 proceed.  If staff choose to proceed and they have the
903 `COPY_DELETE_WARNING.override` permission, then the item will be
904 marked with the Discard/Weed status.  Naturally, the item's status
905 will be unchanged if they choose not to proceed.  This change does not
906 affect the marking of an item as Missing or Damaged.
907
908 Marking an item as Discard/Weed has one more additional check that the
909 other statuses do not.  If the item being marked as Discard/Weed is
910 the last copy that can fill a hold, then staff will also be notified
911 of this condition and asked if they wish to continue.  In this case,
912 there is no permission required.  Whether or not the item is marked as
913 Discard/Weed in this case depends solely on the staff's choice.
914
915 Back End Changes
916 ++++++++++++++++
917
918 In order to accommodate the presentation of dialogs and overrides in
919 the staff client, the `OpenILS::Application::Circ` module's method for
920 marking item statuses has had a few changes made.  Firstly, the code
921 of the `mark_item` function has been rearranged to a more logical
922 flow.  Most of the condition and permission checks are made before
923 creating a transaction.  Secondly, it has been modified to return 3
924 new events when certain conditions are met:
925
926  * `ITEM_TO_MARK_CHECKED_OUT`
927  * `ITEM_TO_MARK_IN_TRANSIT`
928  * `ITEM_TO_MARK_LAST_HOLD_COPY`
929
930 The `COPY_DELETE_WARNING` event will be returned when attempting to
931 mark an item with the Discard/Weed status and the status has the
932 `restrict_copy_delete` flag set to true.
933
934 The function now also recognizes a hash of extra arguments for all
935 statuses and not just for the mark Damaged functionality.  This
936 argument hash can be used to bypass or override any or all of the
937 above mentioned events.  Each event has a corresponding argument that
938 if set to a "true" value will cause the `mark_item` to bypass the
939 given event.  These argument flags are, respectively:
940
941  * `handle_checkin`
942  * `handle_transit`
943  * `handle_last_hold_copy`
944  * `handle_copy_delete_warning`
945
946 The code to mark an item damaged still accepts its previous hash
947 arguments in addition to these new ones.
948
949 The function still returns other errors and events as before.  It
950 still returns 1 on success.
951
952 It is also worth noting here that the staff client can be easily
953 extended with the ability to mark items into the other statuses
954 offered by the back end functions.  Most of the staff client
955 functionality is implemented in two functions with placeholders in the
956 main function (`egCirc.mark_item`) for the unimplemented statuses.
957
958 Library Links in Billing Details screen
959 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
960
961 The Billing Full Details view now includes links to information about the billing and owning
962 libraries. This can be useful in situations where circulation staff are troubleshooting a
963 bill and would like to quickly find contact information for the billing or owning library.
964
965 Client
966 ~~~~~~
967
968 Cross-Tab Communication Demo
969 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
970 The Angular Sandbox now includes an example
971 for developers interested in sharing data
972 between staff client browser tabs.
973
974 (Experimental) Staff Catalog: Record Holds Tab
975 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
976 Adds support for the Holds tab in the record detail view of the Angular
977 staff catalog.  Includes grid and hold-related actions.
978
979  * Holds grid
980  * Batch cancel holds
981  * Batch retarget holds
982  * Batch edit holds
983   ** Unified form to modify notify options, dates, etc.
984  * Hold detail page (menu and row double-click)
985  * Batch mark items damaged
986  * Batch mark items missing
987  * Show last few circulations
988  * Retrieve patron
989
990 (Experimental) Staff Catalog: Call Number Browse
991 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
992
993 Adds support for call number browsing in the staff catalog.  The browse
994 results display vertically for consistency with the regular search and
995 browse result interfaces.
996
997 (Experimental) Staff Catalog: Recent Searches & Templates
998 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
999
1000 Recent Searches
1001 +++++++++++++++
1002
1003 Adds support for Recent Searches in the Angular staff catalog, consistent
1004 with TPAC staff recent searches.  Setting a value for the library setting
1005 `opac.staff_saved_search.size` is required for the recent searches to appear.
1006
1007 Search Templates
1008 ++++++++++++++++
1009
1010 Adds support for named catalog search templates.  Templates allow staff to
1011 create predefined searches (e.g. title =, subject =, format =, etc.) 
1012 where all that's left do to perform the search is fill in the search 
1013 values.
1014
1015 Templates may be built from any of the search tabs -- search, numeric search, 
1016 marc, and browse -- except shelf browse, which uses no filters.
1017
1018 Templates are stored by default as workstation settings, using the setting
1019 key `eg.catalog.search_templates`.
1020
1021 Port Permission Group Admin to Angular
1022 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1023
1024 The Administration -> Server Administration -> Permission Groups admin page has been migrated to 
1025 Angular.
1026
1027 As an added feature, the interface now displays inherited permissions
1028 alongside linked permissions for each group.  Inherited permissions
1029 are read-only and act to indicate to the user when a group already has
1030 a certain permission and therefore may not need a new one added.
1031
1032 Additionally, a new filter option is available in the linked permissions
1033 interface for filtering the displayed linked permissions by code or 
1034 description.
1035
1036 Port Org Unit Type Admin to Angular
1037 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1038 The Administration -> Server Admininistration -> Organization Types admin page has been migrated to 
1039 Angular.
1040
1041 Port Local Administration Page to Angular
1042 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1043 The Administration -> Local Administration page has been migrated
1044 to Angular along with the following specific Local Administration
1045 interfaces:
1046
1047  * Address Alerts
1048  * Barcode Completion
1049  * Group Penalty Thresholds
1050  * Hold Policies
1051  * Item Alert Suppression
1052  * Item Tags
1053  * Non-Cataloged Types Editor
1054  * Shelving Location Editor
1055  * Statistical Popularity Badges
1056
1057 Public Catalog
1058 ~~~~~~~~~~~~~~
1059
1060 Carousels
1061 ^^^^^^^^^
1062 This feature fully integrates the creation and management of book carousels
1063 into Evergreen, allowing for the display of book cover images on a library’s
1064 public catalog home page.  Carousels may be animated or static.  They can be
1065 manually maintained by staff or automatically maintained by Evergreen.  Titles
1066 can appear in carousels based on newly cataloged items, recent returns,
1067 popularity, etc.  Titles must have copies that are visible to the public
1068 catalog, be circulating, and holdable to appear in a carousel.  Serial titles
1069 cannot be displayed in carousels.  
1070
1071 Administration
1072 ++++++++++++++
1073 This feature introduces the concepts of Carousel Types, Carousels, and Carousel
1074 Library Mappings. The first can be administered in Server Administration
1075 while the latter two can be administerd in Local Administration.
1076
1077 Carousel Types define the attributes of a carousel, such as whether it is
1078 automatically managed and how it is filtered.  A carousel must be associated
1079 with a carousel type to function properly.    
1080
1081 There are five stock Carousel Types:
1082
1083   * Newly Cataloged Items - titles appear automatically based on the active date of the title’s copies
1084   * Recently Returned Items - titles appear automatically based on the mostly recently circulated copy’s check-in scan date and time  
1085   * Top Circulated Titles - titles appear automatically based on the most circulated copies in the Item Libraries identified in the carousel definition; titles are chosen based on the number of action.circulation rows created during an interval specified in the carousel definition and includes both circulations and renewals
1086   * Newest Items by Shelving Location - titles appear automatically based on the active date and shelving location of the title’s copies 
1087   * Manual - titles are added and managed manually by library staff
1088
1089 While additional Carousel Types can be added using the administration
1090 interface, new automatic types currently require additional Perl code
1091 to be recognized.
1092
1093 Carousel definitions allow the operator to specify the type, owner,
1094 name and, for automatically-maintained types, the item libraries and
1095 shelving locations to look for titles to populate the carousels as
1096 well as how far back to look for titles.
1097
1098 Carousel Library Mappings specify the libraries that the carousel
1099 should be displayed out. The visibility of a carousel at a given organizational
1100 unit is not automatically inherited by the descendants of that unit.  The
1101 carousel’s owning organizational unit is automatically added to the list of
1102 display organizational units.
1103
1104 A server-side job, `refresh_carousels.srfsh`, is available to periodically
1105 refresh the contents of automatic carousels.
1106
1107 Staff Interface
1108 +++++++++++++++
1109 Each carousel has a record bucket associated with it. Library staff can
1110 add titles to a carousel's bucket, and for the manual Carousel Type, that
1111 is the only way to populate the carousel. Records added to an automatic
1112 carousel's bucket will be removed whenever the carousel is next
1113 refreshed.
1114
1115 Public Catalog
1116 ++++++++++++++
1117 A new Template Toolkit macro called “carousels” allows the Evergreen
1118 administrator to inject the contents of one or more carousels into any point in
1119 the OPAC.  The macro will accept the following parameters:
1120
1121   * `carousel_id`
1122   * `dynamic` (Boolean, default value false)
1123   * `image_size` (small, medium, or large)
1124   * `width` (number of titles to display on a “pane” of the carousel)
1125   * `animated` (Boolean to specify whether the carousel should automatically cycle through its panes)
1126   * `animation_interval` (the interval (in seconds) to wait before advancing to the next pane)
1127
1128 If the `carousel_id` parameter is supplied, the carousel with that ID will be
1129 displayed.  If `carousel_id` is not supplied, all carousels visible to the public
1130 catalog’s `physical_loc` organizational unit is displayed.
1131
1132 Item Tags Now Display Tag Type Labels
1133 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1134 When item tags display in the catalog, they will now include the label from the
1135 item tag type.  For example, for a tag of type "Digital Bookplate", here is a
1136 comparison of the old and new display:
1137
1138  * Old output: "(Tag Value Here)"
1139  * New output: "Digital Bookplate: (Tag Value Here)"
1140
1141 The type label is wrapped in a new CSS class `copy_tag_type_label` that allows
1142 it to be styled separately from the tag value or hidden entirely.
1143
1144 New Column in Items Out Display
1145 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1146 A new column, Owning Library, is now optionally available for the OPAC
1147 Items Out display which shows the owning library of the item (not
1148 necessarily the library at which the item was picked up).  Clicking on
1149 the library name will provide contact information for that library.
1150 This is useful for When a patron has run out of renewals and the
1151 owning library, not the patron's home library, is the one with whom
1152 the patron will negotiate additional renewals.  If the patron will
1153 negotiate additional renewals with their home library or the checkout
1154 library, then display of this field is superfluous.
1155
1156 The display of this column is controlled by the organization setting
1157 `opac.show_owning_library_column.`
1158
1159 SIP
1160 ~~~
1161
1162 Fine Item Detail Enhancements
1163 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1164 SIP now suppports enhancements for the Fine Item Detail returned by
1165 by Patron Information Response (code 64).  Different manufacturers
1166 of self-check systems specify the format of the fine item detail
1167 differently.  A new option allows you to select the format to return.
1168
1169 Configuration
1170 +++++++++++++
1171 After installation of Evergreen and SIP, in the Evergreen configuration
1172 directory (typically /openils/conf) the SIP configuration file
1173 oils_sip.xml awaits your modifications to use this feature.
1174
1175 In the <accounts><login> sections, you can add an attribute of the form
1176     `av_format="__<value>__"`
1177
1178 where __<value>__ is one of thsee values:
1179
1180 * `3m`
1181 * `eg_legacy`
1182 * `swyer_a`
1183 * `swyer_b`
1184
1185 For example:
1186
1187 <login id="sipclient" password="password" institution="gapines" av_format="3m"/>
1188
1189 If you omit the option, 'eg_legacy' will be used as the default.
1190
1191 Currently, the behaviour of `eg_legacy` is close to, but not precisely
1192 that of `3m`.  The `eg_legacy` produces the pre-enhancement behavior in
1193 Evergreen.  Currently, the `swyer_a` behavior is identical to that of
1194 `3m`, but there is no guarantee that this will always be the case.
1195
1196 If you change the brand of your self-check equipment, you may need to
1197 change the value of the option to be consistent with the new brand.
1198
1199 Option to Limit Hold Items to Available
1200 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1201
1202 A new option has been added to the SIP2 implementation configuration,
1203 `msg64_hold_items_available`.  When set, this option will limit the
1204 count and list of hold items in the SIP2 patron information response
1205 message (64) to only those holds that are available for pickup.  When
1206 not set, the full list of the patron's holds will continue to be sent.
1207 This option is useful because some self checks expect to receive only
1208 the list of available holds in the hold items and have few settings to
1209 control the display of holds.
1210
1211 Acknowledgments
1212 ---------------
1213 The Evergreen project would like to acknowledge the following
1214 organizations that commissioned developments in this release of
1215 Evergreen:
1216
1217 * BC Libraries Cooperative
1218 * CW MARS
1219 * Georgia Public Library Service
1220 * Indiana State Library
1221 * King County Library System
1222 * MassLNC
1223 * Pennsylvania Integrated Library System
1224
1225
1226 We would also like to thank the following individuals who contributed
1227 code, translations, documentation, patches, and tests to this release of
1228 Evergreen:
1229
1230 * Felicia Beaudry
1231 * A. Bellenir
1232 * Jason Boyer
1233 * Mark Bucholtz
1234 * Christine Burns
1235 * Eva Cerninakova
1236 * Galen Charlton
1237 * Garry Collum
1238 * Jeff Davis
1239 * Bill Erickson
1240 * Jason Etheridge
1241 * Rogan Hamby
1242 * Abdul Munif Hanafi
1243 * Kyle Huckins
1244 * Sam Link
1245 * Kathy Lussier
1246 * Terran McCanna
1247 * Andrea Buntz Neiman
1248 * Dan Pearl
1249 * Mike Risher
1250 * Mike Rylander
1251 * Geoff Sams
1252 * Jane Sandberg
1253 * Chris Sharp
1254 * Ben Shum
1255 * Remington Steed
1256 * Jason Stephenson
1257 * Josh Stompro
1258 * Meg Stroup
1259 * Cesar Velez
1260 * Dan Wells
1261 * Liam Whalen
1262
1263 We also thank the following organizations whose employees contributed
1264 patches:
1265
1266 * BC Libraries Cooperative
1267 * Calvin College
1268 * Catalyte
1269 * CW MARS
1270 * Equinox Open Library Initiative
1271 * Georgia Public Library Service
1272 * Grand Rapids Public Library
1273 * Greater Clarks Hill Regional Library
1274 * Indiana State Library
1275 * Kenton County Public Library
1276 * King County Library System
1277 * Linn-Benton Community College
1278 * Roanoke Public Library
1279 * South Carolina State Library
1280
1281 We regret any omissions.  If a contributor has been inadvertently
1282 missed, please open a bug at http://bugs.launchpad.net/evergreen/
1283 with a correction.