Discourse 工作流程

:information_source: 摘要 一个基于主题的工作流系统,用于 Discourse,具有可配置的步骤、操作、工作流列表过滤器和看板视图
:hammer_and_wrench: 仓库链接 https://github.com/merefield/discourse-workflow
:open_book: 安装指南 如何在 Discourse 中安装插件

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

摘要

discourse-workflow 为主题提供了一个安全的工作流框架。每个工作流由可配置的步骤和选项组成,主题会按这些步骤推进直到完成。

它支持分支和循环、列表和看板发现视图、可审计性以及自动化友好的行为,同时保持与核心 Discourse 权限和 UI 模式的接近。

特性

  • 基于主题的工作流实例,具有管理员定义的“工作流”、“步骤”和“步骤选项”
  • 基于核心 Discourse 概念构建:类别、组和基于类别的权限——只有在获得许可的情况下才能执行操作
  • 在 /workflow 处进行工作流发现,带有快速过滤器:
    • 我的类别
    • 逾期
    • 步骤 = X
  • 发现视图选择器:
    • 列表
    • 看板(仅在单一、兼容看板的工作流上下文下显示)
    • 图表(仅在单一工作流上下文和允许查看图表的用户下显示)
  • 看板工作流板:
    • 可点击的主题卡片
    • 合法的拖放转换
    • 合法时的键盘转换(左箭头 / 右箭头)
  • 工作流主题横幅:
    • 当前工作流和步骤
    • 可用的转换操作
    • 可视化链接
  • 逾期模型,具有层级结构:
    • 全局设置:workflow_overdue_days_default
    • 工作流覆盖
    • 步骤覆盖
    • 0 在该范围内禁用逾期
    • 工作流列表和看板卡片中的逾期指示器
  • 工作流燃尽图表:
    • 图表端点 + UI 集成
    • 周范围选择器(1–12)
    • 全周窗口和按步骤着色的系列
  • 通过小型操作帖子实现的转换审计跟踪
  • 对被监视类别的到达通知(关注第一篇帖子)
  • 可从主题和发现视图中获取的工作流可视化
  • Data Explorer 集成,带有默认工作流查询:
    • 燃尽/燃起统计数据
    • 审计日志
  • 可选的 AI 辅助步骤处理

介绍性概念

泳道 (Swim Lanes)

每个工作流泳道都是一个类别(或子类别)。随着主题的进展,它会根据配置的转换在类别之间移动。

工作流实例 (Workflow Instances)

  • 单个工作流项(例如,一个工单)就是一个主题。
  • 可以添加标签以用于元数据,例如优先级。
  • 类别的移动由工作流操作控制(除非是管理员覆盖)。

参与者 (Actors)

可以在步骤类别中创建主题的用户可以对该步骤中的工作流项执行操作。具有回复权限的用户仍然可以像往常一样发表评论。

通过选项进行的操作 (Actions via Options)

步骤选项定义了每个步骤中可用的操作。每个选项都显示为一个主题操作按钮,可以将主题移动到目标步骤。

仪表板 (Dashboard)

使用 /workflow 导航过滤器查看您可以访问的工作流主题,然后过滤或切换到看板以进行板式流程管理。

审计跟踪 (Audit Trail)

转换会作为小型操作帖子记录在主题上。捆绑的 Data Explorer 查询支持审计和操作报告。

可视化 (Visualisation)

工作流可视化可从以下位置获取:

  • 主题横幅链接
  • 发现列表中的工作流字段

与标准 Discourse 的主要区别

  • 您不能直接在工作流的第 1 步之后的类别中创建新主题。
  • 除非您是管理员,否则您不能手动更改工作流主题的类别。
  • 只有具有类别创建权限的用户才能执行工作流转换。

入门

  1. 使用 workflow_enabled 启用插件。
  2. 转到“管理” → “插件” → “Discourse Workflow”。
  3. 创建一个工作流,保存它,然后添加步骤和步骤选项。
  4. 配置类别权限,以便工作流参与者在相关的步骤类别中具有“创建”权限。
  5. 在第一个步骤类别中创建一个主题。
  6. 使用主题操作按钮或看板交互将其转换。
  7. 使用 /workflow 进行操作队列管理。

AI 操作

如果配置了 AI,它可以操作一个步骤。

要求:

  • 有效的 workflow_openai_api_key
  • 在步骤上启用了 AI
  • 提示包括 {{options}}{{topic}}

示例提示:

your options are {{options}}. if the following text states it is delicious, please accept, otherwise reject. {{topic}} answer with one word from those options

已知问题

此插件仍在发展中。请在仓库或此 Meta 主题上报告问题和增强想法。

26 个赞

获得一些关注。

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 问题,包括主题列表和可视化中的问题:

等等。

3 个赞

包含多项新功能的重大更新,包括

  • 面向特定工作流的新主题列表过滤器
  • “逾期”标记
  • 更丰富的主题工作流元信息
1 个赞

绝对_巨大_的更新:

新的看板视图:

  • /workflow 中添加了完整的看板模式,带有列表/看板切换,仅在单个兼容看板的工作流范围内显示。
    • 引入了明确的看板兼容性验证(包括确定性的单边映射),并在工作流管理界面中显示了兼容性状态。
  • 使工作流项在看板上可操作:在合法步骤之间拖放、使用箭头键进行键盘步骤移动以及单击以打开主题。
  • 提高了并发更新的可靠性:陈旧的转换现在返回 409,显示清晰的陈旧状态消息,并触发刷新以重新同步 UI 状态。
  • 看板可用性和清晰度:可选的工作流级别看板标签、卡片上的逾期指示器支持,以及包括类别颜色列边框的车道样式。
5 个赞

另一个重大更新——在线燃尽/燃起图表(作为现有捆绑的数据资源管理器查询的一个很好的替代方案)

  • 在发现(discovery)中添加了一个新的工作流图表视图,具有共享视图选择器(列表/看板/图表)和周期控制(1-12 周)。
    • /discourse-workflow/charts.json 处实现了燃尽数据 API,并集成了 /workflow/charts 路由。
    • 图表访问权限是单独设置的:管理员和 workflow_charts_allowed_groups;未经授权的用户将隐藏图表。
    • 图表有效载荷已收紧至仅包含选定的工作流上下文(selected_workflow_idselected_workflow_nameseries),移除了未使用的工作流目录界面。
    • 添加了请求/系统覆盖和用户体验加固:整周窗口、本地日期安全的轴标签、可访问的视图选择器标签以及图表渲染/状态回归检查。

图表功能应与所有工作流兼容:

  • 图表不需要看板兼容性,因此适用于不兼容看板的工作流。
    • 仅当当前工作流列表范围恰好限定为一个工作流时,图表才会出现。
    • 用户必须具有图表权限(管理员或在 workflow_charts_allowed_groups 中)。
    • 如果兼容看板,下拉菜单显示列表/看板/图表。
    • 如果不兼容看板,下拉菜单仍然可以显示列表/图表(当满足上述两个条件时)。
3 个赞

我进行了一次主要的性能优化:

4 个赞