SlideShare una empresa de Scribd logo
1 de 39
The Learning PathwayActions Rules and Simple and Advanced Workflow Integration Use CasesJörg Sauer
The longest title ever Actions, Rules and Simple and Advanced Workflow Integration Use Casesis about Actions to extend Alfresco functionality Rules to automate execution of Actions Use Simple Workflows to implement a Workflow without coding Add Rules to run certain Actions in Workflow steps Use a simple Advanced Workflow to leverage Tasks in Simple Workflows
Basic Example to be extended Review Publish Workflow with 2 phase approval review approve publish reject 1 Drafts 3 Approve 4 Published 2 Review reject
Simple Workflow Pros: User can build workflow Easy to understand Cons: No State: Implicit state by location (folder) No Task:  Implicit task by folder access No branching: Serial workflow only review approve publish reject 1 Drafts 3 Approve 4 Published 2 Review reject
Demo Simple Workflow
Adding Status Content Model: Provide custom Aspect to hold workflow status
Amend Workflow with status Set Status on each workflow folder Add Aspect: Workflow Status Set workflow status accordingly reject review approve publish reject 1 Drafts 3 Approve 4 Published 2 Review ,[object Object]
Status: under review
Status: pend. approval
Status: published,[object Object]
Transfer Status to incoming documents JavaScript to copy status Execute by Rule
Simple Workflow Status Demo
Alfresco Repository Actions Action:	Unit of work that is performed against a node Examples: Move node Transform content of node Send email Out of the Box Actions Custom Actions Implement own Action class Deploy in Application Context
Implement Copy Workflow Status Action
Deploy Action (Application Context) Beans: webinar-action-context.xml Labels: webinar-action.properties
Simple Workflow: Implementation Details Documents amended with properties for Approve step label, copy/move, destination Reject step label, copy/move, destination(all optional)
Intention: Create User Task Every time simple workflow is assigned, create advanced workflow task for specific user. User can access task in task list see task description access attached document approve or reject directly from within task Advantage No notification emails No need to check simple workflow folders
Simple Workflow Task Architecture Required: Custom aspect for task description.(attached to simple workflow folder) Advanced workflow to be started by rule Configure user Provide task Implement simple workflow actions for Approve Reject Bug Fix for Alfresco StartWorkflowActionExecuter UI for Rule Config
Workflow Description Aspect
Simple Workflow Task Advanced Workflow
Content Model for Workflow Aspects: simpleWorflow: Manage Action Labels Content Types: simpleWfTaskStart: Properties for Start Task Assignee Task Description Simple Workflow Approve & Reject Action Labels All above become process variables! ApprovalOnlyTask: Task properties to approve document ApproveOrRejectTask: Properties for approving or rejecting the document Simplicity: all in sample model Best practice: own workflow model
Workflow Model (partial)
Simple Process Definition Create Process Definition Graphically Change root tag:  Add Swimlanes Add tasks to task node, will render UI
Workflow Deployment Attention: No actions implemented yet! But want to check if model is correct &workflow deploys Context file: Redeploy off on production systems!
Workflow Actions User decides in task to Approve Reject Workflow will transition to nodes approveDocument: code will approve simple workflow rejectDocument: code will reject simple workflow Todo: Implement Event Handler for node-enter event(approve / reject)
Code (sneaking) UI has actions for approve/reject Look for action definition in web-client-config-actions.xml Sample implementation can be found in DocumentDetailsDialog.approve() / reject() methods! OpenSource Rules!
Review Alfresco implementation DocumentDetailsDialog.approve()
Direct Code reuse Problem:  From Package org.alfresco.web.bean Workflow Event not within web context. DocNode not core object Solution: Reprogram but use native Foundation Services API Should be fool proof ;-)
Lets get the event Define in Process Definition Derive from JBPMSpringActionHandler
What to Implement Where initializeHandler(): Get all services needed from the factory ServiceRegistry 		(in case you need something) NodeService		to deal with the node CopyService			to copy/move the document execute(): Get the process variables through executionContext Implement the approve / reject action
Hiding Reject Transition if Not Set Hide reject transition accordingly task-assign event (has to be this event!) use bpm:hiddenTransitions (bpm_hiddenTransitions)
Testing First Version Redeploy Manually start Simple Workflow Task workflow Fill in all details in the start form Test both scenarios:  Approval only (reject transition hidden?) Approve or Reject Task should show up in task list Open Task and pick Action Check if document has been moved / copied according to Simple Workflow configuration.
What’s Missing Action to start Simple Workflow Task Workflow Repository Action UI to fill in Assignee in Rules Configuration Action Handler Simple approach:  Use JavaScript to start Workflow Either fixed assignee or assignee is property of folder
JavaScript to start workflow
Life Code Review in IDE JavaScript to start workflow Action Executer Action Handler Event Implementation
Final Demo Configured Simple Workflow Add Rule to kick off Simple Workflow Task Workflow Push Document into folder with simple workflow. Review document status Search for documents with status Review task list Manage tasks See documents transition through simple workflow by using advanced workflows functionality
Resume Actions extend Alfresco Simple workflows can be configured easily Rules are the binding glue Small advanced workflows can be leveraged in actions and simple workflows. Your imagination is the border Alfresco OpenSource helps you to code and find solutions to your problems.
Resources Training Alfresco API Development Course (3 days) Alfresco Workflow Course (2 days) Alfresco (API) Documentation http://docs.alfresco.com/3.4/index.jsp Wiki Resources http://wiki.alfresco.com/wiki/Data_Dictionary_Guide http://wiki.alfresco.com/wiki/Custom_Actions http://wiki.alfresco.com/wiki/Custom_Action_UI http://wiki.alfresco.com/wiki/Workflow http://wiki.alfresco.com/wiki/WorkflowAdministration Books Alfresco Developer Guide (Packt Publishing) Professional Alfresco (Wrox Press)
Questions? Email:			joerg.sauer@averi.de Twitter:		joergsauer In Person:	DevCon 2011 London

