Currently, subsequent edits of posts (questions and answers) completely overwrite previous edits silently and without prompt. I'm not sure how large a problem others feel this is, but personally it has a been a slight annoyance on a number of occasions. For questions that are in dire need of editing (sigh, all too many nowadays), it is not uncommon for one edit to succeed another by a matter of seconds.
My suggested solution is: why not add optimistic concurrency to the editing system? This would be a non-obtrusive way of managing conflicting edits, in my view. Locking (i.e. pessimistic concurrency) would admittedly not be the right way to go, and could possibly become a larger nuisance than the current one; yet optimistic concurrency need only prompt the editor if there has been a conflicting edit during the period he has been making the changes. Displaying the conflicting edit (perhaps in an AJAX-updated box?) and offerring the following options should be sufficient:
- Overwrite conflicting edit
- Discard current edit
- Add current edit to history, but let conflicting edit remain active
In my experience, most of these conflicting edits are quite inadvertant, but happen in such a way that neither the first not second editing user notices that their changes have overwritten others/been overwritten.
Anyway, I'd like to know what everyone thinks of this idea. It would seem to be an addition that requires minimal changes to the existing framework, and something that would be quite handy for anyone frequently editing posts.