Projects/Summer of Code/2007/Projects/KOffice collaborative editing: Difference between revisions

From KDE TechBase
No edit summary
 
No edit summary
Line 1: Line 1:
=NEW: KOffice -- collaborative editing=
==NEW: KOffice -- collaborative editing==
 
Name: [[User:IgorStepin|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).
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?==
===What is collaborative editor?===
From Wikipedia:
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.
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==
===Planned  functionality===
This is the list of collaboration functionality that should be implemented.
This is the list of collaboration functionality that should be implemented.
* Publish local documents.
* Publish local documents.
Line 14: Line 19:
* Disconnect users.
* Disconnect users.


==Project plan==
===Project plan===
* Investigate current implementations. Write prototypes for some of them. Evaluate at least libobby, MateEdit, and DrawPile. Choose base for implementation. (1 week)
* 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)
* Define draft of interfaces for the collaboration API. Make prototype of UI. Show them to mentor and KOffice developers. (1 week)
Line 21: Line 26:
* Bug fixes and reserved time. (3 weeks)
* Bug fixes and reserved time. (3 weeks)


==What will not be done==
===What will not be done===
* Only integration with KWord is planned.
* Only integration with KWord is planned.
* Probably, reach-text communication (different fonts and paragraph
* Probably, reach-text communication (different fonts and paragraph
Line 27: Line 32:
* Specific techniques for NAT traversal or UPnP/PMP-enabled firewall/router configuration 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.
* Images, tables and other complex 'objects' in the document will not be supported.
Link to the Google's page of project:
http://code.google.com/soc/kde/appinfo.html?csaid=1F1FBA0ECFDF0877


Link to the detailed description:
Link to the detailed description:
http://www.stepin.name/soc2007/
http://www.stepin.name/soc2007/


Link to the project's blog:
Link to the project's blog:
http://www.stepin.name/category/soc/
http://www.stepin.name/category/soc/

Revision as of 20:27, 13 April 2007

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: http://code.google.com/soc/kde/appinfo.html?csaid=1F1FBA0ECFDF0877

Link to the detailed description: http://www.stepin.name/soc2007/

Link to the project's blog: http://www.stepin.name/category/soc/