Projects/Summer of Code/2007/Projects/KOffice collaborative editing

NEW: KOffice -- collaborative editing

Name: Igor Stepin

Mentor: Cyrille Berger

I plan to implement real-time collaborative editing for KWord. This would allow the owner of the document to invite people via IM or other ways to work with him/her on the document. I'm planning implementation of KWord support only (support of other applications will be also implemented, after work on KWord is complete).

What is collaborative editor?

From Wikipedia: A collaborative editor is a software application that allows several people to edit a computer file using different computers. There are two types of collaborative editors, real-time and non-real-time. Real-time collaborative editors allow users to edit the same file at anytime, including editing at the same time. Non-real-time collaborative editors do not allow editing of the same file at the same time. Non-real-time collaborative editors are similar to revision control systems.

Planned functionality

This is the list of collaboration functionality that should be implemented.

  • Publish local documents.
  • Session initiation via IM or zeroconf.
  • Collaborative plain-text editing in a shared document.
  • Possible collaborative reach-text (fonts, styles, etc.) editing in a shared document.
  • Disconnect users.

Project plan

  • Investigate current implementations. Write prototypes for some of them. Evaluate at least libobby, MateEdit, and DrawPile. Choose base for implementation. (1 week)
  • Define draft of interfaces for the collaboration API. Make prototype of UI. Show them to mentor and KOffice developers. (1 week)
  • Write unit tests for API. Configure test environment for KWord (to speed-up testing). (0,5 week)
  • Implementation of main features. Integration with KWord. (3 weeks)
  • Bug fixes and reserved time. (3 weeks)

What will not be done

  • Only integration with KWord is planned.
  • Probably, reach-text communication (different fonts and paragraph

styles) will not be implemented.

  • Specific techniques for NAT traversal or UPnP/PMP-enabled firewall/router configuration will not be implemented.
  • Images, tables and other complex 'objects' in the document will not be supported.

Link to the Google's page of project:

Link to the detailed description:

Link to the project's blog:

This page was last edited on 25 May 2007, at 10:52. Content is available under Creative Commons License SA 4.0 unless otherwise noted.