]> git.evergreen-ils.org Git - working/Evergreen.git/blob - docs/RELEASE_NOTES_2_4.txt
5a878482ef9a189cf1228e114fea6c13ca166786
[working/Evergreen.git] / docs / RELEASE_NOTES_2_4.txt
1 Evergreen 2.4 Beta1 Release Notes
2 =================================
3 :toc:
4 :numbered:
5
6 Upgrade notes
7 -------------
8
9 Custom Toolbar Permissions
10 ~~~~~~~~~~~~~~~~~~~~~~~~~~
11 With the addition of more granular permissions for configuring a custom
12 toolbars, the ADMIN_TOOLBAR permission alone will not allow users to 
13 configure a custom toolbar. This permission must now be used in conjunction
14 with one or more of the following permissions:
15
16 * ADMIN_TOOLBAR_FOR_ORG
17 * ADMIN_TOOLBAR_FOR_USER
18 * ADMIN_TOOLBAR_FOR_WORKSTATION
19
20 New features
21 ------------
22
23 Acquisitions
24 ~~~~~~~~~~~~
25
26 Acquisitions Inline Item Detail View
27 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
28
29 Acquisitions selection lists and purchase order interfaces contain a new link
30 beside each lineitem which, when clicked, creates an inline grid of copies
31 linked to the lineitem.  The grid contains the same information that displays
32 in the full copy edit grid (from clicking on the Copies(n) link).  However,
33 the inline grid is read-only, so it displays much faster and does not require
34 the user to change visual contexts.  
35
36 Included along the top of the lineitem table is a new '✓ Expand' link which, 
37 when clicked, expands or collapses the inline grid for all visible lineitems.
38
39 Acquisitions Lineitem Order Identifiers
40 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
41
42 Staff now have the ability to specify the identifier value to use for
43 lineitems when communicating order information to vendors.  This is 
44 particularly important when a lineitem has, for example, multiple ISBNs.
45 Determining which ISBN is to act as the "order identifier" allows staff
46 to provide the most accurate order information to vendors.  
47
48 Supported identifier types include ISBN, ISSN, and UPC.  Order identifier 
49 values are relayed to vendors via EDI and print PO.
50
51 Upgrade Notes
52 +++++++++++++
53 Two new permissions are added for this feature:
54
55  * ACQ_SET_LINEITEM_IDENTIFIER
56   ** Allows staff to apply order identifiers to lineitems
57  * ACQ_ADD_LINEITEM_IDENTIFIER
58   ** Implies that new identifiers shall be added to linked bib records, 
59      when a linkage exists.
60
61 Acquisitions Purchase Order and other Interface Improvements
62 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
63
64 Feature Summary
65 +++++++++++++++
66
67 The following features, which primarily affect the user interface layer,
68 improve Acquisitions work flows.
69
70   * Avoid double-activation of POs
71   * Disable invoice and cancel options for pending POs
72   * Disable zero-copy checkbox for activated POs
73   * Disable new charges for activated POs
74   * Replace "Shelving Location" with Copy Location
75
76   * Rearranging "actions" drop-down
77     ** More consitency in actions applying to selected lineitems specifically
78     ** Things moved from the per-lineitem dropdown to the main one when
79        sensible.
80     ** Add to PO dialog added
81     ** You can no longer add lineitems to a PO if they're already on one.
82     ** Actions in dropdown now enabled/disabled differently depending on
83        the interface where it appears (PO vs Selection List vs Acq Search etc.)
84
85   * Batch update for line items
86      ** Apply updates to all copies of all selected line items at once
87      ** Relies on a middle layer method that streams back information that
88         would suit a more asynchronous display in the future (rather than
89         simply reloading the page upon success, which it does now)
90      ** For failure cases, specific information about which line item cannot
91         be updated, and why, is available to the client, although taking
92         best advantage of this information for user-friendly display is left
93         to the future.
94
95 Acquisitions MARC Upload Form Persistence
96 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
97 Adds a two-layer persistence mechanism for the acquisitions MARC file upload
98 interface.  A set of org unit settings now exist for managing default values
99 for the interface.  Additionally, for each field where no org unit setting
100 value is configured, the last-used value will be persisted locally and re-
101 used with subsequent loads of the interface.
102
103 Default Number of Acquisistions Copies to Order
104 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
105 Acquisitions providers have a new "Default # Copies" field.  When the value
106 is set, this number of copies will be automatically added to each lineitem
107 added to a purchase order for the provider.  This takes place during PO
108 creation from a selection list or existing bib record and when a lineitem is 
109 added to an existing purchase order.  If a lineitem already has copies 
110 attached, no default copies are added.
111
112 OPAC
113 ~~~~
114
115 Display alternate graphic (880) fields
116 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
117
118 By default, Evergreen displays alternate graphic fields, if any, for
119 contributors (1xx / 7xx), titles (245), edition statements (250), imprints
120 (260), notes (5xx), subjects (6xx), and series (4xx / 8xx) in search results and record details
121 per the Library of Congress MARC21 specifications:
122
123 * http://www.loc.gov/marc/bibliographic/bd880.html
124 * http://www.loc.gov/marc/bibliographic/ecbdcntf.html
125 * http://www.loc.gov/marc/bibliographic/ecbdmulti.html (Model A)
126
127 Default display
128 +++++++++++++++
129 In general, alternate graphic fields display below the corresponding
130 primary field. One exception is the attribution summary on the record details
131 page, in which the alternate graphic field contents display between the
132 primary field content and the attribution statement. To support CSS
133 customizations, HTML elements for the graphic fields have the class attribute
134 value `graphic880`.
135
136 MARC21 Feeds from OpenSearch
137 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
138 In addition to the already supported formats, you can now get raw MARC21 from
139 OpenSearch feeds, à la:
140
141     http://<host>/opac/extras/opensearch/1.1/-/marc21?searchTerms=piano
142
143
144 Search Changes
145 ^^^^^^^^^^^^^^
146 A number of changes have been made to search to allow more control and improve
147 performance. These changes and their associated configurations are global to
148 the entire system and can not be configured on a per-library basis.
149
150 Amongst other things the new search code fixes:
151
152 * Inability to use statuses and locations as part of a larger query
153 * Invalid queries being generated from advanced searches
154 * Some timeouts from backend code taking too long to preform a search
155 * Some filters being one-use only
156 * Negations not working properly where multiple indexes are involved
157
158 Improvements include:
159
160 * Exact matches on input should be more likely to float to the top of results
161 * Non-English stemming can be used, alongside or instead of English stemming
162 * Entered search terms can be found across multiple indexes
163
164 Default configuration is geared towards English but is easily changed. In a
165 production environment changes will likely require re-indexing, however.
166
167 The upgrade script could be pre-tweaked to install desired configuration before
168 it builds and/or re-builds many of the indexes.
169
170 Searching for deleted records
171 +++++++++++++++++++++++++++++
172 Evergreen now supports searching for deleted records via the '#deleted'
173 QP modifier.
174
175 In order to support this, sites must enable the
176 'ingest.metarecord_mapping.preserve_on_delete' internal flag.  It is off by
177 default since the ability to search for deleted records requires keeping
178 metarecord mappings around when bibs are deleted, which may not be desirable
179 for the typical site.
180
181 Two new QP filters: create_date and edit_date
182 +++++++++++++++++++++++++++++++++++++++++++++
183 These filter on the fields of the same name in biblio.record_entry.
184
185 e.g.
186
187   * create_date(,2013-02-01)  =>  records created before 2013-02-01
188   * create_date(2013-02-01)   =>  records created since 2013-02-01
189   * create_date(2013-02-01,2013-02-28)  =>  records created in Feb 2013
190   * create_date(yesterday)    =>  records since created yesterday
191
192 Show local call number in TPAC My Lists display
193 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
194 If an opac-visible call number exists that is owned by an org unit
195 relevant to the patron, show the most relevant call number label
196 and owning branch name in the My Lists display for each record in
197 the list.  Call number is displayed in both saved and temporary lists.
198
199 A call number is considered relevant if its owner is one of:
200
201 physical location library
202 preferred library (plib, home, etc.)
203 search library
204
205 If no relevant call number is found, no call number is diplayed.
206
207 TPAC Google Books preview
208 ^^^^^^^^^^^^^^^^^^^^^^^^^
209 Setting `ctx.google_books_preview` to `1` in the TPAC `config.tt2`
210 configuration file will cause the TPAC to check to see, as part of the record
211 details view, if Google Books has an online preview available. If it does,
212 then a preview button will be displayed in the book cover image location.
213 If the user then clicks the preview button, the preview will load below the
214 title of the book in the record details page.
215
216 By default, this functionality is disabled to protect the privacy of users
217 who might not want to share their browsing behaviour with Google.
218
219 TPAC Org Unit Hiding
220 ^^^^^^^^^^^^^^^^^^^^
221 Adds support for the opac.org_unit_hiding.depth org unit setting to
222 TPAC, which makes out-of-scope org units disappear (except when
223 explicitly requested).
224
225 Org unit hiding is based on the physical_loc (Physical Location) param /
226 cookie, which is the closest analog to 'ol' (original location), from
227 which it was based in the JSPAC.
228
229 UI Changes
230 ++++++++++
231
232  * All search org unit selectors
233  * Holds pickup lib selector
234  * Copy summary in search results page
235  * Copy list in search results page
236  * Copy summary in record detail page (which controls the copy grid).
237  * Hold summary in record detail page
238
239 Cataloging
240 ~~~~~~~~~~
241
242 MARC Import Tag Stripping
243 ^^^^^^^^^^^^^^^^^^^^^^^^^
244 Administrators can configure MARC tags which are removed from MARC records 
245 imported via Z39.50 and the Vandelay MARC Import/Export UI (ACQ and non-ACQ).  
246 Tags are organized into groups.  Groups can be marked as optional or required.
247 For each tag, every instance of the tag (including all subfields) are removed 
248 from the record.
249
250 MARC fields which are contained within required ('always_apply') tag groups
251 are always removed from inbound records.  No action is needed.  Tag groups 
252 which are optional will appear in MARC import interfaces (see below) allowing 
253 staff to select which groups of tags to strip from incoming records at import 
254 time.
255
256 Interfaces Affected
257 +++++++++++++++++++
258
259  * Admin UI
260   ** Admin => Server Administration => MARC Import Remove Fields
261  * Z39.50 Import
262   ** Cataloging => Import Record from Z39.50
263   ** Optional groups appear with the other import options
264  * Vandelay
265   ** Cataloging => MARC Import/ExportVandelay
266   ** Acquisistions => Load Order Records
267   ** Optional groups appear with the other import options
268
269 Vandelay Default Match Set
270 ^^^^^^^^^^^^^^^^^^^^^^^^^^
271 A new org unit setting to specify a default Record Match Set when 
272 importing MARC records through the MARC Batch Import/Export interface. It does
273 not affect the default match set selected in acquisitions. If this
274 is set, it will not be possible to leave the Record Match Set field blank;
275 it may be necessary to define a default match set that replicates the current
276 default behavior. 
277
278 A new "Vandelay" org unit settings group is also created.
279
280 Circulation
281 ~~~~~~~~~~~
282
283 Clickable Patron Indicators
284 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
285 When retrieving a patron record, staff can now click on the indicators listed 
286 beneath the patron's name and launch the related tabs.
287
288 For example, clicking on (See Notes) will open the associated patron's notes.
289
290 "Warn patrons when their account is about to expire"
291 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
292 To give staff the ability to warn patrons when their account is about to
293 expire, the staff client can display an alert message on the patron information
294 window.  A new library setting, `Warn patrons when their account is about to
295 expire` in the *Circulation* section of the *Library Settings Editor*,
296 determines how many days in advance of a patron's account expiry date the alert
297 should be displayed. By default, warnings about upcoming patron account expiry
298 dates are not displayed.
299
300 Show Hold Patron Name in TPAC
301 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
302 When looking up patron information for hold placement via the staff client in
303 TPac the hold patron name is now shown next to the entered barcode. In the event
304 that the barcode is not found a notice is displayed and the submit button is
305 disabled until a valid barcode is entered or the staff member is switched to.
306
307 Show Holds On Bib Menu Option
308 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
309 Add direct "Show holds on bibs" menu option from item checkin, item status, 
310 and patron hold interfaces. This gives staff a quicker way of viewing who 
311 else has holds on an item instead of having to click an option to view the 
312 bib record, then clicking into the menus to view holds.
313
314 Administration
315 ~~~~~~~~~~~~~~
316
317 Calculated Proximity Adjustments
318 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
319 Allows customization to the way that Evergreen measures the distance between
320 org units for the purposes of 1) determining what copy at what org unit is best
321 suited for targeting a title-level hold, and 2) determining what hold is best
322 suited for fulfillment by a copy-in-hand at capture (checkin) time.  The
323 customization is based on a table 'actor.org_unit_proximity_adjustment', with
324 certain matching criteria that the system compares to properties of the holds
325 and copies in question.
326
327 Custom best-hold selection sort order
328 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
329 The ranking algorithm that chooses the best hold to target a copy in 
330 hand at a capture time used to be fairly simple.  It had two modes, FIFO
331 and not-FIFO, and that was it.
332
333 This change allows full configuration of that algorithm.  In other 
334 words, when the system captures a copy and sets out to evaluate what
335 hold, if any, that copy might best fulfull, site staff of sufficient
336 permission level are now empowered to choose exactly which comparisons
337 the systems makes in what order.  This gives said staff much greater
338 flexibililty than they have today over holds policy.
339
340 For more information, see the included tech spec documents.
341
342 Generic CVS Notification Generator/Receiver
343 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
344
345 New Action/Trigger template and sample event definitions for creating a CSV
346 export file for various patron actions, primarily for the purpose of creating
347 patron notices via external notification mechanisms.
348
349 The reference implementation for this development is the TalkingTech iTiva
350 product, which consumes CSV files for generating phone/text notifications and
351 produces CSV results files for informing the ILS of notification statuses.  
352 The template and send/receive scripts, however, should be generic enough to 
353 create CSV for any type of 3rd-party notification product.
354
355 For more information, see the included tech spec documents.
356
357 Storing Z39.50 Server Credentials
358 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
359
360 In the Z39.50 configuration interface, staff now have the option to apply
361 z39.50 login credentials to each Z39.50 server at different levels of the 
362 org unit hierarchy (similar to org unit settings).  When credentials are set 
363 for a Z39 server, searches against the z39 server will used the stored 
364 credentials, unless other credentials are provided by the caller, in which 
365 case the caller credentials are used.
366
367 For security purposes, passwords may not be retrieved or reported on by staff.  
368 Staff can only apply new values for credentials or clear existing ones.
369
370 URL Verification
371 ^^^^^^^^^^^^^^^^
372 In order to support verification of URLs, Evergreen now has several new
373 capabilities, and extensions to some existing features.
374
375 A wizard-style interface that walks a staff member through the process of collecting records and URLs to verify, verifying and reviewing the URLs.
376
377 URL validation sessions are built as a whole to support immediate and
378 future review of any URLs.  Each session carries a name, an owner, a set
379 of record search criteria, a set of tag and subfield combinations describing
380 the location of URLs to validate, a record container for tracking individual
381 records to verify, and a set of state and data tables for managing the
382 processing of individual URLs.
383
384 A set of middle-layer methods provide the business logic required to collect
385 records, extract, parse and test the validity of the URLs.
386
387 For more information, see the included tech spec documents.
388
389 Serials
390 ~~~~~~~
391
392 Serial Control: Embed Alternate Interfaces
393 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
394 As another step toward a unified interface, the serial control subscription
395 editor now consists of an embedded version of the alternate control. This
396 reduces duplication of both code and documentation, and smoothes the eventual
397 transition to a single interface.
398
399 In order to not lose any essential features, the following additions were made
400 to the new combination editor:
401
402 * note editors on subscriptions and distributions
403 * labeled dropdown for distribution summary options ("Add to record entry", "Use record entry only", etc.)
404 * legacy record entry linkage setup (Allows one to tie a distribution's information to a particular serial record entry (i.e. a MFHD record))
405
406 Serial Control: Set Special Statuses
407 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
408 The Serial Control interface prevents direct editing of serial item statuses
409 for data integrity reasons. As an alternative to direct control, the interface
410 now offers new menu options for setting items to 'claimed', 'not held', and
411 'not published'. Note that these statuses are still currently useful for
412 reporting and display purposes only.
413
414 Staff Client
415 ~~~~~~~~~~~~
416
417 add "about:about" to developer menu in staff client
418 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
419
420 about:about gives access to various XULRunner diagnostic tools.
421 Useful ones include:
422
423 about:buildconfig::
424     Get information about how the staff client is built.
425 about:config::
426     Tweak XULRunner settings.
427 about:memory::
428     Get detailed information about the memory usage of the staff
429     client.
430
431
432 Miscellaneous
433 -------------
434
435 Loading Sample Data
436 ~~~~~~~~~~~~~~~~~~~
437 One common need for people evaluating Evergreen, as well as for developers,
438 writers, and testers, is a set of sample data that can be easily loaded into
439 the Evergreen database and provide a consistent set of results for testing
440 and training purposes.
441
442 This release features sets of sample data consisting of:
443
444 * 100 bibliographic records retrievable via a "concerto" keyword search
445 * 100 French bibliographic records
446 * Associated call numbers, copies, parts, and conjoined items
447 * Patron accounts, including some recently expired patrons
448 * Circulation transactions, including some holds and some overdue items
449
450 To load the sample data into a freshly installed Evergreen database, you can
451 pass the following arguments to the `eg_db_config` script (either when you are
452 creating the initial database schema, or as a separate call after creating the
453 database schema):
454
455 * `--load-all-sample`: Loads all sample data, including bibliographic records,
456    call numbers, copies, users, and transactions.
457 * `--load-concerto-sample`: Loads a subset of sample data that includes just
458   100 bibliographic records, and associated call numbers and copies.