Eclipse Edapt™ 1.0.0 Release Review

Type
Release
State
Successful
End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Release

1.0.0

Description

This is the first offical release of Edapt. The Edapt project offers APIs and provides implementations for the following features:

  • A way to model to the changes between two versions of an Ecore model and to compose these as a complete history of all versions. These models provide means to attach migration instructions to the changes.
  • A slim runtime implementation which can be integrated into existing applications and which interprets the change models to automatically migrate old instances to the version needed by the application.
  • A means to define new operations and to extend existing ones with instructions on how to migrate other artifacts.
  • A generic user interface to offer operations to the developer and to inspect the impact of their executions.
  • A mechanism to record the operations that are executed on an Ecore model in the editor.
  • A way to re-apply the recorded operations to migrate existing artifacts which are not accessible during development.
  • A means to obtain the changes between two versions of an EMF model.
API Certification

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Architectural Issues

The architecture of Edapt was revised during the incubation phase. With the 1.0.0 release there will be a defined API/SPI. 

Edapt was designed with extensibility in mind. While covering the basic use cases for model changes and their migration (~ 90%) it also offers API and extension points to add reusable operations and/or custom migrations.

The runtime component can be easily integrated into existing applications. The EMF Client Platform is currently working on a view model migrator based on Edapt which will be included in their tooling. 

Security Issues

Due to the nature of the project there no relevant security issues. 

Non-Code Aspects

Documentation about the available operations and a basic tutorial are available on the project webpage. 

The project is built with Maven/Tycho. The build is hosted at the Edapt HIPP

Usability Details

Edapt offers an integration with the Ecore editor. This allows users to track their changes on an ecore as they happen.

Moreover the Operation Browser view offers reusable operations to modify an ecore based on the selected element in the ecore editor. 

The recorded histories are visible in the ecore editor and can be reviewed any time. 

The APIs have been mostly stable during the incubation phase so we are confident about their usability. 

End of Life

In contrast to the nightly builds offered prior to the 1.0.0 release some packages were renamed/made internal.

There is no actual "End of Life" but existing users might have to adjust some imports and there might be some warnings about internal package usage. 

We paid special attention so that API required by most users was neither moved nor made internal.

Users with own operation implemenations/custom migrations need to adjust their imports, because our internal model which represents changes, (meta-)models, instances, etc. are now marked as SPI in the package names.

We made this decision because very few users will have the requirement to work with these classes. However since extensibility is one of our goals, we did not want to issue warnings for every user that actually has to work with these classes. 

Communities

Edapt has a decent number of users based on regular posts on the newsgroup and bug reports.

There are currently six committers. Most of them are also active in other eclipse projects. 

Project leads knows about two cases of usage in industrials projects.

The EMF Client Platform project uses Edapt for view model migrations. 

There will be a talk about Edapt at EclipseCon Europe 2014.