How to handle conflicting updates of a customer record
We are developing a simple web based single-page CRM-like app. I was thinking about what happens when two operators are both editing the details of a customer "John Doe". On the server side we use a optimistic updating, i.e. the ajax update payload includes revision-number which must match whats in the database, however on the front-end I was wondering how we should handle this?
I thought about a modal popup along the lines of: "Sorry AgentB has already updated the record and your working copy might not be up-to-date? Would you like to:" (a) Update anyway (b) Reload (c) Some form of merge
However I can imagine the users being confused by this. Then I start thinking this scenario must have been covered a million times already. Are there any guidelines and fantastic reference apps to demonstrate the best way to handle such common concerns in a web based multi-user line of business applications?
We are open to use any necessary cool-aid to achieve the best solution (websockets, ui frameworks etc...).