Discourse 工作流程

:information_source: 摘要 一个用于主题的工作流系统,实现了可配置的多阶段流程
:hammer_and_wrench: 代码库链接 \u003chttps://github.com/merefield/discourse-workflow\u003e
:open_book: 安装指南 如何在 Discourse 中安装插件

喜欢这个插件吗?请在 GitHub :star: 它!:pray:

摘要

一个插件,为主题提供了一个安全的工作流框架,主题会经过一系列可自定义的步骤,直到工作流完成。支持一些分支和循环。

将其用于您现有的业务工作流,例如审批或问题响应流程。

特点

Discourse 的工作流工具!

  • 基于主题的工作流
  • 利用现有的平台安全、分类、用户和组。
  • 新的管理员屏幕,用于创建新的工作流、步骤和步骤选项。
  • 新的工作流发现列表,列出您有权访问的所有工作流主题
  • 工作流主题的横幅,告诉您:
    • 当前工作流
    • 当前工作流步骤
    • 如果您是具有访问权限的组的一部分,则可以操作按钮,以选择一个决定主题如何通过工作流进行的选项
    • 指向可视化图的链接(见上文)。
  • 工作流可视化,可以从以下位置启动:
    • 主题横幅
    • 发现列表
  • 主题帖子的小操作,用于工作流转换,以显示审计跟踪。
  • 当主题到达您正在“关注”(首帖)的步骤(即类别)时发送通知
  • 数据探索器支持
    • 审计日志报告
    • 每日实例工作流/步骤计数,以便您可以创建燃尽图/燃起图。
  • 可以利用 AI 自动处理工作流步骤。

注意:这是一个早期版本,功能集可能会不断发展。我愿意接受商业兴趣来资助新功能和集成。

入门概念

为了尽可能多地利用现有的 Discourse 平台,我创建了一个简单的框架,它使用了该平台的许多现有功能。

泳道

每个工作流泳道都是一个类别(或子类别)。

随着工作流实例在其旅程中前进,它会在可自定义但预定义的旅程中在类别之间移动。

工作流实例

工作流的单个实例(例如,一个工单)是一个主题。您可以为主题添加标签以突出其优先级或其他元数据。一旦主题开始其旅程,您就不能更改其类别,除非通过对主题执行工作流操作(除非您是工作人员)。

参与者

任何有权在该类别中创建主题的组都可以对该类别中的主题进行操作。

有回复权限的人可以像评论普通主题一样评论工作流项。

您可以按常规方式隐藏特定组在类别中的主题。

通过选项进行操作

这些是在设置工作流时为每个步骤定义的。参与者可以选择执行任何可用操作,因为每个选项都显示为主题上的按钮。

主题上的操作会记录在“小操作帖子”中,以帮助用户理解主题的旅程。

仪表板

主页上的新主题发现过滤器“工作流”提供了一个工作流实例列表(特殊工作流主题)

您应该区分工作流类别和标签,这样您也可以使用它们来过滤特定阶段的所有工作流实例,或具有特定标签的所有工作流实例。

审计跟踪

每次主题转换到新步骤时,都会在主题上添加一个记录该事件的帖子作为“小操作帖子”。

捆绑的数据探索器查询提供了一个基本审计报告,记录了工作流实例的旅程。

由于数据探索器查询可以暴露给管理员以外的用户,因此您可以选择向谁显示它们。

燃起图/燃尽图

有一个捆绑的数据探索器查询,按工作日结束时(COB)呈现工作流状态,以便您可以将数据导出到例如 Excel 中创建燃起图/燃尽图。

可视化

每个工作流主题上都有一个按钮,允许您显示该主题在其工作流中的位置的可视化图。

也可以从工作流发现仪表板上的工作流字段访问。

与标准的主要行为差异

  • 您不能在超出工作流第一步的类别中创建新主题
  • 您不能更改工作流中主题的类别(除非您是工作人员)。
  • 只有类别“创建者”才能操作工作流中的主题。

开始使用

工作流插件不包含工作流,您必须自己创建一个。

创建工作流的屏幕位于“管理员”→“插件”→“Discourse 工作流”。

首先通过点击按钮创建一个新工作流,保存它,然后通过编辑工作流来填充步骤。每个步骤一旦创建,都可以通过从预定义选项列表中选择选项来编辑。

您可以在“管理员”→“自定义”→“文本”中更改选项的标签。

我已经预置了大量选项,但如果您想更改每个选项的文本,请随意修改。

在每个工作流类别中,您必须确保您的“参与者”被设置为具有创建权限。所有其他人必须具有回复或更低的权限。

您的“参与者”可能还希望通过选择“关注首帖”来跟踪他们负责的类别。然后,当新的工作流主题到达时,他们将收到带有链接的通知。