Más contenido relacionado

La actualidad más candente

Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtJenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtMark Waite
 
Webservice performance testing with SoapUI
Webservice performance testing with SoapUIWebservice performance testing with SoapUI
Webservice performance testing with SoapUIPhuoc Nguyen
 
LoadUI web performance testing tool
LoadUI web performance testing toolLoadUI web performance testing tool
LoadUI web performance testing toolMilind Rupchandani
 
2014 Joker - Integration Testing from the Trenches
2014 Joker - Integration Testing from the Trenches2014 Joker - Integration Testing from the Trenches
2014 Joker - Integration Testing from the TrenchesNicolas Fränkel
 
Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Fwdays
 
Introduction to SoapUI day 4-5
Introduction to SoapUI day 4-5Introduction to SoapUI day 4-5
Introduction to SoapUI day 4-5Qualitest
 
Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneciberkleid
 
Soap UI - Lesson45
Soap UI - Lesson45Soap UI - Lesson45
Soap UI - Lesson45Qualitest
 
JNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches RebootedJNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches RebootedNicolas Fränkel
 
Behavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile TestingBehavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile Testingdversaci
 
Continuous Deployment to the cloud
Continuous Deployment to the cloudContinuous Deployment to the cloud
Continuous Deployment to the cloudVMware Tanzu
 
Visual studio performance testing quick reference guide 3 6
Visual studio performance testing quick reference guide 3 6Visual studio performance testing quick reference guide 3 6
Visual studio performance testing quick reference guide 3 6Srimanta Kumar Sahu
 
QA Fest 2015. Владимир Примаков. Автоматизация нестандартной отчетности из JI...
QA Fest 2015. Владимир Примаков. Автоматизация нестандартной отчетности из JI...QA Fest 2015. Владимир Примаков. Автоматизация нестандартной отчетности из JI...
QA Fest 2015. Владимир Примаков. Автоматизация нестандартной отчетности из JI...QAFest
 
Drupalcamp Simpletest
Drupalcamp SimpletestDrupalcamp Simpletest
Drupalcamp Simpletestlyricnz
 
Continuous delivery - tools and techniques
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniquesMike McGarr
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerAndrew Siemer
 
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...KMS Technology
 

La actualidad más candente (20)

Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtJenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
 
Jbehave selenium
Jbehave seleniumJbehave selenium
Jbehave selenium
 
Webservice performance testing with SoapUI
Webservice performance testing with SoapUIWebservice performance testing with SoapUI
Webservice performance testing with SoapUI
 
LoadUI web performance testing tool
LoadUI web performance testing toolLoadUI web performance testing tool
LoadUI web performance testing tool
 
2014 Joker - Integration Testing from the Trenches
2014 Joker - Integration Testing from the Trenches2014 Joker - Integration Testing from the Trenches
2014 Joker - Integration Testing from the Trenches
 
Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"
 
Introduction to SoapUI day 4-5
Introduction to SoapUI day 4-5Introduction to SoapUI day 4-5
Introduction to SoapUI day 4-5
 
