Copiar nomes das etapas do fluxo de trabalho

Descrição do recurso:

Ao copiar e colar etapas do fluxo de trabalho, preserve o nome da etapa.

:slightly_smiling_face: Isso reduzirá o trabalho necessário para usar conteúdo copiado de um fluxo de trabalho.

Comportamento atual:

Ao usar o novo plugin principal “Workflows”, percebi que frequentemente precisava implementar coisas semelhantes ao que fiz em outro fluxo de trabalho, ou em outra parte do mesmo fluxo de trabalho. Felizmente, o plugin oferece suporte para copiar e colar etapas.

Infelizmente, os nomes das etapas são resetados para o padrão ao serem coladas. Prefiro usar nomes personalizados de etapa para comunicar claramente a função da etapa. Portanto, isso significa que tenho que percorrer e renomear cada uma das etapas adicionadas após realizar uma operação de colar. Isso também corre o risco de introduzir erros no fluxo de trabalho, pois o nome da etapa é o identificador usado para referenciar sua saída em etapas subsequentes (por exemplo, $("Foo step").first().json.bar).

Passos reproduzíveis:

  1. Faça login em uma conta de fórum Discourse com permissões de administrador, em um site que tenha o novo plugin “Workflows” habilitado.
  2. Abra a página “Workflows” (/admin/plugins/discourse-workflows/workflows).
  3. Clique no botão “+ Novo fluxo de trabalho”.
    Um novo fluxo de trabalho será criado.
  4. Clique no botão +.
    O painel “Adicionar etapa” será aberto.
  5. Selecione Fluxo > Se no painel.
    Escolhi este tipo de etapa específico arbitrariamente. O comportamento de reset do nome ocorre para qualquer tipo de etapa.
  6. Clique duas vezes na etapa “Se” recém-adicionada.
    A caixa de diálogo de configuração da etapa será aberta.
  7. Clique no ícone de lápis (“Editar”) à direita do nome da etapa, perto do canto superior esquerdo da caixa de diálogo.
    O nome da etapa se tornará um campo de texto editável.
  8. Digite Foo step no campo de nome da etapa.
  9. Clique no ícone à direita do campo.
    A alteração de nome será confirmada.
  10. Clique no ícone X no canto superior direito da caixa de diálogo.
    A caixa de diálogo será fechada.
  11. Clique com o botão direito na etapa “Foo step”.
    Um menu de contexto será aberto.
  12. Selecione “Copiar” no menu.
  13. Selecione a aba “Workflows” perto do topo da página.
    A página “Workflows” será aberta.
  14. Clique no botão “+ Novo fluxo de trabalho”.
    Um novo fluxo de trabalho será criado.
  15. Clique com o botão direito na área de trabalho do fluxo de trabalho.
    Um menu de contexto será aberto.
  16. Selecione “Colar” no menu.

:slightly_frowning_face: A etapa colada tem o nome padrão “Se”.

Versão do Discourse:

1a47bbf0af779342d6762eadb6da07f9ecf68717

Contexto adicional:

Entendo que a preservação do nome da etapa verbatim resultará em uma colisão de nomes no caso em que a etapa está sendo colada no fluxo de trabalho de origem. O plugin Workflows já garante nomes únicos ao adicionar etapas normalmente, adicionando um sufixo numérico ao nome da etapa que, caso contrário, colidiria. Essa abordagem pode ser adotada para o recurso de colar. Alternativamente, o plugin pode simplesmente exibir uma caixa de diálogo para informar o usuário da colisão, como já é feito quando o usuário define manualmente um nome não único em uma etapa:

Ocorreu um erro: Os nomes dos nós devem ser únicos dentro de um fluxo de trabalho. Duplicatas: Foo step

2 curtidas