Aller au contenu

Izrada scenarija

Platno u sredini, paleta za dodavanje i inspektor uokolo. Kutije se pomiču mišem, a prikaz se pomiče i zumira.

Uređivač scenarija s otvorenom paletom za dodavanje: uobičajene kutije na vrhu, zatim kategorije Dodaj, Popisi, Loops, Mjerač vremena, Matematika, Algoritmika, Formati podataka, Kodiranje, UX

Iz palete, organizirane po kategorijama: upravljanje, kompozicija (zahtjevi i veze), popisi, petlje, vrijeme, matematika, algoritmika, formati podataka, kodiranje, sučelje, alati.

Akcija povezana sa zahtjevom (HTTP zahtjev, SOAP zahtjev, sve akcije povezivanja) traži da odredite zahtjev iz projekta kojim upravlja.

Određivanje zahtjeva u akciji stvara čvrstu vezu: akcija referencira zahtjev po njegovu identifikatoru, a ne kopijom. Iz toga slijedi:

  • zahtjev ostaje dijeljen — njegova izmjena (URL, zaglavlja, tijelo) mijenja ono što pri sljedećem izvođenju odigravaju svi scenariji koji ga koriste;
  • veza preživljava preimenovanje ili premještanje zahtjeva u stablu: ne počiva ni na nazivu ni na putanji;
  • iz zahtjeva, smartbar nosi gumb „Upotrijebljeno u scenarijima” — navodi scenarije koji ga pozivaju i omogućuje skok na njih. To je refleks koji treba imati prije izmjene dijeljenog zahtjeva;
  • nedostajući zahtjev (izbrisan ili odsutan pri otvaranju projekta) uzrokuje neuspjeh validacije scenarija: gumb za pokretanje ostaje blokiran, a problematična se kutija označava — nikad tiho pokvarenog scenarija.

Za ponovno izvođenje istog zahtjeva bez diranja njegove spremljene verzije nemojte ga mijenjati: upotrijebite nadjačavanja (brza postavka, nadjačavanja akcije, veza) opisana u odjeljku Nadjačavanje zahtjeva.

Svaka kutija ima svoja polja, koja se unose izravno na kutiji ili u inspektoru. Polja prihvaćaju tipizirane vrijednosti — niz, broj, booleovu vrijednost, datum, Handlebars izraz, varijablu, prilagođeni popis, tajnu… — pogledajte Varijable i okruženja.

Ctrl+Space pokreće automatsko dovršavanje varijabli i pomoćnika u poljima koja ga podržavaju.

Povucite od izlaznog porta prema ulaznom portu.

Dva pravila koja treba poznavati:

  1. Ulazni port prihvaća samo jednu vezu — osim porta in, koji ih prihvaća koliko god želite i tada služi kao barijera.
  2. Izlaz čistog signala ne može napajati ulaz čiste vrijednosti. Sve je ostalo dopušteno: izlaz koji nosi vrijednost služi i kao okidač.

Pojedinosti: Portovi i veze.

Veza može nositi selektor: putanju primijenjenu na vrijednost u prolazu.

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

To izbjegava umetanje kutije za transformaciju između svakog poziva i njegova potrošača. Selektor se postavlja pri stvaranju veze ili kasnije; njegovo pražnjenje briše ga.

Akcija povezana sa zahtjevom može ga izmijeniti bez diranja samog zahtjeva. Četiri sloja, ovim redom:

  1. zahtjev onakav kakav je spremljen;
  2. brza postavka (quick config) određena na akciji — tako se spremljena varijanta zahtjeva ponovno koristi izravno u scenariju, bez ponovnog unosa;
  3. nadjačavanja unesena na akciji;
  4. vrijednost koja pristiže vezom na port nadjačavanja.

To je čist način ponovnog izvođenja istog poziva s tri skupa podataka.

Kontekstni izbornik kutije nudi „Ponovi pri svakom primljenom događaju”. Kad je uključena, ta opcija sve ožičene ulaze pretvara u neblokirajuća „ili” vrata: kutija se ponovno okida pri svakoj vrijednosti primljenoj na bilo kojem portu, umjesto da čeka da stignu sve.

To je neizostavno za obradu toka (svaka MQTT poruka, svaki SSE događaj), a također odblokirava ciklus dovršavanja.

  • Kutija Input / Param deklarira parametre scenarija. Daju se pri pokretanju, u naredbenoj liniji (--param name=value) ili se traže pri izvođenju u interaktivnom načinu.
  • Kutija Output / Return izlaže rezultat pozivatelju — korisno kada scenarij poziva drugi scenarij akcijom Izvedi scenarij.

Restorm zna automatski posložiti graf (raspored); kutije se nakon toga i dalje mogu pomicati ručno. Ctrl+Z poništava, Ctrl+Shift+Z ponavlja.

Gumb za pokretanje blokiran je dok god postoje pogreške validacije: nevaljana veza, nedostajući zahtjev, prazno obavezno polje. Problematične se kutije označavaju.