Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "ECF/DocShare Plugin"

< ECF
 
(25 intermediate revisions by 6 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 SDK 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 (Target Components for Eclipse)]. 
 +
*Connect via a supported provider. Supported providers are:  XMPP (Google Talk, Jabber).
 +
*You must also have a contact/friend/buddy...in your contact list...that 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. 
 +
 
 +
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 [http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf.docshare DocShare bundle specifically] and/or [http://git.eclipse.org/c/ecf/org.eclipse.ecf.git all of ECF], see [http://git.eclipse.org/c/ecf/org.eclipse.ecf.git ECF source code repo here].
 +
 
 +
{{ECF}}
  
This new plugin is available via the [http://www.eclipse.org/ecf/projectsetfiles/ecf.docshare.anonymous.psf project set file].  Or for committers [http://www.eclipse.org/ecf/projectsetfiles/ecf.docshare.committer.psf here]
+
[[Category:Eclipse Communication Framework]]
 +
[[Category:ECF]]
 +
[[Category:Draft Documentation]]

Latest revision as of 17:03, 10 January 2014

ECF SDK plugin called DocShare (org.eclipse.ecf.docshare) that implements real-time shared editing.

Requirements

  • ECF (Target Components for Eclipse).
  • Connect via a supported provider. Supported providers are: XMPP (Google Talk, Jabber).
  • You must also have a contact/friend/buddy...in your contact list...that 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.

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 bundle specifically and/or all of ECF, see ECF source code repo here.

Eclipse Communication Framework
API
API DocumentationJavadocProviders
Development
Development GuidelinesIntegrators Guide

Back to the top