3545e0ff4555e733b2d0130dbd83979a6c3f2d48
[working/Evergreen.git] / docs / RELEASE_NOTES_2_8.txt
1 Evergreen 2_8 Release Notes
2 ===========================
3 :toc:
4 :numbered:
5
6 New Features
7 ------------
8
9
10
11 Acquisitions
12 ~~~~~~~~~~~~
13
14
15
16 ==== Duplicate Order Detection Improvements ====
17
18 Provides tools to make it more clear to staff when a purchase order or
19 items on an order have been ordered before.
20
21 ===== Prevent Duplicate PO Names =====
22
23 Staff now have the option to specify a PO name during PO creation.
24 If the selected name is already in use by another PO at or below
25 the ordering agency for the PO, the user is warned, the save/submit
26 operations are disabled, and a link to the existing PO is display.  The
27 link opens the related PO in a new tab when clicked.
28
29 Selecting a name which is not yet used or clearing the name field
30 (which defaults upon creation to the PO ID) will clear the warning and
31 re-enable the submit/save operation.
32
33 Similarly, when editing a PO, if the user attempts to use a name already
34 used, the user will be warned and a link to the offending PO will be
35 displayed.
36
37 ===== Show Existing Copies =====
38
39 In the select list and PO view interfaces, beside the lineitem ID #, we
40 now also display the number of catalog copies already owned at or below
41 the ordering agency for the bib record in question.
42
43 The count does not include copies linked to the lineitem in question
44 nor does it include copies that are in some form of lost, missing, or
45 discard status.
46
47 ==== Sticky Org Unit Selector ====
48
49 The Context Org Unit Selector on the Funds screen will now remember and default
50 to the most-recently selected org unit. On first use, the selector will 
51 continue to default to the workstation org unit.
52
53
54 Administration
55 ~~~~~~~~~~~~~~
56
57 Apache Access Handler: OpenILS::WWW::AccessHandler
58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
59 This Perl module is intended for limiting patron access to configured locations
60 in Apache. These locations could be folder trees, static files, non-Evergreen
61 dynamic content, or other Apache features/modules. It is intended as a more
62 patron-oriented and transparent version of the OpenILS::WWW::Proxy and
63 OpenILS::WWW:Proxy::Authen modules.
64
65 Instead of using Basic Authentication the AccessHandler module instead redirects
66 to the OPAC for login. Once logged in additional checks can be performed, based
67 on configured variables:
68
69  * Permission Checks (at Home OU or specified location)
70  * Home OU Checks (Org Unit or Descendant)
71  * "Good standing" Checks (Not Inactive or Barred)
72
73 Use of the module is a simple addition to a Location block in Apache:
74
75 [source,conf]
76 <Location /path/to/be/protected>
77     PerlAccessHandler OpenILS::WWW::AccessHandler
78     # For each option you wish to set:
79     PerlSetVar OPTION "VALUE"
80 </Location>
81
82 The available options are:
83
84 OILSAccessHandlerLoginURL::
85   Default: /eg/opac/login +
86   The page to redirect to when Login is needed
87 OILSAccessHandlerLoginURLRedirectVar::
88   Default: redirect_to +
89   The variable the login page wants the "destination" URL stored in
90 OILSAccessHandlerFailURL::
91   Default: <unset> +
92   URL to go to if Permission, Good Standing, or Home OU checks fail. If not set
93   a 403 error is generated instead. To customize the 403 you could use an
94   ErrorDocument statement.
95 OILSAccessHandlerCheckOU::
96   Default: <User Home OU> +
97   Org Unit to check Permissions at and/or to load Referrer from. Can be a
98   shortname or an ID.
99 OILSAccessHandlerPermission::
100   Default: <unset> +
101   Permission, or comma- or space-delimited set of permissions, the user must have to
102   access the protected area.
103 OILSAccessHandlerGoodStanding::
104   Default: 0 +
105   If set to a true value the user must be both Active and not Barred.
106 OILSAccessHandlerHomeOU::
107   Default: <unset> +
108   An Org Unit, or comma- or space-delimited set of Org Units, that the user's Home OU must
109   be equal to or a descendant of to access this resource. Can be set to
110   shortnames or IDs.
111 OILSAccessHandlerReferrerSetting::
112   Default: <unset> +
113   Library Setting to pull a forced referrer string out of, if set.
114
115 As the AccessHandler module does not actually serve the content it is
116 protecting, but instead merely hands control back to Apache when it is done
117 authenticating, you can protect almost anything else you can serve with Apache.
118
119 Use Cases
120 +++++++++
121 The general use of this module is "protect access to something else" - what that
122 something else is will vary. Some possibilities:
123
124  * Apache features
125  ** Automatic Directory Indexes
126  ** Proxies (see below)
127  *** Electronic Databases
128  *** Software on other servers/ports
129  * Non-Evergreen software
130  ** Timekeeping software for staff
131  ** Specialized patron request packages
132  * Static files and folders
133  ** Semi-public Patron resources
134  ** Staff-only downloads
135
136 Proxying Websites
137 +++++++++++++++++
138 One potentially interesting use of the AccessHandler module is to protect an
139 Apache Proxy configuration. For example, after installing and enabling
140 mod_proxy, mod_proxy_http, and mod_proxy_html you could proxy websites like so:
141
142 [source,conf]
143 ----
144 <Location /proxy/>
145     # Base "Rewrite URLs" configuration
146     ProxyHTMLLinks  a       href
147     ProxyHTMLLinks  area        href
148     ProxyHTMLLinks  link        href
149     ProxyHTMLLinks  img     src longdesc usemap
150     ProxyHTMLLinks  object      classid codebase data usemap
151     ProxyHTMLLinks  q       cite
152     ProxyHTMLLinks  blockquote  cite
153     ProxyHTMLLinks  ins     cite
154     ProxyHTMLLinks  del     cite
155     ProxyHTMLLinks  form        action
156     ProxyHTMLLinks  input       src usemap
157     ProxyHTMLLinks  head        profile
158     ProxyHTMLLinks  base        href
159     ProxyHTMLLinks  script      src for
160
161     # To support scripting events (with ProxyHTMLExtended On)
162     ProxyHTMLEvents onclick ondblclick onmousedown onmouseup \
163             onmouseover onmousemove onmouseout onkeypress \
164             onkeydown onkeyup onfocus onblur onload \
165             onunload onsubmit onreset onselect onchange
166
167     # Limit all Proxy connections to authenticated sessions by default
168     PerlAccessHandler OpenILS::WWW::AccessHandler
169
170     # Strip out Evergreen cookies before sending to remote server
171     RequestHeader edit Cookie "^(.*?)ses=.*?(?:$|;)(.*)$" $1$2
172     RequestHeader edit Cookie "^(.*?)eg_loggedin=.*?(?:$|;)(.*)$" $1$2
173 </Location>
174
175 <Location /proxy/example/>
176     # Proxy example.net
177     ProxyPass http://www.example.net/
178     ProxyPassReverse http://www.example.net/
179     ProxyPassReverseCookieDomain example.net example.com
180     ProxyPassReverseCookiePath / /proxy/example/
181
182     ProxyHTMLEnable On
183     ProxyHTMLURLMap http://www.example.net/ /proxy/example/
184     ProxyHTMLURLMap / /proxy/mail/
185     ProxyHTMLCharsetOut *
186
187     # Limit to BR1 and BR3 users
188     PerlSetVar OILSAccessHandlerHomeOU "BR1,BR3"
189 </Location>
190 ----
191
192 As mentioned above, this can be used for multiple reasons. In addition to
193 websites such as online databases for patron use you may wish to proxy software
194 for staff or patron use to make it appear on your catalog domain, or perhaps to
195 keep from needing to open extra ports in a firewall.
196
197
198
199
200 Deleted flag for copy locations
201 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
202 A deleted flag is now available for copy locations, allowing them to be
203 "deleted" without losing statistical information for circulations in a given
204 copy location. It also allows copy locations that are only used by deleted
205 items to be deleted.
206
207 When a copy location is deleted, it will remain in the database, but will be
208 removed from display in the staff client and the catalog.
209
210
211
212
213
214 New TPAC config option: Show more details
215 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
216 There is a new option for TPAC to show more details by default.
217
218 The option to show full details as a default may be especially
219 important for e-content.  Valid values are 'true', 'false' and 'hide'.
220
221 Setting this to 'true' shows full details by default but allows the link
222 to appear for 'Show Fewer Details'. The 'hide' option shows full details
223 and also suppresses the link from displaying at all.
224
225 Look for "show_more_details.default" in config.tt2.
226
227
228
229
230 Cataloging
231 ~~~~~~~~~~
232
233
234
235 ==== Vandelay Authority Record Match Sets ====
236
237 Vandelay MARC Batch Import/Export now supports match sets for authority
238 record import matching.  Matches can be made against MARC tag/subfield
239 entries and against a record's normalized heading + thesaurus.  Internal
240 identifier (901c) matches are also supported.
241
242 ===== UI Modifications =====
243
244  * Authority matches display the normalized heading/thesuarus for each 
245    match.
246  * Item import summary is not displayed for authority queues, since
247    items cannot be imported with authority records.
248
249
250
251
252
253 Circulation
254 ~~~~~~~~~~~
255
256
257
258 Active date display in OPAC 
259 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
260 If a library uses the copy's active date to calculate holds age protection,
261 the active date will display with the copy details instead of the create date
262 in the staff client view of the catalog. Libraries that do not enable the 
263 _Use Active Date for Age Protection_ library setting will continue to display
264 the create date.
265
266
267
268
269 Option to stop billing activity on zero-balance billed  transactions
270 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
271 A new setting is available via the Library Settings Editor to stop any billing
272 activity on fully-paid lost or longoverdue transactions. When the _Do not
273 change fines/fees on zero-balance LOST transaction_ setting is enabled, once a
274 lost of long overdue transaction
275 has been fully paid, no more lost fees will be voided or overdue fines restored
276 or generated if the item is returned. The setting will reduce, though not
277 eliminate, negative balances in the system.
278
279 New Library Setting
280 +++++++++++++++++++
281  * Do not change fines/fees on zero-balance LOST transaction (circ.checkin.lost_zero_balance.do_not_change') - When an item has been marked lost and all
282 fines/fees have been completely paid on the transaction, do not void or
283 reinstate any fines/fees EVEN IF circ.void_lost_on_checkin and/or
284 circ.void_lost_proc_fee_on_checkin are enabled.  
285
286
287
288
289 Patron Message Center
290 ^^^^^^^^^^^^^^^^^^^^^
291 There is now a new mechanism via which messages can be sent to
292 patrons for them to read while logged into the public catalog.
293
294 Patron messages can be generated in two ways: when a new public
295 note is added to the patron's record, and when an A/T event
296 that is configured to generate messages is processed.  Three
297 new default A/T event definitions are added to generate
298 patron messages when a hold is canceled due to lack of a target,
299 staff action, or the item expiring on the shelf.
300
301 In the public catalog, patrons can read their messages, mark
302 one or more messages as read or unread, or delete messages that
303 they do not want to see again.  The XUL staff client has a new
304 menu option on the patron display, "Message Center", that allows
305 staff to view messages.  Messages are intentionally not meant
306 to be editable by patrons or library staff.
307
308 During upgrade, existing public patron notes that are marked
309 public are copied over as new patron messages that are marked
310 as read.
311
312 There are four new fields available in the A/T event definition:
313
314  * Message Title
315  * Message Template
316  * Message Library Path
317  * Message User Path
318
319 If these four fields are set, when the A/T event is processed,
320 a message is generated in addition to whatever reactor is
321 specified by the event definition.  This means that, for example,
322 an email overdue notice can also generate a message that the
323 patron can view in the public catalog.
324
325
326
327
328 Void Lost and Long Overdue Bills on Claims Returned
329 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
330 Four new settings have been added to allow sites to void lost item and long
331 overdue billings and processing fees when an item is marked as Claims Returned.
332
333 New Library Settings
334 ++++++++++++++++++++
335  * Void lost item billing when claims returned (circ.void_lost_on_claimsreturned)
336  * Void lost item processing fee when claims returned (circ.void_lost_proc_fee_on_claimsreturned)
337  * Void long overdue item billing when claims returned (circ.void_longoverdue_on_claimsreturned)
338  * Void long overdue item processing fee when claims returned (circ.void_longoverdue_proc_fee_on_claimsreturned)
339
340
341
342 Staff option to place another hold on same title
343 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
344 When a hold is successful in the client, staff will now see a link
345 to place another hold on the same title. This link provides some workflow
346 improvement for times when staff are placing holds for multiple patrons on a
347 newly-added title or when they are placing holds for book clubs.
348
349
350
351 OPAC
352 ~~~~
353
354
355
356 TPAC Discoverability Enhancements
357 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
358
359 A number of discoverability enhancements have been made to the catalog
360 to better support search engines:
361
362  * Titles of catalog pages now follow a "Page title - Library name" pattern
363    to provide more specific titles in search results, bookmarks, and browser
364    tabs.
365  * The OpenSearch title now specifies the library name instead of the generic
366    "Evergreen OpenSearch" at every scope.
367  * Subject headings are now exposed as http://schema.org/about[schema:about]
368    properties instead of http://schema.org/keyword[schema:keyword].
369  * Electronic resources are now assigned a http://schema.org/url[schema:url]
370    property, and any notes or link text are assigned a
371    http://schema.org/description[schema:description] property.
372  * Given a Library of Congress relator code for 1xx and 7xx fields, we now
373    surface the URL for that relator code along with
374    the http://schema.org/contributor[schema:contributor] property to give
375    machines a better chance of understanding how the person or organization
376    actually contributed to this work.
377  * Linking out to related records:
378    ** Given an LCCN (010 field), we link to the corresponding Library of Congress
379       record using http://schema.org/sameAs[schema:sameAs].
380    ** Given an OCLC number (035 field, subfield `a` beginning with `(OCoLC)`), we
381       link to the corresponding WorldCat record using
382       http://schema.org/sameAs[schema:sameAs].
383    ** Given a URI (024 field, subfield 2 = `'uri'`), we link to the
384       corresponding OCLC Work Entity record using
385       http://schema.org/exampleOfWork[schema:exampleOfWork].
386  * The sitemap generator script now includes located URIs as well as copies
387    listed in the `asset.opac_visible_copies` materialized view, and checks
388    the children or ancestors of the requested libraries for holdings as well.
389  * Links that robots should not crawl, such as search result links, are now
390    marked with the https://support.google.com/webmasters/answer/96569?hl=en[@rel="nofollow"]
391    property.
392  * Catalog pages for record details and for library descriptions now express
393    a https://support.google.com/webmasters/answer/139066?hl=en[@rel="canonical"]
394    link to simplify the number of variations of page URLs that could otherwise
395    have been derived from different search parameters.
396  * Catalog pages that do not exist now return a proper 404 "HTTP_NOT_FOUND"
397    HTTP status code, and record detail pages for records that have been deleted
398    now return a proper 410 "HTTP_GONE" HTTP status code, instead of returning a
399    misleading 200 "OK" HTTP status code.
400  * Record detail and library pages now include http://ogp.me/[Open Graph Protocol]
401    markup.
402
403
404
405
406 Add new link to My Lists in My Account
407 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
408 There is now a direct link to "My Lists" from the "My Account" area in the 
409 top upper-right part of the screen.  This gives users the ability to quickly
410 access their lists while logged into the catalog.
411
412
413 Permalinks
414 ^^^^^^^^^^
415 The record summary page will now offer a link to a shorter permalink that
416 can be used for sharing the record with others. All URL parameters are stripped
417 from the link with the exception of the locg and copy_depth parameters. Those
418 parameters are maintained so that people can share a link that displays just
419 the holdings from one library/system or displays holdings from all libraries
420 with a specific library's holdings floating to the top.
421
422
423
424 Removal of Bib Call Number Search
425 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
426 The Bib Call Number Search has been removed as a default numeric search in
427 the catalog. Evergreen sites that wish to restore this search to the catalog
428 can add the following to the numeric_qtype menu in the numeric.tt2 file.
429
430 ----
431  <option value="identifier|bibcn">[% l('Bib Call Number') %]</option>
432 ----
433
434
435
436
437 Improved styling on Text call number screen
438 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
439 New styling on the _Text call number_ screen has added highlighting to the
440 displayed message, makes the font consistent with other text on the screen, and
441 displays better on mobile devices.
442
443
444
445
446 Miscellaneous
447 -------------
448
449 IMPORTANT SECURITY INFORMATION
450 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
451 A serious security flaw that allows unauthorized remote access to
452 organizational unit settings is fixed in the following releases of
453 Evergreen: 2.5.9, 2.6.7, and 2.7.4.  All prior releases of Evergreen
454 are vulnerable to exploitation of this flaw to reveal sensitive system
455 information.  If you are running a vulnerable release of Evergreen you
456 are *strongly* encouraged to upgrade to a non-vulnerable release as
457 soon as possible.
458
459 Acknowledgments
460 ---------------
461 The Evergreen project would like to acknowledge the following
462 organizations who commissioned developments in this release of
463 Evergreen:
464
465  * Central/Western Massachusetts Automated Resource Sharing
466  * Georgia Public Library Service
467  * Massachusetts Library Network Cooperative
468  * NC Cardinal
469
470 We would also like to thank the following individuals who contributed
471 code and documentations patches to this release of Evergreen:
472  
473  * Thomas Berezansky
474  * Adam Bowling
475  * Jason Boyer
476  * Steven Chan
477  * Galen Charlton
478  * Bill Erickson
479  * Jason Etheridge
480  * Pasi Kallinen
481  * Kathy Lussier
482  * Christine Morgan
483  * Art Rhyno
484  * Mike Rylander
485  * Dan Scott
486  * Ben Shum
487  * Remington Steed
488  * Jason Stephenson
489  * Josh Stompro
490  * Yamil Suarez
491  * Dan Wells
492  * Liam Whalen
493
494 We also thank the following organizations whose employees contributed
495 patches:
496
497  * Berkless College of Music
498  * Bibliomation
499  * British Columbia Libraries Cooperative
500  * Calvin College
501  * Emerald Data Networks, Inc.
502  * Equinox Software, Inc.
503  * Indiana State Library
504  * Laurentian University
505  * Lake Agassiz Regional Library
506  * Massachusetts Library Network Cooperative
507  * Merrimack Valley Library Consortium
508  * North of Boston Library Exchange
509  * Pohjois-Karjalan Tietotekniikkakeskus Oy
510  * Sigio
511  * University of Windsor
512
513 We regret any omissions.  If a contributor has been inadvertantly
514 missed, please open a bug at http://bugs.launchpad.net/evergreen/
515 with a correction.
516