Indice

🟦Nuova 🟩Pronta 🟨Bozza 🟥Da scrivere

Disegnare le ECA

Disegnare le ECA con l'editor grafico. I Token nelle ECA. Eseguire le ECA. Le Azioni, Condizioni e gli Eventi più comuni.
Aggiornata il:
Stato: 🟩Pronta

L'editor grafico

Installato ed attivato il modulo aggiuntivo BPMN.IO che aggiunge l'editor grafico, possiamo iniziare a costruire le ECA disegnandole direttamente nel web browser. Il disegno segue una versione semplificata e ridotta dello standard BPMN (Business Process Model and Notation). Non è importante che tu conosca questo standard, perché in questa Guida ti fornirò le informazioni essenziali, mentre nelle Guide seguenti costruiremo insieme alcuni esempi.

Per entrare nell'editor, vai in Configurazione - ECA e clicca Add new model. Ti appare un foglio da disegno vuoto, racchiuso da due barra di icone (a sinistra e sotto il foglio) e da una barra di pulsanti in alto. Nella figura che segue, ti mostro anche le due finestre di configurazione che appaiono quando clicchi su un elemento disegnato nel foglio: 

I comandi per spostare , zoomare, riordinare e scaricare il disegno e quelli con cui selezionare uno o più elementi del disegno sono intuitivi e non li spiego. Mi soffermo invece sui comandi di disegno vero e proprio, evidenziati in grassetto nella figura.

Disegnare una ECA

Disegnare una ECA con l'editor grafico consiste nell'aggiungere al foglio da disegno uno o più elementi collegati da frecce e nella loro configurazione. Gli elementi sono:

Ci sono due modi per aggiungere elementi al disegno:

  • cliccare sull'icona corrispondente all'elemento nella barra di sinistra e  trascinare l'elemento nel foglio (solo per cerchi, rettangoli e rombi)
  • cliccare su un elemento già inserito nel disegno: nel menù grafico che appare sulla sua destra, cliccare sul nuovo elemento che si vuole aggiungere al disegno; in questo menù sono presenti anche il comando per cancellare l'elemento (bidone) e per colorare l'elemento (pennello)

Configurare un elemento

Un elemento aggiunto al disegno non serve a nulla se non si specifica quale funzione svolge ed quali sono i parametri necessari al suo funzionamento. Quando aggiungi un elemento nel disegno o clicchi su un elemento già disegnato, si apre la finestra Choose element template, in cui devi selezionare la funzione (template) svolta dall'elemento: le funzioni disponibili dipendono dal tipo di elemento (Evento, Condizione, Azione) e da quali moduli ECA hai attivato. Le funzioni sono elencate raggruppate per modulo. Selezionata una funzione, si apre la finestra di configurazione, in cui devi indicare i parametri richiesti dalla funzione. Se hai sbagliato a selezionare la funzione, nella finestra di configurazione clicca l'icona "bidone" per eliminarla dall'elemento e tornare a selezionare un'altra funzione. 

I Token nelle procedure

