28
Customizing Magnolia Workflow Richard Gange Support Engineer Magnolia Americas Steven McDermott GTS - Magnolia Enterprise Support VSP Global

Customizing Magnolia Workflow

Embed Size (px)

Citation preview

Customizing!Magnolia!Workflow

Richard Gange!Support Engineer!

Magnolia Americas!!

Steven McDermott!GTS - Magnolia Enterprise

Support!VSP Global

RICH GANGE MAGNOLIA SUPPORT ENGINEER

MAGNOLIA 4.5OpenWFE as workflow engine OpenWFE discontinued Now what?

MAGNOLIA 5.0 - 5.2.3Workflow Module based on jBPM 5 Rudimentary Integration Incremental Fixes

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

CUSTOM WORKFLOWMore actors Custom work items Parallel activities

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

WORK ITEM HANDLERSJava class used to execute work items Should almost never contain any data

-Magnolia Workflow-Steven McDermott

GTS-Magnolia Enterprise Support VSP Global

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

1. Starting point - Magnolia Out of the Box Workflow (Workflow Module v5.4.0)

Implementation

2. Starting Point - Publication

Implentation• Call Activity configuration

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

MORE HELP?Espen’s Webinar Rich’s tutorials Documentation Support

QUESTIONS?