Direkt zum Inhalt
Main Image
Bild
Hand-drawn diagram on paper on top of a wooden table
30. Juli 2025

Drupal's Modeler API veröffentlicht - lerne die Vorteile kennen

by Jürgen Haas

Als 2021 die ECA-Architektur entworfen und implementiert wurde, hatte die Entkopplung der ECA-Automatisierungsverarbeitung von der Benutzeroberfläche, die für die Benutzer wichtig ist, um diese Automatisierungen einfach zu definieren, oberste Priorität. In den letzten 4 Jahren hat dies Entwicklern und Endnutzern gleichermaßen geholfen. Das so genannte "Separation of concern"-Designmuster in modernen Softwareanwendungen hat ECA sehr geholfen. Allerdings haben wir im Laufe der Jahre auch festgestellt, dass wir wahrscheinlich nur einen Teil des Ziels erreicht haben. Mindestens zwei Aspekte haben Schwächen gezeigt oder waren gar nicht möglich:

Das erste Manko war, dass ECA als Prozessor und BPMN als Benutzeroberfläche nicht völlig unabhängig voneinander waren. Bestimmte Vor- und Nachbearbeitungen von Plugin-Eigenschaften und Konfigurationsformularen waren Teil von ECA. Auf der anderen Seite hat die BPMN lange Zeit nur begrenzte Verbesserungen erfahren, da sie auf ECA zugeschnitten war.

Dies führte zu dem zweiten Aspekt, dass es unmöglich war, die Benutzeroberfläche für andere Anforderungen im Drupal-Ökosystem wiederzuverwenden. Eine grafische Oberfläche wie die von BPMN würde zahlreiche andere Aufgaben viel benutzerfreundlicher machen:

  • AI-Agenten mit allen Tools, die sie brauchen, um zugewiesen und konfiguriert zu werden
  • AI Automators mit einer Kombination aus deterministischen und künstlichen Anweisungen
  • Migrationen in Drupal mit unzähligen Plugins für Datenquellen, Prozesse und Ziele
  • Views für die Erstellung von Datenbankabfragen
  • Datenmodellierung mit Inhaltstypen, Bundles, Feldern, Formularen und Anzeigen

Die Tatsache, dass die Nutzer gemischte Gefühle gegenüber BPMN haben, führte auch zu der Idee, sie durch andere UIs wie die von ReactFlow, n8n oder anderen zu ersetzen.

Dies führte zur Erfindung und Entwicklung der Modeler API, einem Drupal-Modul, das die Verbindung zwischen komplexen Konfiguratoren wie ECA, AI Agents, Migration und anderen auf der einen Seite und austauschbaren UIs wie BPMN und anderen auf der anderen Seite herstellt. Die wichtigsten Ziele sind:

  • Config Owner und UIs (Modellierer) wissen nichts über die Fähigkeiten oder die Geschäftslogik des jeweils anderen.
  • Beide Enden können ausgetauscht werden, ohne dass Daten verloren gehen:
    • Benutzer können die Konfiguration mit der UI ihrer Wahl bearbeiten
    • die gleiche Konfiguration kann mit verschiedenen UIs bearbeitet werden
    • verschiedene Konfigurationen können mit derselben Benutzeroberfläche bearbeitet werden, ohne dass die Benutzer jedes Mal neue Tools lernen müssen
  • Entwickler sollten sich entweder auf den Eigentümer der Konfiguration oder auf die Benutzeroberfläche konzentrieren können, nicht auf beides zusammen.
  • Die Modeler API bietet auch alle generischen Funktionen wie Routing, Listenerstellung, Berechtigungen, Menüintegration, Logging usw.

Version 1.0.0 wurde heute, am 30. Juli 2025, zusammen mit ECA 3.0.0 und BPMN.iO 3.0.0 veröffentlicht, während das AI-Modul sowie AI Agents und Drupal MCP ebenfalls Integrationen in ihren neuesten Dev-Branches haben, die bald in stabilen Versionen veröffentlicht werden sollten. Im Folgenden erfährst du mehr über die echten Vorteile für Entwickler und Endnutzer.

Wiederverwendbarkeit

