Salta ai contenuti

Costruire uno scenario

La tela al centro, la tavolozza di aggiunta e l’inspector attorno. I riquadri si spostano col mouse, la vista si sposta e si ingrandisce.

L’editor di scenari con la tavolozza di aggiunta aperta: i riquadri più comuni in alto, poi le categorie Aggiungi, Elenchi, Loops, Timer, Matematica, Algoritmica, Formati di dati, Codifica, UX

Dalla tavolozza, organizzata per categorie: controllo, composizione (richieste e connessioni), elenchi, cicli, tempo, matematica, algoritmica, formati di dati, codifica, interfaccia, utilità.

Un’azione collegata a una richiesta (Richiesta HTTP, Richiesta SOAP, tutte le azioni di connessione) chiede di designare la richiesta del progetto che pilota.

Designare una richiesta in un’azione crea un legame forte: l’azione referenzia la richiesta tramite il suo identificatore, non tramite una copia. Ne conseguono:

  • la richiesta resta condivisa — modificarla (URL, header, corpo) cambia ciò che eseguono tutti gli scenari che la usano, alla loro prossima esecuzione;
  • il legame sopravvive alla rinomina o allo spostamento della richiesta nell’albero: non si basa né sul nome né sul percorso;
  • dalla richiesta, la smartbar porta un pulsante «Usata negli scenari» — elenca gli scenari che la chiamano e permette di saltarvi. È il riflesso da avere prima di modificare una richiesta condivisa;
  • una richiesta mancante (eliminata, oppure assente all’apertura del progetto) fa fallire la validazione dello scenario: il pulsante di riproduzione resta bloccato e il riquadro difettoso viene segnalato — mai uno scenario rotto in silenzio.

Per rieseguire la stessa richiesta senza toccare la sua versione salvata, non va modificata: si usano le sovrascritture (impostazione rapida, sovrascritture d’azione, collegamento) descritte in Sovrascrivere una richiesta.

Ogni riquadro ha i propri campi, inseriti direttamente sul riquadro o nell’inspector. I campi accettano valori tipizzati — stringa, numero, booleano, data, espressione Handlebars, variabile, elenco personalizzato, segreto… — si veda Variabili e ambienti.

Ctrl+Space attiva il completamento automatico delle variabili e degli helper nei campi che lo accettano.

Basta trascinare da una porta di output verso una porta di input.

Due regole da conoscere:

  1. Una porta di input accetta un solo collegamento — tranne la porta in, che ne accetta quanti se ne vogliono e funge allora da barriera.
  2. Un’uscita di puro segnale non può alimentare un input di puro valore. Tutto il resto è consentito: un’uscita che porta un valore serve anche da grilletto.

Dettagli: Porte e collegamenti.

Un collegamento può portare un selettore: un percorso applicato al valore in transito.

data.items[0].id
body['user-id']
status

È ciò che evita di intercalare un riquadro di trasformazione tra ogni chiamata e il suo consumatore. Il selettore si imposta alla creazione del collegamento o più tardi; svuotarlo lo rimuove.

Un’azione collegata a una richiesta può modificarla senza toccare la richiesta stessa. Quattro livelli, in questo ordine:

  1. la richiesta così come è salvata;
  2. un’impostazione rapida (quick config) designata sull’azione — è così che si riutilizza una variante salvata di una richiesta direttamente in uno scenario, senza reinserirla;
  3. le sovrascritture inserite sull’azione;
  4. il valore che arriva da un collegamento sulla porta di override.

È il modo pulito per rieseguire la stessa chiamata con tre insiemi di dati.

Il menu contestuale di un riquadro propone «Riesegui a ogni evento ricevuto». Se attivata, l’opzione trasforma tutti gli input cablati in porte «or» non bloccanti: il riquadro si riattiva a ogni valore ricevuto su qualunque porta, invece di attendere che ci siano tutti.

È indispensabile per elaborare un flusso (ogni messaggio MQTT, ogni evento SSE), ed è anche ciò che sblocca un ciclo di completamento.

  • Un riquadro Input / Param dichiara i parametri dello scenario. Vengono forniti al lancio, dalla riga di comando (--param name=value), oppure richiesti in fase di esecuzione in modalità interattiva.
  • Un riquadro Output / Return espone un risultato al chiamante — utile quando lo scenario viene chiamato da un altro tramite l’azione Esegui lo scenario.

Restorm sa disporre automaticamente un grafo (impaginazione); i riquadri restano poi spostabili a mano. Ctrl+Z annulla, Ctrl+Shift+Z ripristina.

Il pulsante di riproduzione è bloccato fino a quando restano errori di validazione: collegamento non valido, richiesta mancante, campo obbligatorio vuoto. I riquadri difettosi vengono segnalati.