5
$\begingroup$

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?

Raphael
73.2k31 gold badges183 silver badges403 bronze badges
asked Jan 15, 2013 at 13:32
$\endgroup$
5
  • 1
    $\begingroup$ Are you interested in developing such a system, or do you ask if a system that provides this functionality is known? $\endgroup$ Commented Jan 15, 2013 at 13:59
  • 1
    $\begingroup$ Have you looked into existing collarborative editors? $\endgroup$ Commented Jan 15, 2013 at 14:13
  • $\begingroup$ @A.Schulz I am interested in ultimately developing such a system tailored to a specific purpose, but right now is Research only. $\endgroup$ Commented Jan 16, 2013 at 10:33
  • $\begingroup$ @Raphael I am investigating Etherpad, but if I am not mistaken, there isn't a lot of open-source systems of this kind. $\endgroup$ Commented Jan 16, 2013 at 10:34
  • 1
    $\begingroup$ I have used Gobby myself, which is open source. There seem to be about handful of open-source collaborative editors, including Etherpad. $\endgroup$ Commented Jan 16, 2013 at 11:18

1 Answer 1

4
$\begingroup$

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)

answered Jan 17, 2013 at 17:26
$\endgroup$
1
  • $\begingroup$ Thank you so much! This was the magical keyword I lacked. $\endgroup$ Commented Jan 21, 2013 at 9:02

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.