Difference between revisions of "Process Models"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 20: Line 20:
The Process Element Palette contains things you can drag into the canvas as you define a process model:
The Process Element Palette contains things you can drag into the canvas as you define a process model:
:* '''User Task -''' This is a task that will be carried out by a user.
:* '''User Task -''' This is a task that will be carried out by a user.
::* '''Description -''' Additional information
::* '''Instructions -''' Additional information that will be presented to users when the task is completed using a '''Form''' (see below)
::* '''Due Date -''' Specify an interval in hours or days
::* '''Due Date -''' Specify an interval in hours or days
::* The person who needs to perform the task (or a collection of people, one of whom needs do it):
::* The person who needs to perform the task (or a collection of people, one of whom needs do it):
Line 32: Line 32:


:* '''Approval Step -''' This task requires someone to click a button to Approve or Reject something. A Decision Switch attached to the Approval Step has an additional field, <tt>Approved</tt>, that can be tested to find out which button they clicked. (To learn more, see the description of the Decision Switch that follows. Then see [[#Using an Approval Step|Using an Approval Step]], below.)
:* '''Approval Step -''' This task requires someone to click a button to Approve or Reject something. A Decision Switch attached to the Approval Step has an additional field, <tt>Approved</tt>, that can be tested to find out which button they clicked. (To learn more, see the description of the Decision Switch that follows. Then see [[#Using an Approval Step|Using an Approval Step]], below.)
::* '''Instructions -''' Tell the person what needs to be approved
::* '''Instructions -''' Additional information that is presented to users when the approval step is completed using a '''Form''' (see below)
::* '''Due Date -''' Specify an interval in hours or days
::* '''Due Date -''' Specify an interval in hours or days
::* The person (or people) who can do the approval:
::* The person (or people) who can do the approval:

Revision as of 01:17, 1 October 2013

About Process Models

Process Models are sequences of tasks (or steps) that are carried out to achieve a goal. The sequence of tasks, or process flow can do conditional branching based on record data.

Working with Process Models

Creating or Modifying a Process Model

To create or modify a Process Model:

  1. Click [New Process Model] or click an existing Model.
    The editor window opens.
  2. Drag process elements from the sidebar (the Palette, below) into the main panel
  3. Use the editor to perform other tasks (below)
  4. Before saving, click the Check Syntax icon to be sure the Process Model is correct:
    ProcessIcon CheckSyntax.png
    This is an important step. It's possible for a flow line to look as though it goes to the right place, without actually being connected to the target step. Performing a syntax check helps to guard against such errors.
  5. Press Ctrl+S or click the disk icon (BPM discIcon.png) to save your changes and close the window,
    or simply close the window to exit without saving changes.
    ProcessIcon Save.png

Process Tasks and Flow Control

The Process Element Palette contains things you can drag into the canvas as you define a process model:

  • User Task - This is a task that will be carried out by a user.
  • Instructions - Additional information that will be presented to users when the task is completed using a Form (see below)
  • Due Date - Specify an interval in hours or days
  • The person who needs to perform the task (or a collection of people, one of whom needs do it):
  • Team - Identify people who can carry out the task as people who are members of a designated team, people who have a designated Role, or both. Any member of the specified team can view the task and claim it as their own, regardless of who it was originally assigned to. The default is Any Team, which means that anyone who can see the case can claim the task.)
  • Individual - Select one of the fields that targets a User record
  • Using Rule Set - Choose a Rule Set that returns a Step Owner--a value that resolves to one of the options above.
(Click the plus icon (Btn-add.gif) to create a new, empty Rule Set that can be filled in later.)
  • Form - Choose a Form for the object the Task is attached to, allowing the user to modify data for that record at the same time they complete the task. If the process is defined on the Cases Object, for example, then Case data can be modified as the Task is completed.
  • Comment Required? - When this box is checked, the user is required to provide a comment.
  • Change Status to - This option appears for a Cases object model. Use it to automatically change case status when a task is completed.
  • Approval Step - This task requires someone to click a button to Approve or Reject something. A Decision Switch attached to the Approval Step has an additional field, Approved, that can be tested to find out which button they clicked. (To learn more, see the description of the Decision Switch that follows. Then see Using an Approval Step, below.)
  • Instructions - Additional information that is presented to users when the approval step is completed using a Form (see below)
  • Due Date - Specify an interval in hours or days
  • The person (or people) who can do the approval:
  • Team - Identify people who can carry out the task (or do the approval) as people who are members of a designated team, people who have a designated Role, or both.
  • Individual - Select one of the fields that targets a User record
  • Using Rule Set - Choose a Rule Set that returns a Step Owner--a value that resolves to one of the options above.
(Click the plus icon (Btn-add.gif) to create a new, empty Rule Set that can be filled in later.)
  • Form - Choose an object Form to include in the dialog when the user clicks Approve, allowing the user to modify record data at the same time they give their approval. (For a rejection, only the comment box is displayed.)
  • Comment Required? - When this box is checked, the approver is required to provide a comment.
  • Send an Email - Send out an automated notification using one of the Email Templates.
(Click the plus icon (Btn-add.gif) to create a basic new template that can be modified later.)
  • Execute RuleSet - Execute Rules in a Rule Set, to carry out a number of tasks.
(Click the plus icon (Btn-add.gif) to create a new, empty Rule Set that can be filled in later.)
  • Execute Web Service - Invoke one of the Web Services configured for the application.
  • Decision Switch - Create a branch in the process flow, depending on criteria you specify.
After creating the decision-switch node, click on the arrows coming from the node to specify criteria. When the specified criteria evaluate as true, that branch is taken.
For compound conditions, chain one Decision Switch into another. So if the branch from the first Decision Switch is taken when order_amount >= 10000 and a branch from the second is taken when order_amount < 100000, then the second branch is taken when the order is between $10,000 and $100,000.
  • Parallel Gateway
  • A point from which parallel paths branch out, and a point at which they merge once again. (The same element is used for both points.)
  • This gateway creates a branch in the flow, allowing two sequences of tasks to proceed in parallel.
  • Inclusive Gateway
  • A point from which conditional parallel paths branch out, and a point at which they merge once again. (The same element is used for both points.)
  • This gateway creates a branch in the flow, and allows a condition to be attached to each branch.
  • An inclusive gateway allows multiple paths to be in operation simultaneously, as long as their conditions are satisfied. Flow then proceeds from the join point, but only after each path that was started runs to completion.
  • Start Event - Specify the starting point for the process. (The start point is required.)
  • End Event - Specify an endpoint for the process. (At least one end point is required.)
  • Sequence Flow - Draw a connector between two tasks, to create a sequence.

Making Connections

In the main panel, click a Task or Event
. Several elements appear next to it. Hover over them to see a description:

ProcessConvenienceElements.png
  • Decision Switch - A Decision Switch element is added to the process (see below), with a connection from the task
  • End Event - An End Event element is added to the process, connected to the task

The final element is the connection arrow. To draw an arrow between two elements in the diagram, drag that arrow to another element:

ProcessHighlightedTarget.png

Using the Process Editor

In addition to the Save icon seen earlier, the toolbar provides other icons that help you build Process Models:

ProcessEditIcons.png
  • Cut, Copy, Paste, Delete - The standard editing operations to move or copy the selected element(s) to the clipboard (cut/copy), to copy the contents of the clipboard to the process (paste), or remove the selected element(s).
  • Undo, Redo - Take back the last change, or reinstate it.
  • Alignment and Sizing - Align the middles or centers of elements, or make them the same size.
  • Line "Bend Points" - A red dot appears at the corner of any line that isn't totally straight. You change the shape of a line by dragging that dot. Use these controls to add an extra dot to an already-bent line, or to add a dot to a straight line. You can also use the controls to remove a dot, straightening the line at that point.
  • Zoom Controls - Zoom in or out. Set page size.
  • Syntax Check - Click this button to check the drawing. A large red "X" appears below any element that has a problem. Hover over the element to get an error message.

Here are some other keys you can use:

  • Click and drag -Move an element to a new location.
  • Ctrl+A - Select all. Good for repositioning all elements at once.
  • Ctrl+Click - Add an element to the set of selected elements, or remove it if already selected.

Using a Decision Switch

When you double click on an arrow coming from a Decision Switch, you can specify criteria for that branch. The criteria take the form {field} {operator} {value}.

ProcessDecisionCriteria.png

You can add multiple criteria to that dialog. All must evaluate to true for the branch to be taken. In other words, the criteria specified for that branch represent an AND condition.

To create an OR condition, you can add a separate branch.

Warn.png

Important: When you add a second arrow, it overlays the first. Immediately move it, so you can see them both:

ProcessOffsetBranch.png

Using an Approval Step

When you add an Approval Step, a Task is generated for the person it is assigned to. While other Tasks have a [Complete] button, an Approval task has two buttons: [Approve] and [Reject]. The button that was clicked is recorded in a special field called Approved, with values Yes or No. When a decision switch follows an Approval Step, that field is available for testing, as shown here:

ProcessModelApprovalStep.png

Reject could go back to a previous step. Approve will generally go forward to a new task or to the end of the process.

Using Process Variables

Process Variables store values gathered during the execution of a process, for use later on in the process.

Process Variables can be used when:

To create a process variable and store a value:

  1. __TBD__

To reference a process variable:

  1. __TBD__