Alles, was in der Modeler API implementiert wird, muss nur einmal gemacht werden und wird an vielen Stellen verwendet werden. Das Gleiche gilt für alle UIs, auch Modeler genannt, wie die bereits existierende BPMN, aber auch andere, die auf anderen Paradigmen und Technologien basieren. Die Drupal-Gemeinschaft kann dieses Framework nun nutzen, um schneller zu innovieren und zusammenzuarbeiten. Wenn Experten an verschiedenen UIs arbeiten, profitieren alle anderen von ihren Verbesserungen und Fehlerbehebungen, da nicht mehr jedes Modul mit komplexen Konfigurationsanforderungen seine eigene UI entwickeln muss.

Sicher, die aktuellen Versionen von Modeler API und BPMN werden wahrscheinlich noch nicht alle Anforderungen der anderen Module abdecken, die noch nicht mit der Integration in dieses neue Toolset begonnen haben. Aber die Modeler API und die sie unterstützenden Benutzeroberflächen werden kontinuierlich wachsen und neue Funktionen erhalten, um auch andere Szenarien zu bedienen. Jede Verbesserung wird jedoch nur einmal gemacht und dann von vielen genutzt werden.

Vollständig entkoppelte Benutzeroberfläche

Anwendungen, sowohl innerhalb als auch außerhalb von Drupal, müssen ihre Geschäftslogik implementieren. Dies richtig zu machen, kann eine Herausforderung sein und erfordert Wissen und Erfahrung von den Betreuern und Entwicklern. Bei Anwendungen, die auch eine komplexe Konfiguration erfordern, kommen noch weitere Anforderungen hinzu, die höchstwahrscheinlich nicht dem Wissen und der Erfahrung derselben Entwickler und Betreuer entsprechen. Deshalb ist es wichtig, den allgemeinen Zweck einer Anwendung von der Aufgabe zu trennen, eine benutzerfreundliche Möglichkeit zur Konfiguration solcher Anwendungen zu schaffen.

Die Aufteilung der Benutzeroberfläche in eigene Module und vor allem deren Wiederverwendung für verschiedene Zwecke kann verwirrend sein. Die Idee, dass ein und dieselbe Benutzeroberfläche für die Definition von Workflow-Automatisierungen, KI-Agenten, Migrationen, Ansichten und Inhaltstypen verwendet werden kann, klingt zunächst verrückt. Wir alle kommen aus einer Welt, in der jede Anwendung ihre eigenen Werkzeuge mitbringt, um sie zu konfigurieren. Das Ergebnis ist, dass die Nutzer/innen für jede einzelne Aufgabe, die sie bewältigen müssen, etwas Neues lernen müssen.

Die Modeler API zeigt, dass Abstraktion auch auf dieser Ebene erfolgreich angewendet werden kann. Und für visuell wichtige Unterscheidungen, bei denen die Benutzeroberfläche anwendungsspezifische Komponenten darstellen muss, um für den Endbenutzer sinnvoller zu sein, wird daran gearbeitet, benutzerdefiniertes Theming für jede Kombination von Konfigurationsbesitzer und Modeler zu unterstützen.

Wartbarkeit

Separation of Concern geht einher mit genau definierten Schnittstellen, damit die verschiedenen Komponenten sicher miteinander kommunizieren können. Die Wartung der einzelnen Komponenten wird dadurch exponentiell effizienter. Wenn du dich auf ein Thema konzentrierst, ohne dich um andere, vielleicht weniger bekannte Technologien kümmern zu müssen, kann die Entwicklung schneller voranschreiten und das Innovationstempo erhöhen.

Für die neue Version ECA 3.0 ergibt sich daraus eine brandneue Version, die in ihren Kernfunktionen unverändert geblieben ist. Die gesamte Codebasis bleibt unverändert, das Format der Konfigurationsentitäten ist immer noch dasselbe, nur das ECA UI Submodul wurde aktualisiert, so dass es ein Plugin bereitstellt, das sich in die Modeler API integriert, und alles andere wurde entfernt. Wenn es darum geht, die bestehenden ECA-Modelle zu bearbeiten, ist es immer noch die gleiche Software, ein Upgrade ist also überhaupt nicht riskant. Von nun an kann ECA gewartet und verbessert werden, ohne dass man sich um etwas anderes kümmern muss, als Plugins bereitzustellen und sie korrekt zu verarbeiten.

Für die BPMN 3.0-Version sind die Auswirkungen sogar noch größer. Es handelt sich jetzt um eine generische Benutzeroberfläche mit einem klar definierten Anwendungsbereich, und die Betreuer können die Integration und den Funktionsumfang erheblich verbessern. Lies mehr darüber unten.

