Page History
...
Core interface (together with WorkflowUtil), defines methods to launch new process, resolve a running process by its ID, and a set of general constants.
Defined as a component, with a dummy implementation in the Base module.
WorkflowUtil
Utility interface - provides methods to be used from within the Process to communicate with Magnolia (e.g. send messages to the user/group, etc.).
WorkflowDefinition
This interface defines basic constants and methods of the bean that provides the definition of a workflow.
...
An implementation of the Process interface, wraps the jBPM's ProcessInstance class.
JBPMWorkflowManager
@Singleton
An implementation of the WorkflowManager interface, provides its methods using the jBPM process engine.
JBPMWorkflowUtil
@Singleton
An implementation of the WorkflowUtil interface, provides its methods using the jBPM process engine.
Start-up
The Base module does no special initialization.
The jBPM module starts the KnowledgeService (process engine) and the (Local)HumanTaskService (and the persistence layer for them), and provides them to the JBPMFlowManager instance.
Configuration
Base Module
Besides the UI configuration, the Base module contains the workflow definitions. These are stored at $MODULE_PATH/config/workflows/definitions, e.g. activation and deactivation workflow definitions.
The definition node has following properties:
name
- simple name of the definition, e.g.activation
id
- the "system" ID of the definition, used to launch new process based on this definition; e.g.info.magnolia.workflow.baseActivation
type
- identifies the type of the definition, ATM always "bpmn
"definition
- the String property with the actual definition, may be empty / not present - in such event, thefileName
property must exist;fileName
- if exist, then defines the name of the resource inCLASSPATH
, where the definition is stored;
jBPM Module
Contains the configuration of the persistence layer for the KnowledgeService and HumanTaskService.