SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
TASKS AND 
WORKFLOW 
AUGUST 28, 2014 
Photo Credit:
ESPEN JERVIDALO 
SENIOR SOFTWARE ENGINEER
AGENDA 
! 
Introduction 
publication workflow 
Tasks 
Workflow 
process modelling
MAGNOLIA 4.5 
OpenWFE as workflow engine 
Work Item Inbox 
MAGNOLIA 4.5 
OpenWFE as workflow engine 
Work Item Inbox 
OpenWFE discontinued 
! 
OpenWFE discontinued
WORKFLOW 5.0 - 5.2 
jBPM 5 
rudimentary integration 
incremental fixes
WORKFLOW 5.3 
bundled w/ Magnolia 5.2.x 
jBPM 6 
rewritten persistence, configuration simplified
NOTIFICATIONS 
Similar to emails 
What’s the status? 
“Ooops I just deleted the message”
WORKFLOW 5.4 
bundled w/ Magnolia 5.3 
Introducing Tasks
DEMO
process jBPM engine 
publication workflow 
GOT IT? 
Call Activity 
processes 
Work Item Handler 
Human Task
.
TASKS 
AWESOME
TASKS MODULE 
completely self contained 
CE Bundle
DEMO
Create a Task 
! 
! 
Task task = new Task(); 
! 
// this maps to your task definition 
task.setName(“yourTask”); 
! 
// relevant data for e.g. displaying in the Pulse. 
task.setContent(new HashMap() {{ 
.put(“some”, “data”) 
}}); 
! 
// set actors 
task.setActorIds(“susan”, “peter”) 
! 
tasksManager.addTask(task);
Use TaskManger 
! 
/** 
* Inject the TaskManager into your classes. 
*/ 
@Inject 
public MyClass(TasksManager tasksManager) { 
this.taskManager = taskManager 
} 
!
Email Notifications 
! 
TaskEmailService implements TaskEventHandler { 
! 
@Inject 
public(@Named(SystemEventBus.NAME) EventBus eventBus) { 
eventBus.addHandler(TaskEvent.class, this); 
} 
! 
@Override 
public void taskResolved(TaskEvent taskEvent) { 
// send email code goes here 
} 
! 
… 
}
THINK TASKS 
Can I do XY with workflow? 
We want to do XY with Workflow!
Photo Credit: flying time by Luke Ma 
WORKFLOW
PROCESS BASICS
YOUR MODULE 
Your starting point 
Don’t use Magnolia’s modules
PROCESS 
Start with a simple process 
Learning by doing
public class LogWorkItemHandler implements WorkItemHandler { 
! 
private static final Logger log = LoggerFactory.getLogger(LogWorkItemHandler.class); 
! 
@Override 
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) { 
String parameter = (String) workItem.getParameter("whatever"); 
! 
log.error(parameter); 
manager.completeWorkItem(workItem.getId(), new HashMap<String, Object>()); 
} 
Work ! 
@Override 
Item Handler 
public void abortWorkItem(WorkItem workItem, WorkItemManager manager) { 
! 
} 
}
THANK 
YOU!
QUESTIONS?
RESOURCES 
Magnolia’s Worflow documentation 
Including tutorial in the Academy 
http://documentation.magnolia-cms.com/display/DOCS/Workflow 
! 
Official jBPM documentation 
! 
Samples used in webinar available on Git: 
http://git.magnolia-cms.com/git/forge/jbpm-email-sample.git 
branch: webinar

Weitere ähnliche Inhalte

Was ist angesagt?

CTU June 2011 - C# 5.0 - ASYNC & Await
CTU June 2011 - C# 5.0 - ASYNC & AwaitCTU June 2011 - C# 5.0 - ASYNC & Await
CTU June 2011 - C# 5.0 - ASYNC & Await
Spiffy
 
Op Managerpowerpt
Op ManagerpowerptOp Managerpowerpt
Op Managerpowerpt
rockmonkey5
 

Was ist angesagt? (9)

