Customizing Magnolia Workflow
Transcript of Customizing Magnolia Workflow
Customizing!Magnolia!Workflow
Richard Gange!Support Engineer!
Magnolia Americas!!
Steven McDermott!GTS - Magnolia Enterprise
Support!VSP Global
MAGNOLIA 5.2.4 - 5.3.XWorkflow Module based on jBPM 6 Magnolia 5.2.4 bundled w/ workflow 5.3.1 Rewritten Persistence / Configuration Simplified
WORKFLOW MODULE2 Magnolia Modules Workflow: engine-agnostic integration module Workflow jBPM: jBPM integration module
WORKFLOW OUT-OF-THE-BOX“four-eye” content approval workflow Implemented in the pages app Can easily be configured on any content app
WHAT IS JBPM?Business analysts & developers bridge Traditional BPM engines have limited focus Dual focus
WHAT DOES JBPM DO?Allows you to model your business goals BPMN 2.0 specification 3 core elements: events, activities, & gateways
GRAPHICAL MODELING TOOLAllows creation and editing of BPMN diagrams Eclipse plugin Web based version also available
TASKSFills the gap with human interaction Register custom tasks in your module Have a clear status and an assignee
WORK ITEMSA unit of work that needs to be executed Domain-specific (custom work items) Executed by the work item handler
Intro to VSP
• Mission Statement: We help people see. • Largest not-for-profit vision benefit and services company • 75 Million VSP Vision care members worldwide • 32,000 network providers • Focus is connecting members to VSP network providers for excellent eye care and
eyewear services • Magnolia implemented for line of business Eyefinity, more to come...
Motivation for Custom Workflow
• Eyefinity requested 6 eye implementation of the workflow • Specific set of features within the workflow were needed • email to user groups based on current step in workflow • customized pulse messaging
• Planned upgrade of Magnolia, old workflow had to adapt to new functionality. • Magnolia was upgraded from version 5.2.2 to version 5.3.2 • Workflow Version broke versioning from 5.2.2 to 5.4.1
Seeking Support
• Began converting workflow to new version and discovered much had changed. • Requested assistance from Support for implementing changes to workflow. • Support took time for multiple phone calls to clarify details and help me gain
knowledge needed.
Approach
• Goal from VSP Global perspective: • Use as much existing code and functionality without any drastic changes • All functionality remains from before change to workflow • Take advantage of new features added to workflow • Tasks • Task Assignment • Improved pulse messaging
Implementation • Old Workflow - workflow built on workflow module 5.2.2 • Note: No Human Tasks, only configured Custom Tasks
Implementation
• New workflow • Custom Tasks and Human Tasks separated • Keeps existing WorkItemHandler code working with Custom Tasks to keep code
changes minimal • Specific changes made: • org.kie.api.runtime.process.WorkItemManager • #completeWorkItem(String workItemId, Map<String, Object> mgnlData) • Human Tasks inserted after custom WorkItemHandlers
• Modularize each item in workflow
WHAT DID WE LEARN?Changes to a BPMN diagram requires restart jBPM v. 6.2 is compatible with Java 8 Slight differences between plugins Upgrade procedure No need map mgnlData as output Discrepancy in version numbers