Showing posts with label CDO. Show all posts
Showing posts with label CDO. Show all posts

Tuesday, October 9, 2012

How to share a modeling project with other users?

In a previous post, I illustrated the Collaborative Modeling mode provided with Obeo Designer 6.

It allows several users to simultaneously edit a model and its diagrams. Thanks to the fine-grained locking mechanism, only the concerned model elements are locked, and automaticaly released once the modifications are saved.

Now, I will explain how to share a local modeling project on a server, in order to use this collaborative mode and to allow other users to collaborate with you on the same model.



To share a model with several users, only three steps are needed with Obeo Designer.

1) Start the server

The shared model must be hosted on a CDO server which has to be installed and started.

This can be done very easily with the sample CDO servers provided with Obeo Designer. These servers are available through Obeo Designer examples and can be launched with prebuilt Launch Configurations.

This video illustrates how to proceed.



Of course, for a large project, with important constraints, you will have to configure and administrate your own CDO server.

2) Share a Modeling Project

Once the server has started, you can use it to export a local Modeling Project.

This will copy your local project on the server and make it available for other users. 



This video illustrates how to proceed.



Then, this project can be used in a collaborative mode by any other user who can connect to the CDO server.

3) Work with a Shared Modeling Project

When a modeling project has been shared on a CDO server, other users can work with it in a collaborative mode.

They just have to locally create a new Shared Modeling Project which points to the project hosted on the server.



This video illustrates how to proceed.



This Shared Modeling Project is directly connected to the server and reflects all the changes done by all the other users on the same model.

Monday, September 24, 2012

Collaborative Modeling

The classical approach to collaborate on the same model is usually to split the model into several files managed with a source control system such as SVN.

There are two major problems to this approach:

  • lock granularity: it is not reasonable to create a file by model element. So, each time you need to modify an object, you lock all the other model elements contained in the same file.
  • real-time updates: when a modification occurs, the other users have to manually reload the files which contain the changes

These problems have been well described by Alex Lagarde in this post: Live Collaboration with Obeo Designer 6

The solution provided with Obeo Designer consists in a CDO-based repository which contains shared models and their representations (diagrams, tables and trees).


Each time a user changes the property of a model element, only this element is locked. The author of the modification sees a green padlock on the element, while other users instantly see a red padlock on each representation where the same element is visible.

On the example below, the family Smith and the man Paul are locked.



Once the modification is saved, the changes are automaticaly reflected to the other users.

I have created this video to illustrate the collaboration mechanism.