The main topics for 0.18.0 release of Graphiti is fixing bugs.
Graphiti is part of the 2021.06 Eclipse release train since M2. Eclipse will contain the Graphiti framework, examples, tools and tests. Graphiti has joined the release train for the first time with Eclipse Indigo.
The project leadership certifies that the APIs in this release are "Eclipse Quality".
Graphiti’s architecture is solid and basically unchanged since the basis of the framework was already productive within SAP SE for several years. There were no changes from architecture point of view in the 0.18.0 timeframe.
Some parts of the framework coding needing some rework (e.g. in the rendering area) which could not be addressed within this release and will be targeted for one of the next releases.
Graphiti will stay in the incubation mode. The reason for this is that there are too many open questions with respect to supporing e4 RCP applications and the GEF framework.
The currently used GEF 3.x rendering appears to work fine but has several shortcommings/issues with rendering, e.g. off-by-one-issues. Fixing them would mean to invest massive effort within the Graphiti framework.
GEF 4/5 or JavaFX offer themselves as alternative new rendering engines with much more future potential, but switching Graphiti to one of them also requires huge effort first in investigating these alternatives and second in writing a completely new UI layer for one of the frameworks.
The second alternative appears much more promising and seems to be the way to go. Unfortunatly, for both things there is currently no capacity in the available development resources. Unless there is much more engagement in framework development for Graphiti we can only stick to the current GEF 3.x based rendering engine and live with the limitations.
Leaving incubation should happen only after the new rendering engine is in place, because that change will require massive API changes throughout the complete framework.
There are no known vulnerabilities within Graphiti.
User documentation is available as part of the Graphiti SDK/SDK+ installation from the update site
A large part of this documentation consists of a tutorial that introduces users step by step to the most common features of Graphiti
The tutorial and documentation have been updated to reflect the changes done within the framework
Further examples are part of the Graphiti tests and can be synced from Git
The project website is available at http://www.eclipse.org/graphiti
Graphiti can be downloaded via p2 update sites and as a zipped version of the site
Graphiti Feature (the framework)
Examples Feature (includes examples, doc plugin with eclipse help integration and javadoc)
Export Feature (diagram export to SVG)
Tools Feature (tools that can be used to create Graphiti-based editors)
SDK Feature (framework, examples, additionally includes sources to enable debugging)
SDK+ Feature (additionally includes optional parts, currently the SVG exporter)
Graphiti uses a Maven- and Jenkins-based build and test infrastructure
The framework plugins are provided with dedicated test plugins checking their valid behavior
Unit and SWTBotTests are executed as a part of the Maven Build on the Graphiti JIPP at Eclipse Jenkins
Each new build is tested at least with Eclipse 2021-06, another test environment is Eclipse 2020-06
Graphiti is part of the Release Train since Eclipse Indigo (M4)
Conforms To UI/UX Guidelines:
Tutorial supports the getting started process for new users
Good results in tool building can be achieved early
Short turnaround cycles support incremental development
Easy debugging enables fast problem solving (compared to frameworks based on code generation)
Test preferences allow user to enable additional means to identify and analyze issues besides debugging
End of Life:
There are no deprecated or removed features within this release.
Execution Environment JavaSE 8
Supports Eclipse Platforms 2021-06 and 2020-06
Based on Draw2D/GEF 3.x and SWT, de-facto standards for graphics in Eclipse
Integrated with and based on EMF, de-facto standard for modeling in Eclipse
No native components, therefore there are no further requirements to the execution environment