EMF Forms 1.8.0 Feature: Ecore Editor Reloaded

Eclipse Insights: Drei neue Editoren in EMF Forms 1.8.0

Maximilian Kögel, Jonas Helming

© Shutterstock / HelenField

Mit zweiten Update für Eclipse Mars (kurz Mars.2) wird auch EMF Forms 1.8.0 veröffentlicht. EMF Forms vereinfacht die Erstellung von Formularen zur Bearbeitung von Daten, basierend auf einem EMF-Modell. Mit dabei sind aber auch neue Versionen des Standard-Ecore-Editors und des Genmodel-Editors sowie ein ganz neuer generischer Editor.

Für den Einstieg in die Arbeit ist ein Blick in das entsprechende Tutorial empfehlenswert. Dieser Artikel stellt eins der neuen Features näher vor: Die neue Version des Ecore-Editors, basierend auf EMF Forms. Darüber werden wir auch auf der EclipseCon North America 2016 sprechen. Zusätzlich zur neuen Version des Standard-Ecore-Editors bringt das Update auch einen generischen Editor mit, der mit individuellen Modellen kompatibel ist und eine Alternative zum “generierten Editor” darstellt.

entwickler.tutorial - Microservices

Microservices mit Spring Boot, Spring Cloud und Docker

Eberhard Wolff

In diesem Tutorial wird man auf den Umgang mit Microservices vorbereitet. Eberhard Wolff erklärt zunächst, was Microservices eigentlich sind und mit welchen Chancen und Herausforderungen die Arbeit mit ihnen verbunden ist. Nachdem die Grundlagen etabliert wurden, erklärt er den Umgang mit der Container-Sofware Docker und den Umgang mit dem Spring Framework, die anhand eines Micoservices-Beispiels in der letzten Lektion noch einmal praktisch angewendet werden.

Ecore Editor

Die meisten Entwickler benutzen den guten, alten Standard-Ecore-Editor, wenn sie mit EMF arbeiten:

ecore1

Natürlich gibt es auch andere Werkzeuge zur Erstellung von Modellen, beispielsweise die grafischen Ecore Tools oder XCore. Der auf einer Baum-Darstellung basierende Editor hat allerdings immer noch einige große Vorteile. Er ist einfach zu verwenden und die Spezifikation von Modellen ist effizient. Die Implementierung ist allerdings schon mehr als 10 Jahre alt und wurde seitdem nicht mehr entscheidend weiterentwickelt. EMF Forms hilft dabei, Formular-basierte UIs aus bereits existierenden EMF-Daten-Modellen zu erstellen. Diese Formulare werden häufig in anderen Editoren verwendet, die die Bearbeitung von Modellen erlauben. Glücklicherweise gibt es auch ein EMF-Modell für Ecore selbst, was bedeutet, dass Ecore selbst auch ein EMF-Modell ist. Demnach können wir also den vollen Funktionsumfang von EMF Forms nutzen, um eine neue Version des Standard-Ecore-Editors zu erstellen:

ecore2

Wie man sieht, haben wir die Properties View entfernt und mit dem Baum in einem Editor zusammengefasst. Die Properties sind nun nach ihrer Wichtigkeit geordnet (statt alphabetisch, wie früher) und gruppiert. Auch wurden einige Felder zusammengefasst, wie beispielsweise die lower und upper bounds. Außerdem haben wir Custom Controlls hinzugefügt, wo es sinnvoll erschien, beispielsweise um Auto-Vervollständigung zu unterstützen. Zusätzlich haben wir noch Shortcuts und Dialoge für die Erstellung neuer Elemente eingeführt. Dadurch können Modelle erstellt werden, ohne die Tastatur zu verlassen, wodurch die Effizienz steigt.

ecore3

Ein Ecore-Editor macht aber ohne Genmodel-Editor keinen Sinn, also bekam auch dieser eine Überarbeitung:

ecore4

Leider sind diese Editoren noch in keinem Standard Eclipse Package enthalten. Sie sind aber Teil des EMF Client Platform 1.8.0 Release. Zur Installation und Verwendung empfehlen wir die Lektüre dieses Tutorials.

Da die Implementierung beider Editoren sich den meisten Code teilt, sind wir noch einen Schritt weiter gegangen und haben einen vollständigen generischen Editor implementiert, der jede Art von Custom Model öffnen kann. Dieser Editor wird im Folgenden beschrieben.

