Eclipse Graphical Editing Framework (GEF) 4.0.0 (Neon) 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.

Wednesday, June 1, 2016
Release: 

Eclipse Graphical Editing Framework (GEF) 4.0.0 (Neon)

Description: 

The Graphical Editing Framework (GEF) 4.0.0 (Neon) will provide:

  • Major (1.0.0) revisions of the GEF4 production components (GEF4 Common, GEF4 Geometry, GEF4 FX, GEF4 MVC, GEF4 Graph, GEF4 Layout, GEF4 Zest, GEF4 DOT, GEF4 Cloudio).
  • Service and Minor revisions (3.10.100, 3.11.0, 1.7.0) of the Draw2d 3.xGEF (MVC) 3.x, and Zest 1.x legacy components. Focus is on bugfixing only. All public API is preserved, binary compatibility is achieved.
API Certification: 

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

Architectural Issues: 

The GEF4 Cloudio component has been transferred more or less as-is from the provisional Zest 2.x code base that has been superseeded by GEF4. It has been adopted to the GEF4 namespace and follows all architectural conventions, but is still directly based on SWT and has not been migrated to a JavaFX-based UI (with related SWT/UI-integration) yet.

GEF4 Cloudio and GEF4 DOT are provided as pure end-user components and do not expose any public API yet.

Security Issues: 

There are no security issues for this project.

Non-Code Aspects: 

Developer documentation for Draw2d 3.10.100, GEF (MVC) 3.11.0, and Zest 1.7.0 is provided in the form of a GEF Developer Guide (contributed via respective *.doc.isv bundles), as for previous releases.

Developer documentation for the new GEF4 components is extracted from the GEF4 wiki pages on a per-component basis (and is extracted using Mylyn Wikitext into respective *.doc bundles). In addition user documentation for GEF4 Cloudio and GEF4 DOT is provided in the form of two user guides (contributed via respective *.doc.user bundles).

Examples for Draw2d 3.10.100 and Zest 1.7.0 are provided in the form of (unbundled) snippets, for GEF (MVC) 3.11 in the form of (bundled) logic, shape, flow, and text editors (provided on the local update site only).

Examples for GEF4 MVC are provided in the form of a (bundled and standalone) logo example (provided on the local update site only), for GEF4 Zest in the form of a (bundled and standalone) graph example (provided on the local update site only). For GEF4 FX, GEF4 Graph, GEF4 Layout, GEF4 DOT, GEF4 Geometry, and GEF4 Cloudio, examples are provided in the form of (unbundled) snippets. There are currently no examples provided for GEF4 Common (which is used in nearly all other components).

Externalization is fully supported by Draw2d 3.10.100, GEF (MVC) 3.11.0, and Zest 1.7.0, where all string properties eligable for translation, are properly externalized. For the GEF4 components, externalization is only partially implemented.

Usability Details: 

As GEF is a framework for building up graphical applications, most parts of the Eclipse User Interface Guideline are not directly applicable, because:

  • with the exception of GEF4 DOT and GEF4 Cloudio, none of the GEF components provide direct end-user functionality.
  • the UI of a graphical application, as supported by GEF, usually uses different means for user interaction compared to classical user (form-based) user interfaces.

Nevertheless, great attention has been spent on ensuring good usability. While this has not been empirically evaluated by end-users, the development of the GEF4 components has been supervised by a certified usability engineer in person of the project lead.

While the user interface of the DOT component has already been improved since the 3.10.1 (Mars.1) release, it is still eligable for further improvement. The GEF4 Cloudio user interface was not changed and still needs to be revised.

End of Life: 

No officially released API has been deprecated/removed in this release. However, the (up to 0.2.0 still provisional) API of GEF4 has been completely revised.

Communities: 

Users/Adopters:

While GEF 3.x has been put into pure maintenance mode, it is still seems to be widely used and the forum reflects that there are still adopters that just started using the framework. 

The activity in the project forum further proves that there is a very active, yet small set of initial adopters of GEF4, even while only a snapshot with provisional API has been published so far. There is also a set of initial, commercial adopters, with whom the project team has been in active personal contact.

Contributors:

From the set of initial GEF4 adopters, some have been active in reporting issues and in contributing patches. Most notably, Xavier Jacques, Frank Benoit, Colin Sharples, and Tamas Miklossy.

Committers: 

Since the 3.10.1 (Mars.1) release, Stephan Schwiebert has left the team. Zoltan Ujhelyi and Fabian Steeg have been mostly inactive because of personal reasons, but have signalled that they intend to become active again soon. The remaining project team, Matthias Wienand and Alexander Nyßen, has been very active in development and has spend significant effort in participating in forum discussions to build up an active community again. They further presented the previous releases at demo camps and conferences, and will continue to do so for the upcoming release.

This release is part of Neon.