Opened 14 years ago

Closed 14 years ago

#7704 closed enhancement (fixed)

Add workflow capabilities, with custom states, transitions and operations, and state transition listeners support

Reported by: Roberto Longobardi Owned by: Roberto Longobardi
Priority: normal Component: TestManagerForTracPlugin
Severity: normal Keywords:
Cc: Trac Release: 0.11


Will add a generic Trac Resource workflow system, allowing to add workflow capabilities to any Trac resource.

Test objects have been implemented as Trac resources as well, so they will benefit of workflow capabilities.

The new ResourceWorkflowSystem component parses the trac.ini configuration file to find all the workflows defined. To define a workflow state machine for a particular resource realm, add a "<realm>-resource_workflow" section in trac.ini and describe the state machine with the same syntax as the ConfigurableTicketWorkflow component (I may have borrowed some code here and there ;-).

Custom operation providers can be defined that implement the IWorkflowOperationProvider interface. They will be asked to provide UI controls to let the User perform the specified operation on the given resource.

This control(s) will be rendered inside a form and the input values will be eventually available to the corresponding provider in the perform_operation method, to actually perform the operation on the resource.

Components that require notification when workflow actions are performed on resources, with or without state transitions, can implement the IWorkflowTransitionListener interface.

Components that wish to augment the state machine at runtime, by allowing or denying each transition based on the object and the current and new states, can implement the IWorkflowTransitionAuthorization interface.

Attachments (0)

Change History (1)

comment:1 Changed 14 years ago by Roberto Longobardi

Resolution: fixed
Status: newclosed

Implemented in 1.2.0.

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain Roberto Longobardi.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.