]> git.evergreen-ils.org Git - Evergreen.git/blob - docs/RELEASE_NOTES_2_5.txt
Fix typos in 2.5 release notes
[Evergreen.git] / docs / RELEASE_NOTES_2_5.txt
1 Evergreen 2.5 Release Notes
2 ===========================
3 :toc:
4 :numbered:
5
6 Upgrade Notes
7 -------------
8
9 Circulation
10 ~~~~~~~~~~~
11
12 Long Overdue Circulations Management
13 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
14 If you are using a custom version of the 
15 '/openils/conf/action_trigger_filters.json.example' file, you will need to 
16 merge the changes made by this feature into your file.  The change in 
17 question alters the 'checkout.due' hook such that LONGOVERDUE circulations 
18 are no longer treated as regular overdue items.
19
20 OPAC
21 ~~~~
22
23 Web-Based Patron Self-Registration
24 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
25   * If a value is set for the _Patron Self-Reg Expire Interval_
26     (opac.pending_user_expire_interval) for any org units, the new
27     /openils/bin/purge_pending_users.srfsh script should also be added to the
28     opensrf user's crontab.  Running the script once per day should suffice.
29
30
31 Miscellaneous
32 ~~~~~~~~~~~~~
33
34 Log Redaction Config Change
35 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
36 The previous log protect redaction instructions missed a method used
37 by the patron initiated password reset system.  In order to fill this
38 gap, you need to find the <log_protect> portion of your
39 opensrf_core.xml file and add the following line:
40
41       <match_string>open-ils.actor.patron.password_reset.commit</match_string>
42
43 You should see a number of similar lines already there in between
44 <log_protect> and </log_protect>.
45
46 Server Add-ons
47 ^^^^^^^^^^^^^^
48 This adds a "Server Add-ons" menu entry under Admin -> Workstation
49 Administration in the staff client.  Choosing this allows you to edit or set a
50 list of identifiers that correspond to JSAN-style modules found in
51 /server/addons/, and is meant mainly for activating 3rd party modules within the
52 staff client on a per-workstation basis.  You need the
53 ADMIN_SERVER_ADDON_FOR_WORKSTATION permission to use it.
54
55 Configuration options for activated add-ons may also show up in this interface.
56
57
58
59
60 New Features
61 ------------
62
63
64 Acquisitions
65 ~~~~~~~~~~~~
66
67
68
69 Support PO activation without requiring items
70 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
71
72 A new _Activate PO Without Loading Items_ option in the PO allows staff to
73 activate the PO without loading copies into the catalog.
74
75
76
77 :leveloffset: 3
78
79 Differentiate between cancelled and "delayed" lineitems
80 =======================================================
81 In the ACQ user interface, it is now more clear to users when a lineitem has
82 been fully cancelled or if it has been cancelled temporarily (e.g.
83 back-ordered).  
84
85 When a lineitem is cancelled, but "keep_debits" is true on the cancel reason,
86 the lineitem is in effect delayed instead of truly cancelled.  This is now
87 more obvious in the interface with different row styling for cancelled vs
88 delayed lineitems.  We also always show the lineitem cancel reason (label) 
89 next to the non-title attributes in the lineitem list display.
90
91 :leveloffset: 0
92
93
94
95 Opportunistic Acquisitions In-Process Copy Overlay
96 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
97
98 Improves existing acquisitions copy overlay code (which matches and overlays
99 using specified IDs) by adding broader matching criteria. By selecting the new
100 option, _Auto Overlay In-process Acquisitions Copies_, the system will
101 potentially overlay copies which:
102
103 * have associated lineitem details (that is, they were created by the 
104 acquisitions process),
105 * that lineitem detail has the same owning_lib as the incoming copy's
106 owning_lib, and
107 * the current copy associated with that lineitem detail is _In process_.
108
109
110
111
112
113
114 Printing PO Names on Purchase Orders
115 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
116
117 The _Print Purchase Order_ option now prints the PO Name in addition to the PO
118 ID.
119
120
121
122
123 Administration
124 ~~~~~~~~~~~~~~
125
126
127
128 Default filter option for configuration screens
129 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
130
131 By default, most admin configuration screens in the staff client will now
132 include filters allowing staff to display just those items matching a certain
133 criteria.
134
135
136
137
138 Upgrade Notes : IDL2js Locale Support
139 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
140
141 The following Apache configuration changes are required to support the 
142 locale-aware IDL2js module.  
143
144 // note: there's no Apache conf highlighting.  'bash' works well enough.
145 [source, bash]
146 -----------------------------------------------------------------
147 # file: eg_vhost.conf
148
149 # this is the new part
150 # capture locale CGI param for /reports/fm_IDL.xml
151 RewriteCond %{REQUEST_URI} ^/reports/fm_IDL.xml
152 RewriteCond %{QUERY_STRING} locale=([^&;]*)
153 RewriteRule . - [E=locale:%1]
154
155 # it should be placed just above this existing config section
156 <LocationMatch /reports/fm_IDL.xml>
157     IDLChunkStripPI "yes"
158     IDLChunkEscapeScript "no"
159     IDLChunkStripComments "yes"
160     IDLChunkStripDoctype "yes"
161     IDLChunkContentType "application/xml; charset=utf-8"
162     AddOutputFilter INCLUDES;IDLCHUNK .xml
163 </LocationMatch>
164 -----------------------------------------------------------------
165
166 Inter-authority linking script
167 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
168
169 Adds a script called authority_authority_linker.pl in support-scripts that,
170 when run, will link authority reference headings to authority records that 
171 contain the same main entry using a subfield 0. This causes triggers to fill
172 up the authority-authority linking table and allows more information to appear
173 in the bib/authority browse when a displayed heading comes from an authority
174 record that has linked _See Also_ references.
175
176
177
178
179 New Updates Tools
180 ^^^^^^^^^^^^^^^^^
181
182 Source code for tools to generate the staff clients updates tools were
183 added to Open-ILS/xul/staff_client/external/libmar.  These tools
184 replace the downloadable tools from Mozilla.org that were previously
185 used to generate the staff client updates files.
186
187 They come with their own configuration script and are configured
188 automatically as a subpackage when you configure Evergreen for
189 installation.  They are also built and ready for use when you make
190 Evergreen during the installation or upgrade process.
191
192 The make_updates.sh script that is run when you tell Evergreen to make
193 the staff client updates has been modified to use the new tools.
194
195 These tools introduce a dependency on libbz2.  This is often only
196 available when installing the libbz2-dev or libbz2-devel packages.
197 Thus this branch introduces a new dependency on the development packages
198 for libbz2 in Evergreen.
199
200 Nothing in the user facing behavior of building updates changes with
201 these tools.  They are drop-in replacements for the previous tools and
202 other than the new dependency on libbz2, you don't even need to know
203 that they are there.
204
205 These tools were added to Evergreen to be an aid in portability to
206 operating systems other than Linux.  They also remove a dependency on
207 a third-party tool, that is typically downloaded as a binary.
208
209
210 :leveloffset: 3
211
212 Phonelist.pm Module
213 ===================
214
215 PhoneList.pm is a mod_perl module for Apache that works with Evergreen
216 to generate callings lists for patron holds. It outputs a csv file
217 that can be fed into an auto-dialer script to call patrons with little
218 or no staff intervention.  It is accessed and configured via a special
219 URL and passing any parameters as a ``Query String'' on the URL.  The
220 parameters are listed in the table below.
221
222 .Parameters for the phonelist program:
223 |=====================================
224 | user |  Your Evergreen login. Typically your library's circ account. If you leave this off, you will be prompted to login.
225 | passwd | The password for your Evergreen login. If you leave this off you will be prompted to login.
226 | ws_ou | The ID of the system or branch you want to generate the list for (optional). If your account does not have the appropriate permissions for the location whose ID number you have entered, you will get an error.
227 | skipemail | If present, skip patrons with email notification (optional).
228 | addcount | Add a count of items on hold (optional). Only makes sense for holds.
229 | overdue | Makes a list of patrons with overdues instead of holds. If an additional, numeric parameter is supplied, it will be used as the number of days overdue. If no such extra parameter is supplied, then the default of 14 days is used.
230 |=====================================
231
232 The URL is
233
234 `https://your.evergreen-server.tld/phonelist`
235
236 A couple of examples follow:
237
238 `https://your.evergreen-server.tld/phonelist?user=circuser&passwd=password&skipemail`
239
240 The above example would sign in as user circuser with password of
241 ``password'' and get a list of patrons with holds to call who do not
242 have email notification turned on. It would run at whatever branch is
243 normally associated with circuser.
244
245 `https://your.evergreen-server.tld/phonelist?skipemail`
246
247 The above example would do more or less the same, but you would be
248 prompted by your browser for the user name and password.
249
250 If your browser or download script support it, you may also use
251 conventional HTTP authentication parameters.
252
253 `https://user:password@your.evergreen-server.tld/phonelist?overdue&ws_ou=2`
254
255 The above logs in as ``user'' with ``password'' and runs overdues for location ID 2.
256
257
258
259
260 "Purge Holds"
261 =============
262 Similar to purging circulations one may wish to purge old (filled or canceled) hold information. This feature adds a database function and settings for doing so.
263
264 Purged holds are moved to the action.aged_hold_request table with patron identifying information scrubbed, much like circulations are moved to action.aged_circulation.
265
266 The settings allow for a default retention age as well as distinct retention 
267 ages for holds filled, holds canceled, and holds canceled by specific cancel
268 causes. The most specific one wins unless a patron is retaining their hold history. In the latter case the patron's holds are retained either way.
269
270 Note that the function still needs to be called, which could be set up as a cron job or done more manually, say after statistics collection. A new script, purge_holds.srfsh, is added that can be used to purge holds from cron.
271
272
273 :leveloffset: 0
274
275
276 Action Trigger Event Repeatability
277 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
278
279 Action Trigger Event Definitions have a new field, "Event Repeatability
280 Delay". This feature allows events to be repeated after the designated
281 delay interval. An example of this is sending a notification email when a
282 patron's library card expires. If the library extends the expiration date
283 on that card, we then need a way to send another notification email when
284 that same card expires again. Before, the Action Trigger processor only
285 created a new event if the event definition for that target had never
286 been run before. But now it allows repeating of the event after the delay
287 interval, if present.
288
289
290
291
292 Cataloging
293 ~~~~~~~~~~
294
295 :leveloffset: 3
296
297 Vandelay Item Import Defaults
298 =============================
299
300 Via the Library Settings Editor (Org Unit Settings), support auto-generation of
301 call numbers and barcodes for items imported via the staff client's MARC Batch
302 Import interface (a.k.a. Vandelay).  Support settings for applying a local
303 prefix string to auto-generated call numbers and barcodes.  For both, the
304 prefix defaults to "VAN".
305
306 Similarly, support default copy location and circ modifiers.
307
308 New Library Settings
309 ---------------------
310
311  * Vandelay Generate Default Barcodes (vandelay.item.barcode.auto)
312  * Vandelay Default Barcode Prefix (vandelay.item.barcode.prefix)
313  * Vandelay General Default Call Numbers (vandelay.item.call_number.auto)
314  * Vandelay Default Call Number Prefix (vandelay.item.call_number.prefix)
315  * Vandelay Default Copy Location (vandelay.item.copy_location.default)
316  * Vandelay Default Circulation Modifier (vandelay.item.circ_modifier.default)
317
318 Z39.50 Batch Search and Queue
319 =============================
320
321 Staff Work Flow
322 ---------------
323
324  * Staff add records to bib record buckets
325  * Staff select the new "Locate Z39.50 Matches" action for a selected bucket.
326  * Staff choose which Z39.50 sources and indexes to search and the destination 
327    queue.
328  * Submitting the search fires a series of parallel Z39.50 searches across
329    all selected Z39.50 sources.
330  * Matches are added to the selected (Vandelay) queue.
331  * Matched records may be manually or automatically overlaid to existing 
332    catalog records using the existing Vandelay import/merge/overlay features.
333
334 Vandelay Limit to Bucket
335 ------------------------
336
337 As a side effect of this feature, Vandelay now has a new option in the 
338 interface which allows staff to limit which catalog records to which an 
339 inbound record matches to bib records within a record bucket.  When a record
340 bucket and match set are chosen, only the records in the bucket can act as
341 merge/overlay targets for the inbound Vandelay records.
342
343 Server Admin Settings
344 ---------------------
345
346 _Z39.50 Index Field Maps_ can be used to map bib record
347 indexes (Metabib Fields and Record Attributes) to Z39.50
348 search attributes.  The purpose of the mapping is to allow the server to
349 determine which values to use for the automated Z39.50 searches.  For example,
350 if the Z39.50 "title" attribute is mapped to the "Uniform Title" Metabib Field,
351 the extracted value for "Uniform Title" for each record in the bucket will be
352 used as the "title" value in the Z39.50 search.
353
354 Mappings can be applied to specific Z39.50 attributes, which define an attribute
355 type and a Z39.50 source, or to generic attribute types (e.g. "title").  When
356 a specific attribute is used, the mapping will only be applied to searches 
357 directed at the Z39.50 source linked to the attribute.
358
359 The management interface can be found in the staff client under 
360
361 Admin => Server Administration => Z39.50 Index Field Maps
362
363 Metabib Field Additions
364 -----------------------
365
366 Stock config.metabib_field entries for author include additional author-
367 related data, like dates.  For example, a value for Personal Author might 
368 look like this:
369
370 'girdlestone cuthbert morton 1895 1975 creator'
371
372 In the context of searching Z39.50 servers, the extraneous data can be 
373 detrimental.  Creating a separate field definition without the extra data
374 is recommended.
375
376 [source,sql]
377 --------------------------------------------
378 INSERT INTO config.metabib_field 
379     (field_class, name, label, format, xpath, search_field)
380     VALUES (
381         'author', 
382         'personal - trimmed', 
383         'Personal Author (trimmed)', 
384         'mods32',
385         '//mods32:mods/mods32:name[@type=''personal'' and mods32:role/mods32:roleTerm[text()=''creator'']]/mods32:namePart[not (@type)]',
386         FALSE
387     );
388
389 -- FULL BIB (OR INDEX-TARGETED) RE-INGEST REQUIRED
390 --------------------------------------------
391
392
393 Library Settings
394 -----------------
395
396  * Maximum Parallel Z39.50 Batch Searches (cat.z3950.batch.max_parallel)
397   ** The maximum number of Z39.50 searches that can be in-flight at any given 
398      time when performing batch Z39.50 searches
399  * Maximum Z39.50 Batch Search Results (cat.z3950.batch.max_results)
400   ** The maximum number of search results to retrieve and queue for each 
401      record + Z39 source during batch Z39.50 searches
402
403 :leveloffset: 0
404
405
406 Circulation
407 ~~~~~~~~~~~
408
409 Patron barcode regex for patron registration
410 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
411 A new library setting is available to set a barcode regex to be checked during
412 patron registration. 
413
414 Setting for Desk Renewal to use original circulating library
415 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
416
417 A new global flag option has been added to allow the circulating library of 
418 a desk renewal (a.k.a. a renewal using the staff client) to reuse the original 
419 circulation library for circ rule behaviors rather than using the workstation.
420 This new setting is similar to existing options to use the originating 
421 circulation library in OPAC renewals.
422
423 Library Setting to Disable Patron Credit
424 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
425 A new library setting is available to disable patron credit payments in the
426 billing interface. When enabled, the setting will:
427
428 * Disallow patron_credit payments in the payment API.
429 * Hide all of the patron credit payment actions in the staff client patron
430 payment interface.
431
432 Option to Disallow Use of a Branch as a Pickup Library for Holds
433 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
434 A new library setting is available to remove a branch from consideration as a
435 hold pickup library. This setting only affects the OPAC pickup library selector
436 and does not otherwise affect the display of the branch in the OPAC. It also
437 has no effect on hold targeting / capturing.
438
439
440 :leveloffset: 3
441
442 Floating Groups
443 ===============
444
445 In previous versions of Evergreen, floating group copies could float or not. If they floated, then they floated everywhere with no restrictions.
446
447 This enhancement provides an interface to define where a copy will float by assigning it to a floating group.
448
449 Long Overdue Circulations Management
450 ====================================
451
452 This is a two-part feature, which covers marking circulations as long
453 overdue via automated processing and check-in of long overdue circulations.
454
455 Marking Circulations Long Overdue
456 ---------------------------------
457
458 A new Action/Trigger reactor (MarkItemLongOverdue) and sample event 
459 definition (6 Month Overdue Mark Long-Overdue) are included for 
460 marking circulations and their associated copies as long overdue.  New Library
461 Settings (Org Unit Settings) determine whether the item price and/or a
462 processing fee is applied.  
463
464 A secondary Action/Trigger hook (longoverdue.auto) and sample event 
465 definition (6 Month Long Overdue Notice) are added so that (email, etc.) 
466 notifications can be sent when a circulation is marked long overdue via
467 this new automated process.
468
469 Also included is a new Action/Trigger validator PatronNotInCollections, which
470 can be used to prevent long overdue processing (or any circ-based event 
471 definition) for patrons that are in collections processing at (or above) the 
472 circulating library.
473
474 Check-in of Long Overdue Circulations
475 -------------------------------------
476
477 Check-in of long overdue items may result in any of the following actions,
478 depending on configuration.
479
480  * Void the copy price billing
481  * Void the long-overdue processing fee billing
482  * Reinstate voided overdue fines
483
484 The process is practically identical to Lost processing.  However, one
485 difference between Lost and Long Overdue check-in is that the window
486 of time during which a long overdue item may be returned may be based on the
487 due date (like Lost) or the last billing activity date (last payment, last
488 billing).  This is controlled with the "Long-Overdue Check-In Interval Uses
489 Last Activity Date" Library Setting.
490
491 New Library Settings
492 --------------------
493
494  * Long-Overdue Materials Processing Fee
495  * Void Overdue Fines When Items are Marked Long-Overdue
496  * Leave transaction open when long overdue balance equals zero
497  * Long-Overdue Items Usable on Checkin
498  * Long-Overdue Max Return Interval
499  * Restore Overdues on Long-Overdue Item Return
500  * Void Long-Overdue Item Billing When Returned
501  * Void Processing Fee on Long-Overdue Item Return
502  * Long-Overdue Check-In Interval Uses Last Activity Date
503
504 A combination of 'Charge lost on zero' and 'Default Item Price' are used to
505 determine the amount to charge for the item price when a circulation is 
506 marked as long overdue.
507
508 New Billing Types
509 -----------------
510
511  * Long-Overdue Materials
512  * Long-Overdue Materials Processing Fee
513
514 New Permissions
515 ---------------
516
517  * SET_CIRC_LONG_OVERDUE
518  * COPY_STATUS_LONGOVERDUE.override
519
520 New Copy Status
521 ---------------
522
523  * Long Overdue
524
525
526 :leveloffset: 0
527
528
529 Patron blocking by lost items and include lost as items out
530 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
531
532 This feature has two main parts, both of which are to improve the staff's
533 ability to assist patrons in regards to lost items.
534
535 * Patron blocking by lost items.  This will add a group penalty threshold
536 that will alert staff when a patron has too many lost items.  This
537 setting is modified through the Group Penalty Thresholds page.
538
539 * Include lost items as items out.  Through a new Library Setting,
540 'Include Lost circulations in lump sum tallies in Patron Display',
541 the staff have the ability to determine if lost items will be included
542 in items out.
543
544 :leveloffset: 3
545
546 Long-Overdue Patron Standing Penalty
547 ====================================
548
549 This is the long-overdue version of the existing PATRON_EXCEEDS_LOST_COUNT
550 standing penalty.  When a patron exceeds the configured threshold for open
551 long-overdue (i.e. non-zero balance) circulations, the penalty is applied.
552 When the number once again goes below the threshold, the penalty is removed.
553
554 The penalty name is PATRON_EXCEEDS_LONGOVERDUE_COUNT / "Patron Exceeds Max
555 Long-Overdue Threshold"
556
557 :leveloffset: 0
558
559 Per-Hold Behind Desk Setting
560 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
561
562 The value for behind-the-desk pickup is now stored directly on each
563 hold request.  This allows the system to better track the true location 
564 of captured hold items in cases where the patron setting has changed since
565 hold capture.
566
567 For these features to be accessible, the "Behind Desk Pickup Supported" 
568 (circ.holds.behind_desk_pickup_supported) Library Setting must be set 
569 to true.
570
571 Staff Client
572 ++++++++++++
573
574 In addition to the counts of ready for pickup and available holds, the
575 staff client now also displays the number of behind-the-desk-holds ready 
576 for pickup at the staff's working location.  If no items are held behind
577 the desk, this information does not display, in particular, because this 
578 information is useless if behind the desk holds are not supported at the 
579 staff's working location.
580
581 TPAC Changes
582 ++++++++++++
583
584 The system also allows patrons to set their own behind-the-desk 
585 pickup preferences in the TPAC settings interface.  To activate this
586 feature, admins need to set the Opac Visible flag to "true" for the 
587 "Hold is behind Circ Desk" (circ.holds_behind_desk) user setting and
588 "Behind Desk Pickup Supported" must be set to true for the patron's
589 home library.
590
591 Print Single Item Receipt
592 ^^^^^^^^^^^^^^^^^^^^^^^^^
593
594 This feature adds the ability to print a receipt for just a single selected
595 item from the patron interface for Items Out or Lost, Claims Returned, Long
596 Overdue, Has Unpaid Billings. This can be used via right-click or using the
597 'Actions for Selected Items' button.
598
599 More User Name Fields Available for Simplified Hold Pull List
600 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
601 More User Name fields are available for display in the simplified hold pull
602 list interface including:
603
604 * First Given Name
605 * Second Given Name
606 * Family Name
607 * Prefix
608 * Suffix
609 * User Alias or First Given Name
610 * User Alias or Display Name
611 * User Alias
612
613
614
615
616 Changes to Self-Check Interface
617 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
618 The following improvements were made to the self-check interface:
619
620 * Convert action links to buttons for increased clarity
621 * Convert dashed fieldsets to gradient backed bubbles for depth
622 * Color line-item table headers to distinguish from actual line-items
623 * Color logo background for increased contrast
624 * Larger input box
625 * Background on prompts to distinguish from logo background
626
627
628
629
630 Different Styles for Long Overdue Lost Items in Billing Interface
631 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
632 Lost or Long Overdue circulations that have not yet been returned will appear
633 in the patron's list of billed transactions styled differently from other
634 not-yet-returned items.
635
636 The interface will also display a helpful message to staff indicating what 
637 colors map to what types of circulations.
638
639 The default colors are maroon for Lost items and orange for Long Overdue items.
640
641 To change the colors, modify circ.css. To change the language for the hint,
642 modify lang.dtd.
643
644 Checkout: Trim whitespace from beginning and end of barcode
645 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
646
647 In checkout, when pasting a barcode into the lookup field, one may accidentally
648 include spaces or tabs in the beginning or end of the barcode string. Trim 
649 those away to avoid potential mis-scans.
650
651 Wrong-Shelf Holds in Clearable Shelf-Expired Holds List
652 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
653
654 The following changes were made to the _Browse Holds Shelf_ interface:
655
656 . Change the staff client _View Shelf-Expired Holds_ action label to _View 
657 Clearable Holds_.
658 . When _View Clearable Holds_ is selected, show wrong-shelf holds in addition
659 to shelf-expired and canceled holds.
660
661 Client
662 ~~~~~~
663
664 :leveloffset: 3
665
666 Customize Items Out Display for Lost, etc.
667 ==========================================
668
669 Items which are LOST, LONGOVERDUE, or CLAIMSRETURNED may now be displayed 
670 in the top/main list of circulations instead of the bottom list in the
671 staff client patron Items Out interface.  Similarly, such items can be 
672 removed from the display once the items are checked in even if the 
673 transaction is still open (fines are owed, etc.).
674
675 Apart from organization, this has two additional effects:
676
677  * If all 3 types are hidden once checked in, the interface becomes a true
678    items out interface, instead of a combination of items out and 
679    special circumstance checked-in circs.
680  * If, in addition, all types are configured to be displayed in the top
681    list, the bottom list is hidden from the UI (since nothing would display
682    there), which creates more screen space for the main items out list.
683
684 New Library Settings
685 ---------------------
686
687  * Items Out Long-Overdue display setting (ui.circ.items_out.longoverdue)
688  * Items Out Lost display setting (ui.circ.items_out.lost)
689  * Items Out Claims Returned display setting (ui.circ.items_out.claimsreturned)
690
691 The value for each is a numeric code, describing which list the circulation
692 should appear while checked out and whether the circulation should continue 
693 to appear in the bottom list, when checked in, regardless of the state of
694 the transaction.
695
696  * 1 = top list, then bottom list 
697  * 2 = bottom list, then bottom list
698  * 5 = top list, then do not display
699  * 6 = bottom list, then do not display
700
701 Hint: to hide the bottom list entirely, set the value for all three settings 
702 to '5'.
703
704 :leveloffset: 0
705
706
707 Adjustable font size in the staff client catalog
708 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
709 When using the staff client, the font size in the catalog can now be
710 increased/decreased by using the CTRL key with + (to increase), with - (to
711 decrease), and with 0 (to restore default font size). Font sizes can persist
712 via a setting in user preferences.
713
714 Standalone Mode Shortcut
715 ^^^^^^^^^^^^^^^^^^^^^^^^
716
717 The Evergreen installer now includes a shortcut that launches the staff client 
718 directly into standalone (offline) mode.
719
720
721
722
723 User Setting Defaults
724 ^^^^^^^^^^^^^^^^^^^^^
725
726 For use during Patron Registration, we can now supply default values for User
727 Settings, under _Admin_ -> _Server Administration_ -> _User Setting Types_.
728
729 OPAC
730 ~~~~
731
732 Added Content by Record ID
733 ^^^^^^^^^^^^^^^^^^^^^^^^^^
734 Traditionally, Evergreen has supported Added Content lookups by ISBN
735 only, or (more recently) by one of ISBN or UPC.
736
737 This enhancement adds support for Added Content lookups by record
738 ID, while still supporting the previous URL format for lookups by
739 ISBN.
740
741 The JSPAC and TPAC skins, as well as the web-based Self Checkout
742 interface templates are updated to use jacket images / cover art by
743 record ID by default.
744
745 By using record identifiers, the Added Content handler has the
746 opportunity to examine additional identifiers in the bib record.
747 Currently, these include:
748
749  * ISBN
750  * UPC
751  * ISSN
752
753 Currently, only the OpenILS::WWW::AddedContent::Syndetic provider
754 makes use of the new identifiers.
755
756
757 Local Content Overrides
758 +++++++++++++++++++++++
759 Just as with ISBN lookups, there is support for local overrides in
760 the form of a file created on disk which short-circuits any external
761 Added Content lookup.
762
763
764 Apache Configuration
765 ++++++++++++++++++++
766
767 The example Apache configs have been updated to support serving
768 blank.png when added content jacket URLs return a 404. This prevents
769 "broken image" placeholders in browsers, without requiring a
770 Javascript onerror handler on each img tag.
771
772 The changes are as follows:
773
774 In the eg.conf VirtualHost declaration for SSL, add:
775
776 [source,conf]
777 SSLProxyEngine on # required for ErrorDocument 404 on SSL connections
778
779 In the eg_vhost.conf file, add:
780
781 [source,conf]
782 <Location /opac/extras/ac/jacket>
783         ErrorDocument 404 /opac/images/blank.png
784 </Location>
785
786
787 Bib record browser with linked authorities
788 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
789
790 This feature provides a patron-oriented OPAC interface for browsing
791 bibliographic records.
792
793 Users choose to browse by Author, Title, Subject, or Series. They then
794 enter a browse term, and the nearest match from a left-anchored search
795 on the headings extracted for browse purposes will be displayed in a
796 typical backwards/forwards paging display. Headings link to search
797 results pages showing the related records. If the browse heading is
798 linked to any authority records, and if any *other* authority records
799 point to those with "See also" or other non-main entry headings, those
800 alternative headings are displayed linked to a search results page
801 showing related bib records related to the alternate heading.
802
803 The counts of holdings displayed next to headings from bibliographic
804 records are subject to the same visibility tests as search. This means
805 that the org unit (and copy location group) dropdown on the browse
806 interface affects counts, and it further means that whether or not
807 you're looking at the browse interface through the staff client makes a
808 difference.
809
810 Configuration considerations for site administrators
811 ++++++++++++++++++++++++++++++++++++++++++++++++++++
812 There are two off-by-default features that site administrators may wish
813 to enable.
814
815   * Quick paging links: By adding a value for the Library Setting
816     _Paging shortcut links for OPAC Browse_ (opac.browse.pager_shortcuts), you
817     can make shortcut browsing links such as ''0-9 A B C D ...'' appear
818     between the Back and Next buttons on the browse page. The set of shortcuts
819     should be chosen based on the languages in use at your site, but a
820     reasonable value for English might be the string
821     "*0-9*ABCDEFGHIJKLMNOPQRSTUVWXYZ", which will yield a link for 0-9 and one
822     for each letter A-Z.  The use of asterisks in the string group a shortcut
823     whose label is more than a single letter in length.  Such longer shortcuts
824     have the multi-character string for the shortcut label, and the link just
825     goes to the first heading matching the first character of the label.  The
826     letters not enclosed in asterisks just lead to individual letter shortcuts.
827
828   * There is a global flag by the name _Map of search classes to regular
829     expressions to warn user about leading articles_
830     (opac.browse.warnable_regexp_per_class) to control what leading
831     articles in users' entered browse terms trigger a warning about how
832     it might be better to search for "Rolling Stones" instead of "The
833     Rolling Stones" (or whatever). This is off by default, but can be
834     enabled if it suits your catalog, and can even be customized per
835     search class (author, title, series, subject).
836
837    * Also, by default, authors are indexed for browse in such a way that
838      relator roles like "creator" are dropped off the end of their headings.
839      This was an aesthetic choice. If a site wanted to display those kinds
840      of terms, they would update the 'config.metabib_field' table in
841      the database, setting 'browse_xpath' to NULL where 'field_class' =
842      ''author'' and 'browse_field' is true.
843
844 :leveloffset: 2
845
846 Authority-enhanced bibliographic browse
847 ---------------------------------------
848
849 The Evergreen OPAC includes functionality for browsing by bibliographic terms,
850 and, where those terms are controlled by authority records, for linking directly
851 to the records that use other authority controlled terms that are appropriately
852 linked to the browse-exposed term.  In this way, one can browse authors for
853 "King, Stephen" and, when appropriate and correct cataloging has been performed,
854 be presented with a browse link within the author browse list to that brings the
855 user to a "Bachman, Richard" entry, assuming visible bibliographic records are
856 indeed attached to both records. Likewise, when browsing for "Bachman,
857 Richard", users will be presented with a browse link leading to the "King,
858 Stephen" browse location.
859
860 Additionally, any unused but inter-authority-linked terms will appear in the
861 browse list if the linked heading is in use by bibliographic records.  In this
862 way, browsing for "Bachman, Richard" will lead the user to "King, Stephen" even
863 if no bibliographic records make use of the "Bachman, Richard" heading.
864
865 Linked authority records will not be exposed if neither is in use by visible
866 bibliographic records.  This means that the feature will not lead to dead-end
867 searches, but also means that this is not a complete authority browsing tool
868 acceptable for use as such by a cataloger.  See the Manage Authorities interface
869 exposed through the Staff Client for that functionality.
870
871 :leveloffset: 0
872
873 Support for Conjoined Items
874 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
875
876 The catalog now supports the display of conjoined items. The "joined" titles
877 will display a copy record with a link in the copy table back to the "master"
878 bib. The master bib will display a set of links to individual titles.
879
880
881 Shelving Location Filter
882 ^^^^^^^^^^^^^^^^^^^^^^^^
883
884 Filtering by shelving location is now available from the Advanced Search screen.
885
886 Linked library names in copy details
887 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
888
889 A patron may find one or more available copies of an item that they want to
890 retrieve, but may not be familiar with the location, hours of operation, or
891 contact information for each branch of their local library system. To enable
892 the patron to quickly access information about a given library branch, the TPAC
893 and KPAC can link the name of the branch in the copy details display to a URL
894 associated with that branch.
895
896 To set the URL for a given branch, use the *Local Administration -> Library
897 Settings Editor* and edit the *Library Information URL* setting for that
898 branch. Any branches that do not have a library information URL setting display
899 as normal text.
900
901 Ability to set search context by shortname
902 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
903
904 When searching in the catalog, sites are able to set the search location by
905 embedding a locg parameter in the URL. With this new features, sites will be
906 able to use a branch's shortname to set the search locations whereas
907 previously, sites could only use an org unit id. This parameter is case
908 insensitive.
909
910 OPAC Maintenance Message
911 ^^^^^^^^^^^^^^^^^^^^^^^^
912
913 Sites can now set a maintenance message to display in the catalog by setting
914 the ctx.maintenance_message variable in config.tt2.
915
916 My List Enhancements
917 ^^^^^^^^^^^^^^^^^^^^
918
919 The _My Lists_ feature has the following enhancements:
920
921 * Improvement on current navigation for _My Lists_ by displaying a page number
922 and allowing for navigation by page number;
923 * Addition of pagination for items in a list;
924 * Addition of _My Lists Preferences_ tab in _Account Preferences_ where users
925 can identify the number of lists and the number of list items that should 
926 display in each page;
927 * A prompt now displays when users select the _Delete List_ button confirming
928 that they really want to delete the list.
929
930
931 :leveloffset: 3
932
933 Web-Based Patron Self-Registration
934 ==================================
935
936 Feature Summary
937 ---------------
938
939 Patrons may now fill out a web-based form from within the TPAC to create 
940 pending user accounts.  The goal is to make the registration process more 
941 efficient by allowing the patron to provide much of the registration 
942 details in advance of registering with staff.  
943
944 Pending user accounts have no privileges.  
945
946 The form supports hiding fields, requiring fields, applying format
947 validation, and displaying example text for selected fields by inspecting the 
948 relevant patron registration Library Settings.
949
950 The "Request Library Card" link appears as the second default "bottom link"
951 in the TPAC.  
952
953 If a user is logged in when clicking the register link, the logged-in
954 user will be tracked as the requesting user for the pending account.
955 Additionally, the home org unit and some address fields will be pre-populated
956 for convenience (with the assumption that these will likely be the same for
957 the pending user -- they can, of course, be changed).  When a requesting user
958 is present on the pending user, a link to the requesting user will be 
959 displayed within the patron registration form in the staff client.
960
961 Pending patron accounts which sit unattended in the database for too long
962 are purged via a regularly running (CRON) script.
963
964 Technical Details
965 -----------------
966
967   * To activate the web form and allow pending patrons to be created, set
968     the _Allow Patron Self-Registration_ (opac.allow_pending_user) Library
969     Setting to true where appropriate.
970   * To purge old pending user accounts, set an interval value for the new
971     _Patron Self_Reg Expire Interval_ (opac.pending_user_expire_interval)
972     Library Setting.
973   * The Library Settings to indicate show/require/regex/example for patron
974     registration are loaded dynamically, so any Library Settings added in the
975     future will also be honored.  Any setting matching the following format is
976     used:
977     ** ui.patron.edit.[au|aua].*.show
978     ** ui.patron.edit.[au|aua].*.require
979     ** ui.patron.edit.[au|aua].*.regex
980     ** ui.patron.edit.[au|aua].*.example
981
982 :leveloffset: 0
983
984
985 Responsive catalog
986 ^^^^^^^^^^^^^^^^^^
987
988 The design of the web catalog is more responsive, optimizing its display for 
989 mobile devices. Users will see the following changes to the catalog's display
990 when viewing it on a device with a small screen:
991
992 - Elements on the basic search page were resized to fit better on the screen. 
993
994 - Results display cleanly on the search results page. Facets do not display by
995 default, but a _Refine these results_ button is available to retrieve facets.
996 Links to _Place hold_ or _Add to my list_ display prominently beneath holdings
997 information.
998
999 - Search boxes and filters wrap neatly on the advanced search page.
1000
1001 - The search bar was removed from the login and My Account pages to free up
1002 real estate for more relevant information.
1003
1004 - Navigational tabs were replaced with dropdown menus in several My Account
1005 screens.
1006
1007
1008
1009
1010
1011
1012
1013 RSS Links to Full Catalog Record
1014 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1015
1016 Links in RSS feeds now point directly to the catalog record instead of the 
1017 htmlholdings-full format of the record.
1018
1019
1020
1021
1022 Serials
1023 ~~~~~~~
1024
1025
1026
1027 Serial Alerts At Receive Time
1028 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1029 In the Serial Control View, you can now flag a note as an "alert" to
1030 make it more visible on the receiving interface. This flag is available
1031 on subscription, distribution and item notes. The new "Alerts" button
1032 on the Items tab displays the number of alert notes that are available
1033 for the selected items, and clicking this button opens a window which
1034 displays all applicable alert notes, sorted by type. Notes can also be
1035 edited or deleted from this window.
1036
1037
1038
1039
1040 Support Reader Address Information in Routing Slip Template
1041 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1042 The serials routing slip template can now render user addresses if users with
1043 addresses appear on a routing list. This feature is particularly useful for
1044 working with homebound patrons. 
1045
1046 Sites that don't want to see a mailing or billing address can adjust the
1047 default template. Sites that already use a customized template will not be 
1048 affected.
1049
1050
1051
1052
1053 SIP
1054 ~~~
1055
1056
1057
1058 Support SIP Hold Cancellation
1059 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1060
1061 Evergreen now supports a subset of the SIP 15/16 Holds message pair for holds
1062 cancellation.
1063
1064 1. New oils_sip.xml configuration option "msg64_hold_datatype".  This
1065 is similar to msg64_summary_datatype, but affects holds instead of
1066 circulations.  When set to 'barcode', holds information will be
1067 delivered as a set of copy barcodes instead of title strings for patron
1068 info requests.  With barcodes, SIP clients can both find the title
1069 strings for display (via item info requests) and make subsequent
1070 hold-related action requests, like holds cancellation.
1071 +
1072 ----
1073 Copies are not an ideal identifier for holds, but SIP has a limited
1074 vocabulary.  With copies we can (99% of the time) work to and from hold
1075 requests to find a reasonable data set to work on.  If a patron has
1076 multiple holds for the same item and wants to cancel a specific one of
1077 those holds, the user should use the catalog instead of SIP.
1078 ----
1079
1080 2. When receiving a message 15 of with a cancellation action, find the
1081 newest open hold that matches the provided copy barcode and cancel the
1082 hold.
1083
1084
1085
1086
1087
1088 Return Hold ID to SIP
1089 ^^^^^^^^^^^^^^^^^^^^^
1090
1091 If there is a hold on a copy, Evergreen will now return to SIP a hold id to 
1092 indicate that the copy has been captured for a hold. One possible use case for
1093 this feature is a scenario where a delivery vendor may be sorting copies needed
1094 for holds into a different bin from copies returning to their home library. The
1095 presence of the hold ID indicates that the copy has been captured for a hold.
1096 It also could use for an Automated Materials Handling (AMH) System to indicate
1097 that the copy is needed to fill a hold.
1098
1099
1100
1101
1102
1103 Support for SIP "Renew All" messages
1104 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1105
1106 Evergreen now supports SIP "Renew All" functionality, AKA SIP message pair
1107 65/66. When a 65 message is received, the SIP code collects all open 
1108 transactions for the user and renews them all. The set of successful and
1109 failed renewals is returned to the caller via the SIP BM and BN fields.
1110
1111
1112
1113 Miscellaneous
1114 ~~~~~~~~~~~~~
1115
1116 :leveloffset: 1
1117
1118 P.V. SUPA GoodStuff Integration
1119 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1120 There is now a "Server Add-ons" module for integrating P.V. Supa's RFID product
1121 known as GoodStuff with the Evergreen staff client.
1122
1123 To activate it, you should add the identifier "pv_supa_goodstuff" (without the
1124 quotes) to the list managed by the Admin->Workstation Administration->Server
1125 Add-ons menu action within the staff client.  You will need the
1126 ADMIN_SERVER_ADDON_FOR_WORKSTATION permission to do this.
1127
1128 After doing this and clicking the Update Active Add-Ons button, the interface
1129 will refresh and show a GoodStuff tab in the Add-on Preferences section.  Within
1130 this tab you will have the option of specifying the hostname and port for the
1131 Goodstuff hardware. There is also an "Enabled" setting that needs to be checked.
1132
1133 Currently three interfaces have been integrated:
1134
1135   * Circulation -> Check In Items
1136   * Circulation -> Check Out Items (where you scan the patron barcode)
1137   * Circulation -> Check Out Items (where you scan the item barcodes)
1138
1139 Each interface gets an RFID checkbox if the "Enabled" preference has been set
1140 that can activate/deactivate the functionality on a per interface basis.  The
1141 checkbox states persist (i.e. are sticky).
1142
1143 :leveloffset: 0
1144