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
- Provides a server to let connected clients exchange edit changesets in real-time -- T505
- Persists the complete edit history and frequent snapshots of live documents to disk -- T505, T506
- Provides a server to convert documents between various formats for Export as... and possibly also Import -- T507
Probably Milestone #2
- Accepts user authentication through a pluggable system (LDAP via to be used for Kolab integration)
- Allows authorization based on groups/invites/blessings/ACL-type.
Probably Milestone #3
- 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.