KEPLIN Docs

Desenhar processos

O canvas dos workflows — criar um processo, escolher o registo de que ele trata, arrastar passos, declarar variáveis e ler os avisos do desenho.

Um workflow é um processo de negócio desenhado numa tela: passos ligados por setas, decisões que abrem caminhos, esperas que podem durar semanas e tarefas atribuídas a pessoas. É a peça certa para tudo o que tem estados e gente pelo meio — uma aprovação de despesa, o fecho de uma oportunidade, o onboarding de um cliente novo.

Um workflow distingue-se de um script agendado em duas coisas:

  • Toda a execução trata de UM registo. Não é opcional: cada execução está agarrada a uma linha de uma entidade da app — a oportunidade 42, a conta 17. É esse registo que os passos lêem e escrevem.
  • Uma execução pode dormir. Um script corre em segundos; um processo pode ficar três semanas à espera que alguém carregue num botão, e retoma exactamente onde parou.

Ao longo deste capítulo usamos o processo Aprovação de oportunidade da app Gestão de Clientes: oportunidades acima de 25.000 € passam pela direcção antes de fechar; abaixo disso fecham sozinhas.

Onde vivem os workflows

Os workflows são do lado da UI da app: abre o minitab UI e desce a árvore até ao grupo Workflows, por baixo dos ecrãs e dos ficheiros. Cada processo é uma linha; clicar no nome abre o desenho num separador do espaço de trabalho.

O grupo Workflows na árvore da app, com os processos da Gestão de Clientes
O grupo Workflows na árvore da app, com os processos da Gestão de Clientes

Numa app que ainda não tem nenhum, o grupo mostra apenas "Ainda não há workflows.".

Criar um workflow

  1. Passa o rato pela linha do grupo Workflows e clica no botão Novo workflow (o ícone de nós, à direita do de pasta).
  2. Preenche o Nome — por exemplo Aprovação de despesa. É o nome que aparece na árvore, no histórico das execuções e nas listas onde o processo é escolhido.
  3. Clica em Criar.

O diálogo Novo workflow, com o campo Nome
O diálogo Novo workflow, com o campo Nome

O processo nasce com um nó de Início já na tela — sem ele não há por onde começar — e o desenho abre de imediato.

Dica

O botão de pasta ao lado cria pastas dentro de Workflows. Numa app com muitos processos, agrupá-los por área (comercial/, rh/) poupa muito tempo à procura.

O desenho

O separador de um workflow tem duas vistas, Desenho e Execuções, e o Desenho divide-se em três colunas:

O desenho de Aprovação de oportunidade: paleta, tela e propriedades
O desenho de Aprovação de oportunidade: paleta, tela e propriedades

Zona O que é
Nós (esquerda) A paleta com os tipos de passo. Arrasta-se um para a tela.
A tela (centro) O processo desenhado. Arrasta-se para mover, liga-se saída a entrada para criar setas.
O painel da direita As propriedades — do processo quando não há nada seleccionado, do passo quando há.

No cabeçalho, à direita do nome, ficam o identificador do processo (um código como wf_4ef9ed11, que se copia com um clique — é por ele que o código manda o processo arrancar), o estado da gravação, e as setas de desfazer e refazer.

Não há botão de gravar: o desenho grava-se sozinho, um instante depois de cada alteração.

A paleta de nós

A paleta Nós, com todos os tipos de passo
A paleta Nós, com todos os tipos de passo

Para acrescentar um passo, arrasta o tipo da paleta para a tela. Para o ligar, puxa uma seta do ponto de saída de um passo até ao ponto de entrada do seguinte. Para apagar, selecciona e carrega em Delete.

O nó de Início é a excepção: existe sempre um, e não se apaga.

Cada tipo está descrito na página seguinte, Passos, decisões e esperas. O resumo:

Grupo Nós
Decidir e ramificar Condição, Paralelo, Junção, Ciclo
Esperar Esperar, Esperar evento
Agir Escrever no registo, Notificar, Email, Correr script, Sub-workflow
Pessoas Tarefa
Acabar Fim

As propriedades do processo

Clica em qualquer zona vazia da tela para desmarcar o passo seleccionado — o painel da direita passa a mostrar as propriedades do processo.

As propriedades do processo, no painel da direita
As propriedades do processo, no painel da direita

Campo O que faz
Descrição "Para que serve este processo." Texto livre, só para quem constrói.
Ligado Desligado, "o processo não arranca por evento nenhum — só existe para desenho". Continua a poder ser editado; simplesmente não corre.
Execuções sobre o mesmo registo Quantas forem precisas ou Só uma de cada vez.
Entidade A entidade de que cada execução trata — uma das APIs de tabela da app.
Campo da chave O campo que identifica o registo (normalmente a chave primária).
Variáveis Ver a secção seguinte.

