This proposal has been approved and the Web Modeling Framework project has been created.
Visit the project page for the latest information and development.

Web Modeling Framework

Monday, March 2, 2015 - 03:52 by Alexis Muller
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

We have developed GenMyModel, an online modeling tool (https://www.genmymodel.com), using several Eclipse projects, specially EMF.

The choice to release the GenMyModel framework as an open source project has been made since the beginning.

Scope

The scope of this project is to provide a framework to easily develop any online model and diagram editor based on an EMF meta-model. The framework support both model and diagram edition.

The purpose of the framework is to help building visual editor. You can use it to built a visual editor for any kind of EMF model. It already has been used to build several UML diagram editors (e.g. class and sequence).

The scope of this project is the framework itself, not the editors built with it (they could be in distinct projects), but as a sample, the Ecore model and diagram editor will be provided.

The framework provides mechanisms to send the model from the server to the client and to send modifications from the client to the server. The model persistence is left to the server implementation. It can be based on a simple file system, a database or something like CDO. This persistence is not part of the web modeling framework.

Description

The Web Modeling Project is similar to the GMF runtime project or the Graphiti project, but for the web world. It is used to build GenMyModel.

The Web Modeling Project goal is to provide as many online diagramming and modeling features as possible "out of box".

The framework already implements some diagramming behaviors you just have to choose to implement your own online diagramming editor.

It provides some abstract classes you have to inherit to get your own graphical widgets. Both diagramming widgets and modeling widget (treeview, property panels) are supported.

The diagram elements design is provided using CSS.

The Web Modeling Project framework supports nodes, links, and node hierarchy (e.g. packages).

The Web Modeling Project is based on EMF and GWT technologies. It produces pure HTML5 / Javascript client.

Why Here?

The Web Modeling Project is developed to be a perfect complement to EMF. It allows to the community the ability to quickly develop web based model and diagram editors for EMF models.

Future Work

The current framework version is already usable. It has been used to built several online editors: EMF, UML (classes, activities, sequences), Database and Flowchart.

The first step will be to bring all GenMyModel users that want to contribute to the Eclipse project and to help them to build new editors based on the Web Modeling Project.

Based on users and contributors feedbacks the framework API will be then stabilized.

The main new feature that will be added in the next months will be diagrams auto layout.

The opportunity to use the future GWT singular project for the Web Modeling Project will be evaluated.

 

Project Scheduling
  • Initial contribution: first semester 2015
  • V1 (stable API) during the last semester 2015
Project Leads
Mentors
Interested Parties

GenMyModel has now more than 100 000 registered users and many of them have asked to contribute.

Initial Contribution

The Web Modeling Project has been developed by Axellience to build GenMyModel. All its code is currently owned by Axellience.

The third-party libraries used are:

  • EMF (EPL)
  • GWT (Apache Licence V2)
  • jQuery (MIT)
  • Dojo (Academic or BSD)
  • Cometd4GWT (Apache Licence V2)

The Web Modeling Project is already used (with GenMyModel) by more than 100 000 users. Some of them have asked to be able to contribute. 

Source Repository Type