This is a pretty specific question, but I figured I'd ask.
We have a situation with our client where we have offline cases that go through multiple stages and flows before resyncing back online. As a result of this, we're trying to figure out how behavior for these cases works in edge case scenarios. For example, consider a theoeretical offline app for plumbers.
Lets say that they have to go to a job, do the work, and then report back online about what changed. Lets say that one of them takes too long, and the case gets reassigned to another worker. What would happen when the first plumber tries to resync his case online?
Would data be persisted?
Would the new data overwrite the old data?
Would the state of the case change?
Please note that for this situation, we CANNOT change the design pattern we are using and as a result, advice about other ways to implement this, or to design this app are not relevent, and will NOT be helpful.
We're only looking to answers to questions like the ones above.
In case of optimistic locking, Multiple users can open a case in a Perform harness at the same time to review or update it. The first user to submit an update "wins;" users who had updated the form but had not submitted changes must refresh the form, re-enter their updates, then submit them.
So in case of such situation your end user must see an appropriate error message.
s data have already been updated; therefore, they cannot submit their updates. In these situations, users can:
Close their case without submitting the changes.
Refresh the form to see the other user's updates before submitting their own updates. Users cannot commit changes without using the review option.