CTU June 2011 - C# 5.0 - ASYNC & Await
CTU June 2011 - C# 5.0 - ASYNC & AwaitCTU June 2011 - C# 5.0 - ASYNC & Await
CTU June 2011 - C# 5.0 - ASYNC & Await
 
Mule esb using file to string and logger component
Mule esb using file to string and logger componentMule esb using file to string and logger component
Mule esb using file to string and logger component
 
Op Managerpowerpt
Op ManagerpowerptOp Managerpowerpt
Op Managerpowerpt
 
Denetmen Bundle (Manage your routes like a boss!)
Denetmen Bundle (Manage your routes like a boss!)Denetmen Bundle (Manage your routes like a boss!)
Denetmen Bundle (Manage your routes like a boss!)
 
Lazy Loading and Object Proxying Shenangians
Lazy Loading and Object Proxying ShenangiansLazy Loading and Object Proxying Shenangians
Lazy Loading and Object Proxying Shenangians
 
AWS Customer Presentation - SchoolofEverything
AWS Customer Presentation - SchoolofEverythingAWS Customer Presentation - SchoolofEverything
AWS Customer Presentation - SchoolofEverything
 
The Mysteries Of JavaScript-Fu (@media Europe Edition)
The Mysteries Of JavaScript-Fu (@media Europe Edition)The Mysteries Of JavaScript-Fu (@media Europe Edition)
The Mysteries Of JavaScript-Fu (@media Europe Edition)
 
Groovy example in mule
Groovy example in muleGroovy example in mule
Groovy example in mule
 
Groovy in Mule
Groovy in MuleGroovy in Mule
Groovy in Mule
 

Ähnlich wie Magnolia CMS Tasks & Workflows

Workflow demo
Workflow demoWorkflow demo
Workflow demo
Kamal Raj
 
Javascript Frameworks for Joomla
Javascript Frameworks for JoomlaJavascript Frameworks for Joomla
Javascript Frameworks for Joomla
Luke Summerfield
 
Avinash Kundaliya: Javascript and WordPress
Avinash Kundaliya: Javascript and WordPressAvinash Kundaliya: Javascript and WordPress
Avinash Kundaliya: Javascript and WordPress
wpnepal
 
09 01 tasks
09 01 tasks09 01 tasks
09 01 tasks
tflung
 

Ähnlich wie Magnolia CMS Tasks & Workflows (20)

Spring Batch Workshop
Spring Batch WorkshopSpring Batch Workshop
Spring Batch Workshop
 
Plugin Development Practices
Plugin Development PracticesPlugin Development Practices
Plugin Development Practices
 
Understanding Framework Architecture using Eclipse
Understanding Framework Architecture using EclipseUnderstanding Framework Architecture using Eclipse
Understanding Framework Architecture using Eclipse
 
Java concurrency model - The Future Task
Java concurrency model - The Future TaskJava concurrency model - The Future Task
Java concurrency model - The Future Task
 
Workflow demo
Workflow demoWorkflow demo
Workflow demo
 
Parallel Programming With Dot Net
Parallel Programming With Dot NetParallel Programming With Dot Net
Parallel Programming With Dot Net
 
Spring hibernate jsf_primefaces_intergration
Spring hibernate jsf_primefaces_intergrationSpring hibernate jsf_primefaces_intergration
Spring hibernate jsf_primefaces_intergration
 
Amitesh Madhur - Web workers, HTML 5
Amitesh Madhur - Web workers, HTML 5Amitesh Madhur - Web workers, HTML 5
Amitesh Madhur - Web workers, HTML 5
 
FireWorks workflow software
FireWorks workflow softwareFireWorks workflow software
FireWorks workflow software
 
WF 4.0 Overview
WF 4.0 OverviewWF 4.0 Overview
WF 4.0 Overview
 
Presentation laravel 5 4
Presentation laravel 5 4Presentation laravel 5 4
Presentation laravel 5 4
 
JavaScript for real men
JavaScript for real menJavaScript for real men
JavaScript for real men
 
