Project Plan For GEF - Graphical Editor Framework, version 3.5.0

Introduction

This document lays out the feature and API set for the next feature release of the Graphical Editing Framework (GEF) project, designated release 3.5.0.

Release Deliverables

The release deliverables are:

  • GEF source code for the release is available in the eclipse.org CVS repositories .
  • GEF runtime binaries and SDK distributions (downloadable).
  • GEF runtime binaries and SDK features on eclipse.org update site (install via Eclipse update manager).

Table of Contents

Release Milestones

GEF builds are available weekly as Integration builds. GEF Milestone Releases are approximately one week after the Eclipse Milestone Releases. It is anticipated that GEF will synchronize its release milestones with the Galileo release schedule .

M1 08/20/2008
M2 09/24/2008
M3 11/05/2008
M4 12/17/2008
M5 02/03/2009
M6 03/16/2009

API freeze

M7 05/04/2009
RC1 05/18/2009
RC2 05/25/2009
RC3 06/01/2009
RC4 06/08/2009
RC5 06/15/2009
2.2.0 06/26/2009

Table of Contents

Target Environments

GEF 3.5 will support all operating environments supported by the Eclipse Platform itself. For a list of supported environments, refer to Eclipse Project 3.5 plan for a list of reference platforms.

Table of Contents

Compatibility with Previous Releases

GEF 3.5 will be upwards compatible with GEF 3.4 to the greatest extent possible. Any exceptions will be noted in the 3.5 release notes so that clients can assess the impact of these changes on their plug-ins and products.

API Contract Compatibility: GEF 3.5 will be upwards contract-compatible with GEF 3.4 unless noted. This means that programs in full compliance with contracts specified in 3.4 APIs will automatically be in full compliance with 3.5 APIs. Refer to Evolving Java-based APIs for a discussion of the kinds of API changes that maintain contract compatibility.

Binary (plug-in) Compatibility: GEF 3.5 will be upwards binary-compatible with GEF 3.4 unless noted. This means that plug-ins built for GEF 3.4 will continue to work correctly in 3.5 without change. Plug-ins with hard-coded references in their plug-in manifest file to the 3.4 version of GEF plug-ins will work in 3.5 provided the version match rule is "greaterOrEqual" or "compatible" (the default); references using "perfect" or "equivalent" match rules will be broken. Refer to Evolving Java-based APIs for a discussion of the kinds of API changes that maintain binary compatibility.

Source Compatibility: GEF 3.5 will be upwards source-compatible with GEF 3.4 to the greatest extent possible. This means that source files written to use 3.4 APIs can often be successfully compiled and run against GEF 3.5 APIs. Since source incompatibilities are easy to deal with, maintaining source compatibility is considered much less important than maintaining contract and binary compatibility. The addition of a single method anywhere could be an incompatible source change. For this reason, source-incompatibilities will not be noted.

Non-compliant usage of API's : All non-API methods and classes, and certainly everything in a package with "internal" in its name, are considered implementation details which may vary between operating environment and are subject to change without notice. Client plug-ins that directly depend on anything other than what is specified as API are inherently unsupportable and receive no guarantees about compatibility within a single release much less with an earlier releases. Refer to How to Use the Eclipse API for information about how to write compliant plug-ins.

Table of Contents

Themes and Priorities

The project has identified major areas of work, that will be the priorities for this development cycle. These areas will address the major themes identified by the Eclipse Requirements Council ( Eclipse 2007 Themes and Priorities ).

Consumability

This work will make it easier to make effective use of the GEF components. We seek to deliver small enhancements and defect fixes that are important for our consumers. We seek to addresses issues that block the effective use of the GEF framework. A list of those plan items related to Consumability can be found by searching Bugzilla for flag=galileo.

  • Committed
    • Support the new SWT Line Attributes [168311] (target milestone: 3.5 M4)
    • Adopt API Tooling [250996] (target milestone: 3.5 M3)
  • Proposed
    • ScaledGraphics does not implement setBackgroundPattern [236652] (target milestone: ---)
    • Add Figure Providers [154579] (target milestone: ---)
    • Add progress report to Horizontal Shift [164736] (target milestone: ---)
    • Support customization of mouse drag behavior [202849] (target milestone: ---)
    • Connection label is always in the center [213058] (target milestone: ---)
    • Zest Algorithm for resizing nodes ignores the label or text in these nodes. [213548] (target milestone: ---)
    • Add custom graph items [215040] (target milestone: ---)
    • GraphViewer overwrites edge label on bidirectional graphs [224753] (target milestone: ---)
    • addNode and addRelationship problem [230375] (target milestone: ---)
    • Extended Zest Tree Layouts to Support Weighted Trees [231319] (target milestone: ---)
    • Can not disable tooltips on GraphNode's & GraphConnection's [233571] (target milestone: ---)
    • provide horizontal variant of DirectedGraphLayoutAlgorithm [236731] (target milestone: ---)
    • [Zest] Fisheye nodes should be removed before applying layout [237630] (target milestone: ---)
    • [Zest] Support post layout listeners [237632] (target milestone: ---)
    • Implement Pattern for ScaledGraphics [132361] (target milestone: ---)
    • ScaledGraphics does not support setClip(Path) [184651] (target milestone: ---)
    • Gradient Support [241100] (target milestone: ---)
    • getAdvanced() should be added to Graphics [101504] (target milestone: ---)
    • Investigate support for improved connection rendering in nested viewer [154745] (target milestone: ---)
    • Connections outside containers [195527] (target milestone: ---)
    • implement rotate for ScaledGraphics [130419] (target milestone: ---)
  • Deferred
    • No items.

Table of Contents

view raw xml of project plan
from project meta-data key "projectplanurl"