Aller au contenu

Izgradnja scenarija

Platno u sredini, paleta za dodavanje i inspektor okolo. Kutije se pomeraju mišem, a prikaz se pomera i zumira.

Uređivač scenarija sa otvorenom paletom za dodavanje: uobičajene kutije na vrhu, pa kategorije Dodaj, Liste, Loops, Tajmer, Matematika, Algoritmika, Formati podataka, Kodiranje, UX

Iz palete, organizovane po kategorijama: kontrola, kompozicija (zahtevi i veze), liste, petlje, vreme, matematika, algoritmika, formati podataka, kodiranje, interfejs, pomoćni alati.

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

Određivanje zahteva u akciji stvara jaku vezu: akcija referencira zahtev po njegovom identifikatoru, a ne po kopiji. Iz toga sledi:

  • zahtev ostaje deljen — njegova izmena (URL, zaglavlja, telo) menja ono što odigravaju svi scenariji koji ga koriste, pri njihovom sledećem izvršavanju;
  • veza preživljava preimenovanje ili premeštanje zahteva u stablu: ne oslanja se ni na naziv ni na putanju;
  • iz zahteva, smartbar nosi dugme „Korišćeno u scenarijima” — ono navodi scenarije koji ga pozivaju i omogućava skok na njih. To je refleks koji treba imati pre izmene deljenog zahteva;
  • nedostajući zahtev (obrisan ili odsutan pri otvaranju projekta) dovodi do neuspeha validacije scenarija: dugme za pokretanje ostaje blokirano, a problematična kutija je označena — nikada nema tiho pokvarenog scenarija.

Da biste isti zahtev odigrali ponovo bez diranja njegove sačuvane verzije, nemojte ga menjati: koristite nadjačavanja (brzo podešavanje, nadjačavanja akcije, veza) opisana u Nadjačavanje zahteva.

Svaka kutija ima svoja polja, koja se unose direktno na kutiji ili u inspektoru. Polja prihvataju tipizovane vrednosti — nisku, broj, logičku vrednost, datum, Handlebars izraz, promenljivu, prilagođenu listu, tajnu… — vidite Promenljive i okruženja.

Ctrl+Space pokreće automatsko dovršavanje promenljivih i helpera u poljima koja ga prihvataju.

Povucite od izlaznog porta ka ulaznom portu.

Dva pravila koja treba znati:

  1. Ulazni port prihvata samo jednu vezu — osim porta in, koji ih prihvata koliko god želite i tada služi kao barijera.
  2. Izlaz čistog signala ne može da napaja ulaz čiste vrednosti. Sve ostalo je dozvoljeno: izlaz koji nosi vrednost služi i kao okidač.

Detalji: Portovi i veze.

Veza može da nosi selektor: putanju primenjenu na vrednost u prolazu.

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

To je ono što izbegava umetanje kutije za transformaciju između svakog poziva i njegovog potrošača. Selektor se podešava pri stvaranju veze ili kasnije; pražnjenje ga uklanja.

Akcija povezana sa zahtevom može da ga izmeni bez diranja samog zahteva. Četiri sloja, ovim redosledom:

  1. zahtev takav kakav je sačuvan;
  2. brzo podešavanje (quick config) određeno na akciji — tako se sačuvana varijanta zahteva ponovo upotrebljava direktno u scenariju, bez ponovnog unosa;
  3. nadjačavanja uneta na akciju;
  4. vrednost koja stiže vezom na port nadjačavanja.

To je čist način da isti poziv odigrate sa tri skupa podataka.

Kontekstni meni kutije nudi „Odigraj ponovo pri svakom primljenom događaju”. Kada je uključena, ta opcija pretvara sve povezane ulaze u neblokirajuća „ili” vrata: kutija se ponovo aktivira pri svakoj vrednosti primljenoj na bilo kom portu, umesto da čeka da sve budu tu.

To je neophodno za obradu toka (svaka MQTT poruka, svaki SSE događaj), a takođe i ono što odblokira ciklus dovršavanja.

  • Kutija Input / Param deklariše parametre scenarija. Oni se dostavljaju pri pokretanju, u komandnoj liniji (--param ime=vrednost) ili se traže pri izvršavanju u interaktivnom režimu.
  • Kutija Output / Return izlaže rezultat pozivaocu — korisno kada scenario poziva drugi scenario akcijom Pokreni scenario.

Restorm ume automatski da uredi graf (raspored); kutije se posle toga i dalje mogu ručno pomerati. Ctrl+Z poništava, Ctrl+Shift+Z vraća.

Dugme za pokretanje blokirano je sve dok postoje greške validacije: neispravna veza, nedostajući zahtev, prazno obavezno polje. Problematične kutije su označene.