Skip to content

Welcome to Drupal ECA

ECA stands for Events - Conditions - Actions.

It's a Drupal module and has its own project page. This ECA Guide is provided by the ECA maintainers, you can contact them on their user profile on drupal.org or in the ECA Slack Channel.

The 5 sections of this guide

ECA

All about the ECA module, how to install it, important concepts to understand how ECA works and instructions on how to extend ECA.

Important building blocks of ECA are the plugins for events, conditions and actions. Those are contained in their own section for plugins

The ECA module is the heart of the module suite. Whenever a Drupal event occurs, it processes any (business process) model defined for that event.

ECA leverages existing components of Drupal core, i.e. events and actions, and provides its own plugin manager for conditions. Hence all 3 components (events, conditions, actions) are implemented as plugins and may be easily extended by other modules.

Attention

The ECA module does not provide any user interface to define models. Instead, it provides a modeller plugin manager to easily integrate existing tools. If a modeller supports templates for events, conditions and actions, ECA will provide them for all the plugins that are available on a Drupal site.

Modellers

Modellers are the UI for ECA. They are described in this chapter.

Plugins

Each event, each condition and each action is available as a plugin. This chapter contains documentation for each of them and how they can be configured.

Library

This is where you can find example ECA models.

Resources

Articles, blog posts, tutorials, videos and so much more - all learning resources in one place.

How to contribute

Found a typo? Want to write some chapters for this guide? Have an example model you want to publish? Wrote your own ECA plugins? Or you just want to provide feedback? This is all very welcome. To do so, please create an account in the ECA Guide GitLab and then go to the ECA Guide Project where you can either open an issue or fork the project and then create a merge request.

We use British English in this guide.