Extended Editing Framework (EEF)
Introduction
The Extended Editing Framework component is a proposed open source project under the EMF project.
This proposal is in the Project Pre-Proposal Phase (as defined in the Eclipse Development Process document) and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment and/or join the project. Please send all feedback to the emft newsgroup.
Background
The Eclipse Modeling Project focuses on the evolution and promotion of model-based development technologies within the Eclipse community by providing a unified set of modeling frameworks, tooling, and standards implementations.
Model based technologies leverage on having a common standard (EMOF/ECORE) to represent their data (models) and the implementation in Eclipse is the EMF Framework. There is a great adoption of this technology by the community and there are a lot of tools being built on top of the EMF Framework.
The need of creating tools (like editors, ...) allowing an easier editing of EMF models (more powerful than the default arborescent editor) becomes stronger day after day. The GMF Framework already provides an answer to this need in the specific case of graphical editors based on the EMF and GEF frameworks. The TMF framework also tackles this need by defining a concrete textual syntax for EMF metamodels.
Scope
The EEF project will focus on the tooling for the production of enhanced environments dedicated to EMF models editing. This will be obtained by three means :
Project Description
Project Goals
This project aims at giving another way to improve the EMF model creation phase by providing new services dedicated to editing and using more appealing editing elements. The way to obtain these services and elements is based on a generative approach similar to the EMF.Edit one. The framework provides advanced editing components for the properties of EMF elements and a default generation based on standard metamodels using these components. The generic generators create a standard architecture with advanced graphical components to edit EMF model objects. These components are meant to leverage every aspects of the Eclipse Platform as for instance the Eclipse Dynamic Help.
Another goal of the project is to give new transversal editing abilities to the EMF users. An example of these abilities is to lock/unlock the edition of given objects. With an extensible mechanism of providers, users will be able to define whether, in a given context, an EObject can be modified or not. This context can be the containing resource state (read-only or not), an attribute in the meta-model, ...
Technical Goals
This enhancement of the EMF models editing capabilities can be achieved in a generative way like other projects of the Eclipse Modeling Project (EMF, GMF, ...).
The Extended Editing Framework runtime contains a set of advanced widgets and a generic and extensible MVC architecture that eases the edition of EMF models.
The Extended Editing Framework also comes with standard metamodels. These allow the definition of models that will parameterize the actual editing components that are to be generated. For example, any given EMF element can be related to a variable number of editing views. Another example is the ability to define with these models which kind of widget will be used to edit the properties of an EMF element.
Last but not least, the framework provides default generators for the editing components. These are organized as an MTL module that generates a standard architecture extending the framework's runtime. The result of the generation can be included in standard SWT/JFace elements. The figures 1 and 2 show an example leveraging the generated result.
This project will grow by including more and more editing components along with their associated generators may they be contributed or developed by the Extended Editing Framework team. This policy aims at covering more and more use cases for applications based on EMF models. As an EMFT sub-project, the Extended Edit Framework also leverages other technologies like EMF Validation to improve the user experience on applications using this project and to smooth the integration with existing EMF-based softwares.
The figure 3 show the links between the three components of the EEF project.An important project which this framework could be interfaced with is the EMF Databinding project. This project aims at providing an EObject's observable architecture which can be reused by the controllers of this project.
The initial code for this project will be based on code contributions from Obeo. This contribution has been successfully used in some business use cases (Pôle Emploi MDA tooling, ...) as well as the tabbed properties views of Eclipse Papyrus, the UML graphical editor of the MDT project.
Organization
We propose that this project be undertaken as part of an Eclipse Modeling Framework Technology sub-project.
Initial Committers
- Goulwen Le Fur (Obeo) - proposed project lead
- Stéphane Bouchet (Obeo)
- Nathalie Lépine (Obeo)
- Patrick Tessier (CEA)
Initial Contributors
- Goulwen Le Fur (Obeo) - current version of the Extended Editing Framework
Mentors
- Ed Merks
- Cédric Brun
Interested Parties
The following organizations have expressed interest in the project :
- Obeo
- Pôle Emploi (Former Unedic) - The first user of the project
- CEA LIST
- Ed Merks
- Richard Gronback
- Itemis
- Oracle
- Queensland University of Technology
- Soyatec
- Olivier Moïses
- Thales ATMS
- CDO Team
Participation
Critical to the success of this project is participation of interested third parties to the community. We intend to reach out to this community and enlist the support of those interested in making a success of the Extended Editing Framework project. We ask interested parties to contact news://news.eclipse.org/eclipse.technology.emft to express interest in contributing to the project.