Generischer Editor

Der generierte Editor ist ein weiteres Tool, das häufig von EMF-Entwicklern genutzt wird. Damit können Instanzen eines vorhandenen EMF-Modells erstellt werden, was das Testen von Modellen erleichtert. Allerdings war auch dieser Editor verbesserungsbedürftig. Ursprünglich war er nur als einfaches Code-Beispiel gedacht, so dass er weder erweiterbar noch anpassbar ist und keinen guter Ausgangspunkt für die Implementierung eines Custom Editors darstellt. Um dieses Problem zu lösen, bieten wir nun zusätzlich einen generischen Editor an, der auf EMF Forms basiert und mit jedem Custom Model arbeiten kann. Er unterstützt standardmäßig auch Funktionen wie Loading/Saving, DnD und Undo. Darüber hinaus verwendet er EMF Forms zum Rendern, so dass die Controls und Layouts über die Detail Views den eigenen Wünschen angepasst werden können. Um es ganz deutlich zu sagen: Es handelt sich um einen voll funktionsfähigen Eclipse-Editor für die Erstellung und Modifikation von Instanzen eines Custom Models, ohne dass dafür programmiert, Code generiert oder Code angepasst werden muss.

ecore5

Alle drei Editoren, der Ecore-Editor, der Genmodel-Editor und der generische Editor werden aktiv weiter entwickelt und werden Teil von Neon sein. Wer sie bereits jetzt ausprobieren möchte, sollte dieses Tutorial lesen. Feedback kann per Bug-Report oder Feature-Request gegeben werden, für Fragen zu Verbesserungen oder für Support können Sie uns kontaktieren.

Auf der EclipseCon North America können Sie die Editoren außerdem live in Action sehen und unseren Vortrag darüber anhören.

Aufmacherbild: Mars via Shutterstock / Urheberrecht: HelenField

Geschrieben von
Maximilian Kögel
Maximilian Kögel
Dr. Maximilian Kögel ist Geschäftsführer der EclipseSource München GmbH und arbeitet als Senior Software Architect im Bereich Eclipse- und Web-Technologie. Neben seiner Fokussierung auf das Eclipse Modeling Framework und Eclipse RCP ist er auch mit der Entwicklung von Webapplikationen mit AngularJS, Web Components und JSON Schema vertraut. Ein Kernthema seiner Arbeit ist das Erstellen von Modellierungswerkzeugen basierend sowohl auf einem Eclipse- als auch einem Web Technologiestack. Er ist ein aktives Mitglied der Eclipse-Community, regelmäßiger Sprecher auf EclipseCons, Leiter und Committer bei mehreren Eclipse Projekten, u.a. EMFForms und EMF Core und nicht zuletzt Mitglied im Eclipse Architecture Council. Auch außerhalb des Eclipse Ökosystems ist er in Open-Source-Projekten aktiv und leitet z.B. das JSONForms-Projekt zur Entwicklung von Web-Applikationen. Als Berater und Trainer verfügt er über langjährige Erfahrung in der Anwendung und Vermittlung von Expertenwissen rund um Java, Eclipse und Web-Technologien sowie agilen Prozessen.
Jonas Helming
Jonas Helming
Dr. Jonas Helming ist Geschäftsführer der EclipseSource München GmbH sowie Consultant, Trainer und Software Engineer im Bereich Eclipse-Technologie. Seine Schwerpunkte liegen neben Java auf den Technologien Eclipse RCP, Eclipse-Modellierung und Eclipse 4. Weiterhin verfügt er über mehrjährige Erfahrung in der Etablierung und Anwendung von agilen Prozessen. Jonas ist aktives Mitglied der Eclipse-Community, leitet mit der EMF Client Plattform und dem EMFStore zwei bei der Eclipse Foundation gehostete Open-Source-Projekte und ist in einigen weiteren aktiv beteiligt. Als Berater und Trainer verfügt er über mehrjährige Erfahrung in der Vermittlung von Themen rund um Java und Eclipse sowie agilen Prozessen und hält einen Lehrauftrag der Technischen Universität München. Darüber hinaus ist er als Speaker regelmäßig auf Kernkonferenzen wie der JAX oder der EclipseCon. Kontakt: jhelming@eclipsesource.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: