Eclipse Graphical Editing Framework (GEF) 3.10.0 (Mars) 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

3.10.0 (Mars)

Description

The Graphical Editing Framework (GEF) 3.10.0 (Mars) release provides:

  • Minor revisions (3.10.0, 1.6.0) of the Draw2d 3.xGEF (MVC) 3.x, and Zest 1.x production components, including bugfixes and smaller API additions only.
  • A first snapshot release (0.1.0) of the new GEF4 components (GEF4 Common, GEF4 Geometry, GEF4 FX, GEF4 MVC, GEF4 Graph, GEF4 Layout, GEF4 Zest, GEF4 DOT, GEF4 Cloudio), which is developed in parallel to the maintenance of the production components, all provided with still provisional API.

 

API Certification

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

Architectural Issues

There are no architectural issues for this project.

Security Issues

There are no security issues for this project.

Non-Code Aspects

Developer documentation for Draw2d 3.10.0, GEF (MVC) 3.10.0, and Zest 1.6.0 is provided in the form of a GEF Developer Guide (contributed via respective *.doc.isv bundles), as for previous releases. Documentation for the new GEF4 components has been newly build up on the GEF4 wiki pages on a per-component basis (and is extracted using Mylyn Wikitext into respective *.doc bundles). With the exception of GEF4 MVC, Zest, and Cloudio, Javadoc is provided up to package visibility level throughout.

Examples for Draw2d 3.10.0 and Zest 1.6.0 are provided in the form of (unbundled) snippets, for GEF (MVC) in the form of (bundled) logic, shape, flow, and text editors. Examples for GEF4 MVC are provided in the form of (bundled and standalone) logo example, for GEF4 Zest in the form of a (bundled and standalone) graph example. 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 or GEF4 Common (which is used in nearly all other components).

Externalization is fully supported by Draw2d 3.10.0, GEF (MVC) 3.10.0, and Zest 1.6.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 usability has not been formally evaluated by end-users, the development of the GEF4 components has been supervised by a certified usability engineer in person of the project lead. Nevertheless, the usability of the GEF4 Cloudio and GEF4 DOT user interfaces is known to be still eligable for improvements (see 467033 and 337644).

End of Life

No officially released API has been deprecated/removed in this release.

However, the Zest 2.x (provisional) code base, which had been developed since 2010 based on an initial fork of the Zest 1.x code base, has been fully migrated (and partly rewritten) into the new GEF4 Layout, GEF4 Graph, GEF4 Cloudio, GEF4 DOT, and GEF4 Zest components.

Standards

There are no standards of relevance for this project.

Communities

After the 3.9.0 (Kepler) release, which was the last release of the project including a review (there were only service releases thereafter), Alexander Nyßen has taken over project lead from Anthony Hunter, and the following inactive committers have been decommitterized:

  • Cherie Revells
  • Nick Boldt
  • Axel Boyko
  • Anthony Hunter (Committer Emeritus)
  • Ian Bull (Committer Emeritus)

The new project lead (Alexander Nyßen) has since promoted the project within several talks, mostly held at EclipseCon conferences in North America and Germany. He has written two magazin articles (one is about to appear) about GEF and - as the other active project team members - has blogged about GEF topics.

The GEF project team as a whole interacts with its (adopters and users) community via bugzilla, the mailing list, and the forum. It also closely collaborates with the e(fx)clipse project team, which provides the JavaFX-OSGi integration used by most of the new GEF4 components.

This release is part of Mars