Various additions to the 2.3 release notes.
[working/Evergreen.git] / docs / RELEASE_NOTES_2_3.txt
1 Release notes
2 =============
3 :toc:
4 :numbered:
5
6 Upgrade notes
7 -------------
8
9 Coming Soon.
10
11 New features
12 ------------
13
14 Acquisitions
15 ~~~~~~~~~~~~
16
17 ACQ Invoice Inline Lineitem Search and Add
18 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19
20 The Invoice UI is how composed of two tabs, the main invoice tab and a new
21 Search tab.  The search tab consists of a subset of the Acquisitions unified
22 search interface.  The goal is to allow users to search for lineitems to
23 invoice.  Search results may be added directly to the growing invoice.  A number of small usability features are included.
24
25 Features
26 ++++++++
27
28     * Option (default) to limit searches to invoiceable items.  
29         ** These are lineitems that are not cancelled, have at least one invoiceable copy, linked to a PO whose provider matches that of the current invoice, and are not already linked to the current invoice.
30     * Search defaults to last-run search (on workstation).
31     * New Lineitem Detail filter options
32     * Sort searches by lineitem number (default) and title.
33     * There is a new Expected Cost field which includes both the total invoiced cost plus the anticipated cost of lineitems as they are added.
34     * New Price per Copy field
35     * Lineitem count field
36     * Show / Hide Invoice details button.  Details are displayed by default, but hidden when the user enters the search tab.  From there it remains hidden until manually shown (or a new invoice is opened).
37     * A new "Save & Clear" button which saves the current invoice then clears the invoice display to create a new invoice.
38     * Provider, shipper, and receiver fields are auto-populated from the first-added invoice data (when not already set).
39     * Totals are now read-only, since they are derived from existing data (and are informational only).
40
41
42 EDI Invoices
43 ^^^^^^^^^^^^
44
45 The same setup that is required today for retrieving and reacting to EDI Order
46 Response messages (ORDRSP) will also react to Invoices (INVOIC).
47
48 This essentially means you must have a Provider (acq.provider) configured with
49 an EDI Account (acq.edi_account) containing login credentials for a vendor, you must have the edi_webrick service running (EDI translator), and you must have
50 the edi_pusher script run periodically by cron.
51
52 An open Evergreen invoice will be created for a each EDI Invoice message.
53 Evergreen invoice entries will be created for each lineitem detected in the
54 EDI message if that lineitem can be linked to a known Evergreen lineitem in
55 your system.  An Evergreen invoice item will be created for a whole-invoice
56 tax.
57
58 Enriched EDI
59 ^^^^^^^^^^^^
60
61 Support for Enriched EDI with copy-level data via EDI in ORDER messages.
62
63 Encumbrance-only Rollover
64 ^^^^^^^^^^^^^^^^^^^^^^^^^
65
66 A new Library Setting allows the year-end close-out operation to roll over
67 encumbrances while dumping any unspent money.
68
69 Fund Report
70 ^^^^^^^^^^^
71
72 A new IDL reporter view that provides summary information for funds for
73 reporting. The resulting table looks like a fund with four additional fields:
74 allocated_total, spent_total, encumbrance_total, and combined_balance.
75
76 OPAC
77 ~~~~
78
79 TPAC: Simplified CSS Color Customization
80 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
81 CSS colors are now defined as a pair of Template::Toolkit files,
82 `Open-ILS/src/templates/opac/css/styles.css.tt2` and
83 `Open-ILS/src/templates/opac/parts/css/colors.tt2`. Evergreen administrators
84 can customize the color scheme for a given skin by copying `colors.tt2` into a
85 template override directory and adjusting the colors as desired.
86
87 Change required to eg_vhost.conf
88 ++++++++++++++++++++++++++++++++
89 To enable Apache to pass the CSS file to the Template::Toolkit handler, you
90 must remove `.css` from the list of file extensions that should not be passed
91 to a handler in `eg_vhost.conf` as follows:
92
93 .From
94 ------------------------------------------------------------------------------
95 <LocationMatch ^/eg/.*(\.js|\.css|\.html|\.xhtml|\.xml|\.jpg|\.png|\.gif)$>
96     SetHandler None
97 </LocationMatch>
98 ------------------------------------------------------------------------------
99
100 .To
101 ------------------------------------------------------------------------------
102 <LocationMatch ^/eg/.*(\.js|\.html|\.xhtml|\.xml|\.jpg|\.png|\.gif)$>
103     SetHandler None
104 </LocationMatch>
105 ------------------------------------------------------------------------------
106
107 After making this change, restart Apache to make the change take effect.
108
109
110 Add to Permanent Bookbag
111 ^^^^^^^^^^^^^^^^^^^^^^^^
112
113 TPAC was modified to allow a logged-in user to add records from search
114 results and record summary screens to their permanent bookbags rather
115 than to a temporary bookbag that goes away when logged out.
116
117 Bookbag Selection Menu
118 ++++++++++++++++++++++
119
120 The search results and record summary screens were modified so that
121 the "Add to my list" will show a menu when moused over by a logged-in
122 user.  This menu will display the option to add to a temporary
123 bookbag, the user's default list (if any), up to ten of the user's
124 other bookbags, a "See all" option to allow the user to choose one of
125 the bags not on the menu, and to create a new list and add the record
126 to it.
127
128 Choosing the temporary list from the menu will add the record to the
129 temporary my list as TPAC does before the addition of this feature.
130
131 Choosing a named list will add the record to the chosen list.
132
133 Choosing "See all" or "Add to new list" will take the user to their My
134 Lists page.  (The only difference being that "See all" will actually
135 list all of the user's bookbags if they have more than the current
136 limit.)  The My Lists page will have a new button "Add to this list"
137 next to each of their existing lists.  In addition, if the user
138 creates a new list on this screen, the selected record will
139 automatically be added to this new list.
140
141 You can tell all of the above is working if you are redirected to your
142 search results or record summary after adding to a list.  If there was
143 a problem, you will get either an error page or will see your My Lists
144 page.
145
146 Designating a Default Bookbag/list
147 ++++++++++++++++++++++++++++++++++
148
149 The user's My List screen has had a 'Make Default List' button added
150 for each list.  Clicking the button will cause that list to be
151 registered as the user's default list.  This is the list that will be
152 added to when a user chooses the Default List option on the Add to my
153 list menu in search or record summary.
154
155 The current default list has a 'Remove Default List' button next to
156 it.  Clicking this button will unset the default status of the list
157 and return to a state of having no default list.
158
159 One handy way that users may want to use this feature is to create a
160 new list, and then designate it as the default.  This list could then
161 be used to add records from searches based on a current topic of
162 interest.  Changing the default list is so easy that users may want to
163 do so when changing search topics in order to keep their results
164 better organized.
165
166 A Note on CSS Styles
167 ++++++++++++++++++++
168
169 If a user has a bookbag with an overly long name, the end of it will
170 jut out past the right margin of the menu in FireFox and several other
171 browsers.  To change this behavior, you may want to edit the `.popmenu
172 li:hover li a` css entry in `web/css/skin/default/opac/style.css` by
173 adding an `overflow` property.  If you desire to have the longer names
174 clipped to the size ofthe menu then add `overlow: hidden`.  If you
175 prefer to have a scroll bar for oversized entries, then add `overflow:
176 auto`.
177
178
179 Warn When Adding to a Temporary Bookbag
180 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
181
182 TPAC has been modified so that a user will see a warning before adding
183 a record to a temporary bookbag.  This message serves to inform the
184 user that they are adding to a temporary list that will disappear when
185 their session ends.
186
187 A new org. unit setting has been added,
188 opac.patron.temporary_list_warn, that will enable this warning when
189 set.  Sites may choose not to display this warning.
190
191 The user may also set a preference in their search preferences to
192 disable this warning.  The setting only works when a user is logged
193 in, of course.
194
195 Kid's OPAC
196 ^^^^^^^^^^
197
198 The Kids OPAC (KPAC) is a public catalog search that was designed for children
199 and teens.  Colorful menu items,large buttons, and simple navigation make this
200 an appealing search interface for kids.  Librarians will appreciate the flexible
201 configuration of the KPAC.  Librarians can create links to canned search results
202 for kids and can apply these links by branch.  The KPAC uses the same infrastructure
203 as the Template Toolkit OPAC (TPAC), the adult catalog search, so you can easily
204 extend the KPAC using the code that already exists in the TPAC.  Finally, third
205 party content, such as reader reviews, can be integrated into the KPAC.
206
207
208 Locale picker
209 ^^^^^^^^^^^^^
210
211 In situations in which more than a single locale is configured, the TPAC header
212 will display a locale picker based on the registered locales. 
213
214 Hidden Place Hold Links
215 ^^^^^^^^^^^^^^^^^^^^^^^^^
216
217 The title-level 'Place Hold' link in TPAC will be hidden on the search result
218 and record summary screens when there are no holdable copies on the bib. This
219 is based on the copy, status and location holdable flags.
220
221 When enabled in config.tt2, the 'Place Holds' link in TPAC will also be hidden
222 if copies are available in the search location. 
223
224 Library Selectors in Advanced Searches
225 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
226
227 The library selector is now available on the numeric and expert search pages.
228
229 Journal Title Search
230 ^^^^^^^^^^^^^^^^^^^^
231
232 A journal title search is now available as a stock TPAC filter.
233
234 Public Patron Notes
235 ^^^^^^^^^^^^^^^^^^^
236
237 Public patron notes are now visible in the 'Account Summary' box of 'My
238 Account'.
239
240 Auto-Override Permissable Patron Hold Fail Events
241 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
242
243 A new Library Setting is available that tells TPAC to automatically override
244 hold placement failure events in cases where the patron has the permission to
245 do so. The goal is to skip the confirmation step previously required by patrons
246 when overriding a TPAC hold.
247
248 Cataloging
249 ~~~~~~~~~~
250
251 Z39.50 Source Attributes Management Interface
252 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
253
254 There is a new interface for managing Z39.50 attributes on a Z39.50
255 source.  The interface is linked from each source name in the Z39.50
256 Source administrative interface.
257
258 Cloning
259 +++++++
260
261 In addition to attribute creation, deletion, and editing, it's also 
262 possible to clone a set of attributes from one source into another.
263 When cloning, any attributes present in the cloned source that are
264 not present in the destination source are copied into the destination 
265 source.
266
267 Vandelay (MARC Import/Export) Copy Overlay
268 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
269
270 Vandelay Item Attributes (Cataloging -> MARC Import / 
271 Export -> Import Item Attribute Definitions) contains 
272 a new field called "Overlay Match ID".  The presence of data 
273 in this field extracted from an import-item copy indicates 
274 to the Vandelay import process that a copy overlay is requested 
275 instead of new copy creation.  The value for the field is the 
276 copy id for bib record queues and the ACQ lineitem_detail ID for 
277 Acquisitions Queues.  For either type of queue, however, overlay 
278 occurs against a real copy (asset.copy).  In the ACQ queue case, 
279 we use the lineitem_detail ID because this is the data ACQ 
280 providers and sub-systems will have access to.
281
282 When a match point ID value is a set and a matching copy is found, 
283 the values extracted from the inbound copy data are used to replace 
284 values on the existing found copy, including the call-number label.  
285 Any fields on the inbound copy that are empty are ignored.
286
287 One use case for this feature are shelf-ready items produced by a 
288 3rd-party (e.g. ACQ provider) and delivered to the library via MARC
289 file for upload.  The file might contain improved MARC bibliographic
290 data as well as real barcodes (i.e. not temporary ACQ generated 
291 barcodes) for the copies already purchased through the vendor.
292
293 Permission
294 ++++++++++
295
296 This adds a new permission called IMPORT_OVERLAY_COPY which is 
297 required to perform the copy overlay step.
298
299 Regardless of permission, it is not possible to overlay values on
300 a copy unless the imported bib record links (creates/overlays/merges)
301 to/with the owning bib record for the copy to be overlaid.  This is 
302 both for security and removal of a potent foot-gun.
303
304 Circulation
305 ~~~~~~~~~~~
306
307 Simplified Hold Pull List
308 ^^^^^^^^^^^^^^^^^^^^^^^^^
309
310 There is a new hold pull list interface based on the Flattener service that's
311 designed to perform faster than existing pull list interfaces, both in staff
312 client display and printing.
313
314 Sorting
315 +++++++
316
317 You can sort on any one column by clicking on it.  Click again to reverse
318 direction.  This is typical of similar interfaces.
319
320 Now you can also sort by multiple columns.  Right click the column headers of
321 the grid in the pull list interface to get a dialog that allows you to sort
322 by multiple columns, in any order.
323
324 Column Picking
325 ++++++++++++++
326
327 The same dialog that allows you to choose multiple sort columns (accessed by
328 right clicking any column header) also allows you to toggle the display of any
329 column available to the pull list on or off.
330
331 Persistence
332 +++++++++++
333
334 Once saved, your changes in this dialog persist for your user account.  Column
335 display, display order, and `sorting choices affect printing as well as
336 displayed output.
337
338 Administration
339 ~~~~~~~~~~~~~~
340
341 Search Filter Groups
342 ^^^^^^^^^^^^^^^^^^^^
343
344 Search filter groups support the collection of free-form search queries into
345 named groups of named filters which can be applied to searches.  The purpose 
346 is to allow systems to fine tune filters in the catalog.
347
348 Editing the groups and their entries is done in the staff client at
349 Admin -> Local Administration -> Search Filter Groups.
350
351 Example
352 +++++++
353
354 Consider a new filter called "reading_level".  It uses a combination of 
355 MARC audience and shelving location to differentiate items.  It might have
356 entries that look like this:
357
358 Children's Materials => audience(a,b,c) locations(1,2,3,4,5,6,7)
359
360 Young Adult => audience(j,d) locations(5,6,7,8,9,10)
361
362 Adult => audience(e,f,g, ) -locations(1,2,3,4,5,6,7,8,9)
363
364 Using the filter in a template
365 ++++++++++++++++++++++++++++++
366
367 [source, html]
368 ---------------------------------------------------
369 <span>[% ctx.filter_groups.reading_level.label %]</span>
370 <span>
371 [%
372     INCLUDE 'opac/parts/filter_group_selector.tt2'
373     filter_group='reading_level'
374     none_ok=1
375     none_label=l('All')
376 %]
377 </span>
378 ---------------------------------------------------
379
380 Standing Penalty CAPTURE and FULFILL Blocks
381 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
382
383 This feature adds two additional types of standing penalty blocks to manage
384 holds. 
385
386 When a user has a standing penalty containing 'CAPTURE' in the block list, the
387 user can place holds (pending no 'HOLD' block), but no holds for the user will
388 be captured. This is effectively a policy-based freeze of the hold.
389
390 Users that have penalties with 'FULFILL' in the block list will be able to
391 place holds and have their holds captured (i.e. delivered) but will not be able
392 to check out the captured holds. This is basically a way to get patrons in to
393 pay outstanding balances.
394
395 Copy Location Additions to Circulation Policies
396 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
397
398 Similar to circulation modifiers, circ policies can now be based on copy
399 location. This also adds copy location to the circ matrix weights and to circ
400 limit sets.
401
402 Staff Client
403 ~~~~~~~~~~~~
404
405 XULRunner / Firefox
406 ^^^^^^^^^^^^^^^^^^^
407 Support for later versions of XULRunner is included, which means that later
408 improvements to XULRunner can be taken advantage of. This also means that the
409 Firefox extension mode works in Firefox 3.6+, though some frequent tweaking
410 will be needed due to the rapid Firefox major release schedule.
411
412 The majority of the actual changes are backend changes, but there are some
413 significant things to note for local customizations.
414
415 Remote XUL
416 ++++++++++
417 Remote XUL no longer works in XULRunner/Firefox 4+, but to work around it a
418 custom extension now creates an oils:// wrapper. Within the staff client that
419 wrapper contains a "remote" host, from which server-side XUL can be loaded.
420
421 Custom XUL pages stored on the server will need to reference the new wrapper
422 to function.
423
424 As a note: The new wrapper is used for all OPAC access and only talks SSL.
425
426 enablePrivilege
427 +++++++++++++++
428 The enablePrivilege command that would allow code to access various protected
429 functionality is no longer available. Any code that depended upon it will need
430 to be adjusted to use the oils:// wrapper created for Remote XUL.
431
432 Cookies
433 +++++++
434 Unfortunately, the oils:// wrapper has one less than useful effect. Any
435 JavaScript loaded via it loses access to cookies. This is most notable when you
436 are dealing with authtoken cookies. This only applies to JavaScript, however,
437 and the server can still see the cookies when it gets requests.
438
439 As a workaround you can load the data stash and fetch authtokens via it instead.
440 This should always work when using the oils:// wrapper due to the elevated
441 permission set it gets (nearly, if not equal to, local XUL).
442
443 url_prefix
444 ++++++++++
445 Finally, as a useful feature, the url_prefix function is now slightly easier to
446 use. Instead of needing to reference urls.SOMETHING you can instead just put the
447 SOMETHING at the start of the url to prefix:
448
449 url_prefix('SOMETHING/stuff.html')
450
451 In this case SOMETHING can be terminated by the end of the string or up to the
452 first instance of a slash (/), question mark (?), or pipe (|). The pipe is a
453 special case and is removed during the replacement.
454
455 For example, if urls.REPLACE were set to 'oils://remote/replace':
456
457 url_prefix('REPLACE/stuff') becomes 'oils://remote/replace/stuff'
458 url_prefix('REPLACE?query') becomes 'oils://remote/replace?query'
459 url_prefix('RPLACE|ment') becomes 'oils://remote/replacement'
460
461 The pipe is intended for cases where the urls entry may or may not already
462 contain a query string, say for differences between OPACs where one requires
463 that something be passed into the query string, but the other uses a path
464 component instead.
465
466 New Operator Change Features
467 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
468
469 The operator change dialog has a new dropdown allowing the selection of a
470 Temporary, Staff, or Permanent authtoken. The first option provides a temporary
471 operator change as has typically been done through this menu item. 'Staff' uses
472 a normal staff login authtoken for a multi-hour timeout. 'Permanent' is a staff
473 change that disregards the previous login instead of allowing it to be
474 recovered by using the menu item again.
475
476 Additional Work Log Entries
477 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
478
479 Entries for bill payment and hold placement are now available in the 'Work Log'.
480
481 SIP
482 ~~~
483
484 Support for credit card payment type and fine items details
485 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
486
487 Support is now available to create a credit card payment type in the SIP Fee
488 Paid message. There is also now support for SIP clients to retrieve and
489 display a detailed/itemized list of billings to the patron.
490