]> git.evergreen-ils.org Git - working/Evergreen.git/blob - docs/RELEASE_NOTES_2_10.adoc
Docs: Reducing line size to 80 characters
[working/Evergreen.git] / docs / RELEASE_NOTES_2_10.adoc
1 Evergreen 2.10 Release Notes
2 ============================
3 :toc:
4 :numbered:
5
6 Evergreen 2.10.11
7 -----------------
8
9 This release contains several bug fixes improving on Evergreen 2.10.10.
10
11 * A fix to avoid fetching and creating EDI message entries that the
12 system cannot parse.
13 * A fix to prevent staff users from marking a long overdue item as lost 
14 so that the patron will not be billed twice for the same item.
15 * A fix to the link that is used on the catalog's Library Info page so
16 that links with anchors can be successfully retrieved.
17 * A replacement for the blank fallback image used when the catalog cannot
18 retrieve an added content book cover.
19 * An EDI fix that prevents EDI fetcher from crashing when the vendor
20 supplies a zero-length file.
21 * A fix to an issue where adjusting a bill to zero for a current checkout
22 prematurely closes the transaction.
23 * A fix to encoding problems in MODS output. These problems caused issues
24 when using Zotero with records in the catalog.
25 * A fix that marks a hold as fulfilled when staff check out a hold-
26 captured item for a hold whose expire time is in the past.
27 * A change to the acquisitions funding source funds drop down menu so that
28 the menu will now only display active funds and will also display the 
29 year alongside the fund.
30 * A fix to a problem where the Current Bills tab of the patron record
31 showed duplicate charges when a check in was done from the Items Out tab.
32 * A fix that hides the option to add to My Lists from the staff client since this functionality does not work as expected in the staff client.
33 * A change to the fund year selectors in acq interfaces so that the years
34 are sorted in descending order.
35 * A fix to a billing issue where transactions were not re-opened after
36 they acquired a non-zero balance at check in.
37
38 Acknowledgements
39 ~~~~~~~~~~~~~~
40 We would like to thank the following individuals who contributed code,
41 testing and documentation patches to the 2.10.11 point release of
42 Evergreen:
43
44 * Jason Boyer
45 * Galen Charlton
46 * Jeff Davis
47 * Bill Erickson
48 * Jason Etheridge
49 * Kathy Lussier
50 * Christine Morgan
51 * Michele Morgan
52 * Terran McCanna
53 * Jane Sandberg
54 * Jonathan Schatz
55 * Dan Scott
56 * Ben Shum
57 * Remington Steed
58 * Dan Wells
59 * Bob Wicksall
60
61 Evergreen 2.10.10
62 -----------------
63 This is a security release that also contains several other bug fixes improving
64 on Evergreen 2.10.9.  All users of Evergreen 2.10.x are recommended to upgrade
65 to 2.10.10 as soon as possible.
66
67 Security Issue: Credit Processor Stripe Settings Permissions
68 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 Unprivileged users can retrieve organizational unit setting values for
70 setting types lacking a "view" permission.  When the feature adding
71 Stripe credit card processing was added, the upgrade script neglected
72 to add the VIEW_CREDIT_CARD_PROCESSING permission to the
73 organizational unit setting type.  This means that anyone can retrieve
74 and view the settings for Stripe credit card processing.
75
76 Any system that upgraded from Evergreen version 2.5 to 2.6 is
77 affected.  If you use Stripe for credit card processing, it is
78 strongly recommended that you apply this upgrade.  Even if you do not
79 use Stripe, applying this upgrade is still recommended.  If you did
80 not upgrade from version 2.5 to 2.6 of Evergreen, but started with a
81 later version, applying this upgrade is harmless.
82
83 If you are not ready to perform a full upgrade, and if you use Stripe,
84 you can protect the settings by running the following two SQL statements:
85
86 [source,sql]
87 ----
88 UPDATE config.org_unit_setting_type
89     SET view_perm = (SELECT id FROM permission.perm_list
90         WHERE code = 'VIEW_CREDIT_CARD_PROCESSING' LIMIT 1)
91     WHERE name LIKE 'credit.processor.stripe%' AND view_perm IS NULL;
92
93 UPDATE config.org_unit_setting_type
94     SET update_perm = (SELECT id FROM permission.perm_list
95         WHERE code = 'ADMIN_CREDIT_CARD_PROCESSING' LIMIT 1)
96     WHERE name LIKE 'credit.processor.stripe%' AND update_perm IS NULL;
97 ----
98
99 Other Fixes
100 ~~~~~~~~~
101
102 Evergreen 2.10.10 also contains the following bug fixes:
103
104 * A fix to correctly apply floating group settings when performing
105 no-op checkins.
106 * A fix to the HTML coding of the temporary lists page.
107 * A fix of a problem where certain kinds of requests of information
108 about the organizational unit hierarchy to consume all available
109 `open-ils.cstore` backends.
110 * A fix to allow staff to use the 'place another hold' link without
111 running into a user interface loop.
112 * A fix to the 'Edit Due Date' form in the web staff client.
113 * A fix to sort billing types and non-barcoded item types in alphabetical
114 order in the web staff client.
115 * A fix to the 'return to grouped search results' link in the public
116 catalog.
117 * A fix to allow pre-cat checkouts in the web staff client without requiring
118 a circulation modifier.
119 * Other typo and documentation fixes.
120
121 Acknowledgements
122 ~~~~~~~~~~~~~~
123 We would like to thank the following individuals who contributed code,
124 testing and documentation patches to the 2.10.10 point release of
125 Evergreen:
126
127 * Ben Shum
128 * Bill Erickson
129 * Blake Henderson
130 * Chris Sharp
131 * Christine Burns
132 * Galen Charlton
133 * Jane Sandberg
134 * Jason Stephenson
135 * Jeanette Lundgren
136 * Josh Stompro
137 * Kathy Lussier
138 * Kyle Huckins
139 * Mike Rylander
140
141 Evergreen 2.10.9
142 ----------------
143
144 This release contains several bug fixes improving on Evergreen 2.10.8
145
146 * A fix to the web client patron interface that changed the holds count in the
147 patron summary from total / available to available / total.
148 * A fix to an issue where the Closed Dates Editor was displaying an extra day of closure.
149 * A fix to the Closed Dates Editor so that it now displays "All Day" when the library is closed for the entire day.
150 * A fix to properly format LC Call numbers in spine label printing.
151 * A fix to a bug that was causing intermittent search failures.
152
153 Acknowledgements
154 ~~~~~~~~~~~~~~~~
155 We would like to thank the following individuals who contributed code,
156 testing and documentation patches to the 2.10.9 point release of
157 Evergreen:
158
159 * Galen Charlton
160 * Kyle Huckins
161 * Jeanette Lundgren
162 * Dan Pearl
163 * Michelle Purcell
164 * Jane Sandberg
165 * Dan Scott
166 * Remington Steed
167
168
169 Evergreen 2.10.8
170 ----------------
171
172 This release contains several bug fixes improving on Evergreen 2.10.7
173
174 * A fix to that provides alphabetical sorting to the fund selector in
175 the Acquisitions Selection List -> Copies interface.
176 * The addition of a progress bar that displays when conducting a patron search in the web client.
177 * A fix to the web client patron interface so that total Items Out in the
178 patron summary now includes overdue and long overdue items. It will also
179 include Lost and Claims Returned items when the appropriate library
180 setting is enabled.
181 * A change to the public catalog My Account screen where the font for 
182 leading articles will now be smaller when sorting a list by title. 
183 * A fix to subject links in the catalog's record summary page so that
184 periods are no longer stripped from resulting subject searches, leading
185 to more accurate results when those links are clicked.
186 * A fix to avoid avoid unint warnings in the logs for prox_cache in
187 open-ils.circ.hold.is_possible.
188 * A fix to rounding errors that occured when summing owed/paid totals
189 for display in the catalog's credit card payment form.
190 * A change to sort behavior in the My Account screens. Previously, a 
191 third click on a column header returned the list to its original sort
192 order. Clicking column headers will now simply toggle the sort
193 between ascending and descending order. 
194 * The Permalink option on the catalog's record summary page will now be
195 hidden in the staff client because clicking the link in the client led
196 to no discernable change for users.
197 * A fix to the text of a notice that displays when migrating circulation
198 history during the upgrade to 2.10.
199 * An improvement to the performance for the lookup of a user's circ
200 history by adding an index on action.usr_circ_history(usr).
201 * The addition of Spanish as a supported translation so that
202 it can be configured as a language option in the public catalog.
203 * A fix so that when a bib record's fingerprint changes, it gets correctly
204 moved to a different metarecord.
205
206 Acknowledgements
207 ~~~~~~~~~~~~~~~~
208 We would like to thank the following individuals who contributed code,
209 tests and documentation patches to the 2.10.8 point release of
210 Evergreen:
211
212 * Galen Charlton
213 * Bill Erickson
214 * Jim Keenan
215 * Kathy Lussier
216 * Christine Morgan
217 * Dan Scott
218 * Ben Shum
219 * Remington Steed
220 * Josh Stompro
221 * Dan Wells
222
223 Evergreen 2.10.7
224 ----------------
225
226 This release contains several bug fixes improving on Evergreen 2.10.6.
227
228 * When adding a price to the Acquisitions Brief Record price field, it will
229 now propogate to the lineitem estimated price field.
230 * Declares UTF-8 encoding when printing from the catalog to resolve issues
231 where non-ASCII characters printed incorrectly in some browsers.
232 * Fixes an issue where the circ module sometimes skipped over booking logic
233 even when booking was running on a system.
234 * Fixes an issue where the workstation parameter was not passed through
235 the AuthProxy.pm login function, causing problems with opt-in settings and
236 transit behaviors.
237
238 Acknowledgements
239 ~~~~~~~~~~~~~~~~
240 We would like to thank the following individuals who contributed code,
241 testing and documentation patches to the 2.10.7 point release of
242 Evergreen:
243
244 * Eva Cerninakova
245 * Bill Erickson
246 * Mike Rylander
247 * Dan Scott 
248 * Dan Wells
249
250 Evergreen 2.10.6
251 ----------------
252 This release contains bug fixes improving on Evergreen 2.10.5.
253
254 Add Date Header to Action Trigger Email/SMS Templates
255 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
256 The Date: header specified in RFC 2822 has been added to the seed data
257 for the example Action Trigger email and SMS templates, but no attempt
258 has been made to automatically modify existing templates. To add this
259 header (and end any "Why are my library emails from 1969/70?" questions
260 you may have heard) make sure the following lines are in all templates
261 that use the SendEmail or SendSMS reactors:
262
263 The first is already in most sample templates, but you may need to add
264 it to the top of any custom templates:
265 `[%- USE date -%]`
266
267 And this line should be inserted into the header block of each template:
268 `Date: [%- date.format(date.now, '%a, %d %b %Y %T -0000', gmt => 1) %]`
269
270 Other Bug Fixes
271 ~~~~~~~~~~~~~~~
272 * Prorating invoice charges now works again.
273 * The claims never checked out counter on the patron record is now
274   incremented correctly when marking a lost loan as
275   claims-never-checked-out.
276 * When a transit is canceled, the copy's status is changed only
277   if its status was previously "In Transit".
278 * Retrieving records with embedded holdings via SRU and Z39.50 is now
279   faster.
280 * A performance issue with sorting entries on the public catalog
281   circulation history page is fixed.
282 * Various style and responsive design improvements are made to the
283   circulation and holds history pages in the public catalog.
284 * The public catalog holds history page now indicates if a hold
285   had been fulfilled.
286 * The hold status message in the public catalog now uses
287   better grammar.
288 * The error message displayed when a patron attempts to place
289   a hold but is prevented from doing so due to policy reasons
290   is now more likely to be useful
291 * The public catalog now draws the edition statement only
292   from the 250 field; it no longer tries to check the 534
293   and 775 fields.
294 * Embedded schema.org microdata now uses "offeredBy" rather
295   than "seller".
296 * The ContentCafe added content plugin now handles the "fake"
297   ISBNs that Baker and Taylor assigns to media items.
298 * Attempting to renew a rental or deposit item in the public
299   catalog no longer causes an internal server error.
300 * Various format icons now have transparent backgrounds (as opposed
301   to white).
302 * The file extension when exporting non-imported records is
303   now ".mrc" rather than ".xml".
304 * The staff client will no longer wait indefinitely for Novelist
305   to supply added content, improving its responsiveness.
306 * A few additional strings are now marked as translatable.
307
308 Translation Updates
309 ~~~~~~~~~~~~~~~~~~~
310 Translations in this release have been significantly increased.  In
311 particular, Spanish has received a huge update with over 9,000 new
312 translations, Czech has received a sizable update of over 800
313 translations, and additional smaller updates have been added for
314 Arabic, French (Canada), and Armenian.
315
316 Acknowledgments
317 ~~~~~~~~~~~~~~~
318 We would like to thank the following individuals who contributed
319 code, testing and documentation patches to the 2.10.6 point release of Evergreen:
320
321 * Thomas Berezansky
322 * Jason Boyer
323 * Galen Charlton
324 * Jeff Davis
325 * Bill Erickson
326 * Blake Graham-Henderson
327 * Jim Keenan
328 * Kathy Lussier
329 * Mike Rylander
330 * Jane Sandberg
331 * Dan Scott
332 * Ben Shum
333 * Remington Steed
334 * Jason Stephenson
335 * Josh Stompro
336 * Yamil Suarez
337 * Dan Wells
338
339 Evergreen 2.10.5
340 ----------------
341 This release contains bug fixes improving on Evergreen 2.10.4
342
343 * Fixes SIP2 failures with patron information messages when a
344 patron has one or more blocking penalties that are not otherwise
345 ignored.
346 * Recovers a previously existing activity log entry that logged the
347 username, authtoken, and workstation (when available) for successful
348 logins.
349 * Fixes an error that occurred when the system attempted to display a translated
350 string for the "Has Local Copy" hold placement error message.
351 * Fixes an issue where the Show More/Show Fewer Details button didn't work in
352 catalogs that default to showing more details.
353 * Removes Social Security Number as a stock patron identification type for
354 new installations. This fix does not change patron identification types for 
355 existing Evergreen systems.
356 * Adds two missing link fields (patron profile and patron home library) to
357 the fm_idl.xml for the Combined Active and Aged Circulations (combcirc)
358 reporter source.
359 * Adds a performance improvement for the "Clear Holds Shelf" checkin modifier.
360
361 Acknowledgements
362 ~~~~~~~~~~~~~~~~
363 We would like to thank the following individuals who contributed
364 code, testing and documentation patches to the 2.10.5 point release of Evergreen:
365
366 * Galen Charlton
367 * Bill Erickson
368 * Jeff Godin
369 * Codey Kolasinski
370 * Jeanette Lundgren
371 * Kathy Lussier
372 * Terran McCanna
373 * Michele Morgan
374 * Jason Stephenson
375
376 Evergreen 2.10.4
377 ----------------
378 This release contains bug fixes improving on Evergreen 2.10.3
379
380 * Fixes the responsive view of the My Account Items Out screen so that Title and
381 Author are now in separate columns.
382 * Fixes an incorrect link for the MVF field definition and adds a new link to
383 BRE in fm_IDL.xml.
384 * Fixes a bug where the MARC stream authority cleanup deleted a bib 
385 record instead of an authority record from the authority queue.
386 * Fixes a bug where Action Triggers could select an inactive event
387 definition when running.
388 * Eliminates the output of a null byte after a spool file is processed
389 in MARC steam importer.
390 * Fixes an issue where previously-checked-out items did not display in
391 metarecord searches when the Tag Circulated Items Library Setting is
392 enabled.
393 * Fixes an issue in the 0951 upgrade script where the script was not
394 inserting the version into config.upgrade_log because the line to do so
395 was still commented out.
396
397 Acknowledgments
398 ~~~~~~~~~~~~~~~
399 We would like to thank the following individuals who contributed
400 code, testing, and documentation patches to the 2.10.4 point release
401 of Evergreen:
402
403 * Jason Boyer
404 * Bill Erickson
405 * Galen Charlton
406 * Kathy Lussier
407 * Jason Stephenson
408 * Josh Stompro
409
410
411 Evergreen 2.10.3
412 ----------------
413 This release contains bug fixes improving on Evergreen 2.10.2:
414
415 * Fixes a critical bug where a newly-registered patron record could
416   not be used to log in to Evergreen using the password supplied during
417   registration. Under some circumstances, the same bug could also
418   prevent patron records that were modified via the patron registration
419   form from being used to log in.
420 * Emails sent using the Action Trigger SendEmail reactor now always
421   MIME-encode the From, To, Subject, Bcc, Cc, Reply-To, and Sender
422   headers. As a consequence, non-ASCII character in those fields are
423   more likely to be displayed correctly in email clients.
424
425 Acknowledgements
426 ~~~~~~~~~~~~~~
427 We would like to thank the following individuals who contributed
428 code, testing, and documentation patches to the 2.10.3 point release
429 of Evergreen:
430
431 * Galen Charlton
432 * Pasi Kallinen
433 * Kathy Lussier
434 * Mike Rylander
435 * Dan Scott
436 * Remington Steed
437 * Dan Wells
438
439 Evergreen 2.10.2
440 ----------------
441 This release contains several bug fixes improving on Evergreen 2.10.1
442
443 * Fixes a bug where phrase searching in the catalog failed when the phrase
444 started or ended with punctuation.
445 * Fixes a bug where changing the sort order in the public catalog to
446 "relevance" could fail.
447 * Fixes a bug that prevented users from recreating a monograph part that
448 had previously been deleted.
449 * Fixes a bug where serials checkouts failed for users that track circulation
450 history.
451 * Fixes a bug that prevented the Library Settings Editor from
452 consistently retrieving the values of library settings.
453 * Fixes several issues with the new web-based Angular patron editor, including:
454 ** Allows barcodes to be used as user name even if it doesn't match the user
455 name regex.
456 ** Presents an alert when trying to save a form with invalid values.
457 ** Allows staff to delete all patron addresses if the corresponding Library 
458 Setting allows them to do so.
459 ** Honors Library Settings to require the county and state fields at patron
460 registration time.
461 ** Resizes checkboxes that had become huge in some browsers.
462 ** Displays the New Address button at all times.
463 ** Prevents staff from editing linked addresses for cloned users.
464 ** Fixes a bug where out-of-scope stat cats would be incorrectly bundled in the 
465 patron save operation, resulting in a server-side error on save.
466 * Silences unnecessary warnings emitted for libraries using extending grace
467 periods.
468 * Removes support for Debian Squeeze now that its long-term support period
469 has ended.
470 * Fixes a bug that had prevented the dependency libpcre3 from being
471 intalled on Debian Jessie.
472 * Fixes some QA tests that had been failing.
473 * Renumbers the Perl unit test files.
474
475 Acknowledgements
476 ~~~~~~~~~~~~~~~~
477 We would like to thank the following individuals who contributed
478 code and documentation patches to the 2.10.2 point release of Evergreen:
479
480 * Jason Boyer
481 * Steve Callender
482 * Galen Charlton
483 * Bill Erickson
484 * Anna Goben
485 * Angela Kilsdonk
486 * Debbie Luchenbill
487 * Jennifer Pringle
488 * Mike Rylander
489 * Jane Sandberg
490 * Jason Stephenson
491 * Yamil Suarez
492
493 We also thank the following organizations whose employees contributed
494 patches:
495
496 * BC Libraries Cooperative
497 * Berklee College of Music
498 * Equinox Software, Inc.
499 * Evergreen Indiana
500 * King County Library System
501 * Linn Libraries Consortium
502 * Merrimack Valley Library Consortium
503 * MOBIUS
504
505
506 Evergreen 2.10.1
507 ----------------
508
509 Evergreen 2.10.1 is a bugfix release that fixes one significant
510 bug in 2.10.0:
511
512 * https://bugs.launchpad.net/bugs/1560174[Bug 1560174: Importing MARC records can fail in database upgraded to 2.10.0]
513
514 This bug affected only databases that were upgraded to 2.10.0 from a
515 previous version; fresh installations of 2.10.0 are not affected.
516
517 Evergreen users who prefer not to perform a full upgrade from 2.10.0
518 to 2.10.1 can fix the bug by applying the database update script
519 `2.10.0-2.10.1-upgrade-db.sql` (found in the source directory
520 `Open-ILS/src/sql/Pg/version-upgrade`).
521
522 Evergreen 2.10.1 Acknowledgments
523 --------------------------------
524 The Evergreen project would like to thank the following 
525 individuals who contributed code and testing to this release
526 of Evergreen:
527
528  * Galen Charlton
529  * Dan Wells
530
531 Evergreen 2.10.0 Upgrade notes
532 ------------------------------
533
534 * Support for PostgreSQL 9.1 is deprecated as of
535   the release of Evergreen 2.10.0. Users are recommended
536   to install Evergreen on PostgreSQL 9.2 or later.
537 * In the next major release following 2.10.0, Evergreen will no
538   longer officially support PostgreSQL 9.1.
539 * Please read the release notes thoroughly for information
540   about changes that Evergreen administrators may need
541   to make manually when upgrading to 2.10.0.  In particular,
542   the enhancement to user password storage introduces a
543   new service, `open-ils.auth_internal`, and requires
544   changes to `opensrf.xml` in order for users to be able
545   log in.
546
547 Evergreen 2.10.0 New Features
548 -----------------------------
549
550
551
552 Acquisitions
553 ~~~~~~~~~~~~
554
555
556
557 PO Line item "paid" label
558 ^^^^^^^^^^^^^^^^^^^^^^^^^
559 A new "paid" label appears along the bottom of each line item in the PO 
560 display when every non-canceled copy on the line item has been invoiced.
561
562
563
564
565 Disencumber funds on invoice close
566 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
567
568 Fund debits linked to an invoice are now marked as paid (encumbrance=false)
569 when the invoice is marked as closed/complete instead of at invoice create
570 time.  This is particularly useful for EDI invoices which may be 
571 created well in advance of receipt and payment.
572
573
574
575
576
577 PO actions selector always visible
578 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
579
580 The actions selector is now always visible in the purchase order view,
581 even when no line items exist.  With this, users can print PO's that
582 only contain direct charges.
583
584 The custom "Add Brief Record" button is no longer present, since the
585 same action is accessible via the now-visible selector.
586
587
588
589
590 Administration
591 ~~~~~~~~~~~~~~
592
593
594
595 Set application name when connecting to database
596 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
597 The services that connect directly to the PostgreSQL database
598 (and Clark Kent) now look for an application_name parameter
599 as part of the database login credentials specified in
600 `opensrf.xml`.  If present, the value is used to set the
601 application name Pg connection value; this in turn shows up in
602 the Postgres `pg_stat_activity` table and Pg's logs.
603
604
605
606
607 Credit card receipts and privacy
608 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
609
610 To improve privacy and security, Evergreen now stores less data 
611 about credit card transactions.  The following fields are no 
612 longer stored:
613
614  * `cc_type`
615  * `cc_first_name`
616  * `cc_last_name`
617  * `expire_month`
618  * `expire_year`
619
620 NOTE: All existing data within these fields will be deleted during
621 the upgrade.  Reports using this data will no longer function.
622
623 Additionally, a tool has been added to Evergreen for clearing the 
624 last 4 digits of the credit payment from the database after payments
625 reach a certain age.
626
627 Print/email templates
628 +++++++++++++++++++++
629
630 The stock print and email payment templates have been modified to no 
631 longer use these fields, but only when the existing templates matched
632 the stock templates.  If local changes have been applied, it will
633 be necessary to modify local templates to avoid referencing these
634 fields which no longer exist.
635
636 Any templates whose hook is "money.format.payment_receipt.print" or 
637 "money.format.payment_receipt.email" may need modification.  In stock
638 Evergreen, these are templates:
639
640 1. "money.payment_receipt.email" (stock id 29)
641 2. "money.payment_receipt.print" (stock id 30)
642
643 Example diff:
644
645 [source,diff]
646 ---------------------------------------------
647 -  [% CASE "credit_card_payment" %]credit card (
648 -      [%- SET cc_chunks = mp.credit_card_payment.cc_number.replace(' ','').chunk(4); -%]
649 -      [%- cc_chunks.slice(0, -1+cc_chunks.max).join.replace('\S','X') -%] 
650 -      [% cc_chunks.last -%]
651 -      exp [% mp.credit_card_payment.expire_month %]/[% mp.credit_card_payment.expire_year -%]
652 -  )
653 +  [% CASE "credit_card_payment" %]credit card
654 +  [%- IF mp.credit_card_payment.cc_number %] ([% mp.credit_card_payment.cc_number %])[% END %]
655 ---------------------------------------------
656
657 Clearing the last 4 of the CC number
658 ++++++++++++++++++++++++++++++++++++
659
660 To activate automatic CC number clearing, add the following to opensrf's
661 crontab.  Change timing to suit.
662
663 [source,sh]
664 ---------------------------------------------
665 5  4  * * *   . ~/.bashrc && $EG_BIN_DIR/clear_cc_number.srfsh
666 ---------------------------------------------
667
668 The default retention age is 1 year, but this can be changed by modifying
669 `clear_cc_number.srfsh` (typically found in `/openils/bin/`).  Replace "1 year"
670 with the age of your choice.
671
672
673
674
675
676
677 Configure multiple telephony servers via action/trigger
678 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
679 If you are using the AstCall action/trigger reactor
680 to generate callfiles to send to an Asterisk server, until
681 now the only place to specify the relevant configuration
682 was in `opensrf.xml`. However, this restricted an Evergreen
683 consortium to using only one Asterisk instance.
684
685 Now, the telephony parameters can also be specified as 
686 A/T event parameters, allowing per-library configuration.
687
688 .Telephony parameters
689 |===
690 | Name | Example value
691
692 | enabled
693 | 0
694
695 | driver
696 | "SIP"
697
698 | channels
699 | ["Zap/1", "Zap/2", "IAX/user:secret@widgets.biz"]
700
701 | host
702 | "localhost"
703
704 | port
705 | "10080"
706
707 | user
708 | "evergreen"
709
710 | pw
711 | "evergreen"
712
713 | callfile_lines
714 | ["MaxRetries: 3", "RetryTime: 60", "WaitTime: 30", "Archive: 1", "Extension: 10"]
715 |===
716
717
718
719
720 Juvenile-to-adult batch script honors library setting
721 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
722
723 The batch `juv_to_adult.srfsh` script that, when set up as a cronjob,
724 is responsible for toggling a patron from juvenile to adult now
725 honors the age value set in the library setting named "Juvenile Age
726 Threshold" (`global.juvenile_age_threshold`).  When no library setting value
727 is present at a given patron's home library, the value passed in to the
728 script will be used as a default.
729
730
731
732
733 New reporting source for hold/copy ratios
734 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
735 A new reporting source is added, "Hold/Copy Ratio per Bib
736 and Pickup Library (and Descendants)", that, for each bib
737 that has a hold request on it or any of its components,
738 calculates the following:
739
740  * active holds at each OU (including the OU's descendants)
741  * holdable copies at each OU (and its descendants)
742  * the ratio of the above two counts
743  * counts and ratio across the entire consortium
744
745 This source differs from the "Hold/Copy Ratio per Bib
746 and Pickup Library" source by including all descendants
747 of the organization unit one is filtering on.
748
749 One use case is allowing a multi-branch system within an
750 Evergreen consortium that doesn't do full resource sharing
751 to readily calculate whether additional copies should be
752 purchased for that system.
753
754
755
756
757 New patron action/trigger notice
758 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
759
760 A new action/trigger event definition ("New User Created Welcome Notice") 
761 has been added that will allow you to send a notice after a new patron has 
762 been created, based on the actor.usr create-date field.
763
764 This notice can be used for various tasks.
765
766   * Sending a welcome email to new patrons to market library services.
767   * Confirm that a new patron email address is correct.
768   * Generate postal notices to send a welcome packet to new patrons.
769
770 Enable this event in the staff client at *Admin* -> *Local Administration* 
771 -> *Notifications / Action Triggers*.
772
773
774
775
776 Improved password management and authentication
777 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
778 Evergreen user passwords are now stored with additional layers of 
779 encryption and may only be accessed directly by the database, not
780 the application layer.
781
782 All API changes are backwards compatible with existing 3rd-party
783 clients.
784
785 Migrating passwords
786 +++++++++++++++++++
787
788 Passwords are migrated for each user automatically the first time a user
789 logs in under the new setup.  However, it is also possible to force
790 password migration for a given user via a database function:
791
792 [source,sql]
793 ------------------------------------------------------------
794 -- actor.migrate_passwd() will only migrate un-migrated 
795 -- accounts, but it's faster to avoid any re-migration attempts.
796 SELECT actor.migrate_passwd(au.id)
797 FROM actor.usr au
798     LEFT JOIN actor.passwd pw ON (pw.usr = au.id)
799 WHERE pw.usr IS NULL; 
800 ------------------------------------------------------------
801
802 Using this, admins could perform manual batch updates to force all
803 users to use the new, more secure passwords, regardless of when or
804 whether a patron logs back into the system.  
805
806 Beware that doing this for all users in a large database will 
807 take some time and should probably be performed in batches.
808
809 Changing Encryption Work Factor
810 +++++++++++++++++++++++++++++++
811
812 Roughly speaking, the 'work factor' determines the amount of time/effort
813 required to crack passwords.  The higher the value, the more secure the
814 password.  Higher values also mean that it takes longer for password
815 verification (e.g. during login) to work.
816
817 At time of release, Evergreen uses a work factor value of 10.  The value
818 is set in the database table/column actor.passwd_type.iter_count (hash
819 iteration count).  When this value is modified, any passwords created or
820 modified after the change will use the new work factor.  Other passwords
821 will continue using the work factor in place when they were
822 created/modified, until they are changed once again.
823
824 Beware that raising the work factor can have a significant impact on
825 login speeds.  A work factor of 10 requires ~0.1 seconds to verify a
826 password.  A work factor of 15 takes almost 2 full seconds!  Also beware
827 that once a password is encoded with a higher work factor, it cannot be
828 lowered again through any automatic means.  The owner of the password
829 would have to log in and modify the password after the work factor is
830 re-lowered.
831
832 Because of this, it's recommended that admins thoroughly test work
833 factor modifications before deploying to production.
834
835 To check encryption timing:
836
837 [source,sql]
838 --------------------------------------------------------------------------
839 -- enable psql timing
840 evergreen=# \timing
841
842 -- encode password "HELLOWORLD" with a work factor of 10.
843 evergreen=# select crypt('HELLOWORLD', gen_salt('bf', 10));
844 (1 row)
845
846 Time: 95.082 ms
847 --------------------------------------------------------------------------
848
849 open-ils.auth_internal
850 ++++++++++++++++++++++
851 To support the new storage mechanism, a new Evergreen service has
852 been added called `open-ils.auth_internal`.  This service runs on
853 the private OpenSRF/XMPP domain and is used to store authenticated 
854 user data in the authentication cache.  
855
856 This is a required service and changes to `opensrf.xml` (typically 
857 `/openils/conf/opensrf.xml`) are needed to run the new service.
858
859 .Modifying opensrf.xml
860 * A new `<open-ils.auth_internal>` app stanza is added to define the 
861   new service
862 * Cache timeout settings are moved from the app stanza for `open-ils.auth`
863   into `open-ils.auth_internal`
864 * `open-ils.auth_internal` is added to the set of running services for the 
865   domain.
866
867 Example diff:
868
869 [source,diff]
870 ---------------------------------------------------------------------
871 diff --git a/Open-ILS/examples/opensrf.xml.example b/Open-ILS/examples/opensrf.xml.example
872 index 3b47481..59f737a 100644
873 --- a/Open-ILS/examples/opensrf.xml.example
874 +++ b/Open-ILS/examples/opensrf.xml.example
875 @@ -424,6 +424,29 @@ vim:et:ts=4:sw=4:
876                  </unix_config>
877                  <app_settings>
878                      <!-- defined app-specific settings here -->
879 +                    <auth_limits>
880 +                        <seed>30</seed> <!-- amount of time a seed request is valid for -->
881 +                        <block_time>90</block_time> <!-- amount of time since last auth or seed request to save failure counts -->
882 +                        <block_count>10</block_count> <!-- number of failures before blocking access -->
883 +                    </auth_limits>
884 +                </app_settings>
885 +            </open-ils.auth>
886 +
887 +            <!-- Internal authentication server -->
888 +            <open-ils.auth_internal>
889 +                <keepalive>5</keepalive>
890 +                <stateless>1</stateless>
891 +                <language>c</language>
892 +                <implementation>oils_auth_internal.so</implementation>
893 +                <unix_config>
894 +                    <max_requests>1000</max_requests>
895 +                    <min_children>1</min_children>
896 +                    <max_children>15</max_children>
897 +                    <min_spare_children>1</min_spare_children>
898 +                    <max_spare_children>5</max_spare_children>
899 +                </unix_config>
900 +                <app_settings>
901 +                    <!-- defined app-specific settings here -->
902                      <default_timeout>
903                          <!-- default login timeouts based on login type -->
904                          <opac>420</opac>
905 @@ -431,13 +454,10 @@ vim:et:ts=4:sw=4:
906                          <temp>300</temp>
907                          <persist>2 weeks</persist>
908                      </default_timeout>
909 -                    <auth_limits>
910 -                        <seed>30</seed> <!-- amount of time a seed request is valid for -->
911 -                        <block_time>90</block_time> <!-- amount of time since last auth or seed request to save failure counts -->
912 -                        <block_count>10</block_count> <!-- number of failures before blocking access -->
913 -                    </auth_limits>
914                  </app_settings>
915 -            </open-ils.auth>
916 +            </open-ils.auth_internal>
917 +
918 +
919  
920              <!-- Authentication proxy server -->
921              <open-ils.auth_proxy>
922 @@ -1177,6 +1197,7 @@ vim:et:ts=4:sw=4:
923                  <appname>open-ils.circ</appname> 
924                  <appname>open-ils.actor</appname> 
925                  <appname>open-ils.auth</appname> 
926 +                <appname>open-ils.auth_internal</appname>
927                  <appname>open-ils.auth_proxy</appname> 
928                  <appname>open-ils.storage</appname>  
929                  <appname>open-ils.justintime</appname>  
930 ---------------------------------------------------------------------
931
932
933
934
935
936
937
938
939 Sortable HTML reports
940 ^^^^^^^^^^^^^^^^^^^^^
941 HTML reports can now be sorted by clicking on the header for a given column.
942 Clicking on the header toggles between sorting the column in ascending and
943 descending order. Note that sorting is available only when there are
944 at most 10,000 rows of output.
945
946
947
948
949 Cataloging
950 ~~~~~~~~~~
951
952
953
954 Additional fixed fields
955 ^^^^^^^^^^^^^^^^^^^^^^^
956 The AccM, Comp, CrTp, EntW, Cont, FMus, LTxt, Orig, Part, Proj, Relf, SpFm,
957 SrTp, Tech, and TrAr fixed fields have been defined and coded value maps added
958 so they can also be used for Advanced Searches or inclusion in Composite Value Maps.
959
960 Note that AccM, Cont, LTxt, Relf, and SpFm are  compositite values based on
961 the values of "helper" fields like AccM(1), AccM(2), and so on. These positional
962 fields can be ignored.
963
964 Coded value maps have also been added for Cont, Ctry, and DtSt, and the Time field
965 has been defined. All of these fields are now available in the Fixed Field Editor
966 when editing the appropriate records.
967
968
969
970
971 Quickly export non-imported records
972 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
973 When inspecting a queue in MARC Batch Import/Export, there is now
974 a link to download to MARC file any records in the queue that were
975 not imported into the catalog.  This allows catalogers to quickly
976 manipulate the records that failed to import using an external
977 tool, then attempt to import them again.
978
979
980
981
982 Link personal name/title series added entries
983 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
984 The authority linker script now supports linking the MARC21
985 field 800 (series added entry - personal name) to authority
986 records.
987
988
989
990
991 MARC stream importer authority records and repairs
992 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
993
994 The MARC stream importer script, commonly used with external 
995 services like OCLC Connexion, is now capable of importing authority
996 records in addition to bib records.  A single running instance of
997 the script can import either type of record, based on the record
998 leader.
999
1000 New Options
1001 +++++++++++
1002
1003  * --auth-merge-profile
1004  * --auth-queue
1005  * --bib-import-no-match
1006  * --bib-auto-overlay-exact
1007  * --bib-auto-overlay-1match
1008  * --bib-auto-overlay-best-match
1009  * --auth-import-no-match
1010  * --auth-auto-overlay-exact
1011  * --auth-auto-overlay-1match
1012  * --auth-auto-overlay-best-match
1013
1014 Deprecated options
1015 ++++++++++++++++++
1016
1017 The following options still work and map to the "bib" equivalent
1018 of the option, however a deprecation warning message is generated 
1019 when the script is started.
1020
1021  * --import-no-match
1022  * --auto-overlay-exact
1023  * --auto-overlay-1match
1024  * --auto-overlay-best-match
1025
1026 No longer supported options
1027 +++++++++++++++++++++++++++
1028
1029 --import-by-queue is no longer supported.  This option serves no
1030 particular purpose and is a bad idea when re-using the same queue over
1031 and over as most people do, because queue bloat will increase run times.
1032
1033 --noqueue (AKA "direct import") is no longer supported.  All imports go
1034 through Vandelay now.
1035
1036
1037
1038
1039 Support for monograph parts import in MARC Batch Import/Export
1040 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1041 When adding or overlaying copies in MARC Batch Import/Export
1042 (Vandelay), monograph part labels can now be assigned during the import
1043 process.  This feature is modeled after the existing support for
1044 statistical category import.  As such, it:
1045
1046  * Uses '|' characters to separate labels to allow for multiple part
1047    assignment
1048  * Adds to (rather than replaces) any existing parts assigned to overlay
1049    copies
1050
1051
1052
1053
1054 Circulation
1055 ~~~~~~~~~~~
1056
1057
1058
1059 Alternate parts selection display when placing holds
1060 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1061 Users often miss the list of parts on the Place Holds screen, leading to many
1062 title-level holds on records where only one or two libraries may have
1063 'unparted' copies.
1064
1065 A new option is available to change this display so that a part is selected
1066 via radio buttons instead of the traditional dropdown menu. This display
1067 increases the visibility of parts on the Place Holds screen and also
1068 forces users to make an explicit choice.
1069
1070 To enable the alternate display, set the enable.radio.parts option to 'true'
1071 in config.tt2.
1072
1073 New config.tt2 setting
1074 ++++++++++++++++++++++
1075 enable.radio.parts
1076
1077
1078 Web staff client patron editor
1079 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1080 The web staff interface now includes a patron editor/registration form
1081 that is written using AngularJS, leading to faster and more responsive
1082 patron editing.  This feature is currently available in preview mode, but
1083 supports the following actions:
1084
1085   * adding and editing base patron records and addresses
1086   * setting statistical categories
1087   * editing secondary groups
1088   * cloning patron records
1089   * duplicate detection
1090   * surveys
1091
1092
1093
1094
1095 ==== Non-active status copy transit message ====
1096
1097 After copy checkin, if the copy is in transit, display a special
1098 message in the transit alert dialog and in the printed transit receipt
1099 (optionally, via macro) if the copy is in (or, rather, will be once it
1100 arrives at its destination) a non-active copy status.
1101
1102 ===== Upgrade notes =====
1103
1104  * To add the new message to the transit slip, add the
1105    'transit_copy_status_msg' MACRO.
1106  * To remove the new message from the alert dialog, remove the 
1107    'staff.circ.utils.transit.copy_status_message' string property
1108    from 'Open-ILS/xul/staff_client/server/locale/LOCALE/circ.properties'
1109  * For a list of non-active copy statuses, see in the staff client
1110    under Admin -> Server Administration -> Copy Statuses.
1111
1112
1113
1114
1115
1116 Selectively disallow opt-in based on patron's home library
1117 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1118 A new library setting has been added which enables a library to prevent their
1119 patrons from being opted in at other libraries.
1120
1121 For example, consider the following org unit hierarchy:
1122
1123        Org Units          Depth
1124
1125           CONS              0
1126            |
1127       +-----+-----+
1128       |           |
1129      SYS1        SYS2       1
1130       |           |
1131    +--+--+     +--+--+
1132    |     |     |     |
1133   BR1   BR2   BR3   BR4     2
1134
1135 Suppose that SYS1 wishes to prevent its patrons from being opted in at SYS2.
1136 To accomplish this, it sets the value of the "Restrict patron opt-in to home
1137 library and related orgs at specified depth" setting to 1, meaning that patrons
1138 at SYS1 libraries at or below that depth in the org tree cannot be opted in by
1139 libraries outside that part of the org tree.  Thus, BR1 patrons can be opted in
1140 at BR2, but not at BR3 or BR4.
1141
1142 (This setting is distinct from the "Patron Opt-In Boundary" setting, which
1143 merely determines the depth at which Evergreen prompts for the patron to opt
1144 in.)
1145
1146 New library setting
1147 +++++++++++++++++++
1148   * Restrict patron opt-in to home library and related orgs at specified depth (`org.restrict_opt_to_depth`)
1149
1150
1151
1152
1153 Standing penalty ignore proximity
1154 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1155
1156 Standing penalties now have an `ignore_proximity` field that takes an
1157 integer value.  When set, the value of this field represents the
1158 proximity from the user's home organizational unit where this penalty
1159 will be ignored for purposes of circulation and holds.  Typical values
1160 for this field would be 0, 1, or 2 when using a standard hierarchy of
1161 Consortium -> System -> Branch -> Sublibrary/Bookmobile.  A value of 1
1162 would cause the penalty to be ignored at the user's home organization
1163 unit, its parent and/or immediate child.  A value of 2 should cause
1164 it to be ignored at the above as well as all sibling organizational
1165 units to the user's home.  In all cases, a value of zero causes the
1166 penalty to be ignored at the user's home and to apply at all other
1167 organizational units.  If the value of this field is left unset (or
1168 set to a negative value), the penalty will still take effect
1169 everywhere using the normal organizational unit and depth values.  If
1170 you use a custom hierarchy, you will need to figure out any values
1171 greater than 0 on your own.
1172
1173 The `ignore_proximity` does not affect where penalties are applied. It
1174 is used when determining whether or not a penalty blocks an activity
1175 at the current organizational unit or the organizational unit that
1176 owns the copy involved in the current transaction.  For instance, if
1177 you set the `ignore_proximity` to 0 on patron exceeds overdue fines,
1178 then the patron will still be able to place holds on and checkout
1179 copies owned by their home organizational unit at their home
1180 organizational unit.  They will not, however, be able to receive
1181 copies from other organizational units, nor use other organizational
1182 units as a patron.
1183
1184
1185
1186 Patron checkout history stored in a dedicated table
1187 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1188
1189 Patron checkout history is now stored in separate, dedicated database 
1190 table instead of being derived from the main circulation data.  This
1191 allows us to age/anonymize circulations more aggressively, since they 
1192 no longer need to stick around in cases where they represent a patron's
1193 opt-in checkout history.
1194
1195 This has a number of patron privacy implications.
1196
1197  * Minimal metadata is stored in the new patron checkout history table, 
1198    so once the corresponding circulation is aged, the full set of 
1199    circulation metadata is no longer linked to a patron's reading history.
1200    ** It is limited to checkout date, due date, checkin date, and copy data.
1201  * Staff can no longer report on a patron's reading history.  
1202    ** While it is possible to build aggregate reports on reading history 
1203       data, it is not possible to report on which user an entry in the
1204       history table belongs to.  (The 'usr' column is hidden from the 
1205       reporter).
1206  * Staff can no longer retrieve a patron's reading history via API.  Only
1207    the user that owns the history data can access it.
1208
1209 Upgrade notes
1210 +++++++++++++
1211
1212 Administrators should verify the CSV export of checkout history works after
1213 deploying this change.  If local changes were made to the CSV template,
1214 the template will not be updated as part of this deployment.  The stock
1215 template was modified to handle gracefully NULL values for checkin_time.
1216
1217 For example:
1218
1219 [source,diff]
1220 ------------------------------------------------------------------------
1221 -    Returned: [% date.format(helpers.format_date(circ.checkin_time), '%Y-%m-%d') %]
1222 +    Returned: [%
1223 +        date.format(
1224 +            helpers.format_date(circ.checkin_time), '%Y-%m-%d')
1225 +            IF circ.checkin_time;
1226 +    %]
1227 ------------------------------------------------------------------------
1228
1229
1230
1231 Client
1232 ~~~~~~
1233
1234
1235
1236 Holds count column picker option
1237 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1238 A new column picker option showing the number of holds for a given item will
1239 now be available in various interfaces displaying item information, including
1240 the patron's Items Out tab and the Item Status, Check Out, Check In, Renew
1241 Item and Record In-House Use screens.
1242
1243 Note: Because the holds count is generated from the hold_copy_map, newly-added
1244 items and items in a non-holdable status will not display accurate hold counts
1245 until 24 hours after they have been added to the system or moved to a holdable
1246 copy status.
1247
1248
1249 Distinct images for pop-ups and slips
1250 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1251 The client now supports using distinct images for hold, transit, and booking
1252 reservation popup windows and slips. In addition, three new images have been
1253 provided, replacing the turtle that previously displayed. The turtle file
1254 is still available in the images directory for those sites that still wish
1255 to use it.
1256
1257
1258 Development
1259 ~~~~~~~~~~~
1260
1261
1262
1263 Removal of unused methods
1264 ^^^^^^^^^^^^^^^^^^^^^^^^^
1265 The following public methods, which were both broken and not in use,
1266 are removed:
1267
1268  * `open-ils.actor.org_unit.closed_date.create`
1269  * `open-ils.actor.org_unit.closed_date.delete`
1270
1271
1272
1273
1274
1275 Public catalog
1276 ~~~~~~~~~~~~~~
1277
1278 Editable borrowing history
1279 ^^^^^^^^^^^^^^^^^^^^^^^^^^
1280 Patrons can now delete titles that they do not wish to appear in their
1281 Check Out History.
1282
1283  * In "My Account", click on the "Items Checked Out" tab, then
1284    the "Check Out History" sub-tab.
1285  * Check off the items to conceal.
1286  * Click the Go button next to the "Delete Selected Titles" drop-down box.
1287  * Click OK in the pop-up to confirm the deletion.  Note that deletions
1288    cannot be undone.
1289
1290 Deleted titles will also not appear in the downloaded CSV file.
1291
1292 Patron history disable warning
1293 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1294
1295 When disabling checkout and/or holds history in the public catalog's
1296 Search and History Preferences tab, patrons will be warned that the
1297 operation is irreversible when history data exists that will be
1298 deleted as part of the update.
1299
1300
1301
1302 Include parts label when sorting copies on the record details page
1303 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1304 The list of copies on the catalog's record details page now includes
1305 the part label in the default sort order.
1306
1307 Specifically, copies are now sorted by (in order), org unit, then
1308 call number, then part label sortkey, then copy number, and
1309 finally barcode.
1310
1311 Previously, the hierarchy was org unit, then call number,
1312 then copy number, and finally barcode
1313
1314
1315
1316 Quick option to change search scope to all libraries
1317 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1318 A common usage of the catalog is to do a search in a restricted scope,
1319 like a local library. When the results are lacking, the search is repeated in a
1320 consortium-wide scope.  This feature provides an optional button and checkbox
1321 to alter the depth of the search to a defined level.
1322
1323 This feature is enabled by default and can be configured in the Depth Button/
1324 Checkbox section of config.tt2.
1325
1326 New config.tt2 settings
1327 +++++++++++++++++++++++
1328   * ctx.depth_sel_checkbox
1329   * ctx.depth_sel_button
1330   * ctx.depth_sel_depth
1331   * ctx.sel_button_label
1332   * ctx.depth_sel_button_class
1333   * ctx.depth_sel_checkbox_label
1334   * ctx.depth_sel_tooltip
1335   * ctx.depth_sel_resultshint
1336
1337 Limiter to exclude electronic resources
1338 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1339 A limiter to exclude electronic resources from search results is now available
1340 on the advanced search screen and from the search results page. This limiter
1341 will exclude any search results with an item form of o or s. This limiter
1342 will be applied on top of any other format limiters used in the search.
1343
1344 The checkboxes are disabled by default. To display them in both places, set
1345 the 'ctx.exclude_electronic_checkbox' setting in config.tt2 to 1.
1346
1347 New config.tt2 setting
1348 ++++++++++++++++++++++
1349 ctx.exclude_electronic_checkbox
1350
1351
1352 Expand unAPI API
1353 ^^^^^^^^^^^^^^^^
1354 Evergreen's unAPI support now includes access to many more
1355 record types. For example, the following URL would fetch
1356 bib 267 in MODS32 along with holdings, volume, copy,
1357 and record attribute information:
1358
1359 https://example.org/opac/extras/unapi?id=tag::U2@bre/267{holdings_xml,acn,acp,mra}&format=mods32
1360
1361 To access the new unAPI features, the unAPI ID should have the
1362 following form:
1363
1364   * +tag::U2@+
1365   * followed by class name, which may be
1366     * +bre+ (bibs)
1367     * +biblio_record_entry_feed+ (multiple bibs)
1368     * +acl+ (copy locations)
1369     * +acn+ (volumes)
1370     * +acnp+ (call number prefixes)
1371     * +acns+ (call number suffixes)
1372     * +acp+ (copies)
1373     * +acpn+ (copy notes)
1374     * +aou+ (org units)
1375     * +ascecm+ (copy stat cat entries)
1376     * +auri+ (located URIs)
1377     * +bmp+ (monographic parts)
1378     * +cbs+ (bib sources)
1379     * +ccs+ (copy statuses)
1380     * +circ+ (loan checkout and due dates)
1381     * +holdings_xml+ (holdings)
1382     * +mmr+ (metarecords)
1383     * +mmr_holdings_xml+ (metarecords with holdings)
1384     * +mmr_mra+ (metarecords with record attributes)
1385     * +mra+ (record attributes)
1386     * +sbsum+ (serial basic summaries)
1387     * +sdist+ (serial distributions)
1388     * +siss+ (serial issues)
1389     * +sisum+ (serial index summaries)
1390     * +sitem+ (serial items)
1391     * +sssum+ (serial supplement summaries)
1392     * +sstr+ (serial streams)
1393     * +ssub+ (serial subscriptions)
1394     * +sunit+ (serial units)
1395   * followed by +/+
1396   * followed by a record identifier (or in the case of
1397     the +biblio_record_entry_feed+ class, multiple IDs separated
1398     by commas)
1399   * followed, optionally, by limit and offset in square brackets
1400   * followed, optionally, by a comma-separated list of "includes"
1401     enclosed in curly brackets.  The list of includes is
1402     the same as the list of classes with the following addition:
1403     * +bre.extern+ (information from the non-MARC parts of a bib
1404       record)
1405    * followed, optionally, by +/+ and org unit; "-" signifies
1406      the top of the org unit tree
1407    * followed, optionally, by +/+ and org unit depth
1408    * followed, optionally, by +/+ and a path. If the path
1409      is +barcode+ and the class is +acp+, the record ID is taken
1410      to be a copy barcode rather than a copy ID; for example, in
1411      +tag::U2@acp/ACQ140{acn,bre,mra}/-/0/barcode+, +ACQ140+ is
1412      meant to be a copy barcode.
1413    * followed, optionally, by +&format=+ and the format in which the record
1414      should be retrieved. If this part is omitted, the list of available 
1415      formats will be retrieved. 
1416
1417
1418
1419
1420 New form/genre search and facet index
1421 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1422 The stock indexing definitions now include a search and facet index on the
1423 form/genre field (tag 655). This allows genre links in the public catalog
1424 record display to retrieve works in the same genre. The public catalog genre
1425 links will no longer display content from the 659 MARC fields. 
1426
1427 The genre facet will also display by default in the public catalog.  A partial
1428 reingest during upgrade is required to use this index.
1429
1430
1431
1432
1433 Limit number of facets retrieved during search
1434 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1435 Catalog search now limits the number of facets retrieved
1436 per defined facet field. Setting a limit is useful so that
1437 `open-ils.cstore backends don't end up needlessly consuming
1438 memory when fetching facets for a large result set; if a broad
1439 search retrieves over 10,000 author facets (say), even the most
1440 persistant user is not going to actually look at all of them. Fetching
1441 fewer facets can also slightly speed up generation of search results.
1442
1443 The limit is controlled by a new global flag, `search.max_facets_per_field`,
1444 whose label is "Search: maximum number of facet values to retrieve for
1445 each facet field".  The default limit value is 1,000, but lower values
1446 (e.g., 100) are perhaps even better for most catalogs.
1447
1448 Significant bug fixes
1449 ~~~~~~~~~~~~~~~~~~~~~
1450
1451 Add acquisitions cancel reason 85 for Baker & Taylor EDI
1452 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1453 Baker & Taylor send backs a quantity status code of 85
1454 when a line item is canceled when using EDI.  That code
1455 is now included in the system so those cancelations get 
1456 properly registered. 
1457
1458 Self-check printing
1459 ^^^^^^^^^^^^^^^^^^^
1460 Corrections were made to the self-check holds and fines printing
1461 functionality to so that the proper transactions can be printed.
1462 The change requires that the Self-Checkout Fines Receipt and
1463 Self-Checkout Holds Receipt action/trigger templates be updated
1464 in order to work properly. 
1465
1466 Miscellaneous
1467 ~~~~~~~~~~~~~
1468
1469 * Copy records in the "Concerto" test data set now have prices.
1470 * The web-based self-check interface now displays the patron
1471   information area only when a patron is logged in.
1472 * The progress page displayed by MARC Batch Edit is improved.
1473 * The public catalog now better handles the situation where
1474   a patron who does not have an email address registered in
1475   Evergreen tries to email a record.
1476
1477 Evergreen 2.10.0 bugs closed
1478 ----------------------------
1479
1480 * https://bugs.launchpad.net/bugs/838525[Bug 838525: Timestamp on dob can make date appear off by a day]
1481 * https://bugs.launchpad.net/bugs/963341[Bug 963341: Allow the JSPac and TPac to display both MFHD records and Serial Control/Alternate records,]
1482 * https://bugs.launchpad.net/bugs/1067823[Bug 1067823: tpac: genre links in record details page launch subject search]
1483 * https://bugs.launchpad.net/bugs/1164174[Bug 1164174: Add support for author/title series added entry]
1484 * https://bugs.launchpad.net/bugs/1175711[Bug 1175711: can't renew items on OPAC due to items being on Booking resource list]
1485 * https://bugs.launchpad.net/bugs/1197636[Bug 1197636: Email record detail does not check for email]
1486 * https://bugs.launchpad.net/bugs/1202742[Bug 1202742: Support alert/print message for transiting, non-active copies]
1487 * https://bugs.launchpad.net/bugs/1206936[Bug 1206936: money.transaction_billing_summary view displays incorrect billing_type and billing_note for the actual last transaction]
1488 * https://bugs.launchpad.net/bugs/1208613[Bug 1208613: Expand All button does not work past the 1st page when viewing a large picklist.]
1489 * https://bugs.launchpad.net/bugs/1229757[Bug 1229757: support distinct pop-up images for holds, transits, and hold transits]
1490 * https://bugs.launchpad.net/bugs/1240657[Bug 1240657: OpenILS::Application::Actor should check_perms for CREATE_CLOSED_DATE, not CREATE_CLOSEING]
1491 * https://bugs.launchpad.net/bugs/1251415[Bug 1251415: Use the juvenile setting when auto-removing juvenile flag.]
1492 * https://bugs.launchpad.net/bugs/1275118[Bug 1275118: Holds history displays canceled holds as active]
1493 * https://bugs.launchpad.net/bugs/1312699[Bug 1312699: Editable Checkout History]
1494 * https://bugs.launchpad.net/bugs/1319998[Bug 1319998: money.materialized_summary_billing_del() ADDS to balance_owed]
1495 * https://bugs.launchpad.net/bugs/1333254[Bug 1333254: EDI invoices automatically expend debits]
1496 * https://bugs.launchpad.net/bugs/1367926[Bug 1367926: Add support for (nearly) direct access to the full unapi backend]
1497 * https://bugs.launchpad.net/bugs/1370694[Bug 1370694: Selfcheck "Print List" for Holds view does not work]
1498 * https://bugs.launchpad.net/bugs/1371647[Bug 1371647: config.marc21_ff_pos_map needs an audit]
1499 * https://bugs.launchpad.net/bugs/1375043[Bug 1375043: Support for in-A/T telephony configuration]
1500 * https://bugs.launchpad.net/bugs/1380709[Bug 1380709: invoice print amounts-per-fund uses wrong value when item price varies]
1501 * https://bugs.launchpad.net/bugs/1384740[Bug 1384740: Add authority records support to marc stream importer (Connexion)]
1502 * https://bugs.launchpad.net/bugs/1391282[Bug 1391282: Default Action Trigger Templates  Updates]
1503 * https://bugs.launchpad.net/bugs/1392396[Bug 1392396: Wishlist: Action Trigger for new user creation]
1504 * https://bugs.launchpad.net/bugs/1402018[Bug 1402018: Acq Copy location UI scoped to registered workstation]
1505 * https://bugs.launchpad.net/bugs/1402770[Bug 1402770: Add column picker option for number of holds in item context]
1506 * https://bugs.launchpad.net/bugs/1406786[Bug 1406786: Merge parts functionality fails to preserve copy_part mapping]
1507 * https://bugs.launchpad.net/bugs/1422802[Bug 1422802: Parts need to be more visible on the place holds screen]
1508 * https://bugs.launchpad.net/bugs/1422932[Bug 1422932: TPAC: Holds history pager typo]
1509 * https://bugs.launchpad.net/bugs/1429268[Bug 1429268: Credit card payment fails on NULL mailing address]
1510 * https://bugs.launchpad.net/bugs/1452950[Bug 1452950: Angularize the patron editor]
1511 * https://bugs.launchpad.net/bugs/1454871[Bug 1454871: KPAC Hold Notifications - SMS]
1512 * https://bugs.launchpad.net/bugs/1454884[Bug 1454884: Hold placed on grouped metabib result displays wrong title]
1513 * https://bugs.launchpad.net/bugs/1464765[Bug 1464765: evergreen.lpad_number_substrings doesn't handle internal substring matches properly]
1514 * https://bugs.launchpad.net/bugs/1466173[Bug 1466173: Wishlist: Selfcheck Hide UI Elements until patron auth]
1515 * https://bugs.launchpad.net/bugs/1466990[Bug 1466990: Detailed search results shows parts for items that dont have parts]
1516 * https://bugs.launchpad.net/bugs/1468422[Bug 1468422: Improve Password Management and Authentication]
1517 * https://bugs.launchpad.net/bugs/1470957[Bug 1470957: Items are incorrectly sorting when using the Sort By Publication date feature]
1518 * https://bugs.launchpad.net/bugs/1474051[Bug 1474051: Avoid storing partial credit card payment info]
1519 * https://bugs.launchpad.net/bugs/1474455[Bug 1474455: Fixed navigation menu for the web client]
1520 * https://bugs.launchpad.net/bugs/1474566[Bug 1474566: Credit card API amount paid rounding error.]
1521 * https://bugs.launchpad.net/bugs/1482336[Bug 1482336: create_release_notes.sh include .adoc files]
1522 * https://bugs.launchpad.net/bugs/1483500[Bug 1483500: evergreen.lowercase needs test]
1523 * https://bugs.launchpad.net/bugs/1483506[Bug 1483506: public.first_agg needs test]
1524 * https://bugs.launchpad.net/bugs/1483508[Bug 1483508: public.text_concat needs tests]
1525 * https://bugs.launchpad.net/bugs/1486151[Bug 1486151: Modifying password regular expression in Library Settings Editor can cause helper on the Update Password page to be invalid]
1526 * https://bugs.launchpad.net/bugs/1486294[Bug 1486294: Add acquisitions data to the Concerto dataset]
1527 * https://bugs.launchpad.net/bugs/1486592[Bug 1486592: Copies in concerto data should have prices]
1528 * https://bugs.launchpad.net/bugs/1487527[Bug 1487527: TPAC: Provide shortcut for changing search scope]
1529 * https://bugs.launchpad.net/bugs/1491571[Bug 1491571: When circ.password_reset_request_requires_matching_email setting is true, email case must match in addition to content]
1530 * https://bugs.launchpad.net/bugs/1492793[Bug 1492793: Support for PostgreSQL Application Name Connection Options]
1531 * https://bugs.launchpad.net/bugs/1496837[Bug 1496837: xml-related test is invalid]
1532 * https://bugs.launchpad.net/bugs/1499123[Bug 1499123: Ability to Ignore Certain Standing Penalties Within a Proximity to the Patron's Home Library]
1533 * https://bugs.launchpad.net/bugs/1501471[Bug 1501471: fetching OU settings in batch can be made faster]
1534 * https://bugs.launchpad.net/bugs/1501516[Bug 1501516: Indicate whether a lineitem is fully paid/invoiced in PO list]
1535 * https://bugs.launchpad.net/bugs/1502152[Bug 1502152: Trap Warnings in marc_export for better error reporting]
1536 * https://bugs.launchpad.net/bugs/1504615[Bug 1504615: OPAC: Suggest record detail more useful when sorted by parts]
1537 * https://bugs.launchpad.net/bugs/1505286[Bug 1505286: set limit on facets retrieved during search]
1538 * https://bugs.launchpad.net/bugs/1506534[Bug 1506534: valid_z3950_attr_type check constraint can cause errors during pg_restore]
1539 * https://bugs.launchpad.net/bugs/1507845[Bug 1507845: Correct search engine optimization -- allow robots to crawl, but not index, results]
1540 * https://bugs.launchpad.net/bugs/1508477[Bug 1508477: browser client: hotkeys don't work if an input element has focus]
1541 * https://bugs.launchpad.net/bugs/1509479[Bug 1509479: infinite loop when parsing modified unclosed phrase search query]
1542 * https://bugs.launchpad.net/bugs/1510641[Bug 1510641: Cannot print PO without lineitems]
1543 * https://bugs.launchpad.net/bugs/1513554[Bug 1513554: It is possible to delete acq.cancel_reasons that are used by the system]
1544 * https://bugs.launchpad.net/bugs/1516022[Bug 1516022: reporting source for copy/hold ratio at pickup library and descendants]
1545 * https://bugs.launchpad.net/bugs/1516104[Bug 1516104: Wishlist: Additional Acq Toolbar Options]
1546 * https://bugs.launchpad.net/bugs/1516707[Bug 1516707: Relevance ranking deteriorates when phrases are added to search]
1547 * https://bugs.launchpad.net/bugs/1516757[Bug 1516757: SIP Date of Birth off by one day / parsed as UTC]
1548 * https://bugs.launchpad.net/bugs/1516867[Bug 1516867: HTML reports should be dynamically sortable]
1549 * https://bugs.launchpad.net/bugs/1519055[Bug 1519055: Simple checkbox to exclude electronic resources from search results]
1550 * https://bugs.launchpad.net/bugs/1519465[Bug 1519465: Purchase Orders with spaces in the name cause problems with EDI processing]
1551 * https://bugs.launchpad.net/bugs/1519911[Bug 1519911: Typo in seed data for hold cancel notification action triggers]
1552 * https://bugs.launchpad.net/bugs/1519925[Bug 1519925: Add UPC search to MARC Federated Search -  Native Evergreen option]
1553 * https://bugs.launchpad.net/bugs/1522538[Bug 1522538: Unexpected Journal Title Search Results when using second or third Search Input in Advanced Search]
1554 * https://bugs.launchpad.net/bugs/1522604[Bug 1522604: webclient: Red font to highlight Lost items in patron summary extends to Non-Cataloged label]
1555 * https://bugs.launchpad.net/bugs/1526543[Bug 1526543: Cannot disable password reset in TPAC]
1556 * https://bugs.launchpad.net/bugs/1526546[Bug 1526546: Parts do not sort correctly on Holdings Maintenance screen]
1557 * https://bugs.launchpad.net/bugs/1526547[Bug 1526547: Overdues adjusted via lost (or long overdue) processing get an incorrect note ("VOIDED FOR BACKDATE")]
1558 * https://bugs.launchpad.net/bugs/1527342[Bug 1527342: Maintain patron reading history in a dedicated table.]
1559 * https://bugs.launchpad.net/bugs/1528596[Bug 1528596: Another untrapped marc_export warning]
1560 * https://bugs.launchpad.net/bugs/1531976[Bug 1531976: Triggered Events UI not loading after visiting Message Center UI and vice-versa]
1561 * https://bugs.launchpad.net/bugs/1533329[Bug 1533329: Selectively disallow opt-in based on patron's home library]
1562 * https://bugs.launchpad.net/bugs/1533331[Bug 1533331: evergreen.protect_reserved_rows_from_delete() trigger function returning error]
1563 * https://bugs.launchpad.net/bugs/1538697[Bug 1538697: webclient: copy record does not save when changing stat cat entries]
1564 * https://bugs.launchpad.net/bugs/1539088[Bug 1539088: marc export should only print "Waiting for Input" when running interactively]
1565 * https://bugs.launchpad.net/bugs/1539776[Bug 1539776: webclient: Wrapping improvements for vol / copy editor]
1566 * https://bugs.launchpad.net/bugs/1544723[Bug 1544723: Add webstaff to update_pofiles]
1567 * https://bugs.launchpad.net/bugs/1545178[Bug 1545178: two dead methods for dealing with closed dates should be removed]
1568 * https://bugs.launchpad.net/bugs/1545226[Bug 1545226: MARC Batch Editor summary table html problems]
1569 * https://bugs.launchpad.net/bugs/1546125[Bug 1546125: Print Templates -&gt; Save Locally not working]
1570 * https://bugs.launchpad.net/bugs/1548143[Bug 1548143: Add Parts Support to Vandelay Item Import]
1571 * https://bugs.launchpad.net/bugs/1548147[Bug 1548147: Quick Export Feature for Vandelay Queues]
1572 * https://bugs.launchpad.net/bugs/1548869[Bug 1548869: KPAC - hold results screen not showing title]
1573 * https://bugs.launchpad.net/bugs/1549393[Bug 1549393: AddedContent: Invalid ISBN's are sent to Content Cafe as blank string]
1574 * https://bugs.launchpad.net/bugs/1550495[Bug 1550495: EDI Default Cancel Reason for Baker &amp; Taylor not included: Code 85]
1575 * https://bugs.launchpad.net/bugs/1551447[Bug 1551447: Selfcheck: Printing Fines Prints All Open Transactions]
1576 * https://bugs.launchpad.net/bugs/1552060[Bug 1552060: Persistent login no longer working in OPAC]
1577 * https://bugs.launchpad.net/bugs/1553813[Bug 1553813: Browser patron editor field validation and permission checks]
1578 * https://bugs.launchpad.net/bugs/1556339[Bug 1556339: API attempts to use nonexistent user_visible_circs method]
1579 * https://bugs.launchpad.net/bugs/1557525[Bug 1557525: Release Notes Omission]
1580 * https://bugs.launchpad.net/bugs/1557621[Bug 1557621: Verify password API fails on barcode; returns success on deleted users]
1581 * https://bugs.launchpad.net/bugs/1557683[Bug 1557683: Missing semicolon in 0953.function.unapi-bre.external-includes.sql]
1582
1583 Evergreen 2.10.0 Acknowledgments
1584 --------------------------------
1585 The Evergreen project would like to thank the following 
1586 individuals who contributed code, documentations patches and
1587 tests to this release of Evergreen:
1588
1589  * Thomas Berezansky
1590  * Adam Bowling
1591  * Jason Boyer
1592  * Kate Butler
1593  * Steven Callender
1594  * Steven Chan
1595  * Galen Charlton
1596  * Mark Cooper
1597  * Jeff Davis
1598  * Martha Driscoll
1599  * Bill Erickson
1600  * Jason Etheridge
1601  * Blake Henderson
1602  * Pasi Kallinen
1603  * Jake Litrell
1604  * Kathy Lussier
1605  * Terran McCanna
1606  * Christine Morgan
1607  * Dan Pearl
1608  * Michael Peters
1609  * Jennifer Pringle
1610  * Mike Rylander
1611  * Dan Scott
1612  * Chris Sharp
1613  * Ben Shum
1614  * Remington Steed
1615  * Jason Stephenson
1616  * Josh Stompro
1617  * Yamil Suarez
1618  * Dan Wells
1619  * Bob Wicksall
1620
1621 We would also like to thank the following individuals who
1622 tested and signed off on patches:
1623
1624  * Christine Burns
1625  * Andrea Neiman
1626  * Erica Rohlfs
1627
1628 We would also like to thank the following organizations who
1629 commissioned developments in this release of Evergreen:
1630
1631  * Linn Libraries Consortium
1632  * King County Library System
1633  * MassLNC
1634
1635 We also thank the following organizations whose employees contributed
1636 to this release:
1637
1638  * BC Libraries Coooperative
1639  * Berklee College of Music
1640  * Bibliomation
1641  * Calvin College
1642  * CW/MARS
1643  * Emerald Data
1644  * Equinox Software
1645  * Georgia Public Library Service
1646  * Indiana State Library
1647  * Kent County Public Library
1648  * King County Library System
1649  * Lake Agassiz Regional Library
1650  * Laurentian University
1651  * MassLNC
1652  * MOBIUS
1653  * MVLC
1654  * NOBLE
1655  * Rodgers Memorial Library
1656  * Sigio
1657
1658 We regret any omissions.  If a contributor has been inadvertantly
1659 missed, please open a bug at http://bugs.launchpad.net/evergreen/
1660 with a correction.
1661