Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "GEF/GEF4"

< GEF
m
(Replaced contents with short introduction and pointer to new documentation location.)
 
(119 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__
+
[[GEF/GEF4 | GEF4]] is the initial name for the the fourth generation API of the [http://www.eclipse.org/gef Graphical Editing Framework (GEF)]. It superseded the [https://www.eclipse.org/gef/draw2d/ Draw2d 3.x], [https://www.eclipse.org/gef/gef_mvc/index.php GEF (MVC) 3.x], and [https://www.eclipse.org/gef/zest/index.php Zest 1.x] legacy components, which are not developed further but only maintained.
  
[[GEF/GEF4 | GEF4]] is the unified effort to develop a new GEF 4.x code base as a modernization of the current one (Draw2d, GEF (MVC) 3.x, and Zest 1.x, in the following referred to as ''GEF proper''). Being developed in parallel to maintaining the GEF proper code base, [[GEF/GEF4 | GEF4]] is set up as a set of provisional [[#Components | components]], not being bound to the same API compatibility constraints.  
+
With the [https://projects.eclipse.org/projects/tools.gef/releases/5.0.0-oxygen Oxygen release] GEF4 was evolved into GEF 5.0.0, as outlined in [http://nyssen.blogspot.de/2017/02/gef4-1-gef-5.html#Merger%20of%20MVC%20and%20MVC.FX 'GEF4 + 1 = GEF 5'], while the term 'GEF-Legacy' was established to refer to the legacy production components.
  
Additional information about our plans and can be inferred from the following talks:
+
For further information, please consider the [https://github.com/eclipse/gef#eclipse-graphical-editing-framework-gef GitHub README] or the meta-data at [https://projects.eclipse.org/projects/tools.gef projects.eclipse.org].
* [http://www.eclipsecon.org/2012/sites/eclipsecon.org.2012/files/GEF_Past_Present_Future_0.pdf Alexander Nyßen (2012): GEF - Past, Present, and Future, EclipseCon NA, Reston (VA), 2012]
+
* [http://www.eclipsecon.org/europe2012/sites/eclipsecon.org.europe2012/files/GEF4_Share_And_Enjoy_0.pdf Alexander Nyßen (2012): GEF4 - Share And Enjoy..., EclipseCon Europe, Ludwigsburg, 2012]
+
* [http://www.eclipsecon.org/2013/sessions/gef4-share-and-enjoy Alexander Nyßen (2013): GEF4 - (Continue to) Share and Enjoy..., EclipseCon NA, Boston (MA), 2013]
+
* [[media:GEF4_SwtFX.pdf | Alexander Nyßen (2013): GEF4 SwtFX (Lightning Talks), EclipseCon Europe, Ludwigsburg, 2013 ]]
+
* [[media:GEF4.pdf | Alexander Nyßen (2013): GEF4, RheinJug, Düsseldorf, 2013 ]]
+
 
+
== Current Status ==
+
Having functionally completed the GEF4 Geometry and GEF4 Cloudio components, work is currently being spent on developing a JavaFX-based replacement for the core of GEF (GEF4 FX, GEF4 SwtFX, GEF4 MVC), as well as further migration of the former Zest2 code base (GEF4 Layout, GEF4 Graph).
+
 
+
== Components ==
+
* [[Image:Ok_green.gif]][[GEF/GEF4/Geometry | GEF4 Geometry (Geometry / Geoemtry.Convert.SWT / Geometry.Convert.FX)]] - Provides different abstractions (Euclidean, Projective, Planar) for 2D geometric calculations, and conversions of planar geometries (curves, shapes, poly shapes) to/from respective SWT, AWT, and JavaFX equivalents (as well as conversions between SWT and AWT geometries). ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=355997 355997])
+
 
+
* [[Image:Progress.gif]][[GEF/GEF4/FX | GEF4 FX]]  - Provides JavaFX Geometry Node implementations and other utilities. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=427114 427114])
+
 
+
* [[Image:Progress.gif]][[GEF/GEF4/SwtFX | GEF4 SwtFX]]  - Provides JavaFX Node implementations for SWT Controls, so that you can embed SWT Controls in a JavaFX scene graph using the JavaFX SWT integration. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=410772 410772])
+
 
+
* [[Image:Progress.gif]][[GEF/GEF4/MVC | GEF4 MVC (MVC / MVC.UI / MVC.FX / MVC.FX.UI)]]  - Core model-view-controller framework to build up graphical editors and views. Provides an UI toolkit independent and a JavaFX specific layer, and can be used to build standalone and Eclipse-integrated editors and views ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=419805 419805])
+
 
+
* [[Image:Progress.gif]][[GEF/GEF4/Layout |  GEF4 Layout]] - Will provide a data model for layout calculations as well as basic layout algorithms. Will be based on the contents of the <code>org.eclipse.draw2d.graph</code> package as well as on the SWT/JFace independent parts of the <code>org.eclipse.zest.core.layouts</code> plug-in.( [https://bugs.eclipse.org/bugs/show_bug.cgi?id=394219 394219])
+
 
+
* [[Image:Progress.gif]][[GEF/GEF4/Graph |  GEF4 Graph]] Will provide a UI-independent data model for representing graph structures, as well as an import/export functionality from/to GraphViz DOT representations.
+
 
+
* [[Image:Ok_green.gif]][[GEF/GEF4/Cloudio | GEF4 Cloudio]]  - Provides support for visualizing tag clouds. (Refactored out of the Zest2 code base, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=420061 420061] for details)
+
 
+
* [[Image:Progress.gif]][[GEF/GEF4/Zest | GEF4 Zest]] - Transferred from original Zest2 code base, already adopted to GEF4 namespace and versioning, and integrated into GEF4 Git repository and update-site. Not yet fully adopted/re-modularized to depend on other GEF4 components only (i.e. still dependent on Draw2d 3.x). However, the [[GEF/GEF4/Layout | GEF4 Layout]], [[GEF/GEF4/Graph | GEF4 Graph]], and [[GEF/GEF4/Cloudio | GEF4 Cloudio]] components have already been factored out ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=372365 372365]).
+
 
