其他分享
首页 > 其他分享> > Trac - WorkFlow - 工作流程 (仅供参考)

Trac - WorkFlow - 工作流程 (仅供参考)

作者:互联网

 

WorkFlow

Note: see also the TracWorkflow page which describes the Trac workflow features that will be available in Trac 0.11. The present page rather describes the work in progress on the topic of workflow support in Trac, not focusing on 0.11

Development

Phase 1

Phase 1 of the WorkFlow adds configurable workflow states to Trac. Thus you can have more ticket states, change what they are, and specify what happens when a ticket transitions from one state to another.

WorkFlow is built on 0.11dev and can be found in trunk! It is integrated for 0.11.

Phase 2 and beyond

Phase 2 and beyond will bring in more of the functionality developed on the original workflow branch, such as custom ticket fields and field types provided by plugins (see also FieldRefactoring).

See source:sandbox/workflow@3378 for the original incarnation of the WorkFlow branch, based on 0.10dev (last sync with trunk was with r3377, i.e. June 2006).

Configurable Workflow

implemented in phase1

Configurable workflow allows you to change the ticket states and state transitions. A common desire is to have a "testing" state where QA can get involved. The default WorkFlow implementation (ConfigurableTicketWorkflow) allows you to configure that workflow from the trac.ini.

There are several working configuration examples available. (Along with a couple tools for working with workflow configurations.) There are also some pretty diagrams on WorkFlow/Examples.

But you can do more than that with plugins. Plugins may augment the default WorkFlow, adding actions and side-effects to ticket state transitions. There are a few working plugin examples available. (They're simplistic, but should be useful nonetheless.) Plugins may also add actions that do not affect ticket state. If a drastically different WorkFlow is needed, ConfigurableTicketWorkflow may be disabled and entirely replaced by a plugin.

Plugin Configurable Ticket Fields

unimplemented

Plugins will be able to specify custom ticket fields without having to modify trac.ini.

Plugin Configurable Ticket Field Types

unimplemented

Plugins will be able to provide new field types in addition to those provided in the core. So dates, progress bars, and the like can be added as new field types with their own rendering. This should also provide support for validating field input values.


Old Workflow Discussion

API Requirements

Control of action transitions

Control of ticket fields

Validation

Trunk Ticket Action Flowchart

These two flowcharts represent the current trunk ticket creation and modification logic.

Left, the New Ticket Flowchart and right, the Modify Ticket Flowchart.

New ticket flowchart Ticket editing flowchart

Proposed Unified Flowchart + Extension Points

This proposes a unification of the logic for both creating and modifying tickets. In addition it adds extension points where plugins can modify the behaviour of the ticketing system.

Unified workflow flowchart

Taking the above requirements into consideration, I think the following extension points should cater for all (most?) aspects.

Tasks

Done

TODO

Pluggable Workflow

See the source for extension points.

Here is a brief summary of the current extension interfaces:

InterfaceDescription
ITicketChangeListenerListen for changes in tickets.
ITicketAdjunctChangeListenerListen for changes in adjunct types (component, status, etc.)
ITicketAdjunctContributorContribute values to adjunct types.
ITicketFieldProviderProgrammatically add fields to tickets.
ITicketFieldTypeProviderAdd new field types (built in types are text, select, checkbox, etc.)
ITicketManipulatorGeneral manipulation of tickets, including validation.
ITicketActionControllerProvide and control tickets actions.
ITicketSimilarityDetectorAllows plugins to replace the default duplicate detection.

Available Field Types and Options

Common options:

Types and type-specific options:

Attachments

[Trac - WorkFlow - 文档]

http://trac.edgewall.org/wiki/WorkFlow

[Trac - 官方网站]

http://trac.edgewall.org/

[Trac - 关键词]

Trac

[Trac - 相关论坛]

http://groups.google.com/group/trac-announce
http://groups.google.com/group/trac-dev
http://groups.google.com/group/trac-tickets
http://groups.google.com/group/trac-users
http://softeng.board.newsmth.net/

[Trac - 下载]

源代码SVN, http://svn.edgewall.com/repos/trac
下载, http://trac.edgewall.org/wiki/TracDownload

[Trac - 基础知识]

Trac源代码格式化,http://trac.edgewall.org/wiki/WikiProcessors

 

Trac Links,http://trac.edgewall.org/wiki/TracLinks

Trac的数据结构, http://trac.edgewall.org/wiki/TracDev/DatabaseSchema

Trac - 创建自定义报表,http://trac.edgewall.org/wiki/TracReports#CreatingCustomReports

The Trac Ticket Workflow System - Trac Ticket工作流系统, http://trac.edgewall.org/wiki/TracWorkflow

WorkFlow - 工作流程, http://trac.edgewall.org/wiki/WorkFlow

 

 

 

 

 

[Trac - 常见问题]

Trac导出的csv格式文件在Excel中处理unix时间戳

Trac中通过URL的querystring设置新ticket的默认属性

Trac中browser定位文件行数

Trac中wiki恢复历史版本

标签:trac,Trac,workflow,fields,WorkFlow,field,ticket,仅供参考
来源: https://blog.csdn.net/zzddada/article/details/112666004