Date post: | 13-Jan-2015 |
Category: |
Technology |
Upload: | william-mckee |
View: | 628 times |
Download: | 2 times |
Automation
“Any job that depends on routines-- that can be reduced to a set of rules, or broken down into a set of repeatable steps-- is at risk.” – Daniel Pink
WebGUI Workflow Engine“An event triggered state machine and execution system.”
– JT Smith
WebGUI Workflow Engine“An event triggered state machine and execution system.”
– JT Smith
WebGUI Workflow Engine
What you need to know:
WebGUI Workflow Engine
What you need to know:➔ Workflows – containers for activities
WebGUI Workflow Engine
What you need to know:➔ Workflows – containers for activities➔ Activities – where the actual work gets accomplished
WebGUI Workflow Engine
What you need to know:➔ Workflows – containers for activities➔ Activities – where the actual work gets accomplished➔ States – running, waiting, stalled, complete
WebGUI Workflow Engine
What you need to know:➔ Workflows – containers for activities➔ Activities – where the actual work gets accomplished➔ States – running, waiting, stalled, complete➔ Triggers – time, user/system event, other workflows, manual initiation
WebGUI Workflow Engine
What you need to know:➔ Workflows – containers for activities➔ Activities – where the actual work gets accomplished➔ States – running, waiting, stalled, complete➔ Triggers – time, user/system event, other workflows, manual initiation➔ Modes - Parallel, Serial, Singleton
Production Workflows(core)
Maintenance Routines
Goal: Perform hourly, daily and weekly maintenance tasks.
Trigger: Time-based
Activities: • Delete expired sessions• Update calendar feeds• Delete temp files & prune cache• Archive old stories• Delete assets from trash• Move clipboard items >30 days to trash
Custom Workflows(core)
Send Notification
Goal: Receive an email when a new user registers on your Website.
Trigger: On Create User
Activity: Notify About User (WebGUI::User)
Add On Workflows
Page Validator
Goal: Receive an email notice if a page does not validate against the W3C Markup Validation Service.
Trigger: Time-based (e.g., add to Daily Maintenance workflow)
Activity: Download W3C Validator activity code from the WebGUI Marketplace (see resources for link)
Mailchimp Integration
Goal: Add subscriber to a Mailchimp mailing list. Can be integrated into any forms on your site.
Trigger: Add Entry
Activity: Download OptIn activity code from the WebGUI Marketplace (coming soon!)
Personal User Area
Goal: Create personal user areas when a new user registers on your Website.
Example: Setup a personal blog or dashboard for your registered Website visitors.
Trigger: On Create User
Activity: Download CreateUserHomeSkeleton activity code by Peter McBryde from the WebGUI Marketplace
Custom Workflows
Hot Folder
Goal: To provide a dropbox that is polled for newly uploaded files which need processing.
Example: Validate & process a “job” file placed into an FTP folder.
Trigger: Time-based
Activity: Custom (see “Writing Workflow Activities” presentation for example code to get started)
PuSH Publisher
Goal: Push site updates out to a PubSubHubbub hub (a real-time web protocol).
Trigger: Time-based (until more hooks become available in WebGUI codebase)
Activity: Custom.
Help Out!
• Share your ideas for useful workflows in the forums or IRC
• Add new workflows to the Bazaar
• Promote new triggers/hooks for the built-in assets (RFE's)
Bonus Material
Interesting but less useful possibilities for workflows.
Social Media Monitor
Goal: To send alerts of mentions in social media.
Trigger: Time-based
Example: Poll social media sites such as Twitter or Facebook for media mentions. Send an IM or email when results are found.
Activity: Custom.
Business Process ManagerGoal: To manage a real-world workflow process.
Example: Limit access to your site for new user registrations until they have confirmed their email.
Implementation: A workflow would run when the user confirmed their account. This workflow would move the account into the proper membership list. (It could also be used to check for payments).
Activity: Custom activity.
Happy Birthday!
Goal: To provide a special message and email for a user's birthday.
Trigger: Time-based
Example: Place a birthday message on site & send email to user.
Activity: Custom singleton. Run once a day to check birthday in user profiles.
Sundial
Goal: To keep an external file up-to-date.
Trigger: Time-based
Example: Sundial. On each run, update the external page with current time. Use scheduler to update file as appropriate.
Activity: Custom singleton.
Screenscraper
Goal: Retrieve data from an external site.
Trigger: Time-based
Example: Collect data that's not part of an RSS feed for display on your site.
Activity: Custom.