Last updated by hugronaphor on Fri, 2015-10-16 13:27
There are many ways to handle concurrent edits. Clarifying the default behavior would be the first step to identifying the right module.
The default behavior for Drupal 7.14 is as follows:
1) Abe opens node/8 for editing
2) Ben opens node/8 for editing
3) Ben makes edits
4) Ben saves
5) Abe is unable to save with an error: The content on this page has either been modified by another user, or you have already submitted modifications using this form. As a result, your changes cannot be saved.
Now, there are a number of modules in the table below who solve this problem by locking the document or otherwise prevent loss of data by resolving conflicts (in a git version control kind of way).
At the bottom of this page, you will some references technologies/modules which should allow realtime editing of data (at least text).
Module | 5.x? | 6.x? | 7.x? | Usage | Notes | Module Updated | Info as of |
---|---|---|---|---|---|---|---|
Checkout | Yes | Yes | - | 1100 | Lock when editing node, unlock when saved or when navigating elsewhere. Cron-based auto-unlocking. Appears to be incompatible with WYSIWYG editors. | 2009.06.17 | 2010.02.11 |
Content Lock | - | Yes | Yes | 2163 | Forked from Checkout, then rewritten (enter the rabbit hole). | 2012.07.12 | 2013.07.30 |
Revision Fu | - | Yes | - | 23 | Allows simultaneous edits; auto-merges; allows review of conflicts. May not be functional; its issue queue contains two requests for documentation and one "this doesn't work." | 2009.06.09 | 2010.02.11 |
Conflict Resolver | - | Yes(dev) | - | 0 | Similar to Revision Fu. Incomplete, but apparently more functional. | 2009.07.07 | 2010.02.11 |
Conflict | - | - | Yes | 152 | Doesn't lock, just resolves per-field conflicts. To be used as part of the drupal.org D7 upgrade. | 2013.04.02 | 2013.07.30 |
Are there any modules that allow actual simultaneous visual editing rather than these modules that help deal with stopping it?
Yes there are: according to the wikipedia page about "Collaborative real-time editor" there currently are a number of libraries available:
- Mobwrite
- TogetherJS - a Mozilla Labs project
- ShareJS - OT library for Node.js and browsers, open-source, written in CoffeeScript
- coweb - a Dojo project to enable Cooperative web concepts
Togetherjs has a sandbox module, but togetherjs seems more like a service you can use instead of a library that you could implement yourself.