Pular para o conteúdo

Construir um cenário

O canvas ao centro, a paleta de adição e o inspetor em volta. As caixas deslocam-se com o rato; a vista pode ser deslocada e ampliada.

O editor de cenários com a paleta de adição aberta: as caixas mais usadas em cima e depois as categorias Adicionar, Listas, Loops, Temporizador, Matemática, Algoritmia, Formatos de dados, Codificação, UX

A partir da paleta, organizada por categorias: controlo, composição (pedidos e ligações), listas, ciclos, tempo, matemática, algoritmia, formatos de dados, codificação, interface, utilitários.

Uma ação ligada a um pedido (Pedido HTTP, Pedido SOAP, todas as ações de ligação) exige que se indique o pedido do projeto que ela comanda.

Indicar um pedido numa ação cria uma ligação forte: a ação referencia o pedido pelo seu identificador, não por uma cópia. Daí resulta que:

  • o pedido continua partilhado — modificá-lo (URL, cabeçalhos, corpo) altera o que todos os cenários que o usam vão executar, na sua próxima execução;
  • a ligação sobrevive à mudança de nome ou à mudança de lugar do pedido na árvore: não se apoia no nome nem no caminho;
  • a partir do pedido, a smartbar tem um botão “Usado em cenários” — enumera os cenários que o chamam e permite saltar para eles. É o reflexo a ter antes de modificar um pedido partilhado;
  • um pedido em falta (eliminado, ou ausente na abertura do projeto) faz falhar a validação do cenário: o botão de reprodução fica bloqueado e a caixa em causa é sinalizada — nunca há um cenário quebrado em silêncio.

Para repetir o mesmo pedido sem tocar na sua versão guardada, não o modifique: use as sobreposições (parâmetro rápido, sobreposições de ação, ligação) descritas em Sobrepor um pedido.

Cada caixa tem os seus campos, preenchidos diretamente na caixa ou no inspetor. Os campos aceitam valores tipados — cadeia, número, booleano, data, expressão Handlebars, variável, lista personalizada, segredo… — ver Variáveis e ambientes.

Ctrl+Space ativa o preenchimento automático das variáveis e dos helpers nos campos que o aceitam.

Puxe de uma porta de saída até uma porta de entrada.

Duas regras a conhecer:

  1. Uma porta de entrada aceita apenas uma ligação — exceto a porta in, que aceita tantas quantas se queira e passa então a funcionar como barreira.
  2. Uma saída de sinal puro não pode alimentar uma entrada de valor puro. Todo o resto é permitido: uma saída que transporta um valor serve também de acionador.

Detalhes: Portas e ligações.

Uma ligação pode ter um seletor: um caminho aplicado ao valor em trânsito.

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

É o que evita intercalar uma caixa de transformação entre cada chamada e o seu consumidor. O seletor define-se na criação da ligação ou mais tarde; esvaziá-lo remove-o.

Uma ação ligada a um pedido pode modificá-lo sem tocar no próprio pedido. Quatro camadas, nesta ordem:

  1. o pedido tal como está guardado;
  2. um parâmetro rápido (quick config) indicado na ação — é assim que se reutiliza uma variante guardada de um pedido diretamente num cenário, sem a voltar a introduzir;
  3. as sobreposições introduzidas na ação;
  4. o valor que chega por uma ligação à porta de sobreposição.

É a maneira limpa de repetir a mesma chamada com três conjuntos de dados.

O menu de contexto de uma caixa propõe “Repetir a cada evento recebido”. Ativada, a opção transforma todas as entradas ligadas em portas “ou” não bloqueantes: a caixa volta a disparar a cada valor recebido em qualquer porta, em vez de esperar que todos estejam presentes.

É indispensável para tratar um fluxo (cada mensagem MQTT, cada evento SSE) e é também o que desbloqueia um ciclo de conclusão.

  • Uma caixa Input / Param declara os parâmetros do cenário. São fornecidos no lançamento, na linha de comandos (--param name=value) ou pedidos durante a execução em modo interativo.
  • Uma caixa Output / Return expõe um resultado a quem chama — útil quando o cenário é chamado por outro através da ação Executar cenário.

O Restorm sabe arrumar automaticamente um grafo (disposição automática); as caixas continuam a poder ser deslocadas à mão depois. Ctrl+Z desfaz, Ctrl+Shift+Z restabelece.

O botão de reprodução está bloqueado enquanto houver erros de validação: ligação inválida, pedido em falta, campo obrigatório vazio. As caixas em causa são sinalizadas.