]> git.evergreen-ils.org Git - Evergreen.git/blob - docs/RELEASE_NOTES_NEXT/Circulation/copy_inventory.adoc
Correct jacket uploader upgrade script
[Evergreen.git] / docs / RELEASE_NOTES_NEXT / Circulation / copy_inventory.adoc
1 == Copy Inventory Date Improvements ==
2
3 This release fixes two bugs with copy inventory dates:
4
5  * https://bugs.launchpad.net/evergreen/+bug/1883171[duplicate entries for a copy in asset.latest_inventory table]
6  * https://bugs.launchpad.net/evergreen/+bug/1940663[Staff users can update inventory dates on non-owned items]
7
8 In addition to fixing the above bugs, improvements are made to the implementation of the latest copy inventory feature so that it may be further expanded in the future.
9
10 === Technical Details for Developers and System Administrators ===
11
12 The following changes are made to the database, back end, and staff client user interface code:
13
14  * The data moves to a new table in the database, `asset.copy_inventory`.
15  * The new data table is accessible via a new Fieldmapper object, `aci`.
16  * The new data table has appropriate foreign keys and triggers to ensure data integrity and prevent duplicate entries.
17  * The old data table, `asset.latest_inventory`, is now a view on the new table.
18  * The Fieldmapper object `alci` is now read-only.
19  * The `open-ils.circ.circulation.update_copy_inventory` method replaces the `open-ils.circ.circulation.update_latest_inventory` method.
20  * The `open-ils.circ.circulation.update_copy_inventory` method inserts into the `asset.copy_inventory` table.
21  * The `open-ils.circ.circulation.update_latest_inventory` method is removed.
22  * The Item Status screen now uses `open-ils.circ.circulation.update_copy_inventory` to update a copy's inventory date.
23  * The staff client Item Status screen now toasts success or failure as appropriate.  It previously only toasted success.
24  * ngToast has also been added for a single record view in the Item Status screen.  This means that toasts can be added for other events.
25  * The circulation back end code inserts into the `asset.copy_inventory` table when the do inventory modifier is used at check in.
26  * An `asset.copy_inventory` entry is only added if the copy is at its "home," or owning, library or if the copy can float to the library where the inventory is being updated.
27  * A Perl live test is added to verify back end functionality.
28  * Pgtap tests are added to verify the schema and to verify database functionality.
29
30 The following items remain unchanged:
31
32  * The staff interface to add/update copy inventory dates remains the same:
33    ** the Update Inventory option on the Checkin Modifiers menu
34    ** the Update Inventory command on the Item Status Actions menu.
35  * The staff client's Circulation and Item Status screens display data from the `alci` view object.
36  * The `alci` object looks the same, so reports based on it should still work.
37
38 The motivation behind the changes beyond simply fixing the two bugs listed above is to allow for possible future expansion of the copy inventory feature.  The new table makes it easier to add new fields and to track inventory updates of a given copy over time.  While these changes do not constitute an inventory module, they should ease the implementation of such a module and assist in the preservation of the current data.