Page MenuHomePhorge

Real-time Collaborative Document Editing
Open, NormalPublic

Description

Provide real-time document editing capabilities similar to what Etherpad or WebODF does. This means that several people can edit the same document at the same time and all changes are visible by all participants in near real-time.

It should be possible to save different revisions of the document as well as assigning colours to text contributed by the different participants.

Rationale:
Tools like Etherpad and Google Docs have shown the value that real-time collaborative editing has brought to people. Being able to invite others to edit a document together is turning more and more into something people expect from their collaboration solution. The full value however is only realized when we support full ODF editing opposed to simple (rich) text editing.

Plan:
This will be accomplished using WebODF.

WebODF comes with an editor called Wodo, which runs entirely on the client-side for single-user editing of ODT documents. Editing spreadsheets and presentations is not yet possible.

For a useful collaborative editing solution that utilizes WebODF, there needs to be written a complete web application that:

Probably Milestone #1

  1. Provides a server to let connected clients exchange edit changesets in real-time -- T505
  2. Persists the complete edit history and frequent snapshots of live documents to disk -- T505, T506
  3. Provides a server to convert documents between various formats for Export as... and possibly also Import -- T507

Probably Milestone #2

  1. Accepts user authentication through a pluggable system (LDAP via to be used for Kolab integration)
  2. Allows authorization based on groups/invites/blessings/ACL-type.

Probably Milestone #3

  1. Allows uploading/importing documents through various techniques (WebDAV/Chwala for Kolab)
    • List of documents in/next to Wodo, double-click to edit automagically,
    • ...

Some work towards this has already been done previously in the form of KoType, which is a prototype. The parts of KoType that deal with exchanging operations amongst clients are the most important, and would be borrowed for this project.

Details

Ticket Type
Epic

Related Objects

StatusAssignedTask
OpenNone
Resolvedmachniak
ResolvedAdityab
ResolvedAdityab
ResolvedAdityab
ResolvedAdityab
ResolvedAdityab
ResolvedAdityab
ResolvedAdityab
ResolvedAdityab
Resolvedvanmeeuwen
Resolvedvanmeeuwen
ResolvedAdityab
Resolvedvanmeeuwen
ResolvedAdityab
ResolvedAdityab
Openvincent
ResolvedAdityab
ResolvedAdityab
ResolvedAdityab
InvalidAdityab
ResolvedAdityab
ResolvedAdityab
Wontfixvanmeeuwen
ResolvedAdityab
InvalidAdityab
WontfixAdityab
ResolvedAdityab
ResolvedAdityab
ResolvedAdityab
ResolvedAdityab
ResolvedAdityab
ResolvedAdityab
ResolvedAdityab
OpenAdityab
Resolvedmachniak
Resolvedmachniak
ResolvedAdityab
WontfixAdityab
ResolvedAdityab
Resolvedmachniak
Resolvedmachniak
Resolvedmachniak
Resolvedmachniak
Resolvedmachniak
Resolvedmachniak
Resolvedmachniak

Event Timeline

grote raised the priority of this task from to 60.
grote updated the task description. (Show Details)
grote changed Ticket Type from Task to Epic.
grote subscribed.

@grote,

would we require including the ability to invite people to edit documents they do not have the appropriate (IMAP-level) write access to?

would we require including the ability to invite people to edit documents they do not have the appropriate (IMAP-level) write access to?

Although, this would of course be nice to have, this is not a hard requirement for a first milestone. All other collaboration features require local accounts, so can this one for the time being.

Adityab updated the task description. (Show Details)
vanmeeuwen renamed this task from Real-time Collaborative Text Editing to Real-time Collaborative Document Editing.Jun 26 2015, 2:02 PM
In T67#5815, @grote wrote:

would we require including the ability to invite people to edit documents they do not have the appropriate (IMAP-level) write access to?

All other collaboration features require local accounts, so can this one for the time being.

This is not necessarily the problem space; I might want to invite you to edit with me a document that resides in my Files folder, without giving you read/write or even read-only access to my Files folder. The fact that for now at least you require a local account was implied.

vanmeeuwen added a subtask: Restricted Maniphest Task.Sep 8 2015, 8:37 AM

There's quite some items that may fall out of the actual implementation of just the collaborative editing server and client components not being as feature-complete as a full desktop client, with priorities to be established on a case-by-case basis.

Examples include numbered and unnumbered lists, tables, images, and so forth.

vanmeeuwen closed subtask Restricted Maniphest Task as Wontfix.Mar 22 2019, 11:55 AM
vanmeeuwen lowered the priority of this task from 60 to Normal.Mar 28 2019, 8:13 AM