Direkt zum Inhalt
Main Image
Bild
BMPN.iO screenshot with ECA log
22. Juni 2022

ECA Rules Engine für Drupal: RC1 veröffentlicht

by Jürgen Haas

ECA steht für "Events - Conditions - Actions" und ist eine leistungsstarke, vielseitige und benutzerfreundliche Regelmaschine für Drupal 9+. Das Kernmodul ist ein Prozessor, der Event-Condition-Action-Plugins validiert und ausführt. Integriert mit grafischen Benutzeroberflächen wie BPMN.iO, Camunda oder anderen möglichen zukünftigen Modellierern, ist ECA ein robustes System für die Erstellung von bedingt ausgelösten Aktionssätzen

 

Von Grund auf in Drupal 9 entwickelt, nutzt ECA alle Symfony- und Drupal-Kern-APIs für Ereignisse. Es verarbeitet eine beliebige Anzahl von ECA-Modellen und führt bedingte Aktionen für buchstäblich alles aus, was innerhalb einer Drupal-Site verfügbar ist. Von einfachen Feldvalidierungen, Wertänderungen, Manipulationen, dem Versenden von E-Mails, der Veröffentlichung von Entitäten, der Protokollierung oder der Anzeige von Nachrichten bis hin zu komplexeren Modellen mit Schleifen, benutzerdefinierten Ereignissen, Caching und zustandsabhängigen Aktionen - ECA bietet vollen Zugriff auf alle Möglichkeiten von Drupal'innerhalb einer einfachen und leicht zu bedienenden Benutzeroberfläche. Willkommen in der "Low code - no code" Schnittstelle ohne Grenzen. Erfahren Sie mehr über ECA auf seiner Projektseite auf drupal.org.

Enorme Testabdeckung

Von den Funktionen her war ECA schon vor ein paar Monaten reif für einen Release Candidate. Aber das Entwicklungsteam beschloss, mit dem lang erwarteten RC1 zu warten, bis es sich sicher fühlte, dass die ganze Komplexität das Versprechen "just work" einhält - und dass es weiter daran arbeiten kann, ohne dass etwas kaputt geht. Heute sind weit mehr als 40.000 Zeilen Code mit aussagekräftigen Tests für 94% aller Dateien und 83% aller Zeilen abgedeckt;

Nicht nur, dass alle diese Tests auf Drupal 9.3, 9.4 und 10.0.x mit PHP 7.4 und PHP 8.1 bestanden haben, der gesamte Code ist auch vollständig konform mit dem Drupal'Coding Standard und gut kommentiert. Die Wartung wird daher eine angenehme Aufgabe für die nächsten Jahrzehnte sein, oder wie Max abschließend feststellte, als er die Planungsaufgabe in der ECA-Warteschlange schloss: "Ich'freue mich darauf, daran weiterzuarbeiten, um ein nachhaltiges Gemeinschaftsprojekt zu haben."

Wie man anfängt

Es gibt eine Schnellstart-Anleitung, einfach weil es gar keinen langen Start braucht. Es sind nur 2 Schritte nötig: Zuerst laden Sie den Code mit

composer require drupal/eca:^1.0@rc drupal/bpmn_io:^1.0@rc

und gehen Sie dann zu Admin / Module (/admin/modules) auf Ihrer Drupal-Site, um alle ECA-Submodule und den BPMN-Modeller zur Verwendung zu aktivieren. Das's it, von nun an greifen Sie auf die gesamte Leistung von Admin / Config / Workflow / ECA (/admin/config/workflow/eca) im Admin-Menü Ihrer Site zu. Kein Gefummel mit Konfiguration oder Abhängigkeiten, es funktioniert wirklich einfach. Erstellen Sie Ihr erstes Modell, speichern Sie es, und es ist sofort einsatzbereit;

Nächste Schritte

Ein Zeitraum von etwa 1 Monat ist für intensives Testen, Feedback und Unterstützung für und durch die Drupal-Gemeinschaft vorgesehen - das schließt Sie ein! Die endgültige Version 1.0 wird hoffentlich am 22. Juli veröffentlicht - genau 1 Jahr nach dem ersten Commit zu diesem Projekt. Natürlich wird das nicht alles sein. Obwohl ECA für die Version 1.0 als vollständig angesehen wird, sieht die Roadmap für das, was als nächstes kommt, genauso aufregend aus wie die Liste der vorhandenen Funktionen. Bleiben Sie dran, oder noch besser: Werden Sie Teil des Teams und beeinflussen Sie die Richtung der ECA. Fürs Erste freuen wir uns auf Ihr Feedback und können es kaum erwarten zu erfahren, was die Welt darüber denkt.

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.