Moderne Code-Basis

Während wir alles auseinandernehmen und ECA und BPMN so umgestalten, dass generische Funktionen in der Modeler-API landen, war es offensichtlich, dass wir auch die bestehende Codebasis aufräumen und gleichzeitig die neuesten Upstream-API-Verbesserungen nutzen müssen, um die Module für die Zukunft fit zu machen.

Der größte Teil davon fand in ECA statt:

  • Alle Plugins wurden auf die Verwendung von PHP-Attributen anstelle von Annotationen umgestellt
  • Die Konfiguration aller Plugins ist jetzt durch ein Konfigurationsschema definiert und kann validiert werden.
  • Hooks wurden in objektorientierte Klassen mit korrekter Dependency Injection umgewandelt.

Natürlich wurde die Modeler-API von Grund auf neu entwickelt, so dass sie den neuesten Codierungsstandards entspricht. Die BPMN-Benutzeroberfläche wurde jedoch von Grund auf überarbeitet und ermöglicht jetzt eine viel bessere Integration, die wir im nächsten Kapitel behandeln.

BPMN mit viel besserer Drupal-Integration

Die BPMN UI ist eine JavaScript-Bibliothek, die von verschiedenen Entwicklern auf einer anderen Plattform gepflegt wird. In Drupal haben wir diese Bibliothek "einfach" so integriert, wie sie ist, mit nur wenigen Anpassungen an die Drupal-Umgebung. Mit der neuen Architektur und den viel höheren Ambitionen, so dass sie für viel mehr Anwendungsfälle und Nutzer geeignet ist, bringt die Version 3.0 bahnbrechende Verbesserungen mit sich, die heute einen großen Unterschied machen, aber auch in Zukunft erhebliche Verbesserungen ermöglichen werden.

Was von den vorherigen Versionen übrig geblieben ist, ist der Canvas, in dem die Nutzer die Komponenten des Diagramms verschieben, neue Komponenten hinzufügen und vieles mehr können. Aber alles andere wurde durch Drupal-eigene Komponenten ersetzt. Die Oberfläche fühlt sich jetzt viel mehr wie eine Drupal-Anwendung an und macht die Endbenutzer noch effizienter, da der Arbeitsablauf für die Anforderungen in diesem Kontext optimiert wurde. Die wichtigsten Verbesserungen sind:

  • Das Eigenschaftsfeld auf der rechten Seite des Canvas wird verwendet, um das gesamte Modell und alle seine Komponenten zu konfigurieren. Dieses Eigenschaftsfeld wurde zuvor von der Bibliothek eines Drittanbieters zur Verfügung gestellt, die unnötige Teile für den Drupal-Kontext enthielt, während praktische Funktionen fehlten, die Drupal wirklich gut kann. Dieses Eigenschaftsfeld wird nun durch den Off-Canvas-Container aus dem Drupal-Kern ersetzt, und die Konfigurationsformulare sind native Drupal Form API-Formulare. Das ermöglicht maßgeschneiderte Formularfeld-Widgets und Zustände, so dass einzelne Felder je nach Kontext ausgeblendet werden können.
  • Dem Canvas wurden zusätzliche Widgets hinzugefügt. Sie wurden mit der brandneuen Icon API aus dem Drupal-Kern erstellt und machen zahlreiche Funktionen für Endnutzer/innen zugänglich, ohne dass sie sich Abkürzungen oder andere Tricks merken müssen. Vergrößern und Verkleinern, Kopieren und Einfügen auch über Browser-Tabs hinweg, eine Minikarte zur besseren Navigation in großen Modellen, Suche, automatisches Layout und mehr - das sind die Widgets, die die Nutzerinnen und Nutzer sicher nicht vermissen werden.
  • Auch das Hinzufügen von Farben zu den einzelnen Elementen im Canvas kann in manchen Fällen hilfreich sein, ebenso wie das Hinzufügen von Kommentaren. Aber das ist nur ein Vorgeschmack auf das, was in Zukunft möglich sein wird, z. B. wenn verschiedene Themen zur Verfügung stehen werden, damit die Modelle mehr dem Zweck der Geschäftslogik, die jedes der Modelle darstellt, angepasst werden können.

