These articles provide a general introduction to the iCM Process Modeller, what it can be used for, and some of the best practices we've developed in our own processes.
Getting Started with Workflow
This process creates a user task and sends a confirmation email when the task is complete.
Self Service and User Requests - Interacting with Workflow Processes
Setting up the Self Service and User Request templates to display and interact with workflow processes.
Process Variables
These articles describe the standard variables present in process instances, how you can create and manipulate variables, how you can use them in activities, and how to display their values in templates and forms.
Making Decisions - Gateways and Sequence Flows
Your process models can make decisions, changing the course of the workflow based upon the values of variables.
File Uploads and Email Attachments in Workflow
When a form that includes file uploads interacts with a workflow process, files are stored using the Filestore worker and references to them are passed to your process instance.
Timers
Timers can be used to start process instances, catch an execution and release it at a later time, and attached to other structures and activities in your models.
Messages and Signals
Messages and signals allow forms, end points, site templates and other process instances to interact with a process outside of the normal user task activities.
Building Cancellation into your Workflow Models
The Self Service and User Request templates can provide links that allow users to send cancellation messages to process instances that they started. For these links to appear, cancellation needs to be built into the process model.
User Task Assignment
This article looks at ways tasks can be assigned to users when you might not know who those users will be when designing your process model.
Removing Tasks from Users
Once a task has been claimed by a user you might want to cancel it or have it return to the pool of claimable tasks for someone else to pick up.
Task Chaining
Task chaining lets you join user activities together, assigning a subsequent task in the same workflow directly to a user when they complete a preceding task.
Linking Directly to Workflow Tasks
Rather than use the Self Service or User Requests templates, it's possible to link directly to a user task form using the Forms Service template and a business key as a URL parameter.
Multi-Instance Tasks
Many of the tasks in the workflow modeller can be defined as multi-instance. This is a shorthand way to create simple loops in your process model.
Creating Tasks for Multiple Users
User tasks are normally carried out by a single user. But what if you want to create a task that everyone in a group of users must complete?
Workflow Transactions - Foreground and Background Jobs
As a process instance is executed, some parts are executed in the foreground, others in the background. These jobs are carried out in separate database transactions.
Workflow Transactions - Avoiding Problems
The workflow engine performs certain tasks automatically, like generating business keys, recording history, and setting up message and signal definitions. Understanding when each of these things happen can help with more complex process design and preventing potential problems.
Workflow Error Handling
The workflow modeller provides a range of ways you can handle any errors generated in your process, or errors returned from the services you integrate with.
External Calls - Callbacks and Polling
This article looks at two different ways you can call an external service within your workflow processes and wait for the result of the call before proceeding.
Debug and Tracing
When developing your workflow models you might need to debug errors and write trace information to help you pinpoint problems.
Start a Workflow from an End Point
In this example we'll look at using the Workflow worker's startProcess method to start a workflow without submitting a form.