The 5.7 branch of Magnolia reached End-of-Life on December 31, 2023, as specified in our End-of-life policy. This means the 5.7 branch is no longer maintained or supported. Please upgrade to the latest Magnolia release. By upgrading, you will get the latest release of Magnolia featuring significant improvements to the author and developer experience. For a successful upgrade, please consult our Magnolia 6.2 documentation. If you need help, please contact info@magnolia-cms.com.

While being conceptually very close, Magnolia's and jBPM's Human Task implementation differ from each other. jBPM provides a org.kie.api.task.TaskService interface for creating and managing Tasks created by a Human Task WorkItemHandler. This Task Service is registered to the RuntimeEngine and obtained from it when needed.

The whole lifecycle of Tasks created by the Task Service is totally independent from the lifecycle of the workflow process itself, which allowed Magnolia to break out of jBPM's world at this stage. So instead of implementing the TaskService interface and register it to the RuntimeEngine, Magnolia uses Magnolia's own TasksManager to steer the lifecycle of its Tasks. This is done by injecting the TasksManager where needed. As a concequence of this you cannot obtain any TaskService instance from the RuntimeEngine, it will return null.

Please compare the following UML diagrams for the differences in its details:

Magnolia's Human Tasks implementation

jBPM's Human Tasks implementation