+
== Bugs/Enhancements ==
+
Bugzilla components (for those listed above) are created one by one as parts of the remaining code base are migrated. In addition, all bugs related to [[GEF/GEF4 | GEF4]] are prefixed <code>[GEF4]</code>. [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&list_id=674650&short_desc=%5BGEF4%5D&short_desc_type=casesubstring&classification=Tools&product=GEF Here] is a list of all bugs currently related to [[GEF/GEF4 | GEF4]].
+
 
+
== Source Code ==
+
The complete source code of [[GEF/GEF4 | GEF4]] is located in the [http://git.eclipse.org/c/gef/org.eclipse.gef4.git/ GEF4 Git repository]. For further information on how to obtain it and how set-up in order to contribute, please refer to the [[GEF/Contributor Guide | GEF Project Contributor Guide]].
+
 
+
== Update Sites ==
+
A Tycho-based build infrastructure for the GEF4 provisional component has been configured under [https://hudson.eclipse.org/hudson/job/gef4-master https://hudson.eclipse.org/hudson/job/gef4-master]. The build job is triggered hourly in case of changes to the source code repository and further once per day. It produces an update-site, which does not get promoted to downloads.eclipse.org, but can directly be consumed from:
+
 
+
* [https://hudson.eclipse.org/hudson/job/gef4-master/lastSuccessfulBuild/artifact/update-site https://hudson.eclipse.org/hudson/job/gef4-master/lastSuccessfulBuild/artifact/update-site]
+
 
+
In addition to this, integration, milestones, and release builds are promoted to downloads.eclipse.org and can be found here:
+
 
+
* [http://download.eclipse.org/tools/gef/gef4/updates/integration http://download.eclipse.org/tools/gef/gef4/updates/integration]
+
* [http://download.eclipse.org/tools/gef/gef4/updates/milestones http://download.eclipse.org/tools/gef/gef4/updates/milestones]
+
* [http://download.eclipse.org/tools/gef/gef4/updates/releases http://download.eclipse.org/tools/gef/gef4/updates/releases]
+
 
+
Note that while integration builds are promoted automatically once per week (every friday), milestone and release builds are published only manually on the respective occasions (not yet). Further note that these update sites are merged (so old builds are preserved), while the nightly update site gets replaced on each build.
+
  
 
[[Category:GEF]]
 
[[Category:GEF]]

Latest revision as of 10:09, 15 May 2017

GEF4 is the initial name for the the fourth generation API of the Graphical Editing Framework (GEF). It superseded the Draw2d 3.x, GEF (MVC) 3.x, and Zest 1.x legacy components, which are not developed further but only maintained.

With the Oxygen release GEF4 was evolved into GEF 5.0.0, as outlined in 'GEF4 + 1 = GEF 5', while the term 'GEF-Legacy' was established to refer to the legacy production components.

For further information, please consider the GitHub README or the meta-data at projects.eclipse.org.

Back to the top