技巧

  • 考虑将特定工作流的所有工作流步骤设为单个类别下的子类别。虽然这不是必需的,但它允许您仅使用发现列表中的现有 Discourse 类别下拉菜单来过滤该类别,以查看该特定工作流的所有工作流实例。
  • 在新的工作流发现列表中,您可以单击工作流名称、位置或步骤来可视化该实例在其路径上的位置。
  • 使用官方工具为工作流中使用的主题创建结构化模板:
  • 在侧边栏(或任何地方)创建一个链接来创建新的工作流项并启动工作流:Creating a link to start a new topic with pre-filled information

AI 操作

您可以利用 AI 来处理一个步骤。您需要在工作流设置中添加一个有效的 OpenAI 密钥。您必须在步骤中启用 AI。您还必须编写一个提示,该提示必须包含 {{options}} 以告知 AI 其拥有的选项,并包含 {{topic}} 以包含内容。

示例提示:

“你的选项是 {{options}}。如果下面的文本说明它很美味,请接受,否则拒绝。{{topic}} 用这些选项中的一个词回答”

已知问题:

它仍处于实验阶段,因此可能会出现问题,请报告它们,我会在此处列出,直到它们得到解决。

24 个赞

获得一些关注。

4 个赞

已部署几个修复程序:

2 个赞

在移动设备上提供更实用的视图:

  • 改进:工作流主题列表在桌面端运行效果很好,但在移动设备上太宽了,因此,与其在移动设备上添加所有这些列,不如在标题中添加一个工作流徽章,并将完整的列集限制在桌面端。
2 个赞

一些细微但重要的调整。

1 个赞

您好 Robert,

我正在使用工作流插件(不含 AI)。这是一个简单的流程,旨在为 Linux 咖啡馆提供支持链,帮助用户从 Windows 迁移。新主题通过带有子寻址的 RFC 6233 邮件创建,并进入第一个子类别(level1)。

两个问题:

  1. 工作流步骤的 ID 不唯一。我有三个步骤具有相同的 ID。??
  2. “incoming”主题上的“start”操作会创建“422 unprocessable content”。也许这是 1) 的结果。
3 个赞

感谢您的耐心和反馈。我感谢您对插件的兴趣。

它有点实验性,正如您所见,尚未收到大量反馈,因此难免会出现一些初期问题。

我将尝试重现您的工作流程并尝试重现该问题。

在此期间,您能否截取管理屏幕中工作流程的屏幕截图并分享?

@Thomas_Rother 您对此有堆栈跟踪吗?

3 个赞

罗伯特,您好:
没关系,我知道这是实验性的。因此,它只安装在一个自托管的测试实例上。您可以在那里注册,我可以授予您管理员权限:

https://forum2.netzwissen.de/login

2 个赞

好的,通过演练,这是我的操作过程:

  • 设置“网吧门票”类别
  • 将所有步骤设置为子类别,结果如下:

到目前为止一切顺利。

现在让我们创建步骤:

好的,我至少可以看到两个问题!(但其中一个可能由另一个引起)

这很奇怪,因为我确定以前这是可以正常工作的。我正在查看,如果我有时间,很快就会发布一个修复程序。

3 个赞

@Thomas_Rother 试试这个:

(您可能需要删除并重新创建受影响的步骤)

2 个赞

这个插件最常见的用例是什么?它是否与 Gemini flash 2.0 兼容?

任何具有多个步骤和参与者的业务流程(在合理的范围内)。可能需要扩展以进行特定集成。

目前仅支持 OpenAI,但欢迎提交 PR(它使用 Chat Completions,因此工作量不大)。

1 个赞

重大新闻:您现在可以获取创建燃尽图/燃起图的统计数据:

  • 添加了一个每日作业来创建状态计数统计信息,您可以在燃尽图/燃起图中使用这些信息。
  • 添加了一个作业,用于检查或添加两个有用的数据探索器查询
    • 所有转换的审计日志
    • 工作流实例在其工作流的每个步骤的每日计数,便于燃尽图/燃起图(只需导出结果)。
    • 您可以授予特定组访问这些报告的权限。

注意:由于在主要插件捆绑中处理 gem 依赖项的方式发生了变化,Discourse Workflow 目前仅与通过测试兼容。一旦下一个稳定版本发布,这种情况应该会有所改变。

4 个赞

我正在尝试找出我的网站为什么会变慢……

弃用警告

[PLUGIN discourse-workflow] 弃用通知:在站点初始化阶段访问 site.mobileViewsite.desktopView 已弃用。在将来的更新中,移动模式将由视口大小确定,因此在初始化期间使用这些值可能会在浏览器窗口大小调整时导致错误和不一致。请将这些检查移至在页面渲染期间执行的组件、转换器或 API 回调。 [弃用于 Discourse 3.5.0.beta9-dev] [弃用 ID:discourse.static-viewport-initialization] [信息:Designing for Different Devices (Viewport Size, Touch/Hover, etc.)] deprecated.js:62:13

我非常怀疑这会导致您的网站变得迟缓!!:laughing: - 这是一个弃用警告。

期待您的 PR :slight_smile:

1 个赞

嗯,这不应该是因为 Discourse Workflow,因为我已经关闭了几个 N+1 问题,包括主题列表和可视化中的问题:

等等。