Descripción de la característica:
Al copiar y pegar pasos de flujo de trabajo, conservar el nombre del paso.
Esto reducirá el trabajo necesario para utilizar contenido copiado de un flujo de trabajo.
Comportamiento actual:
Al utilizar el nuevo plugin principal “Workflows”, descubrí que con frecuencia necesitaba implementar cosas similares a lo que había hecho en otro flujo de trabajo, o en otra parte del mismo flujo. Afortunadamente, el plugin admite copiar y pegar pasos.
Lamentablemente, los nombres de los pasos se restablecen a los valores predeterminados al pegarlos. Prefiero utilizar nombres personalizados para los pasos a fin de comunicar claramente la función de cada paso. Por lo tanto, esto significa que debo recorrer y renombrar cada uno de los pasos agregados después de realizar una operación de pegado. Esto también conlleva el riesgo de introducir errores en el flujo de trabajo, ya que el nombre del paso es el identificador utilizado para hacer referencia a su salida en pasos posteriores (por ejemplo, $("Foo step").first().json.bar).
Pasos reproducibles:
- Inicia sesión en una cuenta de foro de Discourse con permisos de administrador, en un sitio que tenga habilitado el nuevo plugin “Workflows”.
- Abre la página “Workflows” (
/admin/plugins/discourse-workflows/workflows). - Haz clic en el botón “+ Nuevo flujo de trabajo”.
Se creará un nuevo flujo de trabajo. - Haz clic en el botón +.
Se abrirá el panel “Agregar paso”. - Selecciona Flow > If (Flujo > Si) en el panel.
ⓘ Elegí este tipo de paso específico de forma arbitraria. El comportamiento de restablecimiento del nombre ocurre para cualquier tipo de paso. - Haz doble clic en el paso “If” recién agregado.
Se abrirá el cuadro de diálogo de configuración del paso. - Haz clic en el icono de lápiz (“Editar”) a la derecha del nombre del paso, cerca de la esquina superior izquierda del cuadro de diálogo.
El nombre del paso se convertirá en un campo de texto editable. - Escribe
Foo stepen el campo del nombre del paso. - Haz clic en el icono ✓ a la derecha del campo.
Se confirmará el cambio de nombre. - Haz clic en el icono X en la esquina superior derecha del cuadro de diálogo.
Se cerrará el cuadro de diálogo. - Haz clic derecho en el paso “Foo step”.
Se abrirá un menú contextual. - Selecciona “Copiar” en el menú.
- Selecciona la pestaña “Workflows” cerca de la parte superior de la página.
Se abrirá la página “Workflows”. - Haz clic en el botón “+ Nuevo flujo de trabajo”.
Se creará un nuevo flujo de trabajo. - Haz clic derecho en el lienzo del flujo de trabajo.
Se abrirá un menú contextual. - Selecciona “Pegar” en el menú.
El paso pegado tiene el nombre predeterminado “If”.
Versión de Discourse:
1a47bbf0af779342d6762eadb6da07f9ecf68717
Contexto adicional:
Comprendo que la conservación del nombre del paso textualmente resultará en una colisión de nombres en el caso en que el paso se esté pegando en el flujo de trabajo de origen. El plugin Workflows ya garantiza nombres únicos al agregar pasos normalmente, añadiendo un sufijo numérico al nombre del paso que de otro modo colisionaría. Se podría adoptar ese enfoque para la función de pegado. Alternativamente, el plugin podría simplemente mostrar un cuadro de diálogo para informar al usuario de la colisión, como ya se hace cuando el usuario establece manualmente un nombre no único en un paso:
Se produjo un error: Los nombres de los nodos deben ser únicos dentro de un flujo de trabajo. Duplicados: Foo step