id	summary	reporter	owner	description	type	status	priority	component	severity	resolution	keywords	cc	release
7704	Add workflow capabilities, with custom states, transitions and operations, and state transition listeners support	seccanj	seccanj	Will add a generic Trac Resource workflow system, allowing to add workflow capabilities to any Trac resource.\r\n\r\nTest objects have been implemented as Trac resources as well, so they will benefit of workflow capabilities.\r\n\r\nThe new ResourceWorkflowSystem component parses the trac.ini configuration file to find all the workflows defined.\r\n        \r\nTo 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 ;-).\r\n\r\nCustom operation providers can be defined that implement the IWorkflowOperationProvider interface.\r\nThey will be asked to provide UI controls to let the User perform the specified operation on the given resource.\r\n\r\nThis 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.\r\n\r\nComponents that require notification when workflow actions are performed on resources, with or without state transitions, can implement the IWorkflowTransitionListener interface.\r\n\r\nComponents 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.\r\n	enhancement	closed	normal	TestManagerForTracPlugin	normal	fixed			0.11
