我尝试查看 Trac (0.12) 可定制工单工作流程的文档。
作者声称它是完全可定制的,但有些东西我当时不明白。我猜必须有一个票开始的“初始状态”。这是硬编码为“新”的吗?
我记得,这在 trac 中是不可修改的。工作流的“新”状态入口点是固定的。但是你可以使用它而不是反对它。
我认为 trac 的设计方式,以未分配的“新”状态开始的意图是相当合乎逻辑的,但是您需要从某个并不总是明确说明的角度看待事物。
考虑一个错误的生命周期。它在代码中引入,用户发现它,用户报告它,分配开发人员,开发人员开始处理它,等等。我喜欢将“新”状态视为存在错误并且刚刚被报告的部分。
当您将错误通知开发团队时,他们通常不会立即开始处理它。例如,该错误仍然需要评估其严重性和技术深度。在您报告错误后,开发团队仍然需要消化您的报告以了解如何将其引入错误解决流程。在我看来,这是 trac 中“新”状态的意图。
在我设计和使用的 trac 工作流程中,我喜欢让“已接受”的初始状态将工单分配给开发协调员,该协调员对工单进行鉴定并与报告者来回踢,以提高报告的质量并弄清楚下一步将其发送到何处,将其分配给哪个里程碑,等等。
因此,处于已分配状态的工单是开发协调员正在处理的工单。New 状态的票是开发协调员尚未处理的票。
不仅“新”,“关闭”是其他硬编码的 Trac 票证状态。
出于不同的原因,过去和现在都是如此,其中这些标签用于使用固定名称的 CSS 类进行条件格式设置,默认报告使用“未关闭”作为打开工单的同义词等。
As a related note, there is some work on the way to possibly lift this limitation in later versions (Trac 1.2 and beyond). Until then its really better to "work with it rather than against it", as JosefAssad said.