Skip to content

Learning to share

Have you ever needed a discussion with a colleague or a mentor whilst you were coding?  Tried to in an instant messenger conversation and found switching between your editor and IM client frustrating?

There is an project within Eclipse called the Eclipse Communication Framework (ECF) that transforms the Eclipse IDE into a instant collaboration tool that includes shared editing.  The shared editing feature in ECF allows multiple contributors to make simultaneous edits and differentiates it from other tools where each contributor needs to hold the

What differentiates the shared editing in ECF with other tools is that multiple contributors can make real time edits simultaneously.

I’ve been working with colleagues who are distributed across the globe looking at some java code so we installed ECF to try shared editing and ended up with more than we expected.

I’m using Eclipse Galileo SR1 and followed the instructions for ECF installation on http://www.eclipse.org/ecf/downloads.php.

To get file sharing an ECF generic server is required for workspace collaboration, installation instructions are on http://wiki.eclipse.org/ECF_Servers and I also followed the section “Starting an ECF Generic Server with java only”.  I updated versions of the jar files using the ones from my updated Eclipse plug-ins:

  • org.eclipse.core.jobs_3.4.100.v20090429-1800.jar
  • org.eclipse.core.runtime.compatibility_3.2.0.v20090413.jar
  • org.eclipse.equinox.app_1.2.0.v20090520-1800.jar
  • org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar
  • org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar
  • org.eclipse.osgi.services_3.2.0.v20090520-1800.jar
  • org.eclipse.osgi_3.5.1.R35x_v20090827.jar
  • org.eclipse.ecf.discovery_3.0.0.v20090616-0832.jar
  • org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar
  • org.eclipse.ecf.server.generic_2.0.0.v20090616-0832.jar
  • org.eclipse.ecf.provider_2.0.0.v20090616-0832.jar
  • org.eclipse.ecf.sharedobject_2.0.0.v20090616-0832.jar
  • org.eclipse.ecf_3.0.0.v20090831-1906.jar

I also created a simple server.xml file for changing the listening port number to facilitate navigation through firewalls.
Assuming JRE, paths and permissions are already configured I start the server using this script created based on the instructions.

#!/bin/bash
HOME=/home/eclipse
LOG=.
java -Dfile.encoding=ISO-8859-1 -classpath ${HOME}/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar:\
${HOME}/plugins/org.eclipse.core.runtime.compatibility_3.2.0.v20090413.jar:\
${HOME}/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar:\
${HOME}/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar:\
${HOME}/plugins/org.eclipse.osgi_3.5.1.R35x_v20090827.jar:\
${HOME}/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar:\
${HOME}/plugins/org.eclipse.equinox.app_1.2.0.v20090520-1800.jar:\
${HOME}/plugins/org.eclipse.ecf.discovery_3.0.0.v20090616-0832.jar:\
${HOME}/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar:\
${HOME}/plugins/org.eclipse.ecf.server.generic_2.0.0.v20090616-0832.jar:\
${HOME}/plugins/org.eclipse.ecf.provider_2.0.0.v20090616-0832.jar:\
${HOME}/plugins/org.eclipse.ecf.sharedobject_2.0.0.v20090616-0832.jar:\
${HOME}/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar\
 org.eclipse.ecf.server.generic.app.ServerApplication -c ${HOME}/server.xml > ${LOG}/ecf-server.log 2>&1 &

Once the server is running connect to it from Eclipse using the collaboration icon.  A collaboration view is opened with the members of the session ready in a group chat .

To make shared edits to a file; open the file in the editor, right click in the editor pane and select the context menu option Share Editor With and select the name of a collaborating editor, both of you can start editing.

Related posts

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*
blog comments powered by Disqus