Sobre a concorrência: com Só uma de cada vez, "emitir o evento outra vez enquanto houver execução viva não arranca nada". É o que se quer numa aprovação — a mesma oportunidade não deve ter dois processos de aprovação a correr ao mesmo tempo. Num processo tipo "pedido de férias", em que o mesmo funcionário pode ter vários pedidos, escolhe-se Quantas forem precisas.

Atenção

Sem Entidade escolhida, o desenho acusa erro e o processo não corre: "Falta escolher a entidade — toda a execução trata de um registo." É a primeira coisa a definir num processo novo.

Variáveis do processo

As variáveis são "o que a execução carrega consigo: comentários, valores calculados, decisões". Vivem enquanto a execução viver, e são independentes do registo — o comentário que a direcção escreveu não tem de ficar gravado na tabela das oportunidades para o processo o poder usar três passos à frente.

Abre-as no botão da linha Variáveis:

O diálogo Variáveis do processo
O diálogo Variáveis do processo

  1. Clica em Acrescentar variável.
  2. Dá-lhe um Nome (sem espaços — é assim que os passos lhe chamam).
  3. Escolhe o Tipo: Texto, Número, Sim/Não ou Data.
  4. Opcionalmente, um Valor inicial.

A partir daí, qualquer passo que peça um valor pode ir buscá-lo à variável, e os passos Correr script e Tarefa podem escrever nela.

Os avisos do desenho

Por baixo da tela aparece uma barra sempre que há problemas — "{n} erro(s), {n} aviso(s) no desenho". Clicar nela abre a lista; clicar numa linha selecciona o passo em causa.

A barra de avisos de um processo por acabar
A barra de avisos de um processo por acabar

Os problemas mais comuns:

Mensagem O que quer dizer
"O processo não tem nó de início." Erro. Sem início não arranca.
"Falta escolher a entidade — toda a execução trata de um registo." Erro. Falta preencher Entidade nas propriedades.
"Esta tarefa não diz a quem deve ser atribuída — a execução vai falhar aqui." Erro. Uma tarefa sem destinatários nunca chega a ninguém.
"Esta tarefa não tem decisões: a pessoa não teria em que carregar." Erro. Ver Tarefas para pessoas.
"Só pode haver um Início: quem manda arrancar diz o workflow, não o passo." Erro. Apaga os inícios a mais.
"A saída «X» não vai a lado nenhum." Aviso. Há um caminho por ligar.
"Este passo não é alcançável a partir do início." Aviso. Um passo solto na tela.
"O processo não tem nó de fim." Aviso.

Nota

Os avisos nunca impedem gravar. Valida-se ao usar, não ao escrever — um processo leva dias a desenhar e ninguém quer perder o trabalho por causa de uma seta que falta. Mas um processo com erros não deve ser ligado.

Ligado ou desligado

O crachá ao lado do nome mostra Ligado ou Desligado. É o interruptor Ligado nas propriedades que o comanda, e a regra é simples: desligado, o processo não arranca por nada — nem por um botão de um ecrã, nem por um script. Serve para desenhar com calma, e para parar um processo com problemas sem o apagar.

Dica

Desligar um processo não cancela as execuções que já estão a correr. As que estão vivas seguem o seu caminho; o que deixa de acontecer é o arranque de novas.

Renomear, mover e apagar

No menu da linha do workflow, na árvore:

  • Renomear — muda o nome de apresentação. O identificador do processo (wf_…) não muda, por isso nada do que o chama se parte.
  • Mover — para outra pasta dentro de Workflows.
  • Eliminar — apaga o desenho. As execuções que já correram deixam de ter processo a que pertencer.

Perguntas frequentes

Editei o desenho com execuções a meio. O que acontece às que estão a correr? Nada. Cada execução guarda a cópia do desenho com que arrancou — quem está a meio de um processo não vê o chão mudar. A versão nova vale para as execuções que começarem a partir daí.

Posso ter dois nós de Início? Não. Quem manda arrancar o processo é o ecrã, o script ou o processo pai — não o desenho. Um segundo Início é um erro assinalado na barra de avisos.

O processo está Ligado mas não arranca. Verifica três coisas: se a Entidade está escolhida; se a concorrência está em Só uma de cada vez e já existe uma execução viva sobre esse registo; e se quem manda arrancar está mesmo a chamar o processo — ver Tarefas para pessoas, secção "Formas de arranque".