Difference between revisions of "ECF/DocShare Plugin"

From Eclipsepedia

< ECF
Jump to: navigation, search
(Requirements: Fix Skype Provider link, remove broken link.)
(14 intermediate revisions by 5 users not shown)
Line 1: Line 1:
=How to Use=
+
ECF version 2.0.0 and up includes a plugin called DocShare ('''org.eclipse.ecf.docshare''') that implements real-time shared editing.
  
To use the real-time documentation 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=
  
*Get [http://www.eclipse.org/ecf/downloads.php ECF 2.0.0M4 or later]).
+
*Open a TextEditor on a text resource from your workspace (e.g. a .java file, or .txt file).
*Connect vua a provider that supports the [[ECF_API_Docs#Datashare_API | ECF Datashare API]]. Supporting IM providers are:  XMPP/Google Talk (comes with ECF 2.0.0M4), Skype (found [http://ecf1.osuosl.org here]).  Instructions for connecting are [http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.ecf.doc/html/gettingstarted/quickStart.html  here].
+
*Open the Context Menu (right click) on the text editor, and you should see a context menu like this
*Open a TextEditor on a resource from your workspace (e.g. a java file, or .txt file).
+
*Open the Context Menu (right click) on the editor, and you should see a context menu like this
+
  
 
[[Image:docshareslewis2.png]]
 
[[Image:docshareslewis2.png]]
  
*Select the target user to share your editor session with.  Note that if you select a target user
+
*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.
that is not running ECF it will have no effect and the target user will see nothing. In M5 we will be filtering users in the context menu to show only the ones actually able to engage in ECF editor sharing.
+
 
 +
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===
 
===How to Stop===
Line 20: Line 25:
 
=Screen Shots=
 
=Screen Shots=
  
There is now a plugin '''org.eclipse.ecf.docshare''' to provides some support for the ongoing work on [[RT Shared Editing]].  What this plugin does is expose an ECF [[Roster Menus]] 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.
+
'slewis' client (the initiator), before starting editor sharing
 
+
Here is the '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 34: 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 48: 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 source is available via the [http://www.eclipse.org/ecf/projectsetfiles/ecf.docshare.anonymous.psf project set file].  For committers, get the project set file with extssh access  [http://www.eclipse.org/ecf/projectsetfiles/ecf.docshare.committer.psf here]
+
[[Category:Eclipse Communication Framework]]
 +
[[Category:ECF]]
 +
[[Category:Draft Documentation]]

Revision as of 17: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.

Contents

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 DocumentationJavadocProvidersECF/Bot Framework
Components
ServersShared EditingShared Code Plug-in
Development
Development GuidelinesIntegrators Guide