Описание функции:
При копировании и вставке шагов рабочего процесса следует сохранять имя шага.
Это упростит использование контента, скопированного из рабочего процесса.
Текущее поведение:
При использовании нового плагина «Рабочие процессы» (Workflows) я обнаружил, что мне регулярно приходится реализовывать действия, аналогичные тем, что я выполнял в другом рабочем процессе или в другом месте того же процесса. К счастью, плагин поддерживает копирование и вставку шагов.
К сожалению, при вставке имена шагов сбрасываются до значений по умолчанию. Я предпочитаю использовать пользовательские имена шагов, чтобы четко указывать их назначение. Это означает, что после операции вставки мне приходится переименовывать каждый добавленный шаг. Кроме того, это повышает риск внесения ошибок в рабочий процесс, поскольку имя шага используется как идентификатор для обращения к его результату в последующих шагах (например, $("Foo step").first().json.bar).
Шаги для воспроизведения:
- Войдите в учетную запись форума Discourse с правами администратора на сайте, где включен новый плагин «Рабочие процессы».
- Откройте страницу «Рабочие процессы» (
/admin/plugins/discourse-workflows/workflows). - Нажмите кнопку «+ Новый рабочий процесс».
Будет создан новый рабочий процесс. - Нажмите кнопку +.
Откроется панель «Добавить шаг». - Выберите в панели Flow > If (Поток > Если).
ⓘ Я выбрал этот конкретный тип шага произвольно. Сброс имени происходит для любого типа шага. - Дважды щелкните по вновь добавленному шагу «If» (Если).
Откроется диалоговое окно настройки шага. - Щелкните по значку карандаша («Редактировать») справа от имени шага, в верхнем левом углу диалогового окна.
Имя шага превратится в редактируемое текстовое поле. - Введите
Foo stepв поле имени шага. - Щелкните по значку ✓ справа от поля.
Изменение имени будет сохранено. - Щелкните по значку X в верхнем правом углу диалогового окна.
Диалоговое окно закроется. - Щелкните правой кнопкой мыши по шагу «Foo step».
Откроется контекстное меню. - Выберите в меню «Copy» (Копировать).
- Выберите вкладку «Workflows» (Рабочие процессы) в верхней части страницы.
Откроется страница «Рабочие процессы». - Нажмите кнопку «+ Новый рабочий процесс».
Будет создан новый рабочий процесс. - Щелкните правой кнопкой мыши по холсту рабочего процесса.
Откроется контекстное меню. - Выберите в меню «Paste» (Вставить).
Вставленный шаг имеет имя по умолчанию «If» (Если).
Версия Discourse:
1a47bbf0af779342d6762eadb6da07f9ecf68717
Дополнительная информация:
Я понимаю, что дословное сохранение имени шага приведет к конфликту имен в случае, если шаг вставляется в исходный рабочий процесс. Плагин «Рабочие процессы» уже обеспечивает уникальность имен при обычном добавлении шагов, добавляя числовой суффикс к имени шага, которое в противном случае совпадало бы. Этот подход можно применить и для функции вставки. В качестве альтернативы плагин может просто отображать диалоговое окно с уведомлением о конфликте, как это уже делается, когда пользователь вручную задает неуникальное имя шага:
Произошла ошибка: Имена узлов должны быть уникальными в рамках одного рабочего процесса. Дубликаты: Foo step