Questa documentazione è stata tradotta automaticamente dall'IA.
Tutte le modifiche ai dati generate dagli utenti nel sistema avvengono solitamente tramite un'azione, che si manifesta tipicamente con il clic su un pulsante. Questo pulsante può essere quello di invio in un modulo o un pulsante di azione in un blocco di dati. L'evento post-azione serve ad associare i flussi di lavoro pertinenti alle azioni di questi pulsanti, in modo da attivare un processo specifico una volta che l'operazione dell'utente è stata completata con successo.
Ad esempio, quando si aggiungono o si aggiornano dati, gli utenti possono configurare l'opzione "Associa flusso di lavoro" per un pulsante. Una volta completata l'azione, il flusso di lavoro associato verrà attivato.
A livello di implementazione, poiché la gestione degli eventi post-azione si trova nello strato middleware (il middleware di Koa), anche le chiamate API HTTP a NocoBase possono attivare gli eventi post-azione definiti.
È un plugin integrato, non richiede installazione.
Quando crea un flusso di lavoro, selezioni "Evento Post-Azione" come tipo:

Per gli eventi post-azione, durante la creazione può anche scegliere la modalità di esecuzione tra "Sincrona" o "Asincrona":

Se il processo deve essere eseguito e restituito immediatamente dopo l'azione dell'utente, può utilizzare la modalità sincrona; altrimenti, l'impostazione predefinita è la modalità asincrona. In modalità asincrona, l'azione viene completata immediatamente dopo l'attivazione del flusso di lavoro, e il flusso di lavoro verrà eseguito in sequenza nella coda in background dell'applicazione.
Acceda alla tela del flusso di lavoro, clicchi sul trigger per aprire la finestra di configurazione e selezioni innanzitutto la collezione da associare:

Quindi selezioni la modalità di attivazione, che può essere locale o globale:

Dove:
In modalità locale, i pulsanti di azione che attualmente supportano l'associazione sono i seguenti:
Se ha scelto la modalità globale, deve anche selezionare il tipo di azione. Attualmente sono supportate le azioni "Crea dati" e "Aggiorna dati". Entrambe le azioni attivano il flusso di lavoro dopo il successo dell'operazione.
Se necessita di utilizzare i dati associati ai dati di attivazione nei processi successivi, può selezionare i campi di relazione da precaricare:

Dopo l'attivazione, potrà utilizzare direttamente questi dati associati nel processo.
Per le azioni in modalità di attivazione locale, una volta configurato il flusso di lavoro, deve tornare all'interfaccia utente e associare il flusso di lavoro al pulsante di azione del modulo nel blocco di dati corrispondente.
I flussi di lavoro configurati per il pulsante "Invia" (incluso il pulsante "Salva dati") verranno attivati dopo che l'utente avrà inviato il modulo corrispondente e l'operazione sui dati sarà stata completata.

Selezioni "Associa flusso di lavoro" dal menu di configurazione del pulsante per aprire la finestra di configurazione dell'associazione. Qui, può configurare un numero qualsiasi di flussi di lavoro da attivare; se non ne configura nessuno, non sarà necessaria alcuna attivazione. Per ogni flusso di lavoro, deve prima specificare se i dati di attivazione provengono dall'intero modulo o da un campo di relazione specifico al suo interno. Successivamente, in base alla collezione corrispondente al modello di dati selezionato, scelga il flusso di lavoro del modulo che è stato configurato per corrispondere a quel modello di collezione.


Il flusso di lavoro deve essere abilitato prima di poter essere selezionato nell'interfaccia sopra.
Qui viene presentata una dimostrazione utilizzando l'azione di creazione.
Supponiamo uno scenario di "Richiesta di Rimborso". Dopo che un dipendente ha inviato una richiesta di rimborso spese, dobbiamo eseguire una revisione automatica dell'importo e una revisione manuale per gli importi che superano il limite. Solo le richieste che superano la revisione vengono approvate e successivamente passate all'ufficio finanziario per l'elaborazione.
Innanzitutto, possiamo creare una collezione "Rimborso Spese" con i seguenti campi:
Successivamente, crei un flusso di lavoro di tipo "Evento Post-Azione" e configuri il modello della collezione nel trigger come la collezione "Rimborso Spese":

Dopo aver impostato il flusso di lavoro come abilitato, torneremo in seguito per configurare i nodi di elaborazione specifici del processo.
Quindi, creiamo un blocco tabella per la collezione "Rimborso Spese" sull'interfaccia, aggiungiamo un pulsante "Aggiungi" alla barra degli strumenti e configuriamo i campi del modulo corrispondenti. Nelle opzioni di configurazione del pulsante di azione "Invia" del modulo, apriamo la finestra di dialogo di configurazione "Associa flusso di lavoro", selezioniamo tutti i dati del modulo come contesto e il flusso di lavoro che abbiamo creato in precedenza:

