
Drupal Modeler API bereit zum Testen
Die Modeler API ist ein neues Modul, das von der Drupal-Gemeinschaft entwickelt wurde, um den Anforderungen bestehender Module und Ökosysteme mit komplexen Konfigurationen gerecht zu werden. Sie bietet moderne und einfach zu bedienende Benutzeroberflächen für nicht-technische Benutzer, damit diese ihre eigenen Websites selbstständig erstellen, ändern und pflegen können. Beispiele für solche Ökosysteme sind ECA (Events, Conditions, Actions - die moderne Regel-Engine von Drupal), AI Agents und Migrations.
Aktueller Stand
Es sind 4 Module involviert, die im Moment zum Testen bereit sind:
- Modeler API 1.0.0-alpha4
- ECA 3.0.0-alpha4
- BPMN.iO 3.0.0-alpha4
- AI Agents 1.1.x-dev
Diese Kombination von Modulen erfordert Drupal Core 11.2 oder höher. Du solltest also mit der neuesten Beta-Version oder vielleicht sogar mit einem Release Candidate beginnen, der vielleicht schon verfügbar ist, wenn du das hier ausprobierst.
Diese Module stehen kurz vor der Beta-Phase, aber es fehlen noch kleinere Dinge, die einige der bestehenden Schnittstellen leicht verbessern könnten. Wir planen jedoch, in den nächsten Wochen stabile Versionen zu veröffentlichen. Deshalb bitten wir dich, sie auszuprobieren und uns zu berichten, was du findest.
So testest du die Modeler API
Bitte installiere eine Drupal 11.2 Website mit den oben genannten Modulen in den genannten Versionen (oder höher).
Teste zu diesem Zeitpunkt noch nicht mit bestehenden ECA-Modellen oder KI-Agenten. Wir müssen noch das Migrationsskript bereitstellen, um bestehende Modelle in die erweiterte Struktur zu konvertieren. Es ist nichts Großes, aber einige Dinge wurden verbessert und werden die zukünftige Wartung sehr viel einfacher machen.
Wenn du Probleme findest, melde sie bitte in den Problemwarteschlangen der jeweiligen Module. Wenn du dir nicht sicher bist, welches Modul das Problem verursacht, wende dich einfach an die Modeler API und wir kümmern uns anschließend darum. Je mehr Details du zur Verfügung stellen kannst, desto besser. Stack Traces, exportierte Modelle (Config Entities) oder sogar kurze Videoclips sind in dieser Phase sehr hilfreich.
Was das für die Modeler API bedeutet
Die Modeler API ist die Orchestrierung zwischen Modelleigentümern (ECA, Agents, Migration) und Modellierern (BPMN.iO, etc.). Modelleigentümer und Modellierer haben keine direkte Verbindung mehr, alles läuft über die API. Und die kommt mit einer eigenen Einstellungsseite unter /admin/config/workflow/modeler_api
Dort findest du für jede Kombination von Modelleigentümern und Modellierern ein Feld, mit dem du festlegen kannst, wie sich jede dieser Kombinationen verhält. Derzeit gibt es 3 Einstellungen für jede Kombination:
- Thema: Im Moment gibt es nur eine Standardeinstellung, aber sie bereitet das System darauf vor, das Aussehen der Benutzeroberfläche für jeden Modelleigentümer anzupassen.
- Drupal Form API: Ja, BPMN.iO nutzt jetzt standardmäßig die Drupal Form API, was die Benutzerfreundlichkeit deutlich verbessert und es uns ermöglicht, in Zukunft viele weitere ausgefallene Funktionen zu entwickeln
- Speicherung: Die Modelle werden von den Modulen des Modelleigentümers gesteuert, aber es gibt auch die Rohdaten des Modellierers, die zu jedem der Modelle gehören. Die Speicherung dieser Rohdaten wird von der Modeler-API geregelt, der Modelleigentümer muss sich darum nicht kümmern. Und hier kannst du wählen, ob die Rohdaten überhaupt nicht gespeichert werden sollen oder als Einstellungen von Dritten im Modell oder als separate Konfigurationseinheit.
Für die Testübung, die uns gerade interessiert, ist vor allem die Speichereinstellung wichtig. Bitte probiere sie alle aus. Hier sind ein paar Hinweise dazu:
- Wenn die Rohdaten nicht gespeichert werden, geht nur das Layout des Diagramms verloren, aber das ist technisch nicht erforderlich. Für den Nutzer kann es aber wichtig sein.
- Wenn die Rohdaten in einer separaten Konfigurationsentität gespeichert werden, enthält die Drittanbietereinstellung des Modells einen MD5-Hash dieser Rohdaten, damit die Modellierer-API überprüfen kann, ob die Modelldaten und die Rohdaten des Modellierers noch übereinstimmen, wenn das Modell erneut zur Bearbeitung geöffnet wird. Wenn dies nicht der Fall ist, werden die Rohdaten verworfen und das Layout wird von Grund auf neu erstellt.
- Wenn die Rohdaten zusammen mit dem Modell gespeichert werden, findest du das in den Einstellungen für Drittanbieter. Dadurch erhöht sich zwar die Speichergröße, aber es sind keine weiteren Nebenwirkungen zu erwarten.
Was das für ECA bedeutet
Eigentlich ist ECA von dieser Änderung nicht wirklich betroffen. Nur das ECA UI-Submodul wurde geändert, alles andere bleibt unberührt. Die Verarbeitung der Modelle hat sich also überhaupt nicht verändert. Es geht nur um die Interaktion zwischen ECA und dem BPMN.iO-Modellierer. Vergiss aber nicht, das ECA UI-Submodul zu aktivieren, denn es wird benötigt, um mit der Modeler API als UI für ECA zu interagieren.
Außerdem haben wir eine Menge Code entfernt, der nichts mit der ECA-Verarbeitung zu tun hat. Und das sind fantastische Neuigkeiten, die uns mit ECA weiterbringen. Aber natürlich müssen all diese Aussagen überprüft werden, und deshalb ist es so wichtig, sie jetzt zu testen.
Es gibt unter anderem eine neue Funktion, die im Zusammenhang mit den KI-Agenten wichtig ist: Es gibt ein neues Ereignis "Werkzeuge". Damit kannst du ein Modell definieren, das mit einem solchen Ereignis beginnt und den KI-Agenten als Werkzeug zur Verfügung gestellt wird. Auf diese Weise kannst du den Agenten zusätzliche Funktionen zur Verfügung stellen, ohne PHP-Code schreiben zu müssen. Wenn du solche Tools verwendest, musst du auch die Eingabedaten konfigurieren, die die Agenten bereitstellen müssen, wenn sie solche Tools nutzen. Zurzeit geschieht das in einem Textfeld, indem du das YAML-Format manuell eingibst. Wir planen jedoch, dafür bald ein einfacheres Widget zur Verfügung zu stellen. Die Dokumentation für diese Eingabedaten-Definition wird in den nächsten Tagen separat veröffentlicht.
Was bedeutet das für BPMN.iO?
Eine Menge, ist die kurze Antwort. Der Modeler wurde fast vollständig verändert. Wir haben nicht nur das Eigenschaftspanel eines Drittanbieters auf der rechten Seite entfernt und durch die Drupal Form API ersetzt, sondern auch alle anderen Dinge neu angeordnet und diese Benutzeroberfläche in einem viel höheren Tempo als bisher für zukünftige Verbesserungen vorbereitet.
Zum Beispiel die Aktionspunkte: Die Schaltflächen wurden auf das reduziert, was im Wesentlichen die Übermittlung von Daten an die Drupal-Website ist, z. B. das Speichern des Modells oder das Exportieren als Archiv oder Rezept. Alle anderen Aktionspunkte wurden in den Canvas verschoben, wo sie als kleine Schaltflächen in der unteren linken Ecke zu finden sind. Ja, sie sehen noch nicht hübsch aus, und hier rufen wir um Hilfe: Wir brauchen jemanden, der uns dabei hilft, sie mit Icons und dem richtigen Styling zu versehen.
Neue Aktionspunkte sind:
- Kopieren und Einfügen: Du kannst nicht nur ausgewählte Elemente im Canvas kopieren und einfügen, das funktioniert jetzt auch zwischen Browser-Tabs, sodass du Komponenten in andere Modelle kopieren kannst. Dabei wird der lokale Speicher des Browsers genutzt.
- Informationen: Damit wird ein Konfigurationsformular geöffnet, in dem du die Metadaten des aktuellen Modells bearbeiten kannst, z. B. Name, ID, Version, Dokumentation, Tags und Änderungsprotokolle.
- Layout: Mit diesem Element wird das aktuelle Diagramm automatisch schön gestaltet.
- Minikarte: Öffnet ein kleines Panel, mit dem du im Canvas navigieren kannst. Das ist nützlich, wenn du in den Canvas hineingezoomt hast (kann mit
ctrl-mouse-wheel
gemacht werden). Dafür sollten wir wahrscheinlich auch Aktionsschaltflächen hinzufügen!
In der Werkzeugpalette (oben links auf der Leinwand) findest du ein neues Element namens "Teilnehmer", auch bekannt als Swimlanes. Sie ermöglichen es dir, Dinge zu gruppieren. Das ist nur für visuelle Zwecke. Außerdem gibt es derzeit eine Einschränkung: Diese Swimlanes werden nur in Rohdaten gespeichert, was bedeutet, dass sie verloren gehen, wenn du die Rohdaten nicht speicherst (siehe Einstellungen für die Modeler API oben).
Du wirst auch andere neue Dinge finden, z.B. die Farbauswahl für Elemente oder Unterprozesse für KI-Agenten. Aber wir überlassen es wahrscheinlich dir, einige Dinge selbst zu entdecken.
Was das für KI-Agenten bedeutet
Dieses Framework ersetzt das komplexe Formular für die Einrichtung von Agenten vollständig. Mit dem Kreis als Startelement für einen Agenten wird das Konfigurationsformular für die Metadaten des Agenten erstellt. Auf die rechteckigen Elemente, die in ECA Aktionen genannt werden, folgen die Werkzeuge, die dem Agenten zur Verfügung stehen. Und jedes Werkzeug kann separat ausgewählt und konfiguriert werden.
Es gibt aber auch Sub-Agenten: Das sind KI-Agenten selbst, aber sie können als Teil eines anderen Agenten, der einen anderen Agenten als Sub-Agent nutzen darf, verfügbar gemacht und sogar konfiguriert werden. In BPMN.iO gibt es das Element sub-process, das einen Sub-Agenten darstellt. Du hast also deinen Hauptagenten, der mit einem Kreis beginnt, gefolgt von Tools. Und dann kannst du eine beliebige Anzahl von Unteragenten haben, von denen jeder ebenfalls einen Kreis mit den Metadaten des Agenten und eine beliebige Anzahl von Werkzeugen hat, die mit ihm verbunden sind.
Wenn du das Diagramm speicherst, speichert die Modeler API jeden der Unteragenten als separaten Agenten-Konfigurator.
Vergiss nicht, das Submodul "AI Agents Modeler API" zu aktivieren, um Zugriff auf diese Funktion zu erhalten. Wenn du dann auf /admin/structure/ai-agent
gehst und bei einem der vorhandenen Agenten auf "Bearbeiten" klickst oder einen neuen Agenten erstellst, findest du dich in der BPMN.iO-Arbeitsfläche wieder, die du von ECA kennst, aber jetzt kannst du deinen eigenen Agenten bearbeiten.
Was an dieser Stelle fehlt, ist die Möglichkeit, einen bestehenden Agenten als Sub-Agent einzubetten. Du kannst aber neue Agenten als Sub-Agenten erstellen.
Was kommt als Nächstes?
Es werden sicherlich noch Bugs gefunden und wir werden sie alle schnell beheben. Wir wollen dann auch in die Beta-Phase gehen, was möglich sein wird, wenn die folgenden API-Änderungsfunktionen fertiggestellt sind:
- Speicherung von Swimlanes und Farben außerhalb der Rohdaten, damit diese nicht verloren gehen, wenn die Rohdaten nicht verfügbar sind.
- Unterstützung für Anmerkungen, damit Diagramme noch selbsterklärender werden.
- Unterstützung für zusätzliche Modi wie Bearbeiten (bereits verfügbar), Ansicht, Protokollansicht und Wiederholung. In einem ersten Schritt wird es nur die Modi geben, nicht alle ihre Funktionen.
Das klingt nach viel, sollte aber nur eine Frage von Tagen sein. Bis Ende Juni 2025 streben wir also mindestens RC-Releases an, gefolgt von stabilen Releases kurz danach. Das ist nur für deine eigene Planung. Und das erklärt, warum Testen jetzt wichtig ist. Bitte hilf uns, das zu schaffen.
Neuen Kommentar hinzufügen