Budowanie scenariusza
Edytor
Section titled “Edytor”Płótno w centrum, paleta dodawania i inspektor wokół niego. Bloki przesuwa się myszą, a widok można przesuwać i przybliżać.

Dodawanie bloku
Section titled “Dodawanie bloku”Z palety, uporządkowanej według kategorii: sterowanie, kompozycja (żądania i połączenia), listy, pętle, czas, matematyka, algorytmika, formaty danych, kodowanie, interfejs, narzędzia.
Akcja powiązana z żądaniem (Żądanie HTTP, Żądanie SOAP, wszystkie akcje połączenia) wymaga wskazania żądania projektu, którym steruje.
Powiązanie scenariusz ↔ żądanie
Section titled “Powiązanie scenariusz ↔ żądanie”Wskazanie żądania w akcji tworzy silne powiązanie: akcja odwołuje się do żądania przez jego identyfikator, a nie przez kopię. Wynika z tego, że:
- żądanie pozostaje współdzielone — jego zmiana (adres URL, nagłówki, treść) zmienia to, co przy następnym wykonaniu odtworzą wszystkie scenariusze, które go używają;
- powiązanie przetrwa zmianę nazwy lub przeniesienie żądania w drzewie: nie opiera się ani na nazwie, ani na ścieżce;
- po stronie żądania smartbar zawiera przycisk „Użycie w scenariuszach” — wymienia scenariusze, które je wywołują, i pozwala do nich przejść. To odruch, który warto mieć przed zmianą współdzielonego żądania;
- brakujące żądanie (usunięte albo nieobecne przy otwarciu projektu) powoduje niepowodzenie walidacji scenariusza: przycisk uruchomienia pozostaje zablokowany, a błędny blok zostaje oznaczony — nigdy nie ma scenariusza uszkodzonego w ciszy.
Aby powtórzyć to samo żądanie bez ingerencji w jego zapisaną wersję, nie należy go modyfikować: służą do tego nadpisania (szybkie ustawienie, nadpisania akcji, połączenie) opisane w sekcji Nadpisywanie żądania.
Konfigurowanie bloku
Section titled “Konfigurowanie bloku”Każdy blok ma własne pola, wypełniane bezpośrednio na bloku albo w inspektorze. Pola przyjmują wartości typowane — ciąg znaków, liczbę, wartość logiczną, datę, wyrażenie Handlebars, zmienną, własną listę, sekret… — zob. Zmienne i środowiska.
Ctrl+Space wywołuje autouzupełnianie zmiennych i helperów w polach, które je
obsługują.
Podłączanie
Section titled “Podłączanie”Połączenie powstaje przez przeciągnięcie od portu wyjściowego do portu wejściowego.
Dwie reguły, które warto znać:
- Port wejściowy przyjmuje tylko jedno połączenie — z wyjątkiem portu
in, który przyjmuje ich dowolnie wiele i działa wtedy jako bariera. - Wyjście czysto sygnałowe nie może zasilić wejścia czysto wartościowego. Wszystko pozostałe jest dozwolone: wyjście przenoszące wartość służy również jako wyzwalacz.
Szczegóły: Porty i połączenia.
Selektor połączenia
Section titled “Selektor połączenia”Połączenie może nieść selektor: ścieżkę stosowaną do przesyłanej wartości.
data.items[0].idbody['user-id']statusDzięki temu nie trzeba wstawiać bloku przekształcającego między każdym wywołaniem a jego odbiorcą. Selektor ustawia się przy tworzeniu połączenia albo później; opróżnienie pola usuwa go.
Nadpisywanie żądania
Section titled “Nadpisywanie żądania”Akcja powiązana z żądaniem może je zmodyfikować bez ingerencji w samo żądanie. Cztery warstwy, w tej kolejności:
- żądanie w postaci zapisanej;
- szybkie ustawienie (quick config) wskazane na akcji — w ten sposób wykorzystuje się ponownie zapisany wariant żądania wprost w scenariuszu, bez wpisywania go od nowa;
- nadpisania wprowadzone na akcji;
- wartość przychodząca przez połączenie na porcie nadpisań.
To czysty sposób na powtórzenie tego samego wywołania z trzema zestawami danych.
Powtarzanie przy każdym zdarzeniu
Section titled “Powtarzanie przy każdym zdarzeniu”Menu kontekstowe bloku zawiera opcję „Powtarzaj przy każdym odebranym zdarzeniu”. Po włączeniu zamienia ona wszystkie podłączone wejścia w nieblokujące bramki „lub”: blok wyzwala się ponownie przy każdej wartości odebranej na dowolnym porcie, zamiast czekać, aż będą obecne wszystkie.
Jest to niezbędne przy przetwarzaniu strumienia (każdy komunikat MQTT, każde zdarzenie SSE), a także odblokowuje cykl domknięcia.
Parametry i wyjścia
Section titled “Parametry i wyjścia”- Blok Input / Param deklaruje parametry scenariusza. Dostarcza się je przy
uruchomieniu, w wierszu poleceń (
--param name=value) albo są wymagane w czasie wykonania w trybie interaktywnym. - Blok Output / Return udostępnia wynik wywołującemu — przydatne, gdy scenariusz jest wywoływany przez inny za pośrednictwem akcji Uruchom scenariusz.
Porządkowanie
Section titled “Porządkowanie”Restorm potrafi automatycznie uporządkować graf (rozmieszczenie); bloki
nadal można potem przesuwać ręcznie. Ctrl+Z cofa, Ctrl+Shift+Z przywraca.
Walidacja
Section titled “Walidacja”Przycisk uruchomienia jest zablokowany, dopóki pozostają błędy walidacji: nieprawidłowe połączenie, brakujące żądanie, puste pole obowiązkowe. Błędne bloki są oznaczane.