Una volta completata la configurazione del modulo, torniamo all'orchestrazione logica del flusso di lavoro. Ad esempio, se l'importo è superiore a 500, richiediamo una revisione manuale da parte di un amministratore; altrimenti, l'approvazione è diretta. Solo dopo l'approvazione viene creato un record di rimborso, che viene poi ulteriormente elaborato dal reparto finanziario (omesso).

Ignorando l'elaborazione successiva da parte del reparto finanziario, la configurazione del processo di richiesta di rimborso è ora completa. Quando un dipendente compila e invia una richiesta di rimborso, verrà attivato il flusso di lavoro corrispondente. Se l'importo della spesa è inferiore a 500, verrà creato automaticamente un record in attesa di ulteriore elaborazione da parte del reparto finanziario. Altrimenti, verrà esaminato da un supervisore e, dopo l'approvazione, verrà creato un record e consegnato al reparto finanziario.
Il processo in questo esempio può anche essere configurato su un normale pulsante "Invia". Può decidere se creare prima un record e poi eseguire i processi successivi, in base allo scenario aziendale specifico.
L'attivazione degli eventi post-azione non è limitata alle operazioni dell'interfaccia utente; può anche essere attivata tramite chiamate API HTTP.
Quando attiva un evento post-azione tramite una chiamata API HTTP, deve anche prestare attenzione allo stato di abilitazione del flusso di lavoro e alla corrispondenza della configurazione della collezione, altrimenti la chiamata potrebbe non avere successo o potrebbe verificarsi un errore.
Per i flussi di lavoro associati localmente a un pulsante di azione, può richiamarli in questo modo (utilizzando come esempio il pulsante di creazione della collezione posts):
Dove il parametro URL triggerWorkflows è la chiave del flusso di lavoro, con più flussi di lavoro separati da virgole. Questa chiave può essere ottenuta passando il mouse sul nome del flusso di lavoro nella parte superiore della tela del flusso di lavoro:

Dopo il successo della chiamata di cui sopra, verrà attivato l'evento post-azione della collezione posts corrispondente.
Poiché anche le chiamate esterne devono basarsi sull'identità dell'utente, quando si effettua una chiamata tramite API HTTP, proprio come le richieste inviate dall'interfaccia normale, è necessario fornire le informazioni di autenticazione, inclusi l'header di richiesta Authorization o il parametro token (il token ottenuto al login) e l'header di richiesta X-Role (il nome del ruolo corrente dell'utente).
Se necessita di attivare un evento per dati di relazione uno-a-uno in questa azione (uno-a-molti non è ancora supportato), può utilizzare ! nel parametro per specificare i dati di attivazione del campo di relazione:
Dopo il successo della chiamata di cui sopra, verrà attivato l'evento post-azione della collezione categories corrispondente.
Se l'evento è configurato in modalità globale, non è necessario utilizzare il parametro URL triggerWorkflows per specificare il flusso di lavoro corrispondente. Sarà sufficiente richiamare l'azione della collezione corrispondente per attivarlo.
Come mostrato nella figura seguente:

Gli eventi post-azione e gli eventi della collezione presentano delle somiglianze, in quanto entrambi sono processi attivati dopo modifiche ai dati. Tuttavia, i loro livelli di implementazione sono diversi: gli eventi post-azione operano a livello API, mentre gli eventi della collezione riguardano le modifiche ai dati all'interno della collezione stessa.
Gli eventi della collezione sono più vicini allo strato sottostante del sistema. In alcuni casi, una modifica ai dati causata da un evento può attivare un altro evento, creando una reazione a catena. In particolare, quando i dati in alcune collezioni associate cambiano anche durante l'operazione della collezione corrente, possono essere attivati anche gli eventi relativi alla collezione associata.
L'attivazione degli eventi della collezione non include informazioni relative all'utente. Al contrario, gli eventi post-azione sono più vicini all'utente finale e sono il risultato delle sue azioni. Il contesto del flusso di lavoro includerà anche informazioni relative all'utente, rendendoli adatti per la gestione dei processi legati alle operazioni dell'utente. Nella futura progettazione di NocoBase, potrebbero essere estesi ulteriori eventi post-azione utilizzabili per l'attivazione, quindi è più consigliabile utilizzare gli eventi post-azione per gestire i processi in cui le modifiche ai dati sono causate dalle azioni dell'utente.
Un'altra differenza è che gli eventi post-azione possono essere associati localmente a specifici pulsanti di modulo. Se ci sono più moduli, l'invio di alcuni moduli può attivare l'evento mentre altri no. Gli eventi della collezione, d'altra parte, riguardano le modifiche ai dati dell'intera collezione e non possono essere associati localmente.