Das BPMN-Modul ist jetzt eine echte Drupal-Benutzeroberfläche und keine externe Bibliothek mehr. Das ist auch ein Wegbereiter für noch mehr Innovation, denn wir können jetzt Frontend-Experten einladen, uns dabei zu helfen, die Entwicklung auf eine Weise voranzutreiben, die mit der vorherigen Architektur nicht möglich war.

ECA-Verbesserungen und mehr Integrationen

Wir haben oben bereits die Wartungsfreundlichkeit und die moderne Codebasis angesprochen. Beide Themen sind von großer Bedeutung, vor allem für Entwickler und Betreuer. Aber auch die Endnutzer werden davon profitieren, da die Codequalität, die Nachhaltigkeit und der Funktionsumfang insgesamt zunehmen werden.

Abgesehen davon bringt ECA 3 auch neue Funktionen und Integrationen mit sich, die nicht unerwähnt bleiben sollten. Lassen Sie uns die 3 wichtigsten Verbesserungen nennen:

Config-Schema: Dies scheint nur eine technische Verbesserung zu sein, da ECA-Modelle jetzt validiert werden können. Aber das bringt auch eine neue Funktion mit sich, die oft vergessen wird. Da jede Konfigurationseigenschaft jetzt mit einem bestimmten Typ versehen ist, kann das Übersetzungsframework von Drupal Core die Eigenschaften identifizieren, die für den Benutzer wichtig sind, und sie mit demselben Toolset übersetzbar machen, das bereits für andere Teile von Drupal verwendet wird. Beispiele dafür sind Nachrichten und Renderelemente, die dem Endnutzer angezeigt werden, oder E-Mails, die verschickt werden. All diese Komponenten können nun wie bisher in ECA-Modellen verwendet werden, und auf einer separaten Ebene können die entsprechenden Inhalte übersetzt werden, ohne dass die Komplexität des Modells erhöht werden muss.

Field Widget Actions: Dies ist ein brandneues Modul, das derzeit vom AI Agents Modul bereitgestellt wird. Es ermöglicht es, Entity-Formulare so zu konfigurieren, dass neben jedem Formularfeld zusätzliche Widgets angezeigt werden. Wenn du auf diese Widgets klickst, wird im Backend ein Prozess ausgelöst, der entweder Inhalte zurückgibt, die in das entsprechende Formularfeld eingegeben werden müssen, oder einen Dialog mit Optionen zur Auswahl öffnet. Diese Feld-Widgets werden derzeit von AI Automators und AI Content Suggestions unterstützt. ECA 3 unterstützt sie jetzt ebenfalls. ECA-Modelle können so aufgebaut werden, dass sie solche Widgets übernehmen, um jede Art von Logik zu durchlaufen und den vorgeschlagenen Inhalt für jedes Feld in Entity-Formularen zu bestimmen.

KI-Tools: ECA-Modelle können jetzt auch so erstellt werden, dass sie nicht nur von KI-Agenten, sondern auch vom Drupal MCP-Server als Werkzeug erkannt werden. Es ist schwer vorstellbar, in welchem Umfang dies den gesamten Werkzeugkasten, der Website-Erstellern jetzt zur Verfügung steht, erweitern wird. Der Himmel ist deine Grenze; wenn dieser Satz jemals wahr war, dann ist er jetzt und hier.

Fazit

Drupal als Framework und Drupal CMS als Beispielprodukt, das innerhalb dieses Frameworks entwickelt wurde, werden auf ein neues Niveau gehoben. Etablierte Module wie ECA und BPMN werden grundlegend überarbeitet und verbessert. Mit der Modeler API wird eine Plattform eingeführt, die von der Community erst noch angenommen werden muss. In diesem Blogbeitrag werden die Vorteile für Entwickler/innen und Endnutzer/innen hervorgehoben. Die Drupal-Gemeinschaft weltweit sollte sich diese Vorteile zunutze machen und auf ihr aufbauen.

Tags

Tools

Neuen Kommentar hinzufügen

Klartext

  • Keine HTML-Tags erlaubt.
  • Zeilenumbrüche und Absätze werden automatisch erzeugt.
  • Website- und E-Mail-Adressen werden automatisch in Links umgewandelt.
CAPTCHA
Diese Sicherheitsfrage überprüft, ob Sie ein menschlicher Besucher sind und verhindert automatisches Spamming.