Direkt zum Inhalt
Main Image
Bild
Microphone with unsharp utilities in the background
15. November 2022

ECA für Drupal: Erfolgreicher Start, weiter geht's

by Jürgen Haas

Im Juli waren wir so aufgeregt über die Veröffentlichung von ECA 1.0.0 nach rund 3.000 Stunden Entwicklungsarbeit in nur 12 Monaten, dass wir damals nicht einmal einen Blogbeitrag geschrieben haben. In den folgenden Wochen war das Team damit beschäftigt, sich um Feedback und Support zu kümmern und noch mehr Funktionen zu entwickeln. So vergingen 4 Monate, sicherlich Zeit für einen Rückblick auf das, was passiert ist und was ECA für das Drupal-Projekt und seine Community bringt.

Gewinner bei den deutsch/österreichischen SplashAwards 2022

Der Sieg in der Kategorie "Lösungen" ist eine wunderbare Belohnung für all die harte Arbeit, die in das Projekt geflossen ist. Die Auszeichnung mit dem Sonderpreis "Größter Community-Wert" übersteigt unsere Vorstellungskraft. Es gibt nicht genug Raum, um das zu feiern, aber seid versichert, wir sind einfach nur glücklich!

Bild
SplashAward 2022 Trophy - front

Fakten zur Version 1.0.0

Die Analyse, die im Juni 2022 auf dem Drupal MountainCamp vorgestellt wurde, gibt einen guten Überblick. Hier sind einige wichtige Fakten:

  • 358 Dateien und 40k+ Zeilen Code
  • Hunderte von Tests mit Tausenden von Assertions, was eine Testabdeckung von 90% ergibt
  • Vollständig konformer Codestil
  • funktioniert mit Drupal 9 und 10, PHP 7.4 und 8+

Die Installation und Inbetriebnahme ist eine Sache von nur wenigen Minuten. Da ECA außer dem Drupal-Kern keine weiteren Abhängigkeiten hat, gibt es keine Probleme mit anderen Modulen oder Paketen.

Aus der Roadmap in der gleichen Präsentation geht hervor, dass das Debugging von Modellen bereits vor der 1.0-Version implementiert wurde. Und drei weitere wurden für das 1.1-Release implementiert, das vor einigen Tagen als 1.1.0-alpha1-Release verfügbar gemacht wurde. Die Versionshinweise zeigen, wie viel Schwung in diesem Projekt steckt.

Der Nutzen von ECA

ECA wurde ins Leben gerufen, um ein Äquivalent zu "Rules" für Drupal 9 und darüber hinaus zu schaffen. ECA hat dieses Ziel erreicht, löst aber noch weitere Herausforderungen und hilft dabei, den Overhead jeder Drupal-Anwendung zu reduzieren.

Mit ECA ist es sehr viel unwahrscheinlicher, dass die meisten Drupal-Websites ein eigenes Kunden-Modul benötigen. Dies wird dadurch erreicht, dass ECA Zugriff auf fast alle Hooks, Formularänderungs-, Validierungs- und Submit-Handler bietet und Cron-Jobs und Warteschlangen aus den ECA-Modellen heraus steuert. Außerdem können mit ECA viele Aufgaben konfiguriert werden, ohne dass für jede einzelne Aufgabe ein eigenes Modul installiert werden muss, z. B:

- Umleitungen für unzählige Umstände wie 403s, nach dem Login, pro Benutzerrolle, etc.
- Validierung von Formularfeldern
- Berechnete Felder
- Automatische Entity-Labels
- Stripping und Trimming von Feldwerten

Während ECA bei diesen kleineren Aufgaben leistungsstark und flexibel ist, spielt es seine Stärken bei den großen Herausforderungen aus. Wir bei LakeDrops und auch bei OpenCampus setzen ECA in großen und anspruchsvollen Kundenprojekten ein. Wir haben keinerlei Probleme mit Instabilität oder Performance festgestellt. Und wenn eine Funktion fehlt, ist das Hinzufügen weiterer Plugins entweder in ECA selbst oder in separaten Integrationsmodulen auf drupal.org ganz einfach und oft in wenigen Minuten oder höchstens ein paar Stunden erledigt.

