Take the 2-minute tour ×
Computer Science Stack Exchange is a question and answer site for students, researchers and practitioners of computer science. It's 100% free, no registration required.

I am researching collaborative editing systems for some work, but so far my search is turning up blank.

Collaborative real-time editing systems almost all have features like:

  • Many users can edit the document at the same time
  • All changes are dated and saved in a linear revision history
  • Edits are visible in semi-real time
  • Who-wrote-what is tracked for all content

I cannot think of a data- and procedure model to encompass all of these without huge inefficiencies, for example:

  • Take user input as a few typestrokes at a time, thus enabling real-time visibility but with horrible server loads.
  • Take user input as element changes, thus disabling real-time visibility and complicating many-user-editing of one paragraph.
  • Edit a XML Document Model Object in place responding to inputs, but making it difficult to version/revision track.
  • Edit linear text stored in an appropriate editing structure responding to inputs, making it difficult to verify that correct markup is being generated.
  • Store revision history accumulating, requiring computational resources but easing on space.
  • Store revision history whole, requiring space but easing on computation.

Am I off track? Does there exist good solutions to these problems? What, if any, is the relevant litterature?

share|improve this question
1  
Are you interested in developing such a system, or do you ask if a system that provides this functionality is known? –  A.Schulz Jan 15 '13 at 13:59
1  
Have you looked into existing collarborative editors? –  Raphael Jan 15 '13 at 14:13
    
@A.Schulz I am interested in ultimately developing such a system tailored to a specific purpose, but right now is Research only. –  Karl Damgaard Asmussen Jan 16 '13 at 10:33
    
@Raphael I am investigating Etherpad, but if I am not mistaken, there isn't a lot of open-source systems of this kind. –  Karl Damgaard Asmussen Jan 16 '13 at 10:34
    
I have used Gobby myself, which is open source. There seem to be about handful of open-source collaborative editors, including Etherpad. –  Raphael Jan 16 '13 at 11:18

1 Answer 1

The usual approach is operational transformation. The wikipedia page seems to be pretty good. Here are some other references:

Here's a paper on a different approach: Real time group editors without operational transformation. (Note: I haven't actually read it, so can't speak to how good it is)

share|improve this answer
    
Thank you so much! This was the magical keyword I lacked. –  Karl Damgaard Asmussen Jan 21 '13 at 9:02

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.