More projects

emfCollab
collaborative editing for EMF models

Overview

emfCollab is a light-weight solution to let multiple users edit a single EMF model concurrently. emfCollab has a client-server architecture. The client can be integrated into any EMF based Eclipse editor with a some modifications (generative support will be available for generated EMF editors).

Motivation

In model-driven development based on EMF domain specific models, the collaborative use of model files soon becomes a problem. To tackle this, you can use various strategies:

How does it work?

How to integrate into your own application

Server

On the server side (which can be any Eclipse environment, even a developer PC), you have to run a emfCollab server that has all resources available to load your model:

You have to store your model on the filesystem accessible by the server (model files can be under standard version control such as SVN).

Client

On the client side (which can be any Eclipse environment such as a developer workstation), you have to:

  1. Modify your editor to open EMF models through emfCollab. This can be done by overrriding some methods of your default editor.
    • In Eclipse, you need a Workspace resource to open an editor. In the case of emfCollab the file contains the address of the emfCollab server.
    • A different file extension (of local model files) is recommended for emfCollab use.
  2. Add the emfCollab listener to your model.
  3. Integrate emfCollab with your command stack:
    • emfCollab has to know when a command is about to be done and has the right to cancel execution of the command (in case of conflicting commands from other clients at the same instant).
    • emfCollab executes all commands that are received from the emfCollab server (commands done by other users of the model).

emfCollab also offers a simple collaborative UI that shows what the users are doing and they can even chat with each other.

Availability

SVN

Check out the sources from https://opensource.qgears.hu/svn/trunk/emfcollab/

License

emfCollab is released under the Eclipse Public License v1.0.