Viel wichtiger ist jedoch, was die Drupal-Community darüber denkt und was sie bereits damit erreicht hat.

Überwältigendes Feedback

Wir fragen uns oft, ob es nur die netten Leute sind, die all dieses positive Feedback geben. Da wir aus einem Land kommen, in dem eine gängige Aussage lautet: "Nicht zu klagen ist Lob genug", fällt es zumindest auf, wenn man nur positives Feedback erhält. Und genau das passiert dem ECA-Team.

Hier sind einige Zitate:

"Oh, ich bin sehr dankbar für diesen Empfang. Ich schätze und glaube an die Kraft dieses Moduls. Ich war zu D7-Zeiten ein harter Rules-Anwender."

"Ich habe in einem Projekt eine ziemlich komplexe Logik mit ECA angewandt und es hat sich als lebensverändernd erwiesen.

"Das ist nur der erste Schritt. Ich habe noch viel mehr an diesem Modell (und anderen) zu tun. Aber danke für die Tipps und vor allem für das Modul. Es war ein Lebensretter."

"ECA ist [...] genau das, was ich seit Jahren gebraucht habe - ich habe mich damit abgemüht, eigene Module zu schreiben, um auch nur ein bisschen von dem zu replizieren, was ich glücklich mit den D7-Rules gemacht habe! Ich habe immer bereut, dass ich auf D8 und D9 umgestiegen bin, weil so viel von meiner Seite kaputt gegangen ist, als ich umgestiegen bin."

"WOW - ich kann nicht glauben, dass mein Test funktioniert hat. Es war erstaunlich intuitiv."

"Ich wollte nur mal Hallo sagen. Ich bin ein genesender Ruleser (jemand, der in D7 viel mit Rules gearbeitet hat) und bin begeistert von ECA und seinem Potenzial. Mit ein paar Verbesserungen könnte dieses Tool mit Views konkurrieren, was die Möglichkeiten angeht, die es Nutzern auf jeder Ebene bietet."

"Ich habe Wochen damit verbracht, eine zuverlässige Lösung für einige Business Rules zu finden, und der fehlende Fortschritt im alten Rules-Modul ist problematisch. Das ist schade, weil es unter D7 sehr gut funktioniert hat. [...] Wenn man ECA einmal in den Griff bekommen hat, ist es zweifellos der beste Weg. Allerdings ist die Dokumentation immer noch ein Schwachpunkt."

"Ich denke, ein gutes ECA-System bietet Drupal eine ganz andere Dimension als die klassische CMS-Funktionalität."

Das ist natürlich sehr schmeichelhaft. Für das Entwicklungsteam ist es aber noch beeindruckender zu sehen, was die Nutzerinnen und Nutzer mit ECA tatsächlich erreichen. Dabei muss man bedenken, dass es sich um eine 1.0-Version handelt und, wie oben erwähnt, die Dokumentation derzeit ein "Schwachpunkt" ist.

Bleib dran

Das ECA-Ökosystem entwickelt sich schnell. Nicht nur, dass die erste Version 1.1.0 nur noch wenige Wochen entfernt ist, wir arbeiten auch hart daran, die Dokumentation zu verbessern und andere Wege zu finden, um Wissen zu teilen und der Drupal-Community zu vermitteln, wie sie das Beste aus ECA herausholen kann.

Einer dieser Wege wird ein regelmäßiger Blogpost mit Beispielen sein, die zeigen, was mit ECA gemacht wurde. Fast wöchentlich gehen Dutzende von Beispielen in der Issue-Queue, auf Slack und in anderen Kanälen ein, die wir sammeln und teilen werden. Echte Lösungen zu sehen ist der beste Weg, um zu lernen, was ECA für deine Projekte tun kann.

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.