Jump to: navigation, search

Difference between revisions of "ECF/DocShare Plugin"

< ECF
(Requirements: Fix Skype Provider link, remove broken link.)
(23 intermediate revisions by 5 users not shown)
Line 1: Line 1:
There is now a plugin '''org.eclipse.ecf.docshare''' to provides some support for the ongoing work on [[RT_Shared_Editing|real-time shared editing]].  What this plugin does is expose an ECF [[Roster Menu]] in the context menu of all Eclipse-based text editors (e.g. java editor and text editor) so that shared editing can be initiated directly from within the existing editor UI.
+
ECF version 2.0.0 and up includes a plugin called DocShare ('''org.eclipse.ecf.docshare''') that implements real-time shared editing.
  
Here is the 'slewis' client (the initiator), before starting editor sharing
+
=Requirements=
 +
 
 +
*[http://www.eclipse.org/ecf/downloads.php 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_API_Docs#Datashare_API | ECF Datashare API]]. Supported providers are:  XMPP (Google Talk, Jabber), Skype (found [[Skype Provider | 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
 +
 
 +
[[Image:docshareslewis2.png]]
 +
 
 +
*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 ..."
 +
 
 +
=Screen Shots=
 +
 
 +
'slewis' client (the initiator), before starting editor sharing
  
 
[[Image:docshareslewis1.png]]
 
[[Image:docshareslewis1.png]]
  
Here is the 'fliwatuet' client (the receiver), before starting editor sharing
+
'fliwatuet' client (the receiver), before starting editor sharing
  
 
[[Image:docsharefliwatuet1.png]]
 
[[Image:docsharefliwatuet1.png]]
Line 13: Line 37:
 
[[Image:docshareslewis2.png]]
 
[[Image:docshareslewis2.png]]
  
Fliwatuet receives a notice (to be replaced with a new notification system soon) and can accept or reject the shared editing session
+
Fliwatuet receives a notice and can accept or reject the shared editing session
  
 
[[Image:docsharefliwatuet2.png]]
 
[[Image:docsharefliwatuet2.png]]
  
If fliwatuet accepts, the editor is opened with slewis current editor content on fliwatuet's workbench
+
If fliwatuet accepts, the editor is opened with slewis' current editor content on fliwatuet's workbench
  
 
[[Image:docsharefliwatuet3.png]]
 
[[Image:docsharefliwatuet3.png]]
Line 27: Line 51:
 
[[Image:docsharefliwatuet4.png]]
 
[[Image:docsharefliwatuet4.png]]
  
These same updates appear immediately on slewis' workbench.  Slewis can also make changes and these are reflected on fliwatuet's workbench
+
These same updates appear immediately on slewis' workbench.  Slewis can also make changes and these are reflected on fliwatuet's workbench.
  
 
[[Image:docshareslewis3.png]]
 
[[Image:docshareslewis3.png]]
  
Note that currently this editor does not do conflict resolution, and so the editors can get get out of synchBut this will soon be remedied by adding the resolution code from Mustafa's work on the [[RT_Shared_Editing|real-time shared editing]], aka Cola.
+
=Technical Info and Source Code=
 +
 
 +
DocShare detects conflicts and resolves them using an algorithm and implementation called 'Cola'That work is described in [[RT_Shared_Editing|Real-Time Shared Editing]].
 +
 
 +
The source code for docshare can be browsed by clicking [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ecf/plugins/org.eclipse.ecf.docshare/?root=Technology_Project here].
 +
 
 +
To work with the source code for DocShare and/or all of ECF, see [http://www.eclipse.org/ecf/dev_resources.php here].
 +
 
 +
{{ECF}}
  
This new plugin is available via the [http://www.eclipse.org/projectsetfiles/ecf.docshare.anonymous.psf project set file].  Or for committers [http://www.eclipse.org/projectsetfiles/ecf.docshare.committer.psf here]
+
[[Category:Eclipse Communication Framework]]
 +
[[Category:ECF]]
 +
[[Category:Draft Documentation]]

Revision as of 16:28, 17 December 2011

ECF version 2.0.0 and up includes a plugin called DocShare (org.eclipse.ecf.docshare) that implements real-time shared editing.

Requirements

  • 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).
  • 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

Docshareslewis2.png

  • 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 ..."

Screen Shots

'slewis' client (the initiator), before starting editor sharing

Docshareslewis1.png

'fliwatuet' client (the receiver), before starting editor sharing

File:Docsharefliwatuet1.png

Slewis initiates the real-time shared editing by opening the context menu in the editor, and choosing Share Editor With -> slewis@ecf.eclipse.org ->ECF -> fliwatuet@ecf.eclipse.org

Docshareslewis2.png

Fliwatuet receives a notice and can accept or reject the shared editing session

Docsharefliwatuet2.png

If fliwatuet accepts, the editor is opened with slewis' current editor content on fliwatuet's workbench

Docsharefliwatuet3.png

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)

Docsharefliwatuet4.png

These same updates appear immediately on slewis' workbench. Slewis can also make changes and these are reflected on fliwatuet's workbench.

Docshareslewis3.png

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.

Eclipse Communication Framework
API
API DocumentationJavadocProviders
Development
Development GuidelinesIntegrators Guide