Hallo Drupal-fanaten! Welkom bij 'Drupal & AI Avonturen'. In deze serie verkennen we de fantastische wereld van Drupal-modules powered by kunstmatige intelligentie. Onze missie? We willen U inspireren en inlichten. We duiken er samen in! Deze keer hebben we het over ECA en ChatGPT toevoegen in flows.

ECA logo

ECA?

ECA is een no-code oplossing die je in staat stelt om je Drupal-site te orkestreren. Geïntegreerd met grafische gebruikersinterfaces zoals BPMN.iO, Camunda, ECA Classic Modeller of andere mogelijke toekomstige modellers, is ECA een robust systeem voor het bouwen van voorwaardelijk getriggerde actie-sets.

ECA wordt getriggerd voor elk Drupal-event. Het valideert deze events tegen event-condition-action modellen en verwerkt alle modellen voor de huidige gebeurtenis. ECA-modellen worden opgeslagen in config, zodat ze kunnen worden geïmporteerd en geëxporteerd via de admin UI of Drush.

Wil je meer lezen over ECA, check zeker de ECA gids.Er staat heel wat interessante informatie, alsook een library met downloadbare ECA-modellen en videotutorials.

https://ecaguide.org/

ECA is momenteel geïntegreerd met de volgende modellers:

  • BPMN.iO: JavaScript-gebaseerde implementatie voor het bouwen van modellen als tweedimensionale diagrammen, geïntegreerd in de Drupal admin UI
  • Camunda: gebruiksvriendelijke desktopcliënt voor het ontwerpen en implementeren van geautomatiseerde processen
  • ECA Classic Modeller: "low-level" modelleringsgereedschap met gebruik van Drupal core's form API

Met ECA kan je dus heel wat zaken samenstellen waar tot op heden modules voor gemaakt werden. 

Een voorbeeldje: 

"Na het inloggen, als ik een bepaalde rol heb, wil ik dat users geredirect worden naar een bepaald dashboard. " 

Hiervoor bestaan modules die dit doen (bijvoorbeeld redirect_after_login of user_redirect of login_destination) die op heel wat sites (deze 3 modules alleen al op 48000+ sites) gebruikt worden. 
We zien op veel plaatsen dat developers dit custom bouwen

De nood hiervoor vervalt volledig met ECA. De funcionaliteiten in deze modules of custom code kan ook op een no-code manier met ECA geimplementeerd worden. 
Een voorbeeld flow na login op ECA (deze flow doet de de login redirect en nog veel meer, check het schema). 

https://www.drupal.org/project/eca

ECA is enorm krachtig. Eenmaal je ECA onder de knie hebt, kan je heel wat bestaande Drupal modules gewoon verwijderen.

ECA & AI?

Dankzij de module prompt kan je AI prompts toevoegen als no-code actions. 
Dit geeft je de mogelijkheid om het volgende te doen: 

  • Autocategoriseren van content: Neem de waarde van het body-veld, analyseer de tags met ChatGPT en sla het resultaat op in een ander veld.

  • Titel generatie: Analyseer een lang tekstveld met ChatGPT en genereer een nieuwe titel.

  • Samenvatting generatie: Analyseer de tekstvelden van een entiteit, genereer een samenvatting en sla deze op in een veld van dezelfde entiteit.

  • Teksten vertalen: Gebruik ChatGPT om de waarden van entiteitsvelden te vertalen.

  • Transcriben van audio bestanden: Stuur het bestand dat naar Drupal is geüpload naar de Gladia API, die de transcriptie terugstuurt.

  • Spelfouten corrigeren en herschrijven met ChatGPT.

  • Automatische content generatie op basis van een ander veld.

  • Je kan met ECA een webhook configureren (no-code), vervolgens met AI de content parsen en daarna een actie in Drupal lanceren de verwerkte inhoud van de webhook.

  • Je kunt alles doen wat je maar kunt bedenken. Gebruik elke gebeurtenis van de ECA-module om de uitvoering van een geconfigureerde Prompt te lanceren en vervolgens ECA om dingen te doen met de waarde die door de API wordt teruggegeven (opslaan van de node, maken van entiteiten, versturen van e-mails, enzovoort).

ECA prompt example
Ik liet ECA data ophalen uit InfluxDB en doorsturen naar ChatGPT om daar een beschrijving van te maken. "Schrijf een weerbericht voor toekomstige dagen en leg de focus op hernieuwbare energie"
Data: [json van influxdb]
Lammensj
 / 
Auteur van de InfluxDB en solcast modules’

Opmerkingen

ECA module

De ECA module is complex en in het begin zeker overweldigend. Maar ze is enorm krachtig. Ze wordt ook ondersteund door enkele zeer actieve mensen in de community. Zeker de moeite om te checken! 

Prompt module

De Prompt module (die prompts in ECA enabled) is door een maintainer gebouwd en nog niet stable. Deze is eerder experiementeel te bekijken en kan in beperkte use cases geevalueerd worden. Hier is nog werk aan de winkel om tot een stabiele versie te komen. 

Openai module

De Openai module heeft ook een submodule "openai_eca" Je kan dus met de Openai module en de ECA module AI-powered flows maken. Dan is de prompt module niet nodig.
Deze module geniet overigens ook van betere community support.

Wil je meer weten over AI?