Content Collaboration Google Docs/Wave style

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

With web based applications such as Google Docs and Wave it is now possible for more than one person to edit the same content/document at the same time. I have used this for a while now, and am very happy with how it works.

Drupal is growing and getting more and more advance content management and production features. However, a node can only be worked on by one person at a time. Sure, several people can be involved producing a new node using workflows as well as not make the node published until it is ready. The problem is that they have to wait in turn.

As far as I know, a node can only have one author. I tested on one of my nodes to use the "," and add another author, but that was a blank. Is there any other way to have multiple authors for a node? I think this is the easiest problem to fix.

Then of course we come to being able to edit the node content itself. In Drupal a node, especially with CCK, consists of a lot of things. It has metadata, fields, attached or inline files as well as a body (not always) and I can see that this could make things difficult if more than one person was to edit the same node at the same time.

I haven't digged deep enough in Drupal so I don't know exactly how Drupal is temporarily keeping track of edits I do to a node. My guess is that until I hit preview/save any changes lives on my computer and that a preview most likely stores my changes in my session on my Drupal site. This, if my guess is correct, of course does not make it possible for more than one person to edit the same node at the same time.

Now though with AJAX and excellent WYSIWYG editors it should be possible to move this to be managed by Drupal. As I am working on the node Drupal will keep track, using AJAX, on my changes and update the work in progress on the server. Drupal would then also know if any other person is working on the same node and push any changes to that persons browser.

Each person editing will also see directly on the page who else is working on it at the same time.

Even better, each node could even have a built in chat feature, logged, where they can talk about the work being done. Integrations with other communication services such as Skype for voice/video chat would also be a nice feature.

I think that if something like this would be possible we would really take content production to a completely new level and without a doubt get another killer feature for Drupal.

Unfortunately I don't have the developer skills, nor the resources (yet), to even start something like this, but I would be more than happy to discuss this further and help as much as possible if anyone else find this idea interesting to investigate further.

How does your proposal meet the stated goals of the Knight Drupal Initiative program?: 

As my proposal would enhance production of content, especially in regards to nodes with more than one author, it meets most, if not all, of the goals.

How long will your project take to complete?: 

Unfortunately my developer skills are not good enough to even begin estimating this.

How will you implement and distribute your project?: 

Same as above, but I would be more than willing to work with skilled Drupal developers to both create a specification and test it during the development.

What is your total budget estimate and how much funding are you requesting: 

See above.

Comments

for the record: Synchronous

Wow, that's really nice and

dave reid's picture

Wow, that's really nice and would be great for a Drupal module.

Senior Drupal Developer for Lullabot | www.davereid.net | @davereid

As far as I know, a node can

Garrett Albright's picture

As far as I know, a node can only have one author. I tested on one of my nodes to use the "," and add another author, but that was a blank. Is there any other way to have multiple authors for a node? I think this is the easiest problem to fix.

You can use the User Reference CCK field in combination with a bit of theming so that the values from the CCK field are displayed instead of the value from Drupal's standard "Authored by" field.