Ogni elemento può creare o valorizzare un Token. Un Token creato o valorizzato da un elemento può essere usato per configurare gli elementi seguenti, nell'ordine indicato dalle frecce. Un Token quindi memorizza e trasporta lungo la ECA un valore, che può essere un testo, un numero, una data, una Entità o anche una lista di Entità. Ad esempio, se un elemento crea un Token di nome "attrezzo" e vi memorizza una Entità, nella configurazione di un elemento successivo potremo:

  • usare il Token, digitandone il nome (senza parentesi): attrezzo
  • usare il valore del Token (cioè l'Entità memorizzata in esso) digitiamone il nome tra parentesi quadre: [attrezzo]

Oltre ai Token creati lungo la ECA, per la configurazione degli elementi hai anche a disposizione i Token corrispondenti ai Campi delle Entità: per identificarli e copiarli nella configurazione degli elementi clicca il pulsante Token in alto a destra: ti viene mostrata la gerarchia dei Token da cui puoi copiare ed incollare i Token. Nella gerarchia, i Token sono però mostrati con un nome generico, che indica il tipo di Entità: ad esempio, il Token del Campo che contiene il nome dell'Autore di un Contenuto è [node:author], perché node è nome generico dei Contenuti. Quando incolli il Token nella configurazione di un elemento, devi invece specificare da quale Entità prelevare il valore del Campo sostituendo il nome generico col nome del Token in cui è memorizzata l'Entità: se l'Entità è memorizzata nel Token "attrezzo", nella configurazione modificherai [node:author] in [attrezzo:author]. 

Documentare una ECA

Se nella tua app crei più di una ECA e, soprattutto, se le tue procedure non sono banali, è opportuno che documenti per bene cosa fa ogni ECA, per poterle manutenere nel tempo. Anzitutto dai un nome alla ECA che ricordi in modo stringato a cosa serve: clicca l'icona:

 

Appare una finestra in cui puoi digitare il nome ed una descrizione della ECA. Ti raccomando inoltre di descrivere cosa fa ogni elemento: basta cliccarci sopra e modificare la sua descrizione. Per descrivere cosa fa un percorso della ECA, puoi aggiungere un commento sul primo elemento del percorso e digitarvi una spiegazione. Infine, puoi scaricare il disegno della ECA cliccando l'icona:

 

Viene scaricato un file in formato SVG, che può essere importato in Word o LibreOffice. 

Eseguire la ECA

Dopo che hai salvato la ECA col pulsante Salva, la procedura è pronta e resta in attesa che accada uno degli Eventi che hai inserito nel suo disegno. Quando infatti accade uno di essi, partendo da quell'elemento Drupal percorre il disegno seguendo le frecce ed esegue le funzioni associate agli elementi via via incontrati. L'esecuzione termina quando il percorso arriva su in un elemento da cui non partono altre frecce o che non richiama un'altra ECA (vedi Azione Custom Event). 

Per impedire che una ECA venga eseguita, in Configurazione - ECA seleziona il comando Disattiva sulla ECA.

Gli Eventi

Per essere eseguita, la ECA deve contenere almeno un Evento. Se una ECA contiene più Eventi, verrà eseguita quando accade uno qualunque di essi, quindi la medesima ECA può rispondere a diversi Eventi. I tipi di Eventi sono molti. Ecco una breve spiegazione di quelli che, nella mia esperienza, sono più utili nella costruzione di una app:

Le Azioni

Le Azioni sono le istruzioni eseguite da Drupal quando la ECA viene attivata. Ecco una breve spiegazione dei tipi di Azioni che, nella mia esperienza, sono più utili nella costruzione di una app:

Le Condizioni (e i gateway)

Quando due elementi sono collegati da una freccia, Drupal li esegue sequenzialmente secondo il verso della freccia stessa. Applicando una Condizione alla freccia possiamo consentire o impedire l'esecuzione del secondo elemento (e di tutti quelli che lo seguono) sulla base dell'esito (positivo o negativo) di un confronto tra un valore dedotto da un Token ed un secondo valore (fisso o preso da un altro Token). Se da un elemento escono più frecce, applicando diverse Condizioni a ciascuna di esse possiamo far proseguire l'esecuzione in una parte della ECA oppure in un'altra. Quindi è come se le Condizioni facessero apparire o sparire le frecce in base ai valori assunti dei Token durante l'esecuzione. 

Non è strettamente obbligatorio, però inserire un gateway (rombo) prima di un gruppo di frecce soggette a diverse Condizioni che dipartono da un medesimo elemento facilita la comprensione del disegno:

 

Le Condizioni sono applicate alle frecce, non al gateway. Oltre che come elemento che "divide" la ECA in tanti percorsI alternativi, il gateway è usato anche come elemento che "raccoglie" percorsi precedentemente separati, come illustrato nell'esempio.

Ecco una breve spiegazione dei tipi di Condizioni che, nella mia esperienza, sono più utili nella costruzione di una app: