How to handle the multi-screen problem?

Certified Senior Developer

Any thoughts on how we can handle this problem?Did anyone else faced similar issue and how did you handled it?

Many times recently we have cases that get "stuck" are doing so because someone processes on them twice. There's three flavors of this:

  1. The same user opens the case on two different tabs/windows. They process the case on one and a few hours later process the case again because they found the second tab
  2. Two users open the case. User 1 processes and completes. User 2 then does the same a few minutes later
  3. [only seen twice] Two users hit get work within milliseconds of each other and got the same work object

We're less concerned with option 3 because we've only seen it once. Options 1 and 2, though, are painful.

 Could  we change those process models to prevent this issue:

We want to include clear messaging to the user when they try and process the second time.

Consider performance too.

  Discussion posts and replies are publicly visible

  • 0
    Certified Associate Developer

    By Implementing Optimistic lock and pessimistic lock.

    Optimistick lock works for option 1 and 3, Have "version" column in the main table and check for version before writing to DB, if it is in lower version then write to DB else route it back to UI saying data is modified by other.

    Pessimistic lock for option 2, have column in db "isLocked" if anyone opens a related action to update the case record, set "islocked" flag as true, when other tries to update the same case if "islocked" is set to true dont show the related action or dont allow them to update the case.