Event Condition Action

ECA - New rules engine for Drupal 9+

Jürgen Haas and Richard Papp

29 October 2021

About us

Agenda

  1. Introduction
  2. Demo
  3. ECA Architecture
  4. Modeller
  5. Roadmap
  6. Discussion

Introduction

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

Rules D8+

Previously

Demo

ECA Architecture

  • ECA is a processor - Period. No more, no less
  • An event subscriber listens to all Drupal events and triggers the processor
  • This processes all available ECA models - all models for the current event
  • The ECA models are config entities

Where does the config come from?

ECA doesn’t care!

What components does the processor support?

  • Events: all Drupal events - you can add custom events
  • Conditions: ECA provides a plugin manager
  • Actions: all Drupal actions - you can add custom events

What is already included in ECA?

  • ECA Core:
    • Processor for ECA config entities with all contained rules
    • Plugin managers for modellers, events, conditions, actions
    • Interfaces and abstract base classes and traits
    • Token support
    • Integration of all Drupal actions from Drupal core actions module

8 Submodules

  • with dozens of events, conditions and actions:
    • ECA Base: cron, custom, state, etc.
    • ECA Config
    • ECA Content
    • ECA Form
    • ECA Migrate
    • ECA Misc: kernel, Drupal core, routing, etc.
    • ECA User
    • ECA Workflow

Chainable Actions

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

Structure: Events

Structure: Conditions

Structure: Actions

Modeller

  • A modeller is the user interface for ECA config entities.
  • It can be integrated as a @EcaModeller plugin, that stores models as config entities. The plugin manager is provided by the ECA module.
  • May be BPMN but not necessarily. Only the structure Event - Condition - Action matters.
  • Two modellers are already integrated:

Camunda Desktop Client

Download

Integrated by Camunda BPMN module.

BPMN.iO

Integrated in Drupal UI. Everything is provided by BPMN.iO module.

More information

Structure: Modeller

Roadmap

Beta-1 on 3rd November 2021

Stable Release 1.0.0 by the end of 2021

Any help is highly appreciated

  • Development
    • ECA and plugins
    • Optimization of the integrated BPMN.iO clients
  • Tests
  • Review and feedback
  • Support (Issue queue and in chats)
  • Documentation
  • Translations
  • Descriptions on the drupal.org project pages
  • Spread the word

Discussion