Modify

Opened 4 years ago

Closed 4 years ago

#7704 closed enhancement (fixed)

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

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

Description

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 4 years ago by seccanj

  • Resolution set to fixed
  • Status changed from new to closed

Implemented in 1.2.0.

Add Comment

Modify Ticket

Action
as closed .
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from seccanj. Next status will be 'closed'.
The resolution will be deleted. Next status will be 'reopened'.
Author


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

 
Note: See TracTickets for help on using tickets.