功能描述:
复制并粘贴工作流步骤时,保留步骤名称。
这将减少使用从工作流复制的内容时的工作量。
当前行为:
在使用新的 “工作流”核心插件 时,我发现我经常需要实现与另一个工作流或同一工作流中其他地方相似的功能。幸运的是,该插件支持复制和粘贴步骤。
不幸的是,粘贴后步骤名称会重置为默认值。我更喜欢使用自定义步骤名称,以便清楚地传达步骤的功能。因此,这意味着在执行粘贴操作后,我必须逐一重命名每个添加的步骤。这也可能会在工作流中引入错误,因为步骤名称是用于在后续步骤中引用其输出的标识符(例如,$("Foo step").first().json.bar)。
可复现步骤:
- 使用具有管理员权限的 Discourse 论坛账户登录到启用了新“工作流”插件的网站。
- 打开“工作流”页面(
/admin/plugins/discourse-workflows/workflows)。 - 点击“+ 新建工作流”按钮。
将创建一个新的工作流。 - 点击 + 按钮。
“添加步骤”面板将打开。 - 从面板中选择 Flow > If。
ⓘ 我随意选择了这个特定的步骤类型。名称重置行为适用于任何步骤类型。 - 双击新添加的“If”步骤。
步骤的配置对话框将打开。 - 点击对话框左上角步骤名称右侧的铅笔图标(“编辑”)。
步骤名称将变为可编辑的文本字段。 - 在步骤名称字段中输入
Foo step。 - 点击字段右侧的 ✓ 图标。
名称更改将被提交。 - 点击对话框右上角的 X 图标。
对话框将关闭。 - 右键点击“Foo step”步骤。
将打开一个上下文菜单。 - 从菜单中选择“复制”。
- 选择页面顶部的“工作流”选项卡。
“工作流”页面将打开。 - 点击“+ 新建工作流”按钮。
将创建一个新的工作流。 - 右键点击工作流画布。
将打开一个上下文菜单。 - 从菜单中选择“粘贴”。
粘贴的步骤具有默认名称“If”。
Discourse 版本:
1a47bbf0af779342d6762eadb6da07f9ecf68717
其他上下文:
我理解,在将步骤粘贴到源工作流的情况下,逐字保留步骤名称会导致名称冲突。工作流插件在正常添加步骤时,通过向原本会冲突的步骤名称添加数字后缀来确保名称唯一。可以采用这种方法用于粘贴功能。或者,插件可以简单地显示一个对话框来告知用户冲突,就像用户在步骤中手动设置非唯一名称时已经做的那样:
发生错误:节点名称在工作流中必须唯一。重复项:Foo step