Back to top

Événement - Condition - Action : Création d'un flux de travail personnalisé avec le module Drupal ECA

Le module Event - Condition - Action a provoqué une révolution dans le développement de flux de travail personnalisés dans Drupal 9+ et est devenu un substitut plus flexible et personnalisable aux règles Drupal dépassées. Aujourd'hui, l'équipe de Drupfan se penche sur l'intérêt du module ECA et explique comment votre site web peut en bénéficier. Restez à l'écoute.

Qu'est-ce qu'un événement - une condition - une action dans Drupal ?

Event - Condition - Action ou simplement ECA est un puissant ensemble de modules Drupal sans code qui permet aux créateurs de sites de développer des flux de travail visuels personnalisés sans écrire de code. Il gère facilement toute logique d'entreprise et permet aux autres membres de votre équipe de visualiser les flux de travail et de les comprendre rapidement.

Installation de la ECA

Pour installer le module Event - Condition - Action, il suffit d'écrire ceci dans composer :

 

composer require drupal/eca

druupal module

Comme vous pouvez le voir sur la capture d'écran, ECA comprend un certain nombre de sous-modules, chacun répondant à des fonctionnalités spécifiques. Activez-les si nécessaire.

Pour utiliser l'ECA plus efficacement, nous recommandons d'installer le module BPMNI.IO. Il fournit une interface pour la construction de flux de diagrammes. Pour installer le module BPMNI.IO, écrivez cette ligne dans composer :

composer require drupal/bpmn_io

L'interface BPMN.iO ressemble à ceci :

Cette interface visuelle permet aux développeurs web de créer des diagrammes de flux de travail, ainsi qu'à tous les membres de l'équipe de les examiner pour se familiariser avec la logique commerciale d'un flux de travail particulier.

Sous-modules événement - condition - action

Le module ECA comprend les sous-modules suivants :

  • Accès ECA : Événements et actions permettant de contrôler l'accès aux entités et aux champs
  • ECA Base : Événements, conditions et actions de base
  • ECA Cache : Actions permettant de lire, d'écrire ou d'invalider des éléments du cache
  • ECA Config : Événements de configuration
  • ECA Content : Événements, conditions et actions relatifs aux entités de contenu
  • ECA Endpoint : Événements permettant de définir à la volée vos propres points de terminaison/routes et actions permettant d'interagir avec leurs demandes et leurs réponses.
  • ECA Form : Événements, conditions et actions de l'API Formulaire
  • ECA Log : Événements et actions pour les messages du journal Drupal
  • ECA Migrate : Événements de migration
  • ECA Misc : Événements et conditions divers provenant du noyau de Drupal et du kernel

ECA Queue : Événements, conditions et actions pour les opérations en file d'attente.

  • ECA Render : Événements et actions pour travailler avec l'API de rendu de Drupal pour les blocs, les vues, et tous les thèmes et Twig.
  • ECA User : événements, conditions et actions pour les utilisateurs.
  • ECA Views : Exécuter et exporter les résultats des requêtes Views dans ECA
  • ECA Workflow : Actions de flux de travail des entités de contenu

L'activation de l'un ou l'autre de ces sous-modules dépend de la fonctionnalité dont votre projet a besoin. Lisez attentivement la description de chaque sous-module pour comprendre la fonctionnalité de l'ECA dont il est responsable.

Construire des flux de travail avec le module Drupal ECA

Comme nous l'avons déjà mentionné, l'utilisation du module ECA s'accompagne toujours de BPMN.IO, car BPMN.IO est une interface conviviale utilisée pour la création de flux de travail visuels. Créons un flux de travail avec le module Drupal Event - Condition - Action.

Allez dans 'Configuration → Workflow → ECA' dans le panneau d'administration. Cliquez sur '+ Add new model' pour créer un nouveau workflow dans l'interface BPMN.IO.

Vous pouvez voir ici une "barre d'outils" pour créer des diagrammes.

  • Le cercle correspond aux événements.
  • Le losange correspond aux passerelles (les passerelles sont utilisées pour combiner plusieurs conditions et créer des actions en chaîne pour un événement).
  • Le rectangle correspond aux actions.
  • La flèche fait référence aux conditions (les flèches relient les événements et les actions).

 

Sur le côté droit de l'interface BPMN.IO, vous trouverez une autre barre d'outils pour la gestion des processus ECA. Elle sera mise à jour en fonction de l'élément que vous avez sélectionné.

Créons un flux de travail pour voir l'ECA à l'œuvre. Imaginons que nous ayons un site web proposant des recettes. Tout utilisateur peut ajouter une recette à ses favoris. Nous voulons que l'auteur de l'article soit informé par courrier électronique lorsqu'un utilisateur ajoute la recette à ses favoris. L'auteur doit cocher la case correspondante lors de la création du nœud. L'ACE pour ce flux de travail est le suivant :

Ce flux de travail se compose des éléments suivants :

  • L'événement (Recette ajoutée aux favoris) : déclenche le flux de travail.
  • La condition (field_notify_author = TRUE) : vérifie si l'auteur veut être notifié.
  • Deux actions en chaîne : charger l'auteur du nœud et le notifier par courrier électronique.

ECA permet également aux créateurs de sites d'ajouter des commentaires pour clarifier certains éléments du flux de travail.

Ceci n'était qu'un petit exemple des capacités de l'ECA. Nous espérons que cela vous a permis de comprendre brièvement le module Drupal Event - Condition - Action et son potentiel pour le développement de flux de travail. Vous trouverez des instructions plus détaillées sur ecaguide.org, un site web créé par l'équipe de développement de l'ECA.

Résumé

Event - Condition - Action est un outil puissant et très flexible pour créer des flux de travail dans Drupal. Comme ce module n'a été lancé qu'il y a quelques années, on peut s'attendre à ce que des fonctions encore plus impressionnantes soient bientôt disponibles.

Drupfan, votre partenaire de confiance en matière de développement web Drupal, est là pour vous aider dans tout ce qui concerne Drupal, de la mise en place d'un flux de travail à la construction d'un site à partir de zéro. Contactez-nous dès aujourd'hui pour discuter de votre projet plus en détail.