Unit testing - A&BP CC
Unit testing - A&BP CCUnit testing - A&BP CC
Unit testing - A&BP CC
 
Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOne
 
Soap UI - Lesson45
Soap UI - Lesson45Soap UI - Lesson45
Soap UI - Lesson45
 
JNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches RebootedJNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches Rebooted
 
Behavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile TestingBehavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile Testing
 
Continuous Deployment to the cloud
Continuous Deployment to the cloudContinuous Deployment to the cloud
Continuous Deployment to the cloud
 
Visual studio performance testing quick reference guide 3 6
Visual studio performance testing quick reference guide 3 6Visual studio performance testing quick reference guide 3 6
Visual studio performance testing quick reference guide 3 6
 
QA Fest 2015. Владимир Примаков. Автоматизация нестандартной отчетности из JI...
QA Fest 2015. Владимир Примаков. Автоматизация нестандартной отчетности из JI...QA Fest 2015. Владимир Примаков. Автоматизация нестандартной отчетности из JI...
QA Fest 2015. Владимир Примаков. Автоматизация нестандартной отчетности из JI...
 
Drupalcamp Simpletest
Drupalcamp SimpletestDrupalcamp Simpletest
Drupalcamp Simpletest
 
Continuous delivery - tools and techniques
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniques
 
Learn SoapUI
Learn SoapUILearn SoapUI
Learn SoapUI
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
 
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
 

Similar a The Learning Pathway: Actions, Rules and Simple and Advanced Workflow Integration Use Cases

Process State vs. Object State: Modeling Best Practices for Simple Workflows ...
Process State vs. Object State: Modeling Best Practices for Simple Workflows ...Process State vs. Object State: Modeling Best Practices for Simple Workflows ...
Process State vs. Object State: Modeling Best Practices for Simple Workflows ...Thorsten Franz
 
