Скопировать имена шагов рабочего процесса

Описание функции:

При копировании и вставке шагов рабочего процесса следует сохранять имя шага.

:slightly_smiling_face: Это упростит использование контента, скопированного из рабочего процесса.

Текущее поведение:

При использовании нового плагина «Рабочие процессы» (Workflows) я обнаружил, что мне регулярно приходится реализовывать действия, аналогичные тем, что я выполнял в другом рабочем процессе или в другом месте того же процесса. К счастью, плагин поддерживает копирование и вставку шагов.

К сожалению, при вставке имена шагов сбрасываются до значений по умолчанию. Я предпочитаю использовать пользовательские имена шагов, чтобы четко указывать их назначение. Это означает, что после операции вставки мне приходится переименовывать каждый добавленный шаг. Кроме того, это повышает риск внесения ошибок в рабочий процесс, поскольку имя шага используется как идентификатор для обращения к его результату в последующих шагах (например, $("Foo step").first().json.bar).

Шаги для воспроизведения:

  1. Войдите в учетную запись форума Discourse с правами администратора на сайте, где включен новый плагин «Рабочие процессы».
  2. Откройте страницу «Рабочие процессы» (/admin/plugins/discourse-workflows/workflows).
  3. Нажмите кнопку «+ Новый рабочий процесс».
    Будет создан новый рабочий процесс.
  4. Нажмите кнопку +.
    Откроется панель «Добавить шаг».
  5. Выберите в панели Flow > If (Поток > Если).
    Я выбрал этот конкретный тип шага произвольно. Сброс имени происходит для любого типа шага.
  6. Дважды щелкните по вновь добавленному шагу «If» (Если).
    Откроется диалоговое окно настройки шага.
  7. Щелкните по значку карандаша («Редактировать») справа от имени шага, в верхнем левом углу диалогового окна.
    Имя шага превратится в редактируемое текстовое поле.
  8. Введите Foo step в поле имени шага.
  9. Щелкните по значку справа от поля.
    Изменение имени будет сохранено.
  10. Щелкните по значку X в верхнем правом углу диалогового окна.
    Диалоговое окно закроется.
  11. Щелкните правой кнопкой мыши по шагу «Foo step».
    Откроется контекстное меню.
  12. Выберите в меню «Copy» (Копировать).
  13. Выберите вкладку «Workflows» (Рабочие процессы) в верхней части страницы.
    Откроется страница «Рабочие процессы».
  14. Нажмите кнопку «+ Новый рабочий процесс».
    Будет создан новый рабочий процесс.
  15. Щелкните правой кнопкой мыши по холсту рабочего процесса.
    Откроется контекстное меню.
  16. Выберите в меню «Paste» (Вставить).

:slightly_frowning_face: Вставленный шаг имеет имя по умолчанию «If» (Если).

Версия Discourse:

1a47bbf0af779342d6762eadb6da07f9ecf68717

Дополнительная информация:

Я понимаю, что дословное сохранение имени шага приведет к конфликту имен в случае, если шаг вставляется в исходный рабочий процесс. Плагин «Рабочие процессы» уже обеспечивает уникальность имен при обычном добавлении шагов, добавляя числовой суффикс к имени шага, которое в противном случае совпадало бы. Этот подход можно применить и для функции вставки. В качестве альтернативы плагин может просто отображать диалоговое окно с уведомлением о конфликте, как это уже делается, когда пользователь вручную задает неуникальное имя шага:

Произошла ошибка: Имена узлов должны быть уникальными в рамках одного рабочего процесса. Дубликаты: Foo step

2 лайка