Jump to content

Calligra/Ideas/Collaboration

From KDE Community Wiki

Usecase / design / information about Collaborative work in Calligra

Usecases

1) synchronous editing between 2 people

Anton and Bernard are talking in a kopete window and discussing a list of people to invite to a party. After some 10 names have been called Anton states he is going to move the conversation to a spreadsheet instead.

Anton starts editing in kspread and (somehow) connects to Bernard who will see a kspread being started with the document A. made.

Changes made by A are immediately sent to B, and vice versa. This 'immediate' updating has the advantage of minimizing concurrent changes, and thus merge problems. When they actually cause a merge by working on the same part of the document. When there is a merge, each one see his version and the others version, and then they can choose which version is kept.

For example implementation, see Abiword version 2.6.

2) a-synchronous editing shared in a group A team of 3 members, Claire, Dirk and Edward are working together on one report. Claire works on her laptop while on the train to work and Dirk and Edward work on their office PC both saving to the shared network drive.

Claire drops off her document with Dirk on a USB stick before leaving the office again and Dirk will email the most recent version of the document to her at about lunch time.

All merging is done upon importing a file from either the network, usb stick or from email. Changes that overlap (merge error) should be solved by the person that imports the document or marked 'I don't know' for the next person who opens the document to merge.

3) role-based, a-synchronous editing At university there is a local newspaper being created. The newspaper has one editor, Ferdinant, as well as several graphics artists also doing photography plus reporters writing articles.

Extra content comes in from others as well; the monthly schedule for the cafeteria is provided in a spreadsheet that tends to get a final update just before the release.

Ferdinant will have to import and work with all these separate documents to put them in one layout. He will do that by placing all the source documents in a directory and do the layouting in KWord. This has the advantage that if one document gets an update he will just update that one document and the KWord document will use the new content automatically.

Any work done on one particlular document is shared like in case 2; for example the editor can alter the text in an article but when a new version comes in due to the reporter not liking his ending the editor can merge the two documents.

ECM

Enterprise Content Management is often seen as collaboration software; which is not strictly what we classified it as. That sort of working together is where Calligra/Metadata comes into play.

References

wikipedia topic on collaborative real time editors with a comprehensive list of existing implementations

blog with lotsa links

verse.blender.org

An Integrating, Transformation-Oriented Approach to Concurrency Control and Undo in Group Editors" by Ressel, Nitsche-Ruhland and Gunzenhäuser

www.cs.hut.fi/~ctl/3dm

inkboard

collaboration software for openoffice.

OpenOffice.org issue #54987

Towards XML Version Control of Office Documents (paper)

SynchroEdit (shares mouse/keyboard in real time, though presumably that'd be better handled by a more general tool)

libqinfinity

KDE version on infinity

infinity blog

wikipedia def of Use Case