Automatic and manual conflict resolver

Events happening in the community are now at Drupal community events on www.drupal.org.
chx's picture

Currently if two people edit the same node, one can't save. That's not nice and does not scale. Let them save to a new revision --which is not the current one-- and provide tools for conflict resolution. You probably want to display the conflicting resolutions side-by-side and point out which fields differ (it's enough if you cover core and CCK) and provide some diff integration (probably in a popup?) for textfields. This would allow any number of people to edit nodes at the same time without much difficulty. If this is too easy (sounds easy to me...) then add patching to the mix: make a patch out of the diff and try to apply it, if succeeded then great if not then go back to manual conflict resolution above. Mediawiki does this to some extent. It'd be extremely nice if besides the Drupal 6 version a D7 version could be done as well.

Check David Strauss' and my talk about this at http://www.archive.org/details/DrupalconDc2009-TheNextDecade

I am willing to mentor this project.

Comments

Sounds like a good idea,

Bojhan's picture

Sounds like a good idea, would we inform users that someone else is editing?

Absolutely not

chx's picture

This would create a false expectation. I start editing, someone else also starts, now do we use AJAX (pounding the server) that now someone else also edits? No, the point is to scale... I know Google Docs does this. I also suspect that's a very easy feature for another contrib to implement though.

Agreed

rwohleb@drupal.org's picture

This would be best as a separate contrib, or at least as an option that defaults to off.

Diffs

rwohleb@drupal.org's picture

Students, there are quite a few PHP diff implementations to get ideas from, eg. http://compsci.ca/v3/viewtopic.php?t=15705

It wouldn't be a huge leap to take this to the next level and provide a live interface, ala Google Docs... maybe in GSoC 2010.

Indeed

chx's picture

But which diff we use is a part of the project, the research phase... that forum post there is waay too simple.

Are you looking more for a

bradfordcp@drupal.org's picture

Are you looking more for a solution that runs natively on the host rather than something written in PHP?

~Chris

~Chris

Would it also offer tools to

bradfordcp@drupal.org's picture

Would it also offer tools to administrators to lock certain nodes? I remember an incident where a television show had massive numbers of people vandalizing certain pages on Wikipedia. Wasn't there a proposal somewhere that discussed storing different revisions of a node as diffs or am I making something up? I believe it was in a discussion about using a VCS as a backend for nodes.

Either way this definitely sounds like an interesting project.

~Chris

~Chris

Again not

chx's picture

Locking edits is another project, albeit much smaller. This is a conflict resolver.

Nice!

lut4rp's picture

I'd like to work on this idea. This is something that would be a subtle yet important addition. But there's one thing I'm not clear on, aren't we focusing on non-core tasks for GSoC? Or is this idea not on "priority" for D7?

D6 is the important

chx's picture

Yes, the D6 version is the focus. Porting it to D7 is great if it fits into the GSoC schedule, if not, can be done later.

Proposed!

bradfordcp@drupal.org's picture

I have submitted a proposal on this idea along with a tentative roadmap at
http://groups.drupal.org/node/20605

Please feel free to let me know where it is lacking or could be enhanced.
~Chris

~Chris

Others are welcome, too

chx's picture

Note that other students are free to run for this project, too.

dipen chaudhary's picture

This looks like an awesome talk, I specially wanted to hear about document based databases and drupal. The audio is missing http://www.archive.org/details/DrupalconDc2009-TheNextDecade Too bad!! does someone have a working copy?


Dipen Chaudhary
http://dipenchaudhary.com
http://playdrupal.com


Dipen Chaudhary
Founder, QED42 http://www.qed42.com Drupal development

SoC 2009

Group categories

Admin Tags

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: