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