Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Commands API will be used to lunch new processes, as well as to provide human interaction with the running processes (approval/reject/...). This allows to untie the launching and especially the approval process from the M5 UI and allow external systems to enter the process.

Image RemovedImage Added

The Messages API will be used to inform users about processes waiting for approval.

Image RemovedImage Added

Note to the above process: when the message is dispatched by user (approved/rejected/...), it has to be deleted from the list (to prevent multiple dispatching).

...

The following picture provides the class diagram of basic classes:

Image RemovedImage Added

Base API

WorkflowManager

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 as well as the methods to be used from within the Process to communicate with Magnolia (e.g. send messages to the user/group, etc.). 

Defined as a component, with a dummy implementation in the Base module.

WorkflowDefinition

This interface defines basic constants and methods of the bean that provides the definition of a workflow.

...

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.

...