ECA - New rules engine for Drupal 9+
Jürgen Haas
25 Juni 2022
For a huge customer project, which eventually started to migrate from Drupal 7 to 9, we faced the problem that the old site heavily used the Rules module - and repeated research convinced us that Rules wasn’t ready for the job.
Neither custom code nor hard-coded business logic was on.
It was time to consider a brand-new approach!
The Rules module for Drupal 8 is still in its alpha release stage … still needs significant work. (Excerpt description tr_rulez)
=>
ECA got started to provide a “Rules” equivalent for Drupal 9 and beyond.
While getting close to deliver on that objective, ECA solves additional challenges and helps to trim-down the overhead of each Drupal application.
Far less likely your site needs a custom module for …
Make a few helper modules redundant, like e.g. …
Provide a tool where stakeholders who understand their business logic, but not necessarily Drupal details, can participate in building and maintaining the configuration throughout the lifecycle of the Drupal application.
At the same time, Drupal CMI helps to track all the changes. In the future, we may even be able to support revisions and moderation, so that rock-solid workflows can be applied when needed.
ECA doesn’t care!
Gateways, as a kind of extended conditions is also supported, not fully functional yet.
ECA UI provides access to the ECA admin interface and to embedded modellers. Just like views and fields in core, their ui components can be turned off as well. This is useful for production sites where you want to utilize those APIs but have no need to modify such critical configuration.
ECA Develop comes with a couple of Drush commands and code generators. They are needed only under special circumstances. That’s why this can be enabled and disabled as required.
Integrated by Camunda BPMN module.
Integrated in Drupal UI. Everything is provided by BPMN.iO module.
ECA
Directories: 111
Files: 358
Lines of Code: 41.889
Comment Lines of Code: 31%
Non-Comment Lines of Code: 69%
224 tests / 3.100 assertions
Coverage: 94% files / 83% lines
BPMN.IO
Directories: 1
Files: 2
Lines of Code: 148
Comment Lines of Code: 28%
Non-Comment Lines of Code: 72%
Code Style: all clean
All components tested on Drupal 9.3, 9.4, 10.x with PHP 7.4, 8.1
Team effort: approx. 3.000 hours
First commit 22nd July 2021
Beta-1 on 3rd November 2021
Beta-2 on 12th January 2022
Beta-3 on 17th March 2022
Beta-4 on 19th March 2022
Beta-5 on 21st March 2022
Beta-6 on 23rd March 2022
Beta-7 on 29th March 2022
Beta-8 on 12th April 2022
Beta-9 on 19th April 2022
Beta-10 on 20th April 2022
Beta-11 on 4th May 2022
Beta-12 on 17th May 2022
1.0.0-RC1 22nd June 2022
1.0.0 22nd July 2022
Started as a rules engine for Drupal 9 …
… landing in the world of Low code - no code
ECA helps Drupal reaching new territory!