ECA, the no-code solution
that empowers you to orchestrate your Drupal sites
DrupalDevDays 2023, Vienna
go.lakedrops.com/eca-ddd2023
Jürgen Haas
20 July 2023
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!
Proposed the solution to the client:
Reasoning: this will not only solve YOUR problem but also allows other developers and agencies to contribute and maintain the module over time.
The customer agreed and work started in early July 2021.
=>
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.
ECA doesn’t care!
Gateways, as a kind of extended conditions is also supported, not fully functional yet.
Drupal Core (version 9 or later) is the only dependency!!!
*) Coming in ECA v2
ECA UI provides access to the ECA admin interface and to enabled modellers. Like views/fields/menu/etc, ui components can be turned off. This is useful for production sites where critical configuration may have to be hidden.
ECA Modeller BPMN abstract implementation of all BPMN related pre- and post-processing. Separate modules like BPMN.iO and Camunda utilize this common functionality and only implement the frontend features.
ECA Development comes with a couple of Drush commands and code generators.
Integrated in Drupal’s admin UI. Everything is provided by BPMN.iO module.
Provided by the Camunda module.
Simple low-level UI to ECA config entities, using Drupal’s form API to build event-driven action chains with optional conditions. Provided by the eca_cm 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 and 10 with PHP 7.4, 8.1
Team effort: approx. 3.000 hours
Version | Date | |
---|---|---|
First commit … |
22nd July 2021 | |
1.0.0-RC1 | 22nd June 2022 | |
1.0.0 | 22nd July 2022 | |
1.1.0 | 12th December 2022 | |
1.1.4 … |
14th July 2023 | |
2.0.0 | Later this year |
Branch 1.2.x contains all new feature and will turn into ECA 2.0:
Join us in the #ECA channel on Drupal Slack
Documentation on ECA and its eco-system
ECA Guide | |
ECA TV |
Started as a rules engine for Drupal 9 …
… landing in the world of Low code - no code
ECA helps Drupal reaching new territory!