Details
-
Story
-
Status: Closed (View Workflow)
-
P3
-
Resolution: Duplicate
-
None
-
None
-
Prokopovych
Description
[color;orange} Charlotte: Note: 7/22/2021: Text below is in DRAFT. Will await the spec work - see Optimistic Locking - Detecting and Resolving Conflicts Requirements - https://wiki.folio.org/display/COMMUNITY/Optimistic+Locking+-++Detecting+and+Resolving+Conflicts+Requirements
Purpose: In FOLIO, most storage modules follow the "last writer wins" strategy for handling record updates. From the UI perspective this may lead to a situation when a stale record (older version of a give record) previously loaded into the UI may override a more recent version on the server. Hence relevant updates may get lost in the process and the user is not made aware of what has happened. Furthermore, it is possible that updates on related records (e.g. holdings and items) can interfere with one another. See MODINVSTOR-516 for a specific example of this.
User story statement(s):
As a FOLIO user who has updated a record in Inventory,
I want to be notified if my updates clash with any other simultaneously updates, whether the update is triggered by a person or by the system in any of FOLIO's apps (e.g. Data Import, Orders, or updates triggered outside of FOLIO by the Union Catalogue)?
so that I can decide if I want to proceed with my updates or reapply them after the other updates have been saved
Scenarios:
- Scenario:
- Given an instance, holding or item is modified (by another user or by the same user in another browser window) while User A has it open
- When User A attempts to save their changes
- Then the "update clash popup" should display
- Scenario:
- Given the update clash popup
- When displayed
- Then:
- Header - Update clash
- Body - Another user has updated this record and your working copy might not be up-to-date. Would you like to:
- Action buttons
- Update anyway
- Reload
- Scenario:
- Given the Update clash popup
- When "Update anyway" is clicked
- Then the record will be saved as it appears to User A (overwriting the last save)
- Scenario:
- Given the Update clash popup
- When Reload is clicked
- Then the record will be reloaded to reflect the most recent changes (User A will have to re-apply their changes)
Related
This is blocked by UIIN-1568 "align dependency versions affected by Inventory's Optimistic Locking".
A very basic error message has been implemented in UIIN-1527.
TestRail: Results
Attachments
Issue Links
- defines
-
UXPROD-1752 Prevent update conflicts (via optimistic locking): platform support for detection
-
- Closed
-
-
UXPROD-2796 Prevent update conflicts when doing manual edits (User A and User B)
-
- Closed
-
-
UXPROD-2797 Prevent update conflicts (1 user and system trying to act on the same record)
-
- Closed
-
-
UXPROD-2798 Prevent update conflicts (two automated processes acting on the same record)
-
- Closed
-
-
UXPROD-3089 Inventory. Implementing Optimistic Locking
-
- Closed
-
- has to be done after
-
STCOM-889 Create a Conflict Detection banner
-
- Closed
-
- is blocked by
-
MODINV-398 Optimistic locking (_version field, 409 HTTP status code) in instances/holdings/items
-
- Closed
-
-
MODINVSTOR-713 Enable support for optimistic locking (failOnConflict) in instances/holdings/items (part1)
-
- Closed
-
-
MODINVSTOR-726 Enable support for optimistic locking (failOnConflict) in instances/holdings/items (part2)
-
- Closed
-
-
RMB-719 SPIKE: design protocol and implementation for optimistic locking
-
- Closed
-
-
RMB-727 Implement support for optimistic locking
-
- Closed
-
- is duplicated by
-
UIIN-1872 Optimistic locking: Display a Conflict Detection banner
-
- Closed
-
-
UIIN-1958 Optimistic locking: Handle message errors as plain text instead of json
-
- Closed
-
- relates to
-
UIIN-1527 Error popup on HTTP error status code (500, 400, 409, ...)
-
- Closed
-
-
MODINVSTOR-516 Cannot safely update holdings and items concurrently for any given instance
-
- Closed
-
-
MODINVSTOR-656 enable "detection-only" OL for instances, holdings and titles
-
- Closed
-
-
RMB-388 PostgresClient.getById with transaction, with "SELECT … FOR UPDATE"
-
- Closed
-
-
UIIN-1568 align dependency versions affected by Inventory's Optimistic Locking
-
- Closed
-
-
UXPROD-3058 Optimistic Locking
-
- In progress
-
-
UXPROD-3173 Folijet support work for Inventory Optimistic Locking (Data Import and SRS)
-
- Closed
-
- mentioned in
-
Page Loading...