moderated Re: Preventing simultaneous revision of wiki page by more than one member #suggestion


J wrote:

When you compare revisions, you see, one after the other, people
wiping out each other's additions, shown by their being crossed out in
the compare.

It would be nice if this could be controlled.
This sounds familiar...

One way to control this might be to use a warning system (soft locking) similar to the "claim" of a moderator to a pending message. The Wiki is a simpler case because there is no email interaction to handle. The first member to Edit a given Wiki page would "claim" it, causing any other member to see a warning banner if he/she also Edits that page.

One thing to consider is whether this should be a hard lock - preventing any other members from editing the page until the first member Saves or Discards his/her edit. The downside of a hard lock is that the page could end up locked indefinitely if there is no way to "break" the first member's claim.

In my own opinion, an "Are you sure?" type of soft lock would be adequate: warning the user of the other edit in progress but still allowing the judgement call to break an apparently "stale" claim.

Our neighborhood/block group has been having group members going into
the name/address directory for the block and adding their info, while
simultaneously someone else is doing the same thing, ...
Instead of locking, I'd actually prefer to control this by way of an automatic merge function; merging in the concurrent edits in the manner of a distributed version control system (DVCS) like Fossil. For use cases like J's (which I think are common) the various member's edits would (most likely) be non-overlapping spans of text, making it possible to automatically merge the changes without conflict.

Of course merge conflicts are a pain to handle; the challenge for implementing this method for the Wiki would be finding a way to signal the presence of a conflict and a means for manual resolution. A typical approach is to include both versions of the conflicting span with some markup to delimit each version of the span. That leaves it possible for someone editing the page later to resolve the conflict by editing that part of the text down to a single "correct" version. could encourage manual resolution of any merge conflict by providing a notification to both of the members involved in the conflicting edits. Maybe also the group moderators.


Join to automatically receive all group messages.