Slide 1
Building Advanced Workflows with ColdSpring
Dan Skaggs
http://dan.skaggsfamily.ws
dan.skaggs@web-meister.com
no notes exist for this slide
Slide 2
Agenda
Hopefully what you expected
no notes exist for this slide
Slide 3
Agenda
Two Faces of ColdSpring
Dependency Injection
Application Configuration
The Objective
Document management system
The Execution
Using ColdSpring to define workflows
The Inevitable
Managing workflow changes
no notes exist for this slide
Slide 4
About Me
You know you want to know
no notes exist for this slide
Slide 5
About Me
President, Web-Meister Designs
ColdFusion developer since 2000
Started with CF 4.5 and Spectra 1.0
Independent consultant since 2006
Contributing Partner to Model-Glue framework
Amateur (Ham) Radio enthusiast
Avid shooter
no notes exist for this slide
Slide 6
no notes exist for this slide
Slide 7
no notes exist for this slide
Slide 8
no notes exist for this slide
Slide 9
Application Configuration
Configuration, yes, but also is dependency injection since each object needs those string values to do its job.
Slide 10
Application Configuration
This is a simple example. Others would include environment-specific application settings,
Slide 11
The Objective
What Weâre Trying to Solve
no notes exist for this slide
Slide 12
Document Management System
Simple document actions (upload, review, approve, reject, archive, unarchive)
Overly encapsulated to illustrate concept
No MVC frameworks - âcontrollerâ type functions in CFM files
Fake document database using WDDX written to the filesystem
Why? So you can extract and run/play
no notes exist for this slide
Slide 13
Business Process
A user uploads a new document into the system
A user reviews the document and rejects or approves it
A user may archive a document when it is no longer needed
A user must be able to âunarchiveâ a document that is mistakenly moved to the archive
Log entries must be created on each action
no notes exist for this slide
Slide 14
The Execution
How Weâre Going to Solve It
no notes exist for this slide
Slide 15
Workflow Object Concept
Initialized by ColdSpring with metadata and an array of steps
No logic contained in the workflow bean
Create as many workflow beans as necessary in ColdSpring
Can contain n steps
no notes exist for this slide
Slide 16
Individual Workflow Config
no notes exist for this slide
Slide 17
Workflow Processor Concept
Initialized by ColdSpring with a structure of Workflow objects
process( workflowName ) used to initiate a workflow
process() method only executes if the workflowName attribute matches a pre-defined workflow
Maintains an array of result messages that each step in a workflow can add to for an audit trail of the entire workflow
no notes exist for this slide
Slide 18
Workflow Processor Config
no notes exist for this slide
Slide 19
Application Walk-Through and Demo
no notes exist for this slide
Slide 20
The Inevitable
Handling Workflow Changes
no notes exist for this slide
Slide 21
The boss wants what?
Changes to workflows are an eventuality
If workflow steps already exist, simply change the XML configuration and reinitialize the app
New workflow actions are plugged into the XML configuration once coded and tested
Let's see how we'd add an email notification to selected steps of the workflow
no notes exist for this slide
Slide 22
no notes exist for this slide
Slide 23
Benefits and Drawbacks
Benefits
no notes exist for this slide
Slide 24
Questions / Comments?
No Tomatoes, Please
no notes exist for this slide
Slide 25
Ask Me Later
Email: dan.skaggs@web-meister.com
Blog: http://dan.skaggsfamily.ws
Twitter: dskaggs
GTalk: dan.skaggs@web-meister.com
no notes exist for this slide