Přeskočit na obsah

Vytvoření scénáře

Uprostřed plátno, kolem něj paleta pro přidávání a inspektor. Bloky se posouvají myší, pohled lze posouvat i přibližovat.

Editor scénářů s otevřenou paletou pro přidávání: nejčastější bloky nahoře, pod nimi kategorie Přidat, Seznamy, Loops, Časovač, Matematika, Algoritmika, Formáty dat, Kódování, UX

Z palety rozdělené do kategorií: řízení, skládání (požadavky a připojení), seznamy, cykly, čas, matematika, algoritmy, formáty dat, kódování, rozhraní, pomocné akce.

Akce svázaná s požadavkem (Požadavek HTTP, Požadavek SOAP, všechny akce připojení) vyžaduje, abyste určili požadavek projektu, který má řídit.

Určením požadavku v akci vzniká pevná vazba: akce odkazuje na požadavek jeho identifikátorem, nikoli kopií. Z toho plyne:

  • požadavek zůstává sdílený — jeho úprava (URL, hlavičky, tělo) mění to, co při svém dalším běhu spustí všechny scénáře, které jej používají;
  • vazba přežije přejmenování i přesun požadavku ve stromu: neopírá se ani o název, ani o cestu;
  • na straně požadavku nese smartbar tlačítko „Scénáře používající tento požadavek“ — vypíše scénáře, které jej volají, a umožní do nich přeskočit. Právě to je návyk, který se vyplatí mít před úpravou sdíleného požadavku;
  • chybějící požadavek (smazaný nebo nepřítomný při otevření projektu) způsobí selhání validace scénáře: tlačítko spuštění zůstane zablokované a vadný blok se označí — nikdy nemáte scénář rozbitý potichu.

Chcete-li tentýž požadavek přehrát bez zásahu do jeho uložené podoby, neupravujte jej: použijte přepsání (rychlé nastavení, přepsání na akci, propojení) popsaná v části Přepsání požadavku.

Každý blok má svá pole, která se zadávají přímo na bloku nebo v inspektoru. Pole přijímají typované hodnoty — řetězec, číslo, logickou hodnotu, datum, výraz Handlebars, proměnnou, vlastní seznam, tajný klíč… — viz Proměnné a prostředí.

Ctrl+Space spouští doplňování proměnných a helperů v polích, která je přijímají.

Táhněte z výstupního portu na vstupní port.

Platí dvě pravidla:

  1. Vstupní port přijímá jen jedno propojení — s výjimkou portu in, který jich přijímá libovolně mnoho a funguje pak jako bariéra.
  2. Výstup s čistým signálem nemůže napájet vstup s čistou hodnotou. Vše ostatní je dovoleno: výstup, který nese hodnotu, slouží zároveň jako spouštěč.

Podrobnosti: Porty a propojení.

Propojení může nést selektor: cestu uplatněnou na procházející hodnotu.

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

To je způsob, jak se vyhnout vkládání transformačního bloku mezi každé volání a jeho konzumenta. Selektor lze nastavit při vytvoření propojení nebo později; vymazáním se odstraní.

Akce svázaná s požadavkem jej může upravit, aniž by se sáhlo na požadavek samotný. Čtyři vrstvy, v tomto pořadí:

  1. požadavek tak, jak je uložený;
  2. rychlé nastavení (quick config) určené na akci — právě tak lze znovu použít uloženou variantu požadavku přímo ve scénáři, bez opětovného vypisování;
  3. přepsání zadaná na akci;
  4. hodnota přicházející propojením na port přepsání.

Je to čistý způsob, jak tentýž požadavek přehrát se třemi sadami dat.

Kontextová nabídka bloku nabízí „Spustit při každé přijaté události“. Když je volba zapnutá, změní všechny zapojené vstupy na neblokující hradla „nebo“: blok se znovu spustí při každé hodnotě přijaté na kterémkoli portu, místo aby čekal, až budou k dispozici všechny.

To je nezbytné pro zpracování streamu (každá zpráva MQTT, každá událost SSE) a zároveň to odblokuje cyklus dokončení.

  • Blok Input / Param deklaruje parametry scénáře. Zadávají se při spuštění, na příkazové řádce (--param name=value), nebo se v interaktivním režimu vyžádají za běhu.
  • Blok Output / Return zpřístupní výsledek tomu, kdo scénář zavolal — což je užitečné, když scénář volá jiný scénář akcí Spustit scénář.

Restorm umí graf automaticky uspořádat (rozvržení); bloky pak zůstávají volně přesouvatelné rukou. Ctrl+Z vrací zpět, Ctrl+Shift+Z znovu použije.

Tlačítko spuštění je zablokované, dokud zbývá jakákoli chyba validace: neplatné propojení, chybějící požadavek, prázdné povinné pole. Vadné bloky jsou označené.