ECA stands for "Events - Conditions - Actions" and is a powerful, versatile, and user-friendly rules engine for Drupal 9+. The core module is a processor that validates and executes event-condition-action plugins. Integrated with graphical user interfaces like BPMN.iO, Camunda or other possible future modellers, ECA is a robust system for building conditionally triggered action sets.
Built from scratch in Drupal 9, ECA leverages all the Symfony and Drupal core APIs for events. It processes any number of ECA models and performs conditional actions on literally anything available inside a Drupal site. From simple field validations, value changes, tampering, sending emails, publishing entities, logging or displaying messages up to more complex models with loops, custom events, caching and stateful actions - ECA provides full access to all of Drupal's power from within a simple and easy-to-use UI. Welcome to the "Low code - no code" interface with no limits. Learn more about ECA on its project page on drupal.org.
Huge test coverage
Feature-wise, ECA was ready for a release candidate a couple of months ago. But the development team decided to hold on with the long-awaited RC1 until they felt confident that all the complexity is delivering on the promise to "just work" - and that they can continue working on it without breaking things down the road. Today, much more than 40.000 lines of code are covered with meaningful tests for 94% of all files and 83% of all lines.
Not only have all those tests passed on Drupal 9.3, 9.4 and 10.0.x with PHP 7.4 and PHP 8.1, all the code is also fully compliant with Drupal's coding standard and well commented. Maintenance will therefore be a pleasant task for decades to come, or as Max concluded when closing the planning task in the ECA issue queue: "I'm looking forward to continue on this, for having a sustainable community project."
How to get started
There is quick start guide, simply because there isn't even a long start ever needed. It only takes 2 steps: first, download the code with
composer require drupal/eca:^1.0@rc drupal/bpmn_io:^1.0@rc
and then go to Admin / Modules (/admin/modules) on your Drupal site to enable all the ECA submodules and the BPMN modeller to use. That's it, from now on, you access all the power from Admin / Config / Workflow / ECA (/admin/config/workflow/eca) in the admin menu of your site. No fiddling with configuration or dependencies, it really just works. Build your first model, save it, and it is in action right away.
A period of around 1 month is scheduled for intense testing, feedback and support for and by the Drupal community - that's including you! The final 1.0 release is hopefully being published on July 22nd - exactly 1 year after the initial commit to this project. Of course, that won't be it. Although ECA is perceived feature complete for the 1.0 release, the roadmap for what's next looks as exciting as the existing feature list. Stay tuned, or better still: join the team and influence the direction of the ECA. For now, we're looking forward to your feedback and can't wait to learn, what the world thinks about it.