Purpose: Implementing Optimistic Locking in Orders.
Implementation of Optimistic Locking FOLIO wide was ranked very high by the libraries. The implementation in the orders app will follow examples set by the inventory module.
Usecases: (Use cases collected by the community)
Not frequent: 2 users editing the same record at the same time
- User A and User B editing the same record at the same time – orders and orders lines
More frequent: 1 user and system trying to act on the same record, either individual records or batch
Two automated processes acting on the same record
NOTE 1: without additional changes, this could break data import. When an import needs to update a record, it should use that record's _version value.
NOTE 2: When a 409 is returned, it could be because the record edited by the user had a conflict, or because the change triggered other changes that ended up conflicting, possibly in another module (for instance when opening an order). So UI should not always treat these issues in the same way.