Javascript Frameworks for Joomla
Javascript Frameworks for JoomlaJavascript Frameworks for Joomla
Javascript Frameworks for Joomla
 
AngularJS - Services
AngularJS - ServicesAngularJS - Services
AngularJS - Services
 
Avinash Kundaliya: Javascript and WordPress
Avinash Kundaliya: Javascript and WordPressAvinash Kundaliya: Javascript and WordPress
Avinash Kundaliya: Javascript and WordPress
 
Celery with python
Celery with pythonCelery with python
Celery with python
 
PowerShell 3.0 workflows
PowerShell 3.0 workflowsPowerShell 3.0 workflows
PowerShell 3.0 workflows
 
09 01 tasks
09 01 tasks09 01 tasks
09 01 tasks
 
Oracle - Program with PL/SQL - Lession 14
Oracle - Program with PL/SQL - Lession 14Oracle - Program with PL/SQL - Lession 14
Oracle - Program with PL/SQL - Lession 14
 
Javascript Design Patterns
Javascript Design PatternsJavascript Design Patterns
Javascript Design Patterns
 

Mehr von Magnolia

Mehr von Magnolia (20)

The SEO Workflow
The SEO WorkflowThe SEO Workflow
The SEO Workflow
 
Magnolia 6 release walkthrough
Magnolia 6 release walkthroughMagnolia 6 release walkthrough
Magnolia 6 release walkthrough
 
Buzzword bingo: The real deal behind omnichannel, personalization and headless
Buzzword bingo: The real deal behind  omnichannel, personalization and headlessBuzzword bingo: The real deal behind  omnichannel, personalization and headless
Buzzword bingo: The real deal behind omnichannel, personalization and headless
 
Developing Magnolia based sites correctly, quickly and efficiently
Developing Magnolia based sites correctly, quickly and efficientlyDeveloping Magnolia based sites correctly, quickly and efficiently
Developing Magnolia based sites correctly, quickly and efficiently
 
Integrating e-Commerce into your Customer Experience
Integrating e-Commerce into your Customer ExperienceIntegrating e-Commerce into your Customer Experience
Integrating e-Commerce into your Customer Experience
 
Customer Engagement in the Digital Era
Customer Engagement in the Digital EraCustomer Engagement in the Digital Era
Customer Engagement in the Digital Era
 
The Age of the IOT & Digital Business
The Age of the IOT & Digital BusinessThe Age of the IOT & Digital Business
The Age of the IOT & Digital Business
 
Using Magnolia in a Microservices Architecture
Using Magnolia in a Microservices ArchitectureUsing Magnolia in a Microservices Architecture
Using Magnolia in a Microservices Architecture
 
A modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at AtlassianA modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at Atlassian
 
Magnolia Conference 2015 - Pascal Mangold's keynote
Magnolia Conference 2015 - Pascal Mangold's keynoteMagnolia Conference 2015 - Pascal Mangold's keynote
Magnolia Conference 2015 - Pascal Mangold's keynote
 
Product keynote - introducing Magnolia 5.4
Product keynote - introducing Magnolia 5.4Product keynote - introducing Magnolia 5.4
Product keynote - introducing Magnolia 5.4
 
Launching Magnolia on demand
Launching Magnolia on demandLaunching Magnolia on demand
Launching Magnolia on demand
 
Front-end developers - build Magnolia sites faster
Front-end developers - build Magnolia sites fasterFront-end developers - build Magnolia sites faster
Front-end developers - build Magnolia sites faster
 
Magnolia and beacons: how do they work best together?
Magnolia and beacons: how do they work best together?Magnolia and beacons: how do they work best together?
Magnolia and beacons: how do they work best together?
 
Magnolia and the IOT
Magnolia and the IOTMagnolia and the IOT
Magnolia and the IOT
 
Internationalization for globalized enterprise websites
Internationalization for globalized enterprise websitesInternationalization for globalized enterprise websites
Internationalization for globalized enterprise websites
 
