1 Evergreen 2.8 Release Notes
2 ===========================
16 ==== Duplicate Order Detection Improvements ====
18 Provides tools to make it more clear to staff when a purchase order or
19 items on an order have been ordered before.
21 ===== Prevent Duplicate PO Names =====
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.
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.
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
37 ===== Show Existing Copies =====
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.
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
47 ==== Sticky Org Unit Selector ====
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.
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.
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:
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)
73 Use of the module is a simple addition to a Location block in Apache:
76 <Location /path/to/be/protected>
77 PerlAccessHandler OpenILS::WWW::AccessHandler
78 # For each option you wish to set:
79 PerlSetVar OPTION "VALUE"
82 The available options are:
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::
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
99 OILSAccessHandlerPermission::
101 Permission, or comma- or space-delimited set of permissions, the user must have to
102 access the protected area.
103 OILSAccessHandlerGoodStanding::
105 If set to a true value the user must be both Active and not Barred.
106 OILSAccessHandlerHomeOU::
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
111 OILSAccessHandlerReferrerSetting::
113 Library Setting to pull a forced referrer string out of, if set.
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.
121 The general use of this module is "protect access to something else" - what that
122 something else is will vary. Some possibilities:
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
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:
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
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
167 # Limit all Proxy connections to authenticated sessions by default
168 PerlAccessHandler OpenILS::WWW::AccessHandler
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
175 <Location /proxy/example/>
177 ProxyPass http://www.example.net/
178 ProxyPassReverse http://www.example.net/
179 ProxyPassReverseCookieDomain example.net example.com
180 ProxyPassReverseCookiePath / /proxy/example/
183 ProxyHTMLURLMap http://www.example.net/ /proxy/example/
184 ProxyHTMLURLMap / /proxy/mail/
185 ProxyHTMLCharsetOut *
187 # Limit to BR1 and BR3 users
188 PerlSetVar OILSAccessHandlerHomeOU "BR1,BR3"
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.
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
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.
214 New TPAC config option: Show more details
215 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
216 There is a new option for TPAC to show more details by default.
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'.
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.
225 Look for "show_more_details.default" in config.tt2.
235 ==== Vandelay Authority Record Match Sets ====
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.
242 ===== UI Modifications =====
244 * Authority matches display the normalized heading/thesuarus for each
246 * Item import summary is not displayed for authority queues, since
247 items cannot be imported with authority records.
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
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.
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.
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.
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.
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.
308 During upgrade, existing public patron notes that are marked
309 public are copied over as new patron messages that are marked
312 There are four new fields available in the A/T event definition:
316 * Message Library Path
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.
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.
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)
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.
356 TPAC Discoverability Enhancements
357 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
359 A number of discoverability enhancements have been made to the catalog
360 to better support search engines:
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
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"]
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]
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.
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.
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.
431 <option value="identifier|bibcn">[% l('Bib Call Number') %]</option>
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.
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
461 The Evergreen project would like to acknowledge the following
462 organizations who commissioned developments in this release of
465 * Central/Western Massachusetts Automated Resource Sharing
466 * Georgia Public Library Service
467 * Massachusetts Library Network Cooperative
470 We would also like to thank the following individuals who contributed
471 code and documentations patches to this release of Evergreen:
494 We also thank the following organizations whose employees contributed
497 * Berklee College of Music
499 * British Columbia Libraries Cooperative
501 * Emerald Data Networks, Inc.
502 * Equinox Software, Inc.
503 * Indiana State Library
504 * King County Library System
505 * Laurentian University
506 * Lake Agassiz Regional Library
507 * Massachusetts Library Network Cooperative
508 * Merrimack Valley Library Consortium
509 * North of Boston Library Exchange
510 * Pohjois-Karjalan Tietotekniikkakeskus Oy
512 * University of Windsor
514 We regret any omissions. If a contributor has been inadvertantly
515 missed, please open a bug at http://bugs.launchpad.net/evergreen/