| <!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" |
| content="text/html; charset=iso-8859-1"> |
| <title>Eclipse Tools - GEF Project</title> |
| <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" |
| type="text/css"> |
| <style> |
| <!-- |
| td { } |
| ul { margin-bottom: 0 } |
| h4 { margin-bottom: 0 } |
| h3 { margin-bottom: 2 } |
| --> |
| </style> |
| </head> |
| <body> |
| <table width="709" cellspacing="0" bordercolor="#111111" |
| style="border-collapse: collapse;" border="0"> |
| <tbody> |
| <tr> |
| <td width="709" colspan="3" valign="top"> <img |
| src="../images/gefbanner.jpg?cvsroot=Tools_Project" border="0"><br> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table border="0" cellpadding="3" cellspacing="0" |
| style="border-collapse: collapse;" bordercolor="#111111"> |
| <tbody> |
| <tr> |
| <td valign="top" bgcolor="#0070a0"><b> |
| <font face="Arial,Helvetica" color="#ffffff" |
| style="font-size: 20pt;">GEF Project<br> |
| Initial 3.1 Plan |
| (Final)</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <br> |
| Last revised |
| <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%A, %B %d, %Y" startspan -->Friday, July 08, 2005<!--webbot bot="Timestamp" endspan i-checksum="28382" --><ul> |
| <li><a href="#deliverables">Release deliverables</a></li> |
| <li><a href="#milestones">Release milestones</a></li> |
| <li><a href="#targets">Target operating environments</a></li> |
| <li><a href="#compatibility">Compatibility with previous releases</a></li> |
| <li>Major line-items for this release</li> |
| </ul> |
| <p> </td> |
| </tr> |
| <tr> |
| <td> |
| <h3><a name="deliverables">Release Deliverables</a></h3> |
| <ul> |
| <li> |
| <p dir="ltr">Source code release for Graphical Editing Framework, |
| available as versions tagged "R3_1" in the Eclipse Tools Project |
| <a href="http://dev.eclipse.org/viewcvs/index.cgi?cvsroot=Tools_Project"> |
| CVS repository</a>. |
| </li> |
| <li> |
| <p dir="ltr">Graphical Editing Framework SDK (includes runtime binary, |
| source code, and ISV documentation) (downloadable).</li> |
| <li>Graphical Editing Framework runtime binary (downloadable).</li> |
| <li>Graphical Editing Framework Examples and source (downloadable).</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <h3><a name="milestones">Release Milestones</a></h3> |
| <p>Release milestone occurring at roughly 6 week intervals exist to |
| facilitate coarse-grained planning and staging. The milestones are:</p> |
| <ul> |
| <li>Friday Aug. 13, 2004 - Milestone 1 (3.1 M1) - stable build |
| </li> |
| <li>Friday Sep. 24, 2004 - Milestone 2 (3.1 M2) - stable build |
| </li> |
| <li>Friday Nov. 5, 2004 - Milestone 3 (3.1 M3) - stable build |
| </li> |
| <li>Friday Dec. 17, 2004 - Milestone 4 (3.1 M4) - stable build |
| </li> |
| <li>Friday Feb. 18, 2005 - Milestone 5 (3.1 M5) - stable build |
| </li> |
| <li>Friday Apr. 1, 2005 - Milestone 6 (3.1 M6) - stable build </li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <h3><a name="targets">Target Operating Environments</a></h3> |
| <p>GEF 3.1 will support all operating environments supported by the |
| Eclipse Platform itself. For a list of supported environments, |
| refer to the |
| <a href="http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_1.html"> |
| Platform 3.1 plan</a>.</td> |
| </tr> |
| <tr> |
| <td> |
| <h3><a name="compatibility">Compatibility of Release 3.1 with 3.0</a></h3> |
| <p>GEF 3.1 will be upwards compatible with GEF 3.0 to the |
| greatest extent possible. We anticipate a small number of areas where |
| maintaining compatibility would not be in the best interests |
| of GEF or its clients. All such exceptions will be noted in the 3.1 |
| release notes so that clients can assess the impact of these changes on |
| their plug-ins and products.</p> |
| <p><b>API Contract Compatibility:</b> GEF 3.1 will be upwards |
| contract-compatible with GEF 3.0 unless noted. This means that programs |
| in full compliance with contracts specified in 3.0 APIs will |
| automatically be in full compliance with 3.1 APIs. Refer to <i> <a |
| href="http://eclipse.org/eclipse/development/java-api-evolution.html"> |
| Evolving Java-based APIs</a></i> for a discussion of the kinds of API |
| changes that maintain contract compatibility.</p> |
| <p><b>Binary (plug-in) Compatibility:</b> GEF 3.1 will be upwards |
| binary-compatible with GEF 3.0 unless noted. This means that plug-ins |
| built for GEF 3.0 will continue to work correctly in 3.1 without |
| change. Plug-ins with hard-coded references in their plug-in manifest |
| file to the 3.0 version of GEF plug-ins will work in 3.1 provided the |
| version match rule is "greaterOrEqual" or "compatible" (the default); |
| references using "perfect" or "equivalent" match rules will be broken. |
| Refer to <i> <a |
| href="http://eclipse.org/eclipse/development/java-api-evolution.html"> |
| Evolving Java-based APIs</a></i> for a discussion of the kinds of API |
| changes that maintain binary compatibility.</p> |
| <p><b>Source Compatibility:</b> GEF 3.1 will be upwards |
| source-compatible with GEF 3.0 to the greatest extend possible. This means that source |
| files written to use 3.0 APIs can often be successfully compiled and run |
| against GEF 3.1 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.</p> |
| <p><b>Non-compliant usage of API's</b>: 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 <i> <a |
| href="http://www.eclipse.org/articles/Article-API%20use/eclipse-api-usage-rules.html"> |
| How to Use the Eclipse API</a></i> for information about how to write |
| compliant plug-ins.</p> |
| </td> |
| </tr> |
| <tr> |
| <td bgcolor="#0070a0"> |
| <h3><a name="Features"><font color="#FFFFFF">3.1 Features</font></a></h3> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <h4>Committed Items</h4> |
| <blockquote> |
| <p><b>ShortestPathConnectionRouter.</b> A draw2d connection router |
| which will take advantage of the shortest path routing algorithm |
| introduced in 3.0. Such a router requires layout notification |
| from a container figure defining the obstacles which are being |
| avoided by the router. The router should also support an |
| optional list of user BendPoints. [draw2d]</p> |
| <p><b>Constrained horizontal ordering for nodes in a DG.</b> |
| Ability constraint the left-to-right ordering of nodes in a directed |
| graph. If a node has a non-negative constraint, then its LTOR |
| order in a given row will be constrained among other nodes with |
| non-negative constraints. This can be used to guarantee the |
| order of subgraphs or nodes when it has meaning, for example when |
| visually representing a switch statement or exception handling. |
| [draw2d]</p> |
| <p dir="ltr"><b>Performance improvements for ConnectionRouter.</b> |
| Connection routers re-route whenever a connection anchor indicates |
| that this is necessary. Currently this occurs too often. |
| We will introduce a new notification for coordinate system changes |
| which will reduce the frequency of connection re-routing. [draw2d]</p> |
| <p dir="ltr"><b>EMF based GEF example.</b> An example which |
| uses an EMF model. The example will be an editor for ecore |
| itself, allowing the user to diagram ecore classes and packages |
| visually. The model will be split between business and view |
| data.</p> |
| <p dir="ltr"><b>Better and faster horizontal coordinate assignment |
| in DG.</b> Assigning horizontal coordinates to nodes in a |
| directed graph layout is computationally expensive. There is a |
| linear algorithm for directed graphs which produces results of |
| similar quality. The algorithm could probably be extended to |
| compound directed graphs.</p> |
| <p dir="ltr"><b>Support for mirroring.</b> All aspects of GEF work |
| properly when displayed in a mirrored (RTL) workbench.</p> |
| </blockquote> |
| <blockquote> |
| <p dir="ltr"><b>WYSIWYG Text Editing.</b> Improved performance |
| and memory requirements for the draw2d text package. Better |
| line breaking behavior. Support for BiDi text spanning across |
| multiple text figures. Support for selection rendering and caret |
| calculations. New example which prototypes textual editing.</p> |
| <p dir="ltr"><b>Advanced graphics support.</b> Expose new advanced |
| graphics functionality in SWT in a way consistent with existing |
| graphics features.</p> |
| </blockquote> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </body> |
| </html> |