Event Condition Action

ECA: Business Process Modellierung in Drupal 9+

Richard Papp (@boromino) und Jürgen Haas (@jurgenhaas)

16. September 2021

Agenda

  1. Einführung
  2. Demo
  3. ECA Architektur
  4. Modellierer
  5. Roadmap
  6. Diskussion

Einführung

The Rules module for Drupal 8 is still in its alpha release stage … still needs significant work. (Auszug Beschreibung tr_rulez)

Bis neulich

Demo

ECA Architektur

  • ECA ist der Prozessor - Punkt. Nicht mehr, nicht weniger
  • Event Listener hören auf alle Drupal Events und rufen den Prozessor auf
  • Dieser arbeitet alle vorhanden ECA-Modelle ab - alle Modelle für alle Events
  • Die ECA-Modelle liegen als Config Entities vor

Wo kommt die Config her?

Das ist ECA egal!

Welche Bausteine unterstützt der Prozessor?

  • Events: alle Drupal Events - eigene können natürlich implementiert werden
  • Conditions: ECA stellt dafür einen PluginManager zur Verfügung
  • Actions: alle Drupal Actions - eigene können natürlich implementiert werden

Was bringt ECA schon mit?

  • ECA Core:
    • Dutzende Events für Kernel, Core, Config, Routing, Forms
    • Conditions für Routing und Forms
    • Integration aller Drupal Actions aus dem Actions Modul
    • Token-Support
  • Zwei Submodule:
    • ECA Content
    • ECA User

Was bringt ECA Content mit?

  • Dutzende Events für jeden Content Entity Typ und alle Bundles
  • Conditions für Content Entities und deren Felder
  • Viele Actions für Content Entities und deren Felder

Was bringt ECA User mit?

  • Events für alle relevanten User Aktivitäten
  • Conditions für Current User und User Rollen
  • Wenige User bezogene Actions, mehr wird noch folgen

Chainable Actions

class_alias('Drupal\eca_content\Plugin\Action\FieldUpdateActionBase', 'Drupal\Core\Field\FieldUpdateActionBase');

Struktur: Events

Struktur: Conditions

Struktur: Actions

Modellierer

  • Diese können als Benutzeroberfläche (User Interface) für die ECA Config Entities verstanden werden.
  • Integrierbar als @EcaModeler Plugin, welches Modelle als Config Entities speichert. Der PluginManager ist im ECA Modul enthalten.
  • Kann, muss aber nicht BPMN sein. Wichtig ist nur die Struktur Event - Condition - Action.
  • Zwei Modellierer sind bereits integriert:

Camunda Desktop Client

Download

Integration durch Camunda BPMN Modul.

BPMN.iO

Integriert in Drupal UI. Alles bereits im BPMN.iO Modul enthalten.

Mehr Info

Struktur: Modellierer

Roadmap

Stable Release 1.0.0 bis Ende 2021

Wenn Du helfen willst

  • Entwicklung
    • ECA und Plugins
    • Optimierung des integrierten BPMN.iO Clients
  • Tests
  • Review und Feedback
  • Support (Issue Queue und in Chats)
  • Dokumentation
  • Übersetzungen
  • Beschreibungen auf den Projekt-Seiten von drupal.org
  • Spread the word

Diskussion