ECF version 2.0.0 and up includes a plugin called DocShare (org.eclipse.ecf.docshare) that implements real-time shared editing.
- ECF 2.0.0. ECF 2.0.0 will run on either Eclipse 3.3 and/or Eclipse 3.4. For Eclipse 3.5, use ECF 3.1.
- Connect via a supported provider that supports the ECF Datashare API. Supported providers are: XMPP (Google Talk, Jabber), Skype (found here). Instructions for connecting are here.
- You must also have a contact currently also connected to your supported provider.
How to Use
- Open a TextEditor on a text resource from your workspace (e.g. a .java file, or .txt file).
- Open the Context Menu (right click) on the text editor, and you should see a context menu like this
- Select the target user to share your editor session with. Note that if you select a target user that is not running ECF client, it will have no effect and the target user will not see a notification. In the near future (ECF 2.0.1), only the users that support/are running docshare will appear in this list, but for now all contacts will appear.
Once the receiver accepts the docshare, both participants may edit the document via their local editor and the changes will be immediately distributed to the other participant via ECF.
How to Stop
- Open the context menu for the editor being shared.
- Select "Stop Sharing Editor with ..."
'slewis' client (the initiator), before starting editor sharing
'fliwatuet' client (the receiver), before starting editor sharing
Slewis initiates the real-time shared editing by opening the context menu in the editor, and choosing Share Editor With -> email@example.com ->ECF -> firstname.lastname@example.org
Fliwatuet receives a notice and can accept or reject the shared editing session
If fliwatuet accepts, the editor is opened with slewis' current editor content on fliwatuet's workbench
At this point, both participants can edit the text and updates will be immediately distributed and shown on the other's corresponding editor.
So, for example, here fliwatuet enters a new method (baz)
These same updates appear immediately on slewis' workbench. Slewis can also make changes and these are reflected on fliwatuet's workbench.
Technical Info and Source Code
DocShare detects conflicts and resolves them using an algorithm and implementation called 'Cola'. That work is described in Real-Time Shared Editing.
The source code for docshare can be browsed by clicking here.
To work with the source code for DocShare and/or all of ECF, see here.