Copia i nomi dei passaggi del flusso di lavoro

Descrizione della funzionalità:

Quando i passaggi del flusso di lavoro vengono copiati e incollati, preservare il nome del passaggio.

:slightly_smiling_face: Questo ridurrà il lavoro necessario per utilizzare il contenuto copiato da un flusso di lavoro.

Comportamento attuale:

Utilizzando il nuovo plugin core “Workflows”, ho notato che spesso dovevo implementare elementi simili a quelli già realizzati in un altro flusso di lavoro o in un’altra parte dello stesso flusso. Fortunatamente, il plugin supporta la copia e l’incollo dei passaggi.

Sfortunatamente, i nomi dei passaggi vengono reimpostati sui valori predefiniti quando vengono incollati. Preferisco utilizzare nomi personalizzati per i passaggi in modo da comunicare chiaramente la funzione di ciascun passaggio. Di conseguenza, devo rinominare manualmente ogni passaggio aggiunto dopo ogni operazione di incolla. Questo aumenta anche il rischio di introdurre errori nel flusso di lavoro, poiché il nome del passaggio è l’identificatore utilizzato per fare riferimento al suo output nei passaggi successivi (ad esempio, $("Foo step").first().json.bar).

Passaggi per riprodurre il problema:

  1. Accedi a un account forum Discourse con permessi di amministratore, su un sito in cui è abilitato il nuovo plugin “Workflows”.
  2. Apri la pagina “Workflows” (/admin/plugins/discourse-workflows/workflows).
  3. Clicca sul pulsante “+ Nuovo flusso di lavoro”.
    Verrà creato un nuovo flusso di lavoro.
  4. Clicca sul pulsante +.
    Si aprirà il pannello “Aggiungi passaggio”.
  5. Seleziona Flusso > Se dal pannello.
    Ho scelto questo tipo di passaggio in modo arbitrario. Il comportamento di reset del nome si verifica per qualsiasi tipo di passaggio.
  6. Fai doppio clic sul passaggio “Se” appena aggiunto.
    Si aprirà la finestra di configurazione del passaggio.
  7. Clicca sull’icona della matita (“Modifica”) a destra del nome del passaggio, vicino all’angolo in alto a sinistra della finestra.
    Il nome del passaggio diventerà un campo di testo modificabile.
  8. Digita Foo step nel campo del nome del passaggio.
  9. Clicca sull’icona a destra del campo.
    La modifica del nome verrà confermata.
  10. Clicca sull’icona X nell’angolo in alto a destra della finestra.
    La finestra si chiuderà.
  11. Fai clic destro sul passaggio “Foo step”.
    Si aprirà un menu contestuale.
  12. Seleziona “Copia” dal menu.
  13. Seleziona la scheda “Workflows” in alto nella pagina.
    Si aprirà la pagina “Workflows”.
  14. Clicca sul pulsante “+ Nuovo flusso di lavoro”.
    Verrà creato un nuovo flusso di lavoro.
  15. Fai clic destro sull’area di disegno del flusso di lavoro.
    Si aprirà un menu contestuale.
  16. Seleziona “Incolla” dal menu.

:slightly_frowning_face: Il passaggio incollato ha il nome predefinito “Se”.

Versione di Discourse:

1a47bbf0af779342d6762eadb6da07f9ecf68717

Contesto aggiuntivo:

Comprendo che la preservazione verbatim del nome del passaggio potrebbe causare una collisione di nomi nel caso in cui il passaggio venga incollato nel flusso di lavoro di origine. Il plugin Workflows garantisce già nomi univoci quando si aggiungono passaggi normalmente, aggiungendo un suffisso numerico al nome del passaggio che altrimenti causerebbe una collisione. Tale approccio potrebbe essere adottato anche per la funzione di incolla. In alternativa, il plugin potrebbe semplicemente visualizzare una finestra di dialogo per informare l’utente della collisione, come già avviene quando l’utente imposta manualmente un nome non univoco in un passaggio:

Si è verificato un errore: i nomi dei nodi devono essere univoci all’interno di un flusso di lavoro. Duplicati: Foo step

2 Mi Piace