Salesforce Lightning Process builder
Salesforce Lightning Process builderSalesforce Lightning Process builder
Salesforce Lightning Process builderThinqloud
 
]project-open[ Workflow Developer Tutorial Part 4
]project-open[ Workflow Developer Tutorial Part 4]project-open[ Workflow Developer Tutorial Part 4
]project-open[ Workflow Developer Tutorial Part 4Klaus Hofeditz
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersSarah Dutkiewicz
 
Spstc2011 Developing Reusable Workflow Features
Spstc2011   Developing Reusable Workflow FeaturesSpstc2011   Developing Reusable Workflow Features
Spstc2011 Developing Reusable Workflow FeaturesMichael Oryszak
 
Enhanced Workflows in Cascade Server by Leah Einecker
Enhanced Workflows in Cascade Server by Leah EineckerEnhanced Workflows in Cascade Server by Leah Einecker
Enhanced Workflows in Cascade Server by Leah Eineckerhannonhill
 
Workflow Management with Espresso Workflow
Workflow Management with Espresso WorkflowWorkflow Management with Espresso Workflow
Workflow Management with Espresso WorkflowRolf Kremer
 
Automate Evolve Training: Excel Workflow for Automatic Routing
Automate Evolve Training: Excel Workflow for Automatic RoutingAutomate Evolve Training: Excel Workflow for Automatic Routing
Automate Evolve Training: Excel Workflow for Automatic RoutingPrecisely
 
Stat 5.4 Pre Sales Demo Master
Stat 5.4 Pre Sales Demo MasterStat 5.4 Pre Sales Demo Master
Stat 5.4 Pre Sales Demo Masterreachtimsq
 
09 01 tasks
09 01 tasks09 01 tasks
09 01 taskstflung
 
PHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersPHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersAdam Englander
 
Profiling its okay in sql server
Profiling its okay in sql serverProfiling its okay in sql server
Profiling its okay in sql serverunclebiguns
 
Play framework : A Walkthrough
Play framework : A WalkthroughPlay framework : A Walkthrough
Play framework : A Walkthroughmitesh_sharma
 
Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP DevelopersLorna Mitchell
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battleAnand Ramdeo
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorFlink Forward
 
Test Director Ppt Training
Test Director Ppt TrainingTest Director Ppt Training
Test Director Ppt Trainingshrikantg
 

Similar a The Learning Pathway: Actions, Rules and Simple and Advanced Workflow Integration Use Cases (20)

Process State vs. Object State: Modeling Best Practices for Simple Workflows ...
Process State vs. Object State: Modeling Best Practices for Simple Workflows ...Process State vs. Object State: Modeling Best Practices for Simple Workflows ...
Process State vs. Object State: Modeling Best Practices for Simple Workflows ...
 
Salesforce Lightning Process builder
Salesforce Lightning Process builderSalesforce Lightning Process builder
Salesforce Lightning Process builder
 
Stat 5
Stat 5Stat 5
Stat 5
 
]project-open[ Workflow Developer Tutorial Part 4
]project-open[ Workflow Developer Tutorial Part 4]project-open[ Workflow Developer Tutorial Part 4
]project-open[ Workflow Developer Tutorial Part 4
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript Developers
 
Spstc2011 Developing Reusable Workflow Features
Spstc2011   Developing Reusable Workflow FeaturesSpstc2011   Developing Reusable Workflow Features
Spstc2011 Developing Reusable Workflow Features
 
Enhanced Workflows in Cascade Server by Leah Einecker
Enhanced Workflows in Cascade Server by Leah EineckerEnhanced Workflows in Cascade Server by Leah Einecker
Enhanced Workflows in Cascade Server by Leah Einecker
 
Workflow Management with Espresso Workflow
Workflow Management with Espresso WorkflowWorkflow Management with Espresso Workflow
Workflow Management with Espresso Workflow
 
Automate Evolve Training: Excel Workflow for Automatic Routing
Automate Evolve Training: Excel Workflow for Automatic RoutingAutomate Evolve Training: Excel Workflow for Automatic Routing
Automate Evolve Training: Excel Workflow for Automatic Routing
 
Stat 5.4 Pre Sales Demo Master
Stat 5.4 Pre Sales Demo MasterStat 5.4 Pre Sales Demo Master
Stat 5.4 Pre Sales Demo Master
 
09 01 tasks
09 01 tasks09 01 tasks
09 01 tasks
 
PHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersPHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for Beginners
 
Profiling its okay in sql server
Profiling its okay in sql serverProfiling its okay in sql server
Profiling its okay in sql server
 
Play framework : A Walkthrough
Play framework : A WalkthroughPlay framework : A Walkthrough
Play framework : A Walkthrough
 
Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP Developers
 
North east user group tour
North east user group tourNorth east user group tour
North east user group tour
 
TFS Source Control Management
TFS Source Control ManagementTFS Source Control Management
TFS Source Control Management
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battle
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes Operator
 
Test Director Ppt Training
Test Director Ppt TrainingTest Director Ppt Training
Test Director Ppt Training
 

Último

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
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...DianaGray10
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
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 Takeoffsammart93
 
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 FMESafe Software
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Último (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
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...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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
 
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
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

The Learning Pathway: Actions, Rules and Simple and Advanced Workflow Integration Use Cases

  • 1. The Learning PathwayActions Rules and Simple and Advanced Workflow Integration Use CasesJörg Sauer
  • 2. The longest title ever Actions, Rules and Simple and Advanced Workflow Integration Use Casesis about Actions to extend Alfresco functionality Rules to automate execution of Actions Use Simple Workflows to implement a Workflow without coding Add Rules to run certain Actions in Workflow steps Use a simple Advanced Workflow to leverage Tasks in Simple Workflows
  • 3. Basic Example to be extended Review Publish Workflow with 2 phase approval review approve publish reject 1 Drafts 3 Approve 4 Published 2 Review reject
  • 4. Simple Workflow Pros: User can build workflow Easy to understand Cons: No State: Implicit state by location (folder) No Task: Implicit task by folder access No branching: Serial workflow only review approve publish reject 1 Drafts 3 Approve 4 Published 2 Review reject
  • 6. Adding Status Content Model: Provide custom Aspect to hold workflow status
  • 7.
  • 10.
  • 11. Transfer Status to incoming documents JavaScript to copy status Execute by Rule
  • 13. Alfresco Repository Actions Action: Unit of work that is performed against a node Examples: Move node Transform content of node Send email Out of the Box Actions Custom Actions Implement own Action class Deploy in Application Context
  • 14. Implement Copy Workflow Status Action
  • 15. Deploy Action (Application Context) Beans: webinar-action-context.xml Labels: webinar-action.properties
  • 16. Simple Workflow: Implementation Details Documents amended with properties for Approve step label, copy/move, destination Reject step label, copy/move, destination(all optional)
  • 17. Intention: Create User Task Every time simple workflow is assigned, create advanced workflow task for specific user. User can access task in task list see task description access attached document approve or reject directly from within task Advantage No notification emails No need to check simple workflow folders
  • 18. Simple Workflow Task Architecture Required: Custom aspect for task description.(attached to simple workflow folder) Advanced workflow to be started by rule Configure user Provide task Implement simple workflow actions for Approve Reject Bug Fix for Alfresco StartWorkflowActionExecuter UI for Rule Config
  • 20. Simple Workflow Task Advanced Workflow
  • 21. Content Model for Workflow Aspects: simpleWorflow: Manage Action Labels Content Types: simpleWfTaskStart: Properties for Start Task Assignee Task Description Simple Workflow Approve & Reject Action Labels All above become process variables! ApprovalOnlyTask: Task properties to approve document ApproveOrRejectTask: Properties for approving or rejecting the document Simplicity: all in sample model Best practice: own workflow model
  • 23. Simple Process Definition Create Process Definition Graphically Change root tag: Add Swimlanes Add tasks to task node, will render UI
  • 24. Workflow Deployment Attention: No actions implemented yet! But want to check if model is correct &workflow deploys Context file: Redeploy off on production systems!
  • 25. Workflow Actions User decides in task to Approve Reject Workflow will transition to nodes approveDocument: code will approve simple workflow rejectDocument: code will reject simple workflow Todo: Implement Event Handler for node-enter event(approve / reject)
  • 26. Code (sneaking) UI has actions for approve/reject Look for action definition in web-client-config-actions.xml Sample implementation can be found in DocumentDetailsDialog.approve() / reject() methods! OpenSource Rules!
  • 27. Review Alfresco implementation DocumentDetailsDialog.approve()
  • 28. Direct Code reuse Problem: From Package org.alfresco.web.bean Workflow Event not within web context. DocNode not core object Solution: Reprogram but use native Foundation Services API Should be fool proof ;-)
  • 29. Lets get the event Define in Process Definition Derive from JBPMSpringActionHandler
  • 30. What to Implement Where initializeHandler(): Get all services needed from the factory ServiceRegistry (in case you need something) NodeService to deal with the node CopyService to copy/move the document execute(): Get the process variables through executionContext Implement the approve / reject action
  • 31. Hiding Reject Transition if Not Set Hide reject transition accordingly task-assign event (has to be this event!) use bpm:hiddenTransitions (bpm_hiddenTransitions)
  • 32. Testing First Version Redeploy Manually start Simple Workflow Task workflow Fill in all details in the start form Test both scenarios: Approval only (reject transition hidden?) Approve or Reject Task should show up in task list Open Task and pick Action Check if document has been moved / copied according to Simple Workflow configuration.
  • 33. What’s Missing Action to start Simple Workflow Task Workflow Repository Action UI to fill in Assignee in Rules Configuration Action Handler Simple approach: Use JavaScript to start Workflow Either fixed assignee or assignee is property of folder
  • 35. Life Code Review in IDE JavaScript to start workflow Action Executer Action Handler Event Implementation
  • 36. Final Demo Configured Simple Workflow Add Rule to kick off Simple Workflow Task Workflow Push Document into folder with simple workflow. Review document status Search for documents with status Review task list Manage tasks See documents transition through simple workflow by using advanced workflows functionality
  • 37. Resume Actions extend Alfresco Simple workflows can be configured easily Rules are the binding glue Small advanced workflows can be leveraged in actions and simple workflows. Your imagination is the border Alfresco OpenSource helps you to code and find solutions to your problems.
  • 38. Resources Training Alfresco API Development Course (3 days) Alfresco Workflow Course (2 days) Alfresco (API) Documentation http://docs.alfresco.com/3.4/index.jsp Wiki Resources http://wiki.alfresco.com/wiki/Data_Dictionary_Guide http://wiki.alfresco.com/wiki/Custom_Actions http://wiki.alfresco.com/wiki/Custom_Action_UI http://wiki.alfresco.com/wiki/Workflow http://wiki.alfresco.com/wiki/WorkflowAdministration Books Alfresco Developer Guide (Packt Publishing) Professional Alfresco (Wrox Press)
  • 40. Have you got your ticket yet? DevCon Americas 201126-27th October at the Hard Rock Hotel, San Diego, CA Get some preconference training in on 25th October choose from Jump Start or Advanced Alfresco ∞∞∞∞∞∞∞∞∞ DevCon EMEA & APAC 20119-10th November at Prospero House, Central London, UKGet some preconference training in on 8th Novemberchoose from Jump Start or Advanced Alfresco