The new visana website how to fit a square peg into a round hole
The new visana website   how to fit a square peg into a round holeThe new visana website   how to fit a square peg into a round hole
The new visana website how to fit a square peg into a round hole
 
Solving for complex UI designs: a front-end perspective and approach
Solving for complex UI designs: a front-end perspective and approachSolving for complex UI designs: a front-end perspective and approach
Solving for complex UI designs: a front-end perspective and approach
 
Extending Magnolia with our solutions
Extending Magnolia with our solutionsExtending Magnolia with our solutions
Extending Magnolia with our solutions
 
Boost your online e commerce with magnolia
Boost your online e commerce with magnoliaBoost your online e commerce with magnolia
Boost your online e commerce with magnolia
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Magnolia CMS Tasks & Workflows

  • 1. TASKS AND WORKFLOW AUGUST 28, 2014 Photo Credit:
  • 2. ESPEN JERVIDALO SENIOR SOFTWARE ENGINEER
  • 3. AGENDA ! Introduction publication workflow Tasks Workflow process modelling
  • 4. MAGNOLIA 4.5 OpenWFE as workflow engine Work Item Inbox MAGNOLIA 4.5 OpenWFE as workflow engine Work Item Inbox OpenWFE discontinued ! OpenWFE discontinued
  • 5. WORKFLOW 5.0 - 5.2 jBPM 5 rudimentary integration incremental fixes
  • 6. WORKFLOW 5.3 bundled w/ Magnolia 5.2.x jBPM 6 rewritten persistence, configuration simplified
  • 7. NOTIFICATIONS Similar to emails What’s the status? “Ooops I just deleted the message”
  • 8. WORKFLOW 5.4 bundled w/ Magnolia 5.3 Introducing Tasks
  • 10. process jBPM engine publication workflow GOT IT? Call Activity processes Work Item Handler Human Task
  • 11. .
  • 13. TASKS MODULE completely self contained CE Bundle
  • 14. DEMO
  • 15. Create a Task ! ! Task task = new Task(); ! // this maps to your task definition task.setName(“yourTask”); ! // relevant data for e.g. displaying in the Pulse. task.setContent(new HashMap() {{ .put(“some”, “data”) }}); ! // set actors task.setActorIds(“susan”, “peter”) ! tasksManager.addTask(task);
  • 16. Use TaskManger ! /** * Inject the TaskManager into your classes. */ @Inject public MyClass(TasksManager tasksManager) { this.taskManager = taskManager } !
  • 17. Email Notifications ! TaskEmailService implements TaskEventHandler { ! @Inject public(@Named(SystemEventBus.NAME) EventBus eventBus) { eventBus.addHandler(TaskEvent.class, this); } ! @Override public void taskResolved(TaskEvent taskEvent) { // send email code goes here } ! … }
  • 18. THINK TASKS Can I do XY with workflow? We want to do XY with Workflow!
  • 19. Photo Credit: flying time by Luke Ma WORKFLOW
  • 20.
  • 22. YOUR MODULE Your starting point Don’t use Magnolia’s modules
  • 23. PROCESS Start with a simple process Learning by doing
  • 24. public class LogWorkItemHandler implements WorkItemHandler { ! private static final Logger log = LoggerFactory.getLogger(LogWorkItemHandler.class); ! @Override public void executeWorkItem(WorkItem workItem, WorkItemManager manager) { String parameter = (String) workItem.getParameter("whatever"); ! log.error(parameter); manager.completeWorkItem(workItem.getId(), new HashMap<String, Object>()); } Work ! @Override Item Handler public void abortWorkItem(WorkItem workItem, WorkItemManager manager) { ! } }
  • 27. RESOURCES Magnolia’s Worflow documentation Including tutorial in the Academy http://documentation.magnolia-cms.com/display/DOCS/Workflow ! Official jBPM documentation ! Samples used in webinar available on Git: http://git.magnolia-cms.com/git/forge/jbpm-email-sample.git branch: webinar