Descrição do recurso:
Ao copiar e colar etapas do fluxo de trabalho, preserve o nome da etapa.
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:
- 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.
- Abra a página “Workflows” (
/admin/plugins/discourse-workflows/workflows). - Clique no botão “+ Novo fluxo de trabalho”.
Um novo fluxo de trabalho será criado. - Clique no botão +.
O painel “Adicionar etapa” será aberto. - 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. - Clique duas vezes na etapa “Se” recém-adicionada.
A caixa de diálogo de configuração da etapa será aberta. - 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. - Digite
Foo stepno campo de nome da etapa. - Clique no ícone ✓ à direita do campo.
A alteração de nome será confirmada. - Clique no ícone X no canto superior direito da caixa de diálogo.
A caixa de diálogo será fechada. - Clique com o botão direito na etapa “Foo step”.
Um menu de contexto será aberto. - Selecione “Copiar” no menu.
- Selecione a aba “Workflows” perto do topo da página.
A página “Workflows” será aberta. - Clique no botão “+ Novo fluxo de trabalho”.
Um novo fluxo de trabalho será criado. - Clique com o botão direito na área de trabalho do fluxo de trabalho.
Um menu de contexto será aberto. - Selecione “Colar” no menu.
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