Professional Documents
Culture Documents
Document Um Process Builder User Guide Version 6.5
Document Um Process Builder User Guide Version 6.5
Document Um Process Builder User Guide Version 6.5
Process Builder
Version 6.5
User Guide
P/N 300-007-247 A01
EMC Corporation
Corporate Headquarters:
Hopkinton, MA 01748-9103
1-508-435-1000
www.EMC.com
Copyright © 2004 - 2008 EMC Corporation. All rights reserved.
Published July 2008
EMC believes the information in this publication is accurate as of its publication date. The information is subject to change
without notice.
THE INFORMATION IN THIS PUBLICATION IS PROVIDED AS IS. EMC CORPORATION MAKES NO REPRESENTATIONS
OR WARRANTIES OF ANY KIND WITH RESPECT TO THE INFORMATION IN THIS PUBLICATION, AND SPECIFICALLY
DISCLAIMS IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Use, copying, and distribution of any EMC software described in this publication requires an applicable software license.
For the most up-to-date listing of EMC product names, see EMC Corporation Trademarks on EMC.com.
All other trademarks used herein are the property of their respective owners.
Table of Contents
Preface .......................................................................................................................... 11
Chapter 1 Understanding Business Process Design ............................................. 13
Introducing workflows ............................................................................... 13
Process templates and associated workflow objects ....................................... 16
Activities ............................................................................................... 17
Initiate activities ................................................................................. 18
Wait for message activities .................................................................. 18
Fault handler activities ........................................................................ 19
Process data ........................................................................................... 19
Enabling reporting for Business Activity Monitor (BAM) ...................... 20
Flows ..................................................................................................... 21
Planning workflow processes ...................................................................... 22
Choosing or creating activity templates .................................................... 23
Choosing activities ................................................................................. 23
Choosing performers .............................................................................. 24
Defining when the performer is determined ......................................... 26
Using aliases ...................................................................................... 27
Enabling delegation and extension........................................................... 28
Defining task subjects ............................................................................. 28
Adding a signoff requirement ................................................................. 29
Setting priority values ............................................................................. 30
Setting initial priority and aging of tasks .............................................. 30
How the system resolves the initial priority of a task......................... 31
How the system increases the priority of a task................................. 31
Setting static priority and aging logic for tasks ...................................... 32
Setting dynamic priority and aging logic for tasks ................................ 32
Sample priority module .................................................................. 33
Understanding process data .................................................................... 34
Understanding packages ..................................................................... 34
Understanding process variables ......................................................... 35
Understanding process parameters .......................................................... 36
Associating form templates with packages ............................................... 37
Setting trigger conditions ........................................................................ 37
Setting timers ......................................................................................... 38
Setting up notifications ........................................................................... 39
Defining activity transitions .................................................................... 40
Determining transition conditions ....................................................... 41
List of Figures
List of Tables
This guide is intended to help users design and build business process templates by using EMC
Documentum Process Builder. Process Builder is the design center of the Process Suite, which enables
and supports all phases of the business process lifecycle.
Intended audience
This guide is intended for users who design business processes. It assumes familiarity
with basic EMC Documentum functionality, especially with the runtime workflow
features available through Documentum Webtop or TaskSpace.
Revision history
This section contains a description of this document’s revision history.
Revision history
Support information
EMC Documentums technical support services and policies are available at the EMC
Powerlink website (http://Powerlink.EMC.com).
Note: You must register online at Powerlink before using it.
Related documentation
Process Builder is a design tool for business process templates. Workflows are created
from these templates at runtime The user documentation for Documentum Webtop or
TaskSpace includes information about running and participating in workflows.
In addition to this guide, the documentation set for Process Builder includes:
• EMC Documentum Process Builder Development Guide
• EMC Documentum Process Builder Installation Guide
• EMC Documentum Process Builder Release Notes
• EMC Documentum Process Builder Localization Guide
This chapter introduces the basic concepts of Documentum workflow and business process design.
The following topics are included:
• Introducing workflows, page 13
• Process templates and associated workflow objects, page 16
• Planning workflow processes, page 22
Introducing workows
You use Process Builder to create process templates. A process template captures the
definition of a business process, enabling users to repeatedly perform the process.
Individual process instances generated from a process template are called workflows.
A workflow formalizes a business process such as an insurance claims process or an
engineering development process. A workflow consists of the following elements:
• A process template is the business process represented as a formalized workflow
definition.
Users can use the template to repeatedly perform the business process. Because a
process template is separate from its runtime instantiation, multiple workflows
based on the same template can be run concurrently.
• A process template consists of multiple activities.
Activities represent the tasks needed to complete the process, such as receiving an
email, reviewing a document, checking it into the repository, or approving it.
• Flows are the links between the activities, specifying the sequence of activities
• Process data refers to the different types of data that flow through the process such
as a document, a form, process variables like part numbers or customer addresses,
or process parameters that enable administrators to modify a constant value for a
specific parameter throughout the process instance.
Process data is comprised of the process variables, process parameters and packages that
move through the workflow.
— Process variables are individual or grouped data types or execution data used
during the life of the process.
Different data elements that represent various types of customer information are
an example of process variables. See Process templates and associated workflow
objects, page 16 for further details about these workflow components.
— Process parameters are values that enable application administrators to modify
constant values that are used in a process. Process parameters can be used
in values that are fixed within a process such as escalation roles, transition
conditions, performer conditions, dynamic performer assignments, task
name, and task instructions. When an administrator changes the values of the
parameter from the Administration tab in TaskSpace, the value is updated in any
new process instances.
— Packages contain the object, generally a document or image file, passed between
activities so that work can be performed on it.
A loan application is an example of an object contained in a package.
Figure 1. Process templates capture business processes
Process templates can describe simple or complex business processes. You can create
workflows that have both serial segments, in which activities follow one another in
a specified sequence, and parallel segments, in which two or more activities happen
concurrently. You can also create a cyclical workflow, in which the completion of an
activity restarts a previously completed activity. The path that a document takes through
the workflow can differ depending on what happens along the way. For example, a
purchase order could be routed to different activities depending on whether the manager
approves it or rejects it.
You can create a process template that can be used in many contexts. This is done by
including activities whose performers are identified by process data or aliases instead of
actual usernames. When process data or aliases are used, the actual user is selected at
runtime. For example, a typical business process for new documents has four steps:
authoring the document, reviewing it, revising it, and publishing the document. The
actual authors and reviewers will be different people for different documents. Rather
than creating a separate workflow for each document with the author and reviewer
names assigned during the design process, you create one process template with activity
definitions that use process data to define author and reviewer names. Depending
on how you design the workflow, the author and reviewers can be chosen by the
person who starts the workflow, by the person who performs the previous activity,
automatically by the server when the activity is started, or based upon conditional logic
defined in the workflow.
You add activities to a process template by creating a blank activity or by selecting
the appropriate activity template for the type of task represented by the activity. The
activity template determines what configuration attributes are necessary for a particular
type of task, including attributes common to all activities (such as a name and a list of
performers) and custom attributes unique to a particular task. For example, the activity
template for activities that post files to a website would include an attribute containing
the URL to use for posting. Process Builder ships with predefined activity templates
representing typical activity types, and you can create custom activity templates that
exactly match your needs.
Both packages and activities can have an associated form template. The form template
defines the data entry fields that are displayed to the users performing the activity and
specifies how the entered data is stored in the Documentum repository. You create
forms using Documentum Forms Builder and associate them with processes using
Process Builder.
A workflow’s process template is implemented by Documentum Content Server as
a dm_process object. The definitions of individual activities in a process template are
stored in dm_activity objects. When you design a workflow, you can include existing
activity definitions in addition to creating any new activity definitions needed.
When you start a workflow, the server uses the process template (the dm_process object)
to create a runtime instance of the workflow (a dm_workflow object). When an activity
starts, the server creates one or more work items (dmi_workitem), which are tasks that the
server adds to the inbox of the users who are the designated performers of the activity.
Figure 2, page 16 illustrates how the components of a process template and runtime
instance work together.
Activities
Activities represent the tasks that comprise the business process. Workflows can contain
several kinds of activities:
• Initiate activities are the first activities in the workflow.
• Start activities are connected to initiate activities.
• The end activity is the last activity in the workflow. A process template can have
only one end activity.
• Step activities are the intermediate activities between the start and the end. A process
template can have any number of step activities.
• Wait for message activities are receive activities that participate in asynchronous
communication with external applications and are designed to wait for a response
from the application.
• Fault handler activities enable you to specify an action to take if an automatic activity
fails.
An activity can be either manual or automatic. A manual activity is performed by a
person or multiple people. An automatic activity is performed by the system on behalf
of a user.
The attributes of an activity definition describe the characteristics of the activity,
including:
• How the activity is executed
• Who performs the work
• How the performer is assigned
• What starts the activity
• What triggers are necessary
• What is the transition behavior when the activity is completed
Activities can also have characteristics that are specific to the type of task they represent.
For example, an activity that sends documents to an external vendor would include an
attribute containing the vendor’s email address. The set of custom attributes associated
with an activity is configurable through the use of activity templates.
When the server starts an activity, it creates work items and adds them to the inboxes
of the users identified as the performers of the activity. These work items contain the
packages that the user needs to work on and instructions about the required task. The
server adds a queue item to the inbox, linked to the work item. The Documentum Content
Server Object Reference has more information on this subject.
Initiate activities
Initiate activities specify the conditions that begin a process instance. Initiate activities
can connect to any start activities and can be manual or automatic activities. You can
begin a workflow with one manual initiate activity, multiple automatic initiate activities,
or a combination of one manual activity and several automatic initiate activities. If the
initiate activity is an automatic activity, you must specify the channel configuration and
mapping rules to copy data from the message to the process data carried through the
process. If the initiate activity is manual, you can configure the activity to automatically
launch a form created in Forms Builder that starts the process.
For example, a loan application process flow can have multiple initiate activities. It can
be started with a manual initiate activity that automatically launches a loan application
form that a processor can complete during a phone-in application. The same process
can also have an automatic initiate activity that receives a loan application through
an email message.
You assign a form created in Forms Builder to the manual initiate activity on the
Properties tab of the Activity Inspector.
To include an automatic initiate activity, you could create an activity named Email Form
Received, where the email account is configured and details of the email header and
body are mapped to process data that has been defined for the process.
A manual initiate activity has only the Properties, Data, and Display tabs available
for configuring. Other initiate activities such as the Email Inbound - Initiate activity
template has all standard tabs as well as a tab to configure the email server connection.
In the editor pane, you associate the fault handler activity with the automatic activity by
using the Assign Fault Handler flow button in the toolbar. The system identifies the fault
handler activity with a lightening bolt icon on the activity template and uses a dashed
line to link the fault handler activity with its associated automatic activities.
Process data
Process data refers to the different types of data that flow through the process such as:
• Documents
• Forms
• Process variables like part numbers or customer addresses
Process Builder can be used to configure which execution data to the BAM database
where it can be used to create BAM reports. Process designers can select specific process
variables, structured data types, and objects contained in packages to be used in BAM
reports.
To update business data from Process Builder in the BAM database, follow these steps:
• Activate the audit trail for a specific process.
The audit trail is the means by which reporting data is published to the BAM
database. Setting process template properties, page 66 provides instructions on
enabling the audit trail.
• Create structured data types with attributes that are selected for reporting.
Creating structured data types, page 52 provides instructions on creating structured
data types that can be monitored for BAM reporting.
• Select the packages to include in reporting from the process level or from the
individual activity.
Managing packages, page 69 and Changing process data in an activity, page
141 provide instructions on selecting packages for monitoring at the process level
and at the activity level.
• Select the variables to include in reporting from each activity.
Variables can be simple types (Boolean or string) or can be structured data types that
were selected for reporting when they were created. Changing process data in an
activity, page 141 provide instructions on selecting variables and structured data
types for monitoring at the activity level.
• Ensure that any changes to the business data you are monitoring have been updated
in the BAM database. Updating process data in the BAM database, page 49 provides
more information on updating process data in the BAM database.
The Documentum Business Activity Monitor Implementation Guide provides more details
on configuring BAM reporting.
Flows
Flows connect activities together in the process. They enable the movement of packages,
process variables, properties, and any dependencies that exist between the connected
activities.
There are three types of flows:
• Forward flows advance packages from an activity to the next activity in the normal
workflow such as moving a package from the Edit activity to the Approve activity.
• Reject flows determine what happens when the performer of an activity rejects the
task being routed. They direct packages in a backward loop such as sending a
package from the Approve activity back to Edit
• Fault handler flows determine what action to take if an associated automatic activity
fails. Fault handler activities, page 19 gives more specifics on this topic.
All step activities must have at least one flow coming in and one flow going out. An
initiate activity has at least one outward flow, but no incoming flow. An end activity
must have at least one incoming flow, but no outward flow.
Choosing activities
Each process template must have one or more initiate activities and a single end activity.
The template can have any number of step activities. The number of step activities
you include depends solely on the structure of the workflow, which will depend on its
business purpose.
Each activity in a workflow must have a name that is unique within the process template.
The name is assigned when you add the activity to the process template. Choose activity
names that are descriptive of the work performed by the activity.
You can include any activity that you create or any activity for which you have at least
Relate permission.
You can use an activity definition more than once in a workflow. For example, suppose
you want all documents to receive two rounds of review. You might design a workflow
with the following activities: Write, Review1, Revise, Review2, and Publish. The
Review1 and Review2 activities can use the same activity definition.
However, if you use an activity multiple times in a workflow, you must structure the
workflow so that only one instance of the activity is active at any time. A workflow
cannot start an activity if a previous activity based on the same definition is still running.
Choosing performers
An activity definition includes the information that lets Process Builder determine who
will perform the activity. Process Builder supports a wide range of choices for a manual
activity’s performer. For automatic activities, you must still identify a user whose
permissions will be used when running the script or program.
When a manual activity starts, the server adds a work item to the inbox of the user
or users designated as the performer of that activity. For high-volume document
processing, you can add the work item to a work queue that many different users work
from. The Documentum Webtop User Guide Documentum TaskSpace Configuration Guideor
the provides more information about work queue management and performers.
The following table lists the categories from which you can choose a performer. Each
category is represented by an integer value. Only the first four options (0 through 3) are
available for automatic activities.
1 Repository owner The server selects the user identified as the owner
of the active Documentum repository.
When you create the activity, you must define the performer type and the user category.
You can also define the actual performer at that time or you can configure the activity so
that the actual performer is selected at runtime:
• By the workflow initiator when the workflow is started
• By the server, when the activity is started
• By the performer of a previous activity, when the previous activity completes
• Based on conditional logic that you define in the activity.
Defining the actual performer in an activity definition is the least flexible structure.
Allowing the performer of a previous activity to choose an activity’s performer is more
flexible, since it lets decisions about performers be based on current circumstances
and business rules. Configuring a performer based on conditions is the most flexible
structure used to determine a performer.
If you select category 0 (Workflow supervisor), 1 (Repository owner), or 2 (Previous
activity’s performer) as the user category, the actual user is defined by the category. For
example, an executing workflow has only one workflow supervisor and the repository
in which it runs has only one repository owner. It is not necessary to define the actual
person when you create the activity. The server determines it when the activity is started.
If you select category 3 (Specific user), you can choose the actual person when you create
the activity. To have the actual person selected when the workflow runs, use an alias or
define conditional logic to determine the user. Using aliases, page 27 or Select performer
based on conditions , page 121 provide more details on these subjects.
When using an alias, the user can be resolved automatically by the server using an alias
set or by the performer of a previous activity. The same options apply to categories 4,
5, 6, or 10, except that you provide the name of a group or work queue instead of an
individual user. Provide a group or queue name if you are choosing it when you create
the activity. Use an alias if you want the actual group or queue selected at runtime.
For categories 8 and 9, you provide the names or aliases for a list of multiple users. Just
as with the other categories, you can choose the actual performers when you create the
activity, have the performer of a previous activity choose the performer, or use aliases
to have the performer chosen at runtime.
With user categories work queue, specific user, all users in a group, single user from a
group, some users from a group, or multiple sequential users, you can define conditional
logic in the activity that resolves the performer based on process data and other logic
that you define in a decision table. At runtime, the process engine evaluates the rules as
they have been set up and assigns a performer for the activity. Select performer based on
conditions , page 121 provides more information on this topic.
Using aliases
An alias is a descriptive name for a category of user or group that you use in place of an
actual user or group name. At runtime, the server replaces the alias with the name of the
actual user or group who fits the category in that time and place. Using aliases in activity
definitions creates a flexible process template that can be used in a variety of contexts.
For example, suppose you are creating a workflow for vacation requests. Each
department in your company has a different manager who must approve vacations.
Rather than create a different process template for every department, you want to create
one template for everyone to use. After all, the business process is the same for every
department. In place of specific performer names for the activities, you use an alias, such
as Manager. When the workflow runs, the server answers the question "Who is the
Manager of the workflow initiator?" and sends a work item to that user.
The server resolves aliases at runtime by searching one or more alias sets to find the alias
and its associated actual value. An alias set is an object that defines a list of aliases and
their corresponding actual values. You create alias sets in Documentum Administrator.
The Documentum Content Server Administration Guide provides more details on alias
sets. You can associate alias sets with particular users, and in Process Builder you can
identify a default alias set for the workflow.
When you include an alias as the performer for an activity, you can specify that the server
resolve the alias at runtime by referring to the:
• Default alias set for the workflow
• Alias set associated with the user who starts the workflow
• Alias set for the performer of a previous activity
• Any other alias set you choose
You can also have the server require the workflow initiator to manually provide values
for the aliases when the workflow starts. To require the workflow initiator to resolve the
aliases, you define a default alias set for the process template that contains the aliases
but not the names to which the aliases are mapped. See Choosing manual performers,
page 114 for details.
Task subjects can be up to 255 characters (before variable references are resolved) and
can contain references to the following object types and attributes:
• Any attribute of the dm_workflow object
• Any attribute of the dmi_workitem object associated with the current task
• Any attribute of the dmi_queue_item object associated with the current task, except
for task_subject.
• Any attribute of a dmi_package object
Note: The name of the document in a package is available only if you select the Store
document name to the package at runtime option in the Process Properties dialog
box (see Setting process template properties, page 66).
The reference must be enclosed in curly brackets. The object type name and attribute
name must be lowercase and must be separated by a period.
The server uses the following rules when resolving the string:
• The server does not place quotes around resolved object type and attribute references.
• If the referenced attribute is a repeating attribute, the server substitutes all values,
separating them with commas.
• If the constructed string (after variables are resolved) is longer than 512 characters,
the server truncates the string.
• If an object type and attribute reference contain an error. For example, if the object
type or attribute does not exist, the server does not resolve the reference. The
unresolved reference error appears in the message.
The resolved string is stored in the task_subject attribute of the task’s associated queue
item object. Once the server has created the work item, the value of the task_subject
attribute in the queue item will not change, even if the values in any referenced attributes
change.
activity in Process Builder, you can specify that the performers must sign off in order to
complete the activity. Signing off requires the performer to type his or her password
to confirm that they performed the task.
Note: Content Server also supports electronic signatures and digital signatures as
ways to sign off tasks or the documents associated with a task. See the Content Server
documentation for details about these advanced sign-off options.
For most queue processors, work items appear in the inbox based on their priority. The
highest priority items are assigned to be worked on before lower priority work items.
Priority and aging settings are essential elements in the processing of work queue tasks.
When the system creates a new work item, the server identifies the task as a work queue
item and checks for logic to enable it to assign an initial priority to the item. After the
task is in the queue, an aging job increases the priority of the task based upon other logic,
which moves the task higher in the inbox until the task is worked on. Priority escalation
may trigger the queue administrator to redistribute tasks or reallocate resources between
work queues.
The priority level at which a task first appears and the speed at which it increases in
priority can be set either in the work queue policy or in the activity template for the task.
Using a work queue policy, the queue administrator or queue manager can specify the
initial priority of the task and the frequency and percentage at which it increments based
on different values you set up in the policy.
For more complex initialization and aging scenarios, you use Documentum Composer
to create a priority module that contains logic to dynamically calculate and update the
priority based on process data or other attributes that belong to the process. A priority
module can be associated with a work queue policy or a Process Builder activity.
When the system creates a work queue task, the Process Engine determines the initial
priority of the task by using the following criteria in this order:
1. Priority module associated with the activity definition: If there is a priority module
associated with the activity definition, the system uses the getInitialPriority() method
of the module and sets the return value as the initial priority.
2. Priority module associated with the work queue policy: If there is a priority
module associated with the queue’s work queue policy, then the system uses the
getInitialPriority() method of the module and sets the return value as the initial
priority.
3. Work queue policy: If there is not a priority module associated with the task, the
system uses the initial_priority setting of the work queue policy object to set its
initial priority.
Each time that the dm_QmPriorityAging job runs, it increases the priority of all work
queue tasks by using the following criteria in this order:
1. Priority module associated with the activity definition: If there is a priority module
associated with the activity definition, the system uses the getIncrementPriority()
method of the module and uses the return value as the increment priority.
2. Priority module associated with the work queue policy: If there is a priority
module associated with the queue’s work queue policy, then the system uses the
getIncrementPriority() method of the module and uses the return value as the
increment priority.
3. Work queue policy: If there is not a priority module associated with the task, the
system uses the increment_priority setting of the work queue policy object to set
the increment priority.
Work queue policies enable queue administrators or managers to define the frequency at
which the tasks in a work queue are aged and the priority to which they are set initially.
When the system creates a work queue task, the task’s initial priority is set based upon
the initial priority setting from the work queue policy associated with that task. As
long as the task remains in the queue, whenever the dm_QmPriorityAging job runs, it
increases the priority of the task by the amount specified in the increment priority setting
of the work queue policy associated with the task. The Documentum Webtop User Guide
provides more information on setting priority and aging logic for tasks based on work
queue policies.
There may be situations where both the initial priority and the amount that priority
increments both must be calculated dynamically. In these cases, you create a priority
module that the system uses instead of the work queue policy to set priority and aging
logic. A priority module can be selected when creating the work queue in Webtop or
TaskSpace or can be selected when creating the activity in Process Builder.
Associating a work queue priority module with an activity, page 114 provides more
details on assigning a priority module to an activity.
Process data can be used to set the initial priority and increase the priority based on
values in the workflow. For example, if a loan application belonging to a preferred
customer comes through a work queue, it can be immediately placed at a higher priority
value than a loan application from other customers. In addition, if the loan request is
for a greater amount or comes from a preferred loan broker, then the priority can be
increased at a higher rate, ensuring that the queue supervisor is alerted if the task is not
completed within a specified period of time. This kind of logic can be especially useful
to increase the priority of a task as it nears a deadline or some other time restriction.
The priority is increased more rapidly as the deadline approaches, pushing the task up
the queue at a higher rate.
throws DfException;
/*
* Copyright © 1994-2008. EMC Corporation. All Rights Reserved.
*/
package com.documentum.bpm.priority.test;
import com.documentum.bpm.IDfWorkitemEx;
import com.documentum.bpm.priority.IWQTaskPriority;
import com.documentum.fc.client.IDfModule;
import com.documentum.fc.client.IDfSession;
import com.documentum.fc.common.DfException;
/**
* This example calculates priority from Process Data Variables.
* There are two Process Data Variables defined on the workflow template:
* - is_vip (boolean)
* - loan_info
* -loan_amount (int)
* - broker_class (String)
*/
Understanding packages
Packages are the objects on which activities perform their work. A package can be a
document, a form, or other data that is associated with an activity. You list all of the
packages handled by a process object as part of the process properties, then specify for
each activity which of the packages it works with. An activity can handle multiple
packages. Each package can have a form template associated with it, defining the user
interface that the activity performers see when working on the package.
When you define a business process, you identify what objects the workflow handles.
An object, such as a document or an image, that is processed by a workflow is a package.
The package represents the content that the activities work on. An activity can work
with one or more packages.
To define a package, you identify the item to process with the workflow. You also have
the option to choose a form that the performer of the activity working with the package
uses to perform the task.
An activity can do the following things with a package:
• Make no changes to the package.
• Modify the package and save it as a new version in the repository.
• Introduce a new package into the workflow, not forwarding the package it received.
• Modify an attribute associated with the package.
In many workflows, all activities work on the same package or packages. For example,
a workflow for reviewing and approving purchase orders will use the same purchase
order document as a package for all the necessary activities.
In other cases, the work performed by an activity results in a new version of a document
from the incoming package. For example, a user might receive a document for review.
The user checks out the document, adds comments or revisions, and checks in the
document. In this case, you want the activity to send the new version of the component
when it sends the package to the next activity. In Process Builder, you accomplish
this scenario by configuring the activity to forward the same packages it receives, but
forward a different version. You can specify the version by using an actual version
number, such as 2.5, or a symbolic version label, such as Draft or CURRENT.
The work performed in some activities requires the activity to send on a package that is
entirely different from the package it received. For example, suppose an activity accepts a
personnel action notice. The performer (an HR employee) must file the notice, then send
a different form to the accounting department. In Process Builder, you can configure an
activity to accept certain packages as inputs and pass along other packages as outputs.
For information about configuring flows and packages in Process Builder, see Changing
process data in an activity, page 141.
Process variables are instances of different types of data that flow through your
business process. These can be simple data types (a string, Boolean, or date) or they
can be complex data types—groups of logically related data such as purchase orders,
manufacturing items, and so on. Complex data types are defined in the Structured Data
Type window, where, as structured data types, they can be reused in multiple process
templates in a repository.
Default values can be set only in the simple data type. Complex data types have the
default values in the type definition.
The attributes of structured data types (process variables) can be identified to use in
reporting. The process engine exposes the elements so that reporting tools can consume
the data and create static reports and BAM reports. Process variables are defined for a
process using the Process Properties component.
Managing process variables, page 72 provides more information about defining process
variables for a workflow. Creating structured data types, page 52 provides more
information on defining structured data types for your repository.
activity starts. For example, if an activity has three incoming flows, you may decide that
the activity can start when two of the three have delivered their packages. The trigger
condition must be a value between one and the total number of incoming flows.
A trigger event is an event queued to the workflow. The event can be a system-defined
event, such as dm_checkin, or you can make up an event name, such as promoted or
released. However, because you cannot register a workflow to receive event notifications,
the event must be explicitly queued to the workflow by using the Documentum API.
If you include a trigger event in the starting condition, the server must find the event
you identify queued to the workflow before starting the activity. The same event can
be used as a trigger for multiple activities, however, the application must queue the
event once for each activity. See the Documentum Content Server Fundamentals for further
details about defining and queuing events.
For information about setting an activity’s trigger conditions, see Setting activity triggers,
page 126.
Setting timers
When you configure an activity, you can set timers that take action if work does not
appear to be flowing as it should. For example, you might want the workflow supervisor
to receive a warning if the activity is not started within 12 hours of when the workflow
started, or you might send a message to the activity performer if the activity has not
been completed four hours after its start.
Process Builder supports two kinds of warning timers for activities:
• A pre-timer takes action if an activity has not started within a designated amount of
time after the workflow starts.
• A post-timer takes action if an activity has not completed within a designated
amount of time after the activity starts.
When a workflow starts, the system creates pre-timers for all activities that have
pre-timers configured. At the same time, the system creates the task for the first activity
of the workflow. If it is an automatic activity, the workflow agent processes the task
immediately and moves the workflow to the second activity. When the second activity is
triggered, the server deactivates the pre-timer.
Depending on the nature of the activity, an expired timer can take one of these actions:
• Notification — Send a notification message to one or more people.
• Start Process — Launch a new workflow process using the current activity’s
packages.
• Run Java Method — Run an automated workflow method (available for users with
superuser privileges only).
Setting up notications
Content Server has the ability to monitor for particular events and to notify interested
users when the events occur. Events are specific actions applied to Documentum objects.
In the context of Process Builder, the relevant events are actions related to the workflow,
such as a user starting work on a work item or delegating a work item to another user.
When you configure a process template or an activity, you can associate custom email
message templates with several key workflow-related events. An email template is a
specially formatted document stored in the Documentum repository that defines the
subject and body of a notification email message. The template can include variables
whose values the server replaces at runtime. The delivered message includes contextual
information such as the name of the current performer or the package that is being
routed. If an event has an email template associated with it, any user who has registered
to receive notification of the event will get a message generated from the associated
email template. The Documentum Process Builder Development Guide gives more specifics
on creating custom email templates.
Note: The server generates and sends notification messages only when one or more
users has registered to receive notification of the event. The Documentum Content Server
Fundamentals provides information about registering for event notifications.
See Setting notifications, page 137 for information on how to set notification options.
If you let a group of performers select the next activities — that is, if the performer
category is 4 or 8 and the transition option is Let performer select the next activity — you
also must advise the server about how to combine the performers’ selections. When a
group selects activities, it is possible that some performers might select forward activities
while others select reject activities. Which activities should the workflow engine start
in this case? All of the selected activities, just the reject activities, or just the forward
activities? You can also decide to complete the activity immediately whenever any
performer selects a reject activity or a forward activity.
If you choose a conditional transition type, you must define at least one transition
condition for that activity.
Transition conditions enable you to define activities that route tasks differently
depending on the results of the activity. A transition condition is a logical condition
and one or more associated flows. When an activity is complete at runtime, the server
evaluates the activity’s transition conditions to determine which following activities to
start as the next step in the workflow. It moves the workflow forward to the activities
associated with the first transition condition that is TRUE. An activity can have multiple
transition conditions, although the server always selects just one at runtime, which is
the first TRUE one.
Transition conditions must be Boolean expressions. Transition conditions are typically
used to check attributes of the package’s components, the containing workflow, or the
last completed work item. When the workflow package is an XML document, you can
create transition conditions that check the value of an XML element in the document.
When you use transition conditions, you always include an Else option. The Else option is
the action that the server takes if none of the transition conditions apply. The Else option
does not have a condition associated with it. An activity can only have one Else case.
For information about defining transition conditions for an activity, see Setting activity
transition rules, page 133.
This chapter covers information about using the design environment of Process Builder and includes
the following topics:
• Process Builder design environment, page 43
• Process Builder toolbar, page 44
• Activity Templates window, page 50
• Structured Data Types window, page 51
• Process template editor pane, page 56
• Navigator, page 61
In the Resource Navigator, you can click the title bar buttons that display the name of
each sub-window to minimize and maximize each of the windows.
A configurable toolbar appears across the top of the window, providing quick access
to common commands.
If the workflow is too large to display on the screen, you can use the Navigator to view
the complete process template and specify which portion appears.
The following figure shows the Process Builder design environment.
• Workflow toolbar icons enable you to create activities or flows and to display the
properties of workflow objects
• Display toolbar icons enable you to zoom in and out on the process template editor
pane
By default, the toolbar displays all three collections of icons.
Use Get process from Analyst to open a process in Process Builder that was created or
modified using Process Analyzer. Use Share process with Analyst to make a Process
Builder process available to an analyst using Process Analyzer.
Automatic and manual activity types are preserved during the sharing process, although
definitions such as methods and timers must be added by the developer in Process
Builder. Packages are not included in the shared processes.
Additionally, if you share a process from Process Analyzer that has multiple end
activities, Process Builder adds an extra empty activity to which all the end activities
connect. Process Builder supports only a single end activity, whereas processes exported
from Process Analyzer may contain multiple end activities.
When processes are shared between Process Builder and Process Analyzer, the location
of the folders in which the processes are saved can be configured from either application.
Note: The process sharing folder locations are saved locally as preferences for the
Process Builder instance.
Sharing process templates with Process Analyzer, page 45 provides more information on
setting sharing folder locations.
3. Click Update.
State Icon
Draft
Validated
Installed
To delete a category:
1. In the Structured Data Types window, highlight the category you want to delete.
2. Right-click within the Structured Data Type window and select Delete Category.
Note: If there are structured data types that exist within the category, the system will
not delete the category.
5. You can create a group of attributes by selecting the Add Group icon .
Note: You can create a group at any point in the process of creating structured data
types.
6. Type the name of the group.
Note: The group Name field only supports single-byte characters.
7. Click the add icon to add an attribute to the structured data type.
You can remove an attribute by clicking the remove icon.
8. Type a Name for the attribute.
Note: Names must be less than 70 characters and must use single-byte characters.
9. Type a Display Name for the attribute.
The text in the Display Name field appears in the tree view in the Structured Data
Types window.
Note: Display names must be less than 70 characters. The Display Name field does
support double-byte characters.
10. Type an optional description for the attribute.
11. Select a data type for the attribute.
Valid values are: string, integer, float, date, or Boolean.
12. Depending on the data type you have defined, type a default value, if necessary.
Note: Process variables that will be used in correlation sets should not have default
values. Process variables that have default values do not possess the unique attribute
A set of black boxes appears around the selected objects. Clicking the object a second
time clears it and removes the black boxes.
3. To select additional objects, hold down the Shift key as you click each of the objects.
Note: If you do not hold down the Shift key, selecting one object automatically
clears any previously selected objects.
4. To select all objects in the template, select Select All from the Edit menu.
Aligning activities
The Alignment options enable you to position workflow activities precisely. You can
align activities vertically or horizontally by their left or right edges, top or bottom edges,
or by their center points.
To align activities:
1. Select the activities to align.
You must have two or more activities selected to enable the Alignment options. See
Process template editor pane, page 56 for information about how to select activities.
2. Select Alignment from the View menu, then select the correct alignment from the
submenu.
The available alignment options are:
• Left — Align the left edges of the selected objects.
• Vertical — Align the centers of the selected objects vertically.
• Right — Align the right edges of the selected objects.
• Top — Align the top edges of the selected objects.
• Horizontal — Align the centers of the selected objects horizontally.
• Bottom — Align the top edges of the selected objects.
If you choose to align the top edges of your activities, the highest or topmost activity
determines the placement of the other activities. That is, the selected activities will
move up to be in alignment with the topmost activity. Similarly, if you choose to align
the bottom edges of your activities, the lowest or bottommost activity determines the
placement of the other activities. This is also true for left and right alignment.
Replacing an activity
You can replace an activity in a process template with another activity template by
dragging the new activity template from the activity templates folder and dropping it
onto the existing activity.
For example, after a process developer imports a Process Analyzer process into Process
Builder, the process developer may need to replace the imported generic activities with
some existing activity templates. The developer simply drags a new activity to the correct
location in the process and drops it into place, which deletes the former activity and
replaces it with the new activity. Replacing an activity in this manner preserves the links
between the activities but does not preserve configuration information such as timers,
transitions, mapping rules, and so on. Use Activity Inspector to reconfigure the activity.
Snap to grid
The snap to grid option provides added precision for aligning workflow activities and
flows.
Select Snap To Grid from the View menu.
When the snap to grid option is turned on, a grid appears in the background of the
process template editor. When you move activities or flows in the editor, they will
automatically align themselves with the grid, making it easier to align objects with
each other. Turning on snap to grid does not affect the layout of existing objects in
the template.
When the snap to grid option is turned off, the grid does not appear and objects are
placed exactly where you drop them. Turn the option off when you want to have fine
control over the position of the objects.
Zooming in or out
If the Display toolbar buttons are active, the current level of zooming appears in a box
between the Zoom In icon and the Zoom Out icon . Each time you click the Zoom
In or Zoom Out icon, Process Builder zooms in or out by one magnification level.
• 150%
• 100% (Normal viewing - default)
• 75%
• 50%
• Last — Toggles between the current zoom option and your previous zoom
setting.
• Width — Sizes the process template so that its full width fits within the visual
dimensions of the process template editor pane.
• Fit — Magnifies or shrinks the appearance of your process template so that it fits
within the visible dimensions of the process template editor pane.
Adding notes
You can add text to the visual layout of the process template through the use of notes.
Notes have no effect on the how the business process actually runs, but can help to
clarify the process for people looking at the template. You can place a note anywhere in
the template layout. By default, the note appears with a yellow rectangle surrounding
the text, but you have a variety of display options. The following example shows notes
in a variety of formats.
Process Builder gives you the option to suppress the display of any notes. From the
Tools menu, select Notes then Show and toggle the option on or off.
9. Click Apply to save your updates without closing the Note Inspector, or click OK to
save your updates and close the Note Inspector.
The note appears in the process layout.
10. Resize the note box if necessary.
To resize the note, select the note object and drag one of the black handles that
appears along its edges.
Navigator
When you are defining a process template, the graphical representation can easily grow
beyond a size that can be completely displayed on the screen. The process template
editor automatically scrolls as you add objects and create a larger layout.
The Navigator enables you to control which portion of a large template appears on
the screen.
1. Select Navigator from the View menu, or click the Navigator icon in the toolbar .
The Navigator window appears in the right pane of the Process Builder window. It
displays a reduced representation of the current process template with a gray box
around the section displayed on the screen.
2. To change which area of the process template appears on screen, drag the gray box
in the Navigator window so that it is over the area you want to appear in the editor.
The editor pane scrolls to the selected location when you release the mouse button.
This chapter explains how to create templates, validate them, and install them. The topics are:
• Opening existing process templates, page 64
• Creating process templates, page 64
• Setting process template properties, page 66
• Managing packages, page 69
• Saving process templates, page 79
• Validating process templates, page 81
• Installing process templates, page 82
• Checking in, checking out, and versioning process templates, page 84
• Deleting process templates, page 87
• Modifying process templates, page 83
• Importing process templates, page 87
• Keeping shared processes in sync, page 88
• Exporting process templates, page 89
• Printing process templates, page 90
A template in the draft state has not been validated since it was created or last modified.
A template in the validated state has passed the server’s validation checks, which ensure
that the template is correctly defined. A template in the installed state is ready for use in
an active workflow.
For details about designing business processes, see Planning workflow processes,
page 22.
2. From the File menu, select New > Process.
The blank template will open in its new tab with the default initiate and end tasks.
Note: To create a template based on an existing template, open the existing
template and save it with a new name.
3. Set the template properties.
See Setting process template properties, page 66 for details.
4. Identify the process data that is associated with or created as part of the business
process.
See Managing packages, page 69 for details.
5. Add activities to the process template until you have one activity for each task in
your workflow.
• Click the manual activity icon or the automatic activity icon from the
toolbar, then click in the process template editor pane where you want the
activity to appear.
• Drag and drop an activity template from the Activity Templates window on
to the process template editor pane.
If the Activity Templates window does not include a template representing the
type of activity you need, you can create a blank activity by clicking the manual or
automatic activity buttons in the toolbar, or you can create a new template. Chapter
7, Working with Activities provides more specifics on creating a new activity.
6. Connect each activity to the activity that precedes it in the logical flow.
The first activity in the workflow must be connected to an initiate activity (it can
be any type of initiate activity), and the last activity must be connected to the end
activity.
To connect two activities, select one of the flow icons, move the cursor over the first
activity until you see its selection box, then drag the mouse to the second activity.
Release the mouse button when you see the selection box for the second activity.
Process Builder draws a line between the activities.
You connect activities by using one of four Create Flow icons in the Process Builder
toolbar:
• To connect activities in a forward movement of data, click either the Create
Single Segment Flow icon or the Create Multi-Segment Flow icon . The
difference between the two is visual: one draws a straight line to represent the
flow between activities, the other draws a line consisting of multiple segments.
• To connect activities in a backward movement of data, click the Create Reject
Flow icon . Reject flows represent the path taken when the user of an activity
rejects the object being processed.
3. To change the owner of the process template, click the Change button that appears
next to the owner name and select a user from the dialog box that appears.
You are the default owner of any templates you create. You can only change the
owner if you are a superuser. If you are not a superuser, the Change button is not
available.
4. Enter a description of the process template in the Description text box.
5. To change the default alias set for this process template, click the Change button
that appears next to the current alias set.
For more information about alias sets and how they are used in workflow, see
Using aliases, page 27.
• To choose an existing alias set, check Choose from existing alias sets, select the
name of the alias set from the drop-down list, and click OK.
• To create a new alias set, check Create new alias set, type the name and
description of the new alias set, and click OK.
• To remove the currently assigned default alias set, check Remove alias set.
6. Enter instructions for the performer in the Workflow instructions box.
For example, you can give performers of all activities specific instructions about
their tasks.
7. Turn on or off the template Audit Trail Settings by clicking the appropriate option.
When auditing is on, audit trail information is saved for each workflow created from
this template. For more information about auditing in Documentum software, see
the Documentum Content Server API Reference Manual.
Note: Auditing must be turned on to enable the system to publish reporting data to
the BAM database.
8. Specify whether to make the names of routed documents available for display
to users.
By default, the package routed through a workflow does not include the names of
the documents in the package for security reasons. If you want to store the document
names as part of the package, so that the names can be used in the instructions
passed to workflow participants, select the Store document name to the package at
runtime checkbox.
9. To send an email message when a timer expires or another event occurs, click Add in
the Select template for event notification group box.
You can also delete a template and event from the group box by selecting the row
and clicking Remove.
10. Select the Event that will trigger the notification from the drop-down list.
11. Select the Email Template that will be used by server to send notifications for the
event.
a. Click the Add button to add a row to the event notification box.
b. Click in the Event column of the new row and select a workflow event from the
drop-down list that appears. The available events are:
• dm_changedactivityinstancestate — An automatic activity changes state
because the error handling flag is set to zero and the work item returned a
non-zero value.
• dm_startedworkitem — A work item is generated as part of the workflow.
• dm_delegatedworkitem — A user delegates a work item.
• Pre Timer Expires — An activity has not started within a designated number
of hours after the workflow starts.
• Post Timer Expires — An activity has not completed within a designated
number of hours after the activity starts.
c. Click in the Email Template column of the row and select the email template to
use for the event you selected at step b. An email template is a document in the
Documentum repository that defines the structure of the notification message.
See the Documentum Process Builder Development Guide for information about the
structure of a document that serves as an email template.
13. Do one of the following:
• Click OK to close the dialog box.
• Click the Data tab to add process data to the template.
Managing packages
In many workflows, the same package passes through all activities. For example, a
workflow for reviewing and approving purchase orders passes the same purchase order
document as a package to all the necessary activities. In other cases, the work performed
by some activities may result in the creation of a new document. For example, suppose
an activity accepts a personnel action notice. The performer (an HR employee) must
file the notice, then send a different form to the accounting department. The list of
packages in the Process Properties dialog box must include all packages involved in the
workflow, including packages created or discarded in the course of the process. When
you configure the activities, specify which packages each activity deals with. Changing
process data in an activity, page 141 provides more details on this subject.
3. To add a package to the business process, select the Packages node in the tree view
window and click the + button above the window.
The new package appears under the Packages node in the tree and in the Package
Definition list box along with the controls for defining the package.
4. Type the name of the package in the Name text box.
Choose a name that will enable you to identify the package when you configure the
activities in the business process.
Note: Package names are restricted to 16 characters.
5. From the Version drop-down list, select or type the default version of the content
you want to use.
Note: Process Builder can be configured to not display the Version list. Appendix C,
Process Builder Configuration File provides more details on this subject. When the
list does not appear, the workflow always uses the CURRENT version.
The specified version appears as the default version used for each activity that
handles the package. You can override the version when you configure the activity.
To specify the version, you can select or type:
• <Any>, which means that any version of the package can be used.
• A specific version number, for example, 2.5 or 3.0. If you type a specific version
number, the package will always contain that version of the document.
• A symbolic version label, for example, Draft. The symbolic version label is
case-sensitive, so be sure the version you type matches the version of the object
in the repository.
• CURRENT, which is the default selection. If you select CURRENT, the package
will always contain the version labeled CURRENT, which is typically the most
current version of the object in the repository.
6. Choose the object type of the object included in the package by selecting it from
the Type drop-down list.
Note: Process Builder can be configured to not display the Type list. Appendix C,
Process Builder Configuration File provides more details on this subject. If the Type
list does not appear, or if you want Process Builder to select the object type based on
the form template you select you may skip this step.
Most commonly, the object type of a package is document or a custom document
type you have created. Refer to Documentum Content Server Reference for a description
of object types.
7. To associate a form template with the package, select the template from the Form
drop-down list.
A form template defines a custom user interface for users who handle this package
during the workflow. See Associating form templates with packages, page 37 for
more information about using forms and form templates. To appear in the list, the
form must be in an installed state. The form template you specify here appears as the
default template used for each activity that handles the package. You can override
the form template when you configure the activity.
Note: If you select a form template before setting the object type of the package,
Process Builder displays all available form templates in the drop-down list and sets
the package object type based on the selected form template.
a. Select an existing form from the Form drop-down list. The list shows only those
form templates whose data model matches the object type you selected at step
5. If the intended form template does not appear, make sure you selected the
correct object type at step 5.
b. To create a new form template or edit the selected form template, click the button
with the Forms Builder icon to launch Forms Builder.
The Documentum Forms Builder User Guide provides more information on creating
custom forms for your workflow.
8. To use the selected form to display the properties of the package, select the Use Form
for Properties checkbox.
When the Use Form for Properties checkbox is not selected, the form from step 7
appears when the performer of an activity selects the package from his or her inbox.
The form is used to save the content of the package. When the checkbox is selected,
the form appears when the performer views the package properties. The form is
used to set the package’s properties in the repository, not the content of the package.
Note: The Use Form for Properties option is available only for form templates whose
storage mapping option is set to Store in Repository attributes. See the Documentum
Forms Builder User Guide for information about this storage mapping option.
9. To prevent Process Builder from making this package visible to all activities by
default, clear the Visible across entire process checkbox.
By default, Process Builder makes the package visible to every activity in the
business process, on the assumption that the package will flow through the entire
process. When you clear this option, the package will be visible only in activities
to which you explicitly add it.
Note: If you select an existing package that has been set to be visible in some
activities and not visible in others, the checkbox is unavailable. To reset all activities
to the same value, click the Change activity-level settings link, then click Yes in the
dialog box that appears.
10. To require that the package have an associated document or other content, select the
This is a mandatory package checkbox.
Note: If you select an existing package that has been set to be mandatory in some
activities and optional in others, the checkbox is unavailable. To reset all activities to
the same value, click the Change activity-level settings link, then click Yes in the
dialog box that appears.
11. To enable Process Builder to publish reporting data to the BAM database for the
package, select This package can be used to generate reports.
12. Click Apply to add the package to the list box.
13. To add another package to the flow, repeat steps 3 through 11.
14. Click OK to save your updates and close the dialog box.
15. Configure each activity to specify which packages it handles, starting with the
initiate activity and moving forward through the business process.
See Changing process data in an activity, page 141.
Note: If you change the name of a variable that is already defined in the repository,
this change is only to the variable within the process. It is not made to the structured
data type name in the repository. It retains its original name.
5. Select a data type in the Type field.
Valid values are string, integer, float, date, or Boolean.
You can also select a structured data type from the Structured Data Types by
selecting More Values and navigating through the tree of structured data types
in the Choose Type dialog box.
6. Depending on the data type you defined, type a default Value, if necessary.
7. To associate this variable with an ACL, click Browse and select an ACL from the list.
Note: An ACL assigned to an individual process variable overrides the process-level
ACL, if one is assigned to the process on the Advanced tab.
Setting Access Control List (ACL) options, page 75 provides more information on
Access Control Lists.
8. Click Apply to save the definition of the new variable.
9. To add another variable to the flow, repeat steps 3 through 11.
10. Click OK to save your updates and close the dialog box.
11. Configure each activity to specify which variables it handles, starting with the
initiate activity and moving forward through the business process.
Changing process data in an activity, page 141 provides more information on
configuring process data within an activity.
To select ACLs:
1. If the Process Properties dialog box is not already open, select Process Properties
from the Tools menu, or click the Template Properties icon on the toolbar .
2. Click the Advanced tab.
3. To accept the default BPM Process Variable ACL, click Default.
4. To change the ACL for all process variables, click Browse.
The ACL Chooser dialog box appears.
a. Select an ACL that is owned either by the System or by a User.
The list of ACLs will change based upon your selection. System ACLs are
available for use by any user in the repository and are managed by the repository
owner. Other ACLs can be managed by their owners or a user with sysadmin or
superuser privileges.
b. Highlight the ACL to use for all process variables.
As a default, the server defines the ACL for the variable. The associated
permissions and description of the ACL appear in the dialog box.
c. Click OK.
Note: An ACL assigned to an individual process variable on the Data tab of the
Process Template overrides the process-level ACL.
5. To enable the server to choose the correct ACL for the process, click Default.
6. To change the default ACL for the process, click Browse and select an ACL.
a. Select an ACL that is owned by the System or by a User.
The list of ACLs will change based upon your selection. System ACLs are
available for use by any user in the repository and are managed by the repository
owner. Other ACLs can be managed by their owners or a user with sysadmin or
superuser privileges.
b. Highlight the ACL to use for the process.
The associated permissions and description of the ACL appear in the dialog box.
c. Click OK.
2. Click the Refresh button to retrieve all available forms from the repository.
This action queries the repository for all saved administration forms.
3. To create a new Process Parameter form, follow these steps:
a. Click the button to launch Forms Builder.
b. Use Forms Builder to create a form for the activity.
See Documentum Forms Builder User Guide for information on creating forms.
The Documentum TaskSpace Configuration Guide provides more information on
administering processes in TaskSpace.
Process Builder can be configured to enforce unique names or specific folder locations
for process templates. Appendix C, Process Builder Configuration File provides more
details on this subject. By default, however, process templates can be saved to any
location in the repository, and their names need to be unique only within their folder.
To make changes to a process template and save the changes without versioning, you
must uninstall the template. To uninstall a template requires Relate permission on the
template or sysadmin or superuser privileges. To save your changes requires Write
permission.
To create a new version of a process template, you must check out the template before
you begin modifying it. You must have at least Version permission on the template.
You can create a new version of a template without uninstalling the current version.
Versioning a process template has no impact on the running workflows based on the
previous version of the template.
When you save or check in your changes, the server sets the new version to the draft
state. The new version must be validated and installed before you can start a workflow
based on it.
See also Saving process templates, page 79.
State Icon
Checked out by you
(locked)
Checked in (unlocked)
A template always receives version number 1.0 when it is first created. When you check a
template in after having modified it, you can decide whether to check the file in as a new
version or the same version. When checking a template into the repository, the system
prompts you to select whether to increase the version number by a whole number or
by a decimal point (by a tenth). Increasing the version number by a whole number is
considered a major revision. Increasing by a decimal point is a minor revision. The
system marks the most recently checked-in file as CURRENT. If you decide to check the
file back in without increasing the version number, the template keeps the same version
number as the original template and the system overwrites the original template with the
changes that you have just made and labels it as CURRENT. When checking a template
out, you can choose to view only the current version or all versions.
Checking processes in and out of the repository using Process Builder is very similar to
checking documents in and out in other Documentum applications. One very important
difference is that a process template can be installed and in use when you check it out.
To modify an existing template and save it as the same version (CURRENT), you must
first uninstall the template (which stops all instances of the template in the runtime
environment). This prevents you from making changes to a template when it is in use in
the runtime environment. After uninstalling the process, you are free to make changes to
it, check it in as the same version, and then validate and install the template.
Note: During the time that the template is uninstalled, the system stops all running
instances of the workflow and prevents any new instances from starting. Once the
template is installed again, you can either cancel or resume the halted instances,
depending on the complexity of changes made to the template. Modifications to existing
templates should be limited to minor changes of activity properties that are not currently
used by the instance or changes related to future activities of the instance.
To delete a running workflow, you must abort the workflow and choose the option to
destroy the runtime objects in Webtop.
If you check out an installed template without first uninstalling it, any running instances
of the process continue to run using the existing version of the template (labeled
CURRENT). The version of the template that you are editing is opened as a draft and
you are only allowed to save and check in the template as a new minor or major version.
After it has been checked in, validated, and installed the new version of the template can
be used in the runtime environment. All process instances created using the previous
version will continue to run until they have completed. Documentum Administrator User
Guide gives more specific information on using versions.
Canceling a check-out unlocks the process template and discards all changes that have
been made to the process template during the time it was checked out. The repository
retains the last version of the template as the current version.
• Select Show Current Version to show only those versions of the template that
are labeled as CURRENT.
3. In the Select a Process Template box, navigate to and select a template.
If the template is checked out by another user, a lock icon appears next to the
template name. You can only View a read-only version of the template until it is
checked in by the lock owner.
4. To check out the template as it opens, select Check out process on Open.
Note: If the template is installed, the system displays a message giving you the
option to uninstall the template first or continue with the check-out without
uninstalling the template. An installed template only opens as a draft template and
can be saved only as a new major or minor version. To make changes to an existing
version of a template, you must uninstall it before checking it out.
5. Click Open to open a locked version of the template in the editor pane.
The status of the template in the Process Builder title bar changes to Checked-out.
1. Click the icon or select File > Cancel Check out to display the Cancel Check
out dialog box.
The system displays a message warning that all changes to the template will be lost.
Note: Superusers can cancel the check out of templates that are locked by other users.
Process Builder creates a new draft process template based on the Process Analyzer
process.
If activity location information is available, it is applied to the imported process
template. Otherwise, the system will use default layout and graphical display
settings. Since user interface information such as graphics or images is not exported
with the process, you must recreate them in Process Builder.
Next, you must define execution information for the process using the Activity
Inspector.
See Chapter 7, Working with Activities for more information on defining execution
details for activities.
4. Select the option to save the new process as the Same Version, a Minor Version, or
a Major Version.
The new process becomes the current version of the process and the system retains
the older versions for historical purposes. All process instances created using the
previous version will continue to run using the previous version’s process template.
Additionally, once a process is checked in as a major or minor version, Process
Builder will not allow saving an older version of the process if a newer version
exists in the repository. For example, the system will prevent saving an imported
of version 1.0 of a process if version 1.1 already exists in the repository. The older
version can be renamed and saved as a different process.
A business process can only be saved as the same version if that version of the
process has not yet been installed. If an existing version of the business process
has been installed, the system will not allow you to save it as the same version.
You must save it as a changed version.
5. Click OK.
If you have sufficient permissions on the selected folder, Process Builder saves the
template and its activities. If installation and validation prompts are set to display, a
dialog box appears asking whether you want to validate the template.
See Validating process templates, page 81 for more information on validating the
template.
6. Choose whether to install the process template.
See Installing process templates, page 82 for more information about installing
templates.
3. Click Save.
• Fit to — The size of the process template will be adjusted so that it fits on a
specified number of pages across and down. If you select this option, you must
type a number in each of the two adjacent text boxes.
3. Click OK to save the Printout Size option and exit from this dialog box, or click
Print to print the current template with these settings.
The flow lines that connect the activities in a workflow represent the flow of the document or
object that the workflow routes. Flows enable the movement of packages, their properties, and
dependencies between the connected activities. See Process templates and associated workflow
objects, page 16 for a description of flows.
Once you have added a flow to the template, you configure it using the Flow Inspector. You access
the Flow Inspector by double-clicking on a flow in the process template editor pane, or by selecting
one or more flows and choosing Flow Inspector from the Tools menu.
The Flow Inspector enables you to control how the flow appears in the visual display of the process
template. Changing flow display settings, page 94 provides more information on this subject.
The name of the flow you are configuring appears in the text box at the top of the Flow Inspector. If
more than one flow is selected, arrow buttons appear on either side of the text box, enabling you to
scroll through the selected flows. The settings you make apply to the flow whose name appears in the
box, unless you select the Apply to all selected option.
When multiple flows are selected, each tab in the Flow Inspector displays one or more checkboxes
labeled Apply to all selected. When this checkbox is selected, Process Builder applies the associated
settings — that is, those settings that appear to the right of the checkbox — to all selected flows, not
just the one whose name appears in the text box at the top. Any settings for which the checkbox
is not selected apply only to the current flow.
Creating ows
You connect activities using one of four Create Flow icons in the Process Builder toolbar:
• To connect activities in a forward movement of data, click either the Create Single
Segment Flow icon or the Create Multi-Segment Flow icon . The difference
between the two is visual: one draws a straight line to represent the flow between
activities, the other draws a line consisting of multiple segments.
• To connect activities in a backward movement of data, click the Create Reject Flow
icon . Reject flows represent the path taken when the user of an activity rejects the
object being processed.
• To connect an automatic activity to a fault handler activity, click the Assign Fault
Handlers icon . Fault handlers enable you to assign a secondary error handling
activity to an automatic activity in the event that the automatic activity fails. A fault
handler activity has a dashed line representing the flow between the automatic
activity and its related fault handler.
Fault handler activities, page 19 provides more details on this topic.
See Process templates and associated workflow objects, page 16 for a description of
the types of flows.
a. Select the Show Label checkbox to display a label for the flow, or clear it to
display the flow without a label. The two radio buttons below the checkbox are
unavailable when the checkbox is not selected.
b. Select Show visible packages at destination activity to label the flow with the
names of the packages that the following activity handles. or select Custom
label and type the label text in the adjacent text box.
5. Click Apply to save your updates without closing the Flow Inspector, or click OK to
save your updates and close the Flow Inspector.
Sub-processes improve your ability to communicate the business meaning of a process template. A
large or complicated process can become difficult to organize visually when there are many activities
required to complete an entire workflow. To simplify the layout of a process, you may want to group
related activities into sub-processes that collectively represent a business process.
In Process Builder, sub-processes can be expanded to view the individual activities or collapsed to
create a more simplified overview of a process. The process contains activities that are related in some
way and are grouped into a container for ease of administration. This can be particularly useful when
grouping a set of activities that collectively represent a business function or a logical step in a process.
Activities that share the same process data can also be grouped into a sub-process.
There are no restrictions on the number of input or output flows that are related to a sub-process.
Flows do not connect to the sub-process container, but to the individual activities within the container.
Sub-processes are included in BAM reporting data. Entry and exit data are sent to the BAM reporting
database when the audit trail has been enabled for the process. Activity templates contained in the
sub-process also publish reporting data when they have been selected for reporting.
The following sections describe how to create sub-processes within a process template:
• Creating a sub-process using top-down modeling, page 97
• Creating a sub-process using bottom-up modeling, page 98
• Setting sub-process properties, page 99
• Managing sub-processes, page 100
when you plan to design the initial high-level concepts of the process first and want to
fill in the details at a later stage in development.
You can select multiple activities by using the mouse to drag a rectangle around the
activities you want to include in the sub-process or by holding down the Shift key
and clicking the activities individually.
The selected activities are surrounded with a green dashed line.
2. Select Tools > Sub-Process > Add to Sub-Process.
The selected activities appear in a colored rectangle that is labeled Sub-Process
3. Right-click the sub-process and select Sub-Process Inspector to set the properties
that are shared for all activities within the sub-process.
Setting sub-process properties, page 99 provides detailed instructions for setting
these properties.
4. You can click the new sub-process and drag it to the intended position in the window.
Managing sub-processes
This section describes the following functions available to manage sub-processes:
• Expanding and collapsing a sub-process, page 100
• Removing activities from a sub-process, page 101
• Adding notes to a sub-process, page 101
• Deleting a sub-process and its contents, page 101
To collapse an individual sub-process, click the minus sign and the sub-process
minimizes, hiding its contents. To collapse all sub-processes in the template, select Tools
> Sub-Process > Collapse all
When a sub-process is collapsed, the activities that are contained within it are hidden
from view. You can drag a collapsed sub-process to different locations in the Process
Template Editor and the flow lines automatically adjust their length to the new position.
You cannot drag an activity into a collapsed sub-process.
An activity template represents a particular type of task that you can add to a business process. The
template identifies any underlying workflow method required to complete the task and determines
what configuration attributes must be set in order to accomplish the task. The template may also
set default values for some common attributes.
To add an activity to a business process template, you select the appropriate installed activity template
from one of the folders in the Activity Template window and drag it into the Process Template
Editor window. Process Builder includes templates for common integration activity types as well as
a sample activity template. See Appendix A, Delivered Activity Templates for a list of the activity
templates provided with Process Builder. The Documentum Process Builder Development Guide gives
more information on how to create custom activity templates.
There are three possible states for activity templates: draft, validated, and installed. An activity
template in the draft state has not been validated since it was created or last modified. A template
in the validated state has passed the server’s validation checks, which ensure that the template
is correctly defined. A template in the installed state is ready to be used to create an activity in
the process flow. The current state of an activity template is indicated on the template icon in the
Activity Template window.
This chapter explains how to create activity templates, configure them, validate and install them.
The topics are:
• Creating activity templates, page 104
• Managing activity templates within folders, page 105
• Configuring activity templates, page 105
• Validating and installing activity templates, page 107
input and output flows, or transition options. These configuration attributes relate to
how an individual activity fits into a specific process flow, and so are not relevant for
activity templates.
The Activity Template Inspector also includes an additional tab, labeled Definition,
which defines custom attributes for activities created with the template. The attributes
are defined using XML. The XML defines the names, data types, and display
characteristics of the custom attributes, as well as assistance for users who enter values
for the attributes. When an activity is created from the template, the Activity Inspector
includes one or more extra tabs for the user to use when entering values for the custom
attributes. The names of the extra tabs are specified in the XML file.
In addition to defining extra tabs, the activity template definition file can suppress the
display of one or more of the standard Activity Inspector tabs. When an activity is
created from the template, the Activity Inspector does not display any of the suppressed
tabs, thereby preventing the user from changing any of the values on that tab. The values
set in the Activity Template Inspector remain unchanged.
The structure of an activity template XML file is defined by the schema file
activity.xsd, which is located on the local file system in the directory Program
Files\Documentum\bpm\classes. See the Documentum Process Builder Development Guide
for further details about the file structure. For a sample activity template XML file, see
the Sample Activity Template installed in the Sample activity template folder.
The <tab> element must be a sub-element of the <tabs> element, which also specifies
the custom tabs to display in the Activity Inspector. For each tab you want to
suppress, enter an element in this format:
<tab id="TAB_NAME" showInActInspector="false" />
The valid values for TAB_NAME are PROPERTIES, PERFORMER, TRIGGER,
NOTIFICATION, TRANSITION, PACKAGE, and DISPLAY. See Chapter 7, Working
with Activities for information about the options on each of these tabs. The
showInActInspector parameter is ignored for custom tabs.
6. Click OK to close the Activity Template Inspector.
Activities are the tasks that comprise the workflow. Most of the configuration of the workflow relates
to configuring its activities. For information about planning the configuration of workflow activities,
see Planning workflow processes, page 22.
You configure activities using the Activity Inspector. You access the Activity Inspector by
double-clicking on an activity in the process template editor pane, or by selecting one or more
activities and choosing Activity Inspector from the Tools menu.
The Activity Inspector has several tabs, each corresponding to one aspect of activity configuration:
• The Properties tab sets the priority for automatic activities, lets you provide instructions for
manual performers, and enables you to provide a form for the activity. Setting activity properties,
page 110 provides more details.
• The Performer tab enables you to select who performs the activity and what actions the performers
have available to them. Selecting performers, page 112 provides more details on this subject.
• The Trigger tab settings determine when the activity starts. Setting activity triggers, page
126 provides more details on this subject.
• The Timers tab sets timers to take action if work bogs down. Setting warning timers, page
127 provides more details on this subject.
• The Transition tab settings determine which activities come next in the workflow. Setting activity
transition rules, page 133 provides more details on this subject.
• The Notification tab specifies whether to notify the workflow supervisor when certain system
events occur. Setting notifications, page 137 provides more details on this subject.
• The Data tab controls the process data the activity handles including packages and process
variables. Changing process data in an activity, page 141 provides more details on this subject.
• The Display tab controls how the activity appears in the visual display of the process template.
Changing display settings, page 143 provides more details on this subject.
• Many activities include one or more additional tabs containing properties specific to that type of
activity. The name of the tab and the properties contained on it are set in the activity template.
Configuring activity templates, page 105 provides more specifics on configuring custom activity
templates.
When typing values into the fields on a custom tab, you can include variables that are replaced at
runtime with values from the current environment, such as the name of the dm_workflow object.
To include a variable, type the XML element <dmp:param>supported_parameter</dmp:param>,
where supported_parameter is one of the variables Process Builder supports for variable
substitution. See Appendix B, Substitution Variables for Custom Activity Template Properties for
a list of the supported variables.
Note: Depending on the nature of the activity, some of the tabs may not appear in the Activity
Inspector. For example, an activity created from the Decision Split activity template displays only
the Timers, Display, and Definition tabs. The settings on these tabs are the only ones relevant for
Decision Split activities. The set of displayed tabs is defined by the activity template. Configuring
activity templates, page 105 provides more details on this subject.
The name of the activity you are configuring appears in the text box at the top of the Activity
Inspector. Each activity must have a unique name within the template. To change the activity name,
type the new name in the text box, replacing the previous name. If more than one activity is selected,
arrow buttons appear on either side of the text box, enabling you to scroll through the selected
activities. The settings you make apply to the activity whose name appears in the box, unless you
select the Apply to all selected option.
When multiple activities are selected, each tab in the Activity Inspector displays one or more
checkboxes labeled Apply to all selected. When this checkbox is selected, Process Builder applies the
associated settings — that is, those settings that appear to the right of the checkbox — to all selected
activities, not just the one whose name appears in the text box at the top. For example, you can select
multiple activities and choose the same performer for all of them at once. Any settings for which the
checkbox is not selected apply only to the current activity.
c. From the Parameter type tree, select the attribute you want to include in the
task instructions.
d. Click OK to close the dialog box.
6. From the Form drop-down list, select the form template (if any) to use for displaying
this task to the activity performer.
Note: Only Forms that are associated with the process appear in the list.
If the activity includes process parameters, you can create a Process Administration
form to enable administration of the parameters. From within the form,
administrators can change the value of the process parameters.
To create a new form for the activity, follow these steps:
a. Click the button to launch Forms Builder.
b. Use Forms Builder to create a form for the activity.
See Documentum Forms Builder User Guide for information on creating forms.
c. Click the Refresh button to retrieve all available forms from the repository.
7. Click Apply to save your updates without closing the Activity Inspector, or click OK
to save your updates and close the Activity Inspector.
Selecting performers
When defining an activity, you need to specify who performs the activity. Activities can
be performed manually by an individual, group, work queue, or alias that you identify,
or automatically by a workflow method. For manual tasks, you can select specific
performers or allow the workflow participants to choose performers. For automatic tasks
you must specify a user whose permissions the automatic task takes on.
• To choose the user whose permissions are used for an automatic activity, see
Choosing automatic performers, page 125.
4. If you selected one or more manual performers, choose what actions the performer
can or must perform.
• To enable the performer to pass the task to another user or group, select Delegate
the activity’s work to someone else. When you select this option, you must also
specify where the task is sent if the user to whom the performer delegates it
is also unavailable. The task can be forwarded to the workflow supervisor or
returned to the original performer if auto-delegation fails.
• To enable the performer to choose another user or group to also perform this
task, select Have someone else repeat the activity’s work.
• To require that the performer sign off when the activity is complete, select
Performer’s sign-off required when finished.
For details about the delegation and extension options, see Enabling delegation
and extension, page 28.
5. If you selected an automatic activity, set the execution parameters.
a. Choose the action to automatically perform from the Execute this method
automatically drop-down list. The actions in the drop-down list are workflow
methods.
Note: To make a custom method available here, the attribute a_special_app
must be set. a_special_app is a dm_sysobject attribute reserved for use by
Documentum products. This attribute must have the value Workflow. See the
Documentum Process Builder Development Guide for details about developing
custom workflow methods.
b. To save an execution log when the automatic method runs, select Yes for Save
Execution Results.
c. Specify how long the process engine tries to run this method before quitting.
Enter a number of seconds in the Method times out in box.
6. Configure options for the system to use in the event that the method fails.
a. If you want the system to retry the method when it fails, select Retry and type
a Retry Interval to specify a time interval between retries. Use the Maximum
tries field to enter maximum number of times the system should retry before
performing one of the actions you specify in step 6c.
b. If you have assigned a fault handler to this activity, the system displays the name
of the fault handler activity in the Proceed to the fault handler field. The fault
handler runs each time the method fails.
Fault handler activities, page 19 provides more details on this topic.
c. Decide whether the workflow will stop or continue if the workflow method
encounters problems.
Selecting Stop Execution causes the task to be placed in a paused state and
be reassigned to the workflow supervisor.
Selecting Continue Execution causes the task to be placed in an acquired
state and forces the completion of the task.
Terminate Execution stops the workflow without the option of restarting it.
7. Click Apply to save your updates without closing the Activity Inspector, or click OK
to save your updates and close the Activity Inspector.
3. If you chose Previous activity’s performer, select the activity name that has the
performer or group of performers that you want to complete this activity. You can
then select one of two options for selecting a performer:
• Assign to the last performer of previous activity means that the person who
triggered the completion of the previous activity is the assigned performer.
• Assign to all performers of previous activity means that all performers of the
identified activity are the assigned performers.
4. If you chose Multiple sequential performers, specify whether each performer of this
activity has the right to reject the package they receive and return it to the performer
who preceded them in the sequence.
Sequential performers do not have this option by default. To grant them the option,
click the checkbox immediately below the Select Performer(s) box.
5. Specify whether you will choose the performers for this activity now or have them
determined dynamically when the workflow is underway.
Choose an option from the Define Performer(s) box:
• Assign performer(s) now — You will select the specific user or group as part of
the process template.
• Have performer(s) of activity <activity name> determine the performer for this
activity <activity name> — The performer(s) of the preceding activity will select
the performer(s) of this activity when the workflow is run. If this activity has
multiple preceding activities, select from the drop-down list which activity’s
performer selects the performer for this activity.
• Define performer alias (performer(s) will be assigned when workflow is
underway) — The performer of this activity will be determined by an alias
set. You will specify which alias set is used in the next steps. This option is
not available if you selected Some users from a group or Multiple sequential
performers.
• Select performer based on conditions — The performer of the activity will
be determined by conditional logic that you define, including package data
and process variables.
• Select performer based on process data — The performer of the activity is
determined by process data that you define including package data, process
variables, and execution data.
6. If you chose Single user from group, specify which user in the selected group will
perform the activity.
You will select the group in the next step. To specify which single user from that
group will perform the activity, choose one of the options from the Select User
From Group By box:
• First to acquire the work item — When the preceding activity completes, a
work item is added to the inbox of every user in the group. The first user who
acquires the work item from their inbox is the performer. The work items are
removed from the other user’s inboxes.
• Least amount of unfinished work items — When the preceding activity
completes, a work item is added to the inbox of the user who has the smallest
number of unfinished tasks in his or her inbox.
7. Click Next to continue.
The steps required to complete this procedure depend on the option you chose.
• Assign performer(s) now, page 117
• Have performer(s) of <activity> determine performer(s) of this activity, page 118
• Define performer alias (performer(s) will be assigned when workflow is
underway), page 119
• Select performer based on conditions , page 121
The following options are available for the option to assign performers now:
• If you selected Work queue, highlight the name of the work queue, then click Next
to display the data mapping screen where you can assign process data to skill sets
that have been defined for the queue.
For more information on mapping process data to skill sets, see Mapping process
data to a work queue skill set, page 124.
• If you selected Specific user on the previous screen, highlight the name of a group
or <All users> in the Groups list box, then select the performer of this activity from
the users in the selected group from the Users in Group list box. After selecting a
user, click Finish.
• If you selected All users in group or Single user from group on the previous screen,
select a group from the Groups list box, then click Finish.
• If you selected Some users from a group or Multiple sequential performers, you
can designate multiple users, groups, or alias names to perform the activity. See the
procedure in the topic Have performer(s) of <activity> determine performer(s) of this
activity, page 118 for details about the options that appear when you click Next.
Note: Because you chose Assign users now, the server will select all users in the list
you build as performers, not use the list to provide a selection list to the performer
of a previous activity as described in the topic Have performer(s) of <activity>
determine performer(s) of this activity, page 118.
This feature is also known as dynamic performer selection. This option gives the performer
of one activity the ability to choose which users will perform a future activity in the
workflow. At runtime, the performer of the activity can choose one or more users from
the group you specify.
If you selected Some users from a group or Multiple sequential performers, you can
designate a combination of multiple users, groups, or alias names from which the
performer of the previous activity can choose at runtime. If you selected any of the
other performer types, no further definition of the performer is necessary. This page
does not appear.
For more information about aliases and alias sets, see Using aliases, page 27.
• To choose a new alias set, click Create new alias set and type a name and
description for the alias set. The server will create a new alias set using the
information you type on this page and the next.
Click Next when you have identified the alias set.
5. If you chose Performer alias(es) which will be resolved by the workflow initiator,
identify one or more aliases for which the workflow initiator needs to type values
for when starting the workflow.
a. Specify whether you will Create a new performer alias or Use an existing,
undefined performer alias. An existing, undefined alias is an alias that appears
in the alias set but does not have a specific username assigned to it in the alias set.
b. To create a new performer alias, type a name and description for the alias, then
click Add to add it to the Selection List.
c. To use an existing performer alias, select the appropriate alias from the Existing
performer alias drop-down list, then click Add to add it to the Selection List.
Optionally, you can modify the description of the alias so that its purpose is
clear to the workflow initiator.
d. When the Selection List includes all the aliases you want, click Next or Finish
(depending on whether you chose the final option at step 1).
6. If you chose Performer alias(es) which will be resolved at run-time from the alias
set, select the aliases that the server will resolve from selected alias sets.
a. Select an alias set from the Alias Set list, then a specific alias from the list below it.
b. Click Add to add the alias to the Selection List.
c. Repeat steps 6a and 6b for each alias you want to include. You can also change
the position of the alias sets in the list by using the up and down arrows after
you select the alias you want to move.
7. Click Finish.
When you select this option, you need to specify which alias set and alias the process
engine will use at runtime to determine the actual person to perform this activity. First
you choose an alias set, then identify a specific alias within that set.
For more information about aliases and alias sets, see Using aliases, page 27.
If you chose an alias set that will be selected at runtime, such as the previous
performer’s alias set, the Performer Alias drop-down list is empty. Type the name of
the alias in the box. Ensure that the name exactly matches the name in the alias set
that the server will find. If at runtime the server does not find a match between the
performer alias and the available aliases in the alias set, the activity task is returned
to the workflow supervisor along with a notification.
5. Click Finish.
You can resolve the performer of a task dynamically based on conditional logic that you
have set up in the activity. The performer is resolved based on process data and on
logic that you define in the decision table.
The left side of the expression defines the conditions based on data from the process
attributes. The right side of the expression enables you to specify the work queue name,
username, or group name that performs the task once the logic has been resolved.
At runtime, the process engine evaluates the rules as they have been set up and assigns a
performer for the activity.
6. If you are querying on process data , use the Process Data list box to select either a
package or a process variable associated with the process.
7. Based on the selections made in step 5, choose the attribute whose value you want
to use in the condition.
The drop-down list includes the attributes for the object type you selected at step 5.
8. If the attribute you choose has one or more repeating values, indicate which index
value to use in this condition by selecting one of the four options in the list, or by
typing a valid index value.
9. Choose a logical comparison operator from the Condition drop-down list and type a
comparison value in the Value text box.
10. Click the row in the Query table that begins with the word SELECT.
11. In the Conditional Performer Selection box, either select a performer from a list,
type a query using DQL (Documentum Query Language), or use process data or
process parameters to assign the performer.
• If you choose to Select from a list of performers, select the performer from
the list.
If you are able to select multiple performers, select a performer name and click
Add to move the performer to the selection list.
• If you choose to Type a DQL Query, type the query into the text box and click
Validate Query to ensure that the query is valid.
• If you choose to Select from Process Data, you can select process data or a
process parameter to assign a performer. Select performer based on process data
and process parameters, page 123 provides more details on using process data
to assign a performer.
You may find that you need to add attributes or elements to some of the data
to complete the performer selection.
— Understanding the data mapping tool, page 145 provides procedures for
using the data mapping tool.
— Using repeating attributes, page 151 provides details on adding and
mapping repeating-valued attributes.
— Mapping package attributes, page 147 provides instructions for exposing
other source attributes of a package that do not currently appear in the tree
Note: The option to select the performer using process data is only valid for the
following performer types: specific user, work queue, single user from a group,
and multiple sequential users.
12. Click OK.
13. To add an additional clause to this condition, click the AND or OR button and
repeat the preceding steps.
When a condition includes multiple clauses, the server uses the rules of natural
precedence to evaluate the expression. That is, clauses connected by AND are
evaluated before clauses connected by OR. For example, suppose the condition has
this form, where the letters represent conditional clauses:
IF A AND B AND C OR D AND E OR F SELECT Performer Name
The server evaluates this condition as follows:
IF (A AND B AND C) OR (D AND E ) OR F SELECT Performer Name
14. When all of the specific conditions are defined, select the performer to which the task
is assigned if none of the conditions are met.
When you have defined all of the conditions, highlight the row in the Query table
that begins with the word ELSE and select the performer to be used if none of the
other conditions apply.
You can resolve the performer of an activity dynamically based on process data or process
parameters found in the activity. The performer can be the name of a user, group, or
work queue. In general, only STRING-based attributes can be used to select a performer.
• Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree
Note: Only one attribute can be selected from the process data tree.
5. Click Finish.
The attribute appears in the Expression text box. Placeholders are surrounded by a
dollar sign $ (for example, Work queue: $Var0.name$).
To choose the user whose security access is used for an automatic activity:
1. On the Activity Inspector’s Performer tab, select Automatically on behalf of a
performer and click Select Performer.
The Select Performer dialog box appears.
2. Choose which user’s security access will be used by the automatic activity:
• Workflow supervisor — The automatic activity will use the permissions of the
workflow supervisor, which by default are the permissions of the user who
starts the workflow.
• Repository owner — The automatic activity will use the permissions of the
repository owner.
• Previous activity’s performer — The automatic activity will use the permissions
of the user or users who performed the previous activity in the workflow.
• Specific user — The automatic activity will use the permissions of a user you
choose in the next step.
3. If you chose Specific user, select the user whose permissions will be used.
a. Click Choose to display the Select User dialog box.
b. In the Groups list box, highlight the name of a group or <All users>. The users
in the selected group appear in the Users in Group list box.
c. Select the user from the Users in Group list box. The username appears in the
Selection text box.
d. Click OK.
The selected username appears in the User text box.
4. Click Finish.
The selected username appears in the text box next to the Select Performer button.
Tip: When an activity has more than one incoming flow, it represents a join activity in
the overall business process. That is, packages following different paths through the
process come together. To display the join action clearly in the business process template,
insert an explicit Join activity template into the flow. The Join activity sets the trigger
conditions for the next activity, which has only one incoming flow — the one from the
Join activity. See Join, page 182.
For more information about activity triggers, see Setting trigger conditions, page 37.
A repeatable activity is an activity that can be used more than once in a particular
workflow. By default, activities are defined as repeatable activities. Activities with
multiple performers performing sequentially cannot be repeatable. Choosing
performers, page 24 describes the user categories for performers.
If you use an activity multiple times in a workflow, you must structure the workflow
so that only one instance of the activity will be active at any time. The server cannot
start an activity if a previous activity based on the same definition is still running.
5. Do one of the following:
• Click Apply to save your updates without closing the Activity Inspector.
• Click OK to save your updates and close the Activity Inspector.
Note: When a task first arrives in the user’s inbox, the due date for the task may be
calculated based on the system calendar. The next time the timer job runs, the job
updates the due date according to the business calendar.
3. Click the add + button above the list box to add a new timer, or highlight an existing
timer from the list box.
4. From the Event drop-down list, select which type of timer action to create, either
Pre-Timer expiration or Post-Timer expiration.
5. Specify when the timer should expire by typing the number of elapsed hours and
minutes in the Expire in text boxes.
If this action is the first timer of a given type (pre-timer or post-timer), the timer
expires when the specified number of hours and minutes have elapsed since the
start of the workflow or activity, respectively. Subsequent timers expire when the
specified number of hours and minutes have elapsed since the previous timer expired.
Note: When a workflow task is stopped, the associated post-timer is not stopped.
The post-timer continues to take into account the time designated for the task as
though the task is in progress.
6. To send an email message to a third-party email program when a timer expires
(rather than using their Webtop or Task Space inbox), select the Use email template
checkbox, then click Select and choose the custom email template to use for
notification.
After you select it, the name of the template appears next to the Use email template
checkbox. The server uses the selected email template for all notifications of the
same event type (pre-timer or post-timer). If you do not select the Use email
template checkbox, the server notifies users by sending a default notification to
their Documentum inbox.
An email template is a document in the Documentum repository that defines the
structure of the notification message. See the Documentum Process Builder Development
Guide for information about the structure of a document that serves as an email
template.
a. To open an existing template, navigate to the template it in the file structure
and select it.
b. To Create a new Email template, select the option and click OK.
c. The Notification Template Wizard appears, enabling you to create a new
email template dynamically. Using the Notification Template Wizard, page
138 provides instructions on using the wizard to create an email template.
7. To have the server continue to repeat the final pre-timer or post-timer action until the
activity is completed, select the Repeat last action checkbox.
You set the value of the Repeat last action option separately for pre-timer and
post-timer actions. When it is selected, the server will perform the last timer action at
the specified time interval until the activity is completed.
8. From the Action drop-down list, select the type of action to take when the timer
expires.
The available options depend on whether you are defining a pre-timer or post-timer
and on the nature of the current activity:
• Notification — Enables Sending a notification, page 129 message to one or more
people.
• Start Process — EnablesStarting a process, page 130 using the current activity’s
packages.
• Run JAVA Method — Enables Running a Java method, page 131 (available for
users with superuser privileges only).
• Delegate Task — Enables Delegating a task, page 131 to another performer
(available for manual activity post-timers only). A task can also be delegated
to a performer based on process data.
• Complete Task — Enables Completing a task, page 132 and forwarding it to the
next activity in the workflow (available for manual post-timers only).
9. Repeat steps 2 to 7 for each timer you want to add to this activity.
10. To change the order of a timer in the list box, highlight the timer action and click
the up or down arrow buttons at the top of the list box.
The order is important because the expiration time for a timer is expressed as a
certain interval after the preceding timer expires.
11. Click Apply to save your updates without closing the Activity Inspector, or click OK
to save your updates and close the Activity Inspector.
Sending a notication
Use this option to send an email notification to a person when the timer expires
To send a notication:
1. Click the Select button that appears next to the Send notification to text box to
identify the people to notify when the timer expires.
You can send notifications based on Groups & Users, an Alias, or Process Data.
2. To send the notification to Groups & Users, select the radio button.
a. Highlight the user or group name in the left half of the dialog box.
The Users in Group box shows the members of the group selected in the Groups
box, enabling you to select individual members of the group.
b. Click Add >> to move you selections to the selection list.
c. Click OK.
3. To send the notification to users who fill a particular Alias, select the radio button.
a. Select the alias set in the left half of the dialog box.
The Performer Alias box displays the aliases associated with the alias set. When
you select any of these aliases, the system displays the name the alias set is
assigned to as well as the description for the performer alias.
b. Click Add >> to move the selection to the list box on the right.
c. Click OK.
4. To send a notification based on Process Data, click the radio button.
The system displays the process data tree.
a. Expand the nodes of the process data tree and select the attributes you want
to select for the notification.
You may find that you need to add attributes or elements to some of the data
to complete the performer selection.
• Understanding the data mapping tool, page 145 provides procedures for
using the data mapping tool.
• Using repeating attributes, page 151 provides details on adding and
mapping repeating-valued attributes.
• Mapping package attributes, page 147 provides instructions for exposing
other source attributes of a package that do not currently appear in the tree
b. Click Add >> to move the selection to the list box on the right.
c. Click OK.
Starting a process
Use this option to start a workflow when the timer expires.
To start a process:
1. Click the Select button that appears next to the Start Process text box.
2. Select the process template for the process to start.
The selected template must accept the same number and type of packages as the
current activity.
Delegating a task
Use this option to delegate a task when the timer expires.
To delegate a task:
1. Click the Select button that appears next to the To Performers text box.
The Select Performer dialog box appears. You can assign performers based on
Groups & Users, an Alias, or Process Data.
2. To select a performer based on Groups & Users, select the radio button.
a. Highlight the user or group name in the left half of the dialog box.
The Users in Group box shows the members of the group selected in the Groups
box, which enables you to select individual members of the group.
b. Click Add >> to move you selections to the selection list.
c. Click OK.
3. To select a performer from a particular Alias, select the radio button.
a. Select the alias set in the left half of the dialog box.
The Performer Alias dialog box displays the aliases associated with the alias set.
When you select any of these aliases, the system displays the name the alias set is
assigned to as well as the description for the performer alias.
b. Click Add >> to move the selection to the list box on the right.
c. Click OK.
4. To select a performer based on Process Data, click the radio button.
The system displays the process data tree.
a. Expand the nodes of the process data tree and select the performer attribute.
You may find that you need to add attributes or elements to some of the data
to complete the performer selection.
• Understanding the data mapping tool, page 145 provides procedures for
using the data mapping tool.
• Using repeating attributes, page 151 provides details on adding and
mapping repeating-valued attributes.
• Mapping package attributes, page 147 provides instructions for exposing
other source attributes of a package that do not currently appear in the tree
b. Click Add >> to move the selection to the list box on the right.
c. Click OK.
Completing a task
Use this option to complete a task when the timer expires.
When completing a task automatically, you may want to set an attribute to a particular
value, so that an activity transition condition can route it differently based on that
attribute value.
To complete a task:
1. To have the timer set an attribute value when completing the task, select the Change
process data attributes checkbox. If you do not select this checkbox, skip to step 3.
2. From the Process Data drop-down list, select the process variable or package whose
attribute the timer will set a value for.
3. From the Attribute drop-down list, select the attribute whose value the timer will set.
4. If the attribute you chose can have more than one value, indicate which index values
to use in this condition by selecting one of the four options in Index list box or by
typing a valid index value.
5. In the Value text box, type the value to which the timer will set the selected attribute.
6. Select the users to be notified.
Sending a notification, page 129 provides more details on selecting users for
notifications.
Tip: When an activity has multiple outgoing flows with branching logic, it represents a
decision point in the overall business process. To display the decision point clearly in
the business process template, insert an explicit Decision Split activity template into the
flow. Instead of setting the branching logic in the current activity, connect the current
activity to a single Decision Split activity and set the branching logic in the Decision
Split activity. See Decision Split, page 181.
If an activity has only one outgoing flow, there is no need to set a transition condition.
The Transition tab is unavailable with the Select all connected activities option selected.
For automatic activities, you generally should not choose the Let the activity’s performer
choose option, unless the automatic workflow method for the activity uses the setoutput
method to choose the next activities. Documentum Process Builder Development Guide
provides more details on this subject.
Defining activity transitions, page 40 provides more details on transitions
• To let the performer decide which activities are selected when the current activity
completes, choose Let the performer select the next activities.
• To route packages to different activities based on a set of conditions, choose
Select next activities based on these conditions.
If you select to route packages based on a set of conditions, skip to step 6.
3. If the activity is performed by multiple performers — that is, if on the Performer tab
you selected All users in group or Some users from a group — specify how many
performers must complete the task:
• To require that all performers complete the task, select the All performers
complete the task radio button.
• To complete the activity when a certain number of performers complete the task,
select the [ ] performers complete the task radio button and type the required
number of performers in the text box. If the number you type is greater than the
number of performers who receive work items for this activity at runtime, the
server completes the activity when all performers complete the task.
If you chose Select all connected activities at step 2, skip to step 7.
4. If you let the performer select the next activities, specify the maximum number of
activities the performer can select using the Select up to [ ] activities drop-down
list box.
The list box displays the total number of available next activities by default. You can
select any number between 1 and this maximum. At runtime, the server will not
allow the performer to select more than the specified number of activities.
5. If you let a group of performers select the next activities — that is, if the performer
category is All users in group or Some users from a group and the transition option
is Let performer select the next activity — specify when to forward packages to the
selected next activities.
• To start selected reject activities immediately, select the Any performer rejects
radio button. If any performer selects reject activities, the activities are started
without waiting for other responses. All other performers’ selections are ignored.
• To start selected forward activities immediately, select the Any performer
forwards radio button. If any performer selects forward activities, the activities
are started without waiting for other responses. All other performers’ selections
are ignored.
• To start the selected next activities only after the number of performers identified
in step 3 have completed the task, select the All performers complete the
task radio button. With this option, the server combines the selections of all
performers. If some users select forward activities and others select reject
activities, the server determines which activities to start based on the final set
of radio buttons on this tab.
— To start all of the activities selected by performers, both forward activities
and reject activities, select Start all selected activities.
— To start only the selected reject activities (if there are any), click Start only
reject activities. Forward activities are started only if all performers select
forward activities.
— To start only the selected forward activities (if there are any), click Start
only forward activities. Reject activities are started only if all performers
select reject activities.
6. Specify the conditions that the server uses to determine which activities receive
packages.
See Creating transition conditions, page 135 for information about creating transition
conditions.
7. Do one of the following:
• Click Apply to save your updates without closing the Activity Inspector
• Click OK to save your updates and close the Activity Inspector.
The list displays the names of the activities connected to this activity by flows. To
select more than one activity, hold down the Ctrl or Shift key when clicking the
activity names.
Note: You must select an activity now even if you plan to add additional clauses to
the condition.
8. To add an additional clause to this transition condition, click the AND or OR button
next to the Add another clause label and repeat steps 2 through 6.
When a condition includes multiple clauses, the server uses the rules of natural
precedence to evaluate the expression. That is, clauses connected by AND are
evaluated before clauses connected by OR. For example, suppose the condition has
this form, where the letters represent conditional clauses:
IF A AND B AND C OR D AND E OR F SELECT Activity 1
The server evaluates this condition as follows:
IF (A AND B AND C) OR (D AND E )OR F SELECT Activity 1
9. To add another transition condition, click the + button above the query box (which
adds a row starting ELSE IF), then repeat steps 2 to 7.
10. When all of the specific transition conditions are defined, select the activities to
which packages are routed if none of the conditions are met.
When you have defined all of the transition conditions, highlight the row in the
Query table that begins with the word ELSE and select the activities to perform
if none of the other conditions apply.
Setting notications
On the Notification tab, you can set the messages that the server sends in response
to workflow-related events such as activity state changes, a method failure during an
automatic event, and so on. Users registered to receive notification of the event will
receive a message constructed using the email template associated with the event.
Setting up notifications, page 39 provides more details on this subject. You can also send
notifications in response to workflow timers. Setting warning timers, page 127 provides
more details on this subject.
Note: The server does not send a notification At the start of a work item for automatic
activities.
2. To use a custom email template in place of the default notification message for an
event, select the Change email template check box next to the event name.
The Select button becomes active when the check box is selected.
a. Select the option to Create a new Email template or you can Open an existing
template from within the repository to use for that event.
Using the Notification Template Wizard, page 138 provides instructions on how
to create a new email template.
b. The name of the email template appears below the event name.
3. Repeat step 2 for each of the events for which the system sends an email notification,
as necessary.
4. Click Apply to save your updates without closing the Activity Inspector, or click OK
to save your updates and close the Activity Inspector.
You can include static text, HTML copied in from a third-party HTML editor, and
placeholder parameters that can be mapped to process data.
If you are including HTML markup in the email body, you must map the constant
value text/html to the Content-Type in the Body node of the email message. If
Content-Type is not mapped to a value, the content-type is by default text/plain.
• Placeholders are prefixed with a dollar sign $ (for example, $orderno).
• Use two dollar signs $$ to create multi-valued placeholders.
• To use a literal dollar sign in the email body, use \$ (for example, five hundred
dollars would be expressed as \$500.00).
Note: Placeholder values must be alphanumeric characters without spaces.
The placeholder token starts after the dollar sign $ and ends with first
non-alphanumeric character. Additionally, all placeholder values must be
mapped to process data.
5. Click Next to create the input message mapping associating process data to the
email message.
The email message structure appears in the right-hand pane and the process data on
the left side. You can set values for email message attributes by mapping them from
attributes of the process data model. If you have multiple email attachments, you
can click Add on the Attachment node to add more attachments.
Note: The system invokes the email template once for each user that is defined in the
Notification field. When a recipient is also mapped in the email template, one email
is sent to that recipient for each user defined in the Timer tab. If there are three users
selected to be notified and a recipient is mapped to the To: field in the template, the
system sends a notification to each of the three users and also sends three copies of
the notifications to the user specified in the To: mapping.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
Understanding the data mapping tool, page 145 provides procedures for using the
data mapping tool.
Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree
Note: All placeholder nodes under the Subject and Body nodes must be mapped at
this point. Recipient fields are not required to be mapped.
6. Click Next to map the output message.
For example, if you added a process variable MsgId, you can map the notification
message ID attribute from the source message to that process variable.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
Understanding the data mapping tool, page 145 provides procedures for using the
data mapping tool.
Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree
7. Click OK.
The template becomes the default template for specific notification for which you
have created it.
The form template assigned to the package in the Process Properties dialog box
appears by default. Only form templates that use the same data model as the default
form template are displayed in the drop-down list. See Associating form templates
with packages, page 37 for details about using forms in a workflow.
If no form template is assigned to the package, the Task Manager uses the default
options for displaying the contents of the package, which usually enables the user
to open it in the application associated with the document type, such as Microsoft
Word for Word documents.
4. To use the form you selected in step 3 to display the properties of the package, select
the Use Form for Properties checkbox.
When the Use Form for Properties checkbox is not selected, the form from step 3
appears when the performer of an activity selects the package from his or her inbox.
The form is used to save the content of the package. When the checkbox is selected,
the form appears when the performer views the package properties. The form is
used to set the package’s properties in the repository, not the content of the package.
5. To make this package available to the performer of this activity, select the Visible at
this activity checkbox.
If the Visible at this activity checkbox is not selected, the activity performer does not
see this package. The package is still available for transition conditions, however.
6. To require that the package have a content object associated with it, select This is
a mandatory package.
If the checkbox is not selected, the activity performer can assign content to this
package, but need not do so.
7. To enable Process Builder to publish reporting data to the BAM database for the
package, select This package can be used to generate reports.
8. Repeat steps 2 through 6 for each package in the process.
9. Do one of the following:
• Click Apply to save your updates without closing the Activity Inspector
• Click OK to save your updates and close the Activity Inspector.
a link. The performer clicks a link to display the package (through the form assigned
to the package or application associated with the document type).
3. Select the package name to be launched from the drop-down list.
a copy of the image in the folder when you save the activity. If you use Browse
Local to select an image outside of the standard image directory C:\Program
Files\Documentum\BPM\classes\images, Process Builder imports the image file
into the System/Workflow/Images repository folder.
The selected file appears in the Image file box.
3. To change the size of the graphic representing the activity, select a percentage from
the Image size drop-down list.
The percentage is the percentage of the actual size of the graphic.
4. Specify whether to display a label for the activity by selecting or clearing the Show
Label checkbox.
If you clear Show Label, skip steps 5 and 6.
5. Choose whether to display a label for the activity with its activity Name or the
Performer.
Note that error messages, such as any that occur when you validate the template, will
refer to activities by their names. If you label activities with the performer name, you
might want to temporarily change this setting to Name in order to locate the activity.
6. Set the font and style used to label the activity in the template.
a. Select a font from the Label font list.
b. Select a point size from the Point size drop-down list.
c. To set the font style of the label, check or de-select Bold and Italic.
7. Do one of the following:
• Click Apply to save your updates without closing the Activity Inspector.
• Click OK to save your updates and close the Activity Inspector.
This chapter describes how to use the data mapping feature of Process Builder from within an activity
template and includes the following topics:
• Understanding the data mapping tool, page 145
• Adding or editing process data in the mapper, page 147
• Mapping package attributes, page 147
• Adding message properties, page 148
• Adding an XML schema to activity content , page 149
• Adding a node based on a condition, page 149
• Mapping the data, page 150
• Understanding message correlation, page 157
to subsequent activities. The graphical mapping tool enables you to map data from
package attributes to the web service input parameters and from the web service output
message to package attributes.
• The center column is the mapping area, which contains boxes that represent data
mapping functions and lines that connect the boxes to their input sources and output
destinations.
The contents of the left and right columns depend on the type of activity you are
configuring. For activities for which you need to provide input values, the left column
typically shows the attributes for all business process packages, process variables, and
the runtime execution variables, such as the name of the supervisor, that are available at
runtime.
The center column displays the functions used to transfer data from one or more data
sources on the left to a data destination on the right. The mapping tool enables you to
copy values directly from one data source to another, perform data type conversions,
concatenate strings, perform mathematical operations on numbers, and include constant
values. See Using data mapping functions, page 153 for a list of the available functions.
You can map data to or from the lowest level items in the tree controls, the "leaves" of the
tree, using the + or — icon to expand or collapse the tree. Data types exposed in the tree
include packages, process variables, execution data, and process parameters.
Whenever you see a green plus sign icon on a node, package, or data attribute, it
signifies that you can add or edit the data associated with that location in the process data.
Note: If you do not map the added properties to a function, they will not be saved
when you reopen the Activity Inspector.
To map data:
1. Select a function from the list box above the mapping area in the center column.
See Using data mapping functions, page 153 for information about the available
functions.
An icon representing the function appears in the mapping area. A red X in the lower
right corner indicates that the function does not yet have its required arguments.
When you have provided it with all of its required arguments (at step 4 or 5 below),
the X no longer appears.
The function list box remains unavailable as long as the current function is invalid.
You can only define one function at a time.
2. Drag the function box to the location where you want it to appear.
The position of the function box is purely a visual consideration. Its position does
not affect the order of execution.
3. From the left column, select the attributes whose values will be the input data for
the function.
You select an attribute by clicking its name. A line appears in the mapping area,
connecting the selected attribute to the current function box. If the data type of
the selected attribute does not match the data type the function expects, the line is
dashed. The system will attempt to convert the value to the required data type at
runtime. Clicking the attribute name a second time clears it and removes the line.
If the current function accepts multiple input values, you can select multiple
attributes from the left column. By default, the attributes are added to the function’s
list of input arguments in the order you select them. See step 5 for information
about modifying the order of arguments.
If the attribute you want is already linked to another function, you can link it to
the current function by clicking the Line drawing mode button (to the right of
the function list at the top of the center column) and drawing a line from the black
diamond at the left end of the previous selection line to the box representing the
function.
In some cases, you may want to define a function that does not use any attributes as
input data. That is, all of the input values are constants. In these cases, skip this step
and type the relevant constant values at step 5.
4. From the right column, select the attribute into which the activity will write the
result of applying the function.
You can select only one attribute from the right column for each mapping function.
5. Modify the function’s input arguments if necessary.
Double-click the function box to display the Function Editor dialog box. The dialog
box displays the name of the function, its syntax, and a list of the input values. The
names of the attributes you selected at step 3 appear in XPath format. Using this
dialog box, you can change the order of the attributes or add constants as additional
input values. Using data mapping functions, page 153 provides more details on
this subject.
Click OK to close the dialog box.
6. Repeat steps 1 through 5 for each data-mapping function you want to create.
double-click the index value to launch the Repeating Index dialog box where you can
select FIRST/LAST or type a numeric value.
Input context
Depending on the Input Context option selected for a mapping rule, all values of a
multivalued attribute are either passed to the mapping function as arguments (ALL
option) or the mapping rule function is executed once for each value (FOR-EACH). The
Input Context option can be viewed or updated from the function dialog box.
String to Date Two strings, the first giving Value of Date data type.
a date and the second
specifying its pattern.
The date pattern must
conform to the standard
Java SimpleDateFormat.
For details, refer to the
Java API and developer
reference documentation
located on the Sun
developer website.
Substring A string, a number String consisting of
representing how many characters from the first
of the initial characters to input argument, starting
remove from the string, from the specified start
and optionally a number position and ending at the
representing the position of specified end position.
the last character to include
in the substring. For example, if the input
arguments are "unhappy"
and 2, the result is the
string "happy". If the input
arguments are "unhappy",
2, and 5, the result is "hap".
many inbound messages, unique properties of the message such as data in the message
header or a unique filename can contain the correlation identifier to match the message
to a process instance. If there is no match between these values, the system will use the
specified correlation set to match the message to a process instance.
mapping within an activity. For example in a process flow that manages product orders
from vendors, you can create Correlation Set 1 (purchase order number and vendor ID)
and Correlation Set 2 (address and ZIP code) and use them when mapping messages
within inbound activities.
The data that a correlation set uses must exist or be set in the process before the workflow
reaches the activity that uses the correlation set. The data can be set in the activity using
an initiate activity or another step activity earlier in the process.
Note: Process variables that will be used in correlation sets should not have default
values. Process variables that have default values do not possess the unique attribute
characteristics required to match an incoming message to a single instance of a process.
If the system cannot find a unique match, the runtime process halts with an error.
Creating correlation sets, page 78 gives more details on defining correlation sets for
a process.
This chapter introduces the basic concepts of debugging a Process Builder process template. The
following topics are included:
• Understanding the process debugger, page 161
• Preparing to debug the process, page 164
• Testing a process in the debugger, page 167
When the system executes a manual activity, the system automatically acquires and
completes the activity enabling you to run through the entire process without stopping
at that particular activity. To manually complete an activity or to perform another
manual function on the activity, you can set a breakpoint on the activity. This enables
you to execute the functions that a performer might take such as select the next activity
in a transition or modify process data.
When you set a breakpoint on an automatic activity and choose to step into the activity,
you can view the input and output messages, rerun a failed task, and alter process data
that is associated with the activity.
As the debugger runs through the different activities of the process flow, it marks
progress through the flow with a bold line. This is especially useful when following the
progress through a flow that has transitions with different potential paths. When the
debugger is ready to execute an activity, a green arrow appears above it indicating that
the work item has been created and the performer has acquired it.
After the system runs through the process, it displays a message that the workflow is
complete in both the Task Manager and the Console tabs. At this point you still have
access to the process in debug mode and can view the messages from the Process Engine
using the Console tab.
Adding breakpoints
Breakpoints enable you to stop the process flow at a specific activity in order to change
process data, add packages, and view the execution information for the task. You can
add breakpoints for any number of manual or automatic activities.
When running through a process in debug mode, the system stops before each activity
that has a breakpoint, enabling you to open the activity and add content to packages and
to view or modify process data before executing the activity. If the activity is manual,
you can finish, reject, or otherwise complete the activity before the flow continues. With
an automatic activity, you can open the activity, execute the task and see the input and
output of the activity as well as any error messages.
To add a breakpoint:
1. Select the activity within the process.
To select multiple activities, hold down the Shift key as you click each of the activities.
2. Click the Toggle Breakpoint button to set the breakpoint on the activity.
To remove a breakpoint:
1. Select an activity within the process that has a breakpoint.
2. Click the Toggle Breakpoint button to remove the breakpoint from the activity.
2. Click the Debug Process icon or select Debug > Start Process Debug to launch
the Debug Process dialog box.
3. Type a name for the workflow in the Workflow Name text box.
2. Click the Debug Process icon or select or select Debug > Start Process Debug to
launch the Debug Process dialog box.
3. If you will use an inbound initiate activity to debug the process, select Start
workflow using inbound initiate listeners.
The system starts the listener for the message type associated with the activity and
begins listening for the message start request specific to that protocol.
4. Click Start Listeners to begin the debug process.
The Process Debug window appears enabling you to view the process flow. Once
the process receives the message, the workflow begins.
Testing a process in the debugger, page 167 provides detailed instructions on testing
the process.
Button Purpose
Step Over to Next Activity advances the
debugger to the next activity even if there
is no breakpoint set.
Step Into the execution of the current activity
enables you to view the details of the
automatic activity. The activity executes but
does not continue on to the next activity.
You must step into an automatic activity to
view the service messages associated with
the execution of the activity. You can make
changes to the activity’s mappings and
configuration, rerun the activity if it has
failed, and perform other troubleshooting
functions.
Rerun Debug reruns the process from the
beginning of the flow and without having
to reload process data.
• For packages or attachments, the process
runs with the same data that it ended the
workflow with. If there were changes
made to a package or attachment during
the workflow, those changes are saved to
the repository and the process starts over
using the changed attributes.
• For process variables, the process runs
with the attributes that were originally
front-loaded into the debugger. If there
were changes made to process variables,
Button Purpose
those changes are not saved, so the
process runs with the original values.
This option is only available after the
process has been completed. You cannot
rerun a partially completed process.
Continue to Next Breakpoint enables you to
move to the next breakpoint in the process.
Stop Debug terminates the debug process
and deletes the workflow and workitems
that were created for the debug session.
Exit Debug Session exits the debugger and
returns to the process template editor.
The system deletes the workflow and all
workitems that were created for the debug
session.
By default, manual tasks are acquired and completed by the system enabling the process
to run through the debug process without intervention. When you place a breakpoint on
a manual activity, you can select the content for a package, modify process variables, and
perform the task-related functions based on the activity. Some of these functions include:
• Reject a task.
• Acquire a task and complete it.
• Select the next activity when there is a transition condition that is determined by
performers
• View the details of a workitem’s skill names and skill values.
• View the workitem ID and the performer name for tasks with multiple performers
and multiple workitems.
• Force the completion of a task.
When you step into an automatic activity, the debugger executes the current activity and
displays the protocol-specific input and output messages, as well as any exceptions.
These messages enable you to view the communication between systems that the process
integrates with such as external web services databases and helps to troubleshoot any
problems.
In addition, you can open the Activity Inspector and edit any of the properties of the
activity with exceptions. After editing an activity with exceptions, you can rerun the
activity to ensure that the activity completes without errors.
To complete an activity that has errors that you cannot correct, click Force Complete
Task and the system will complete the activity and move on in the process.
When you set a breakpoint on an automatic activity, you can perform the following
functions:
• Step into the execution of the activity.
• Add or update packages or attachments before the activity executes.
Note: If you select the Step Into the execution of the current activity, the activity
executes immediately and you cannot changes packages or attachments.
• Execute the task and then view input and output messages as well as exception
messages from the Process Engine.
• Rerun a failed task.
• Force the completion of a task even if the activity has failed.
• Continue to the next breakpoint.
When you place a breakpoint on an automatic activity, you can step into the activity
and trigger the execution of the activity. This enables you to view any input or output
messages, as well as any errors or exceptions. For example, if you invoke a web service,
you can view the request and response information.
Similarly, you can view the input messages for each specific protocol. For example, the
text of a SOAP request appears in the message window enabling you to copy it and
paste it into a text editor. You can also view the text of the response message (the SOAP
response) and any subsequent updates to the process data.
Several of the activity templates delivered with Process Builder execute automatic
methods that extend from WorkflowMethod. These activity templates are:
• Create Folder
• Link to Folder
• XSLT Transformation
The code for these automatic methods are located in the bpsintegration.jar file. During
the installation process, the Process Builder installer places these files in the C:/Program
Files/Documentum/BPM/classes/custom directory so that they are available to the
process debugger.
If a process contains custom Java methods, the methods must extend from
WorkflowMethod. If the Java methods do not extend from WorkflowMethod (instead,
they implement IDfMethod), they cannot be executed from the debugger and will result
in an error. Use the Force Complete Task button to complete the task and continue
debugging the process.
For HTTP and web service protocols, the message is a close approximation of the
message that is transmitted over the network. For other services, the message uses XML
format representing the tree structure of the data mapping.
In the case of binary data, the message displays the location of the file in the file system
where the content is stored. Once the workflow has completed in the debugger, the
file is deleted.
For example:
<Attachment>
<Name>test2<Name>
<Content-Type>text/plain<Content-Type>
<Data>C:\Documents and Settings\meenar\
message_files\7bafbf6f-baae-4a16-b240-8335fb7f2d65.dat<Data>
</Attachment>
Note: Messaging errors do not appear in the tab, but are available in the Exception text
box of the Task Manager tab for any automatic activities that use messaging.
Process Builder comes with a set of predefined activity templates for common business process tasks.
The templates are available in the Activity Templates window of the Resource Navigator and are
organized in a tree structure that reflects the type of task each one represents. For example, the
Content Services node has activity templates related to basic content management functions, and the
Integration node has templates for activities that send workflow process data to external participants
using the messaging features of Documentum Process Integrator.
You can create custom activity templates to supplement the delivered templates. See Creating activity
templates, page 104. Process Builder includes a Sample Activity Template that illustrates the format
of the activity template XML file to help you create custom activity templates. It appears on the
Sample activity node.
This appendix describes each of these activity templates and the special parameters they require you
to type when creating an activity from them. The standard activity templates are:
Content Services, page 175
• Create Folder, page 175
• Lifecycle, page 176
• Lifecycle Apply, page 176
• Link To Folder, page 178
• ECIS (Enterprise Content Integration Services), page 179
Flow , page 181
• Decision Split, page 181
• Join, page 182
• Post Event to Parent Process, page 182
• XSL Transformation, page 183
Integration , page 183
• BOF Module, page 184
• Database Inbound — Initiate and Step, page 186
• Database Read, page 188
Content Services
The activity templates in the Content Services window enable you to include basic
content management tasks in your business processes.
Activities based on these templates display only three tabs in the Activity Inspector: the
Performer tab (which identifies the workflow method to run), the Definition tab, and a
custom tab. The other standard Activity Inspector tabs are not relevant for content
services activities.
The activities in the Content Services window are:
• Create Folder, page 175
• Lifecycle Apply, page 176
• Lifecycle Demote, page 239
• Link To Folder, page 178
• ECIS (Enterprise Content Integration Services), page 179
Create Folder
Activities based on this template create a new folder in the repository based on a given
folder name or on a folder template. To configure the activity, you provide a name for
the new folder and specify the path to the location in the folder hierarchy where you
want to create it.
• New Folder Name — Type name of the new folder. The name can include
substitution variables. Click the ... button to display a dialog box from which you
can select from the available variables.
• Create From Folder Template (optional) — Select a predefined folder template
from the repository. The folder template enables you to create a copy of the folder
including nested folders, with the root name of the folder template used as the new
folder name.
• Destination Folder — Click the ... button to navigate to the parent folder in which the
new folder will be created. When you freclick OK in the dialog box, the name of the
parent folder appears in the data field.
• Or Type In Path To Folder — Enter the full path to an existing parent folder in
which the new folder will be created, starting with a backslash and the name of the
top-level cabinet (for example, /System/Workflow). When you type the folder path
rather than selecting it, you can include one or more substitution variables in the
path specification. Click the ... button to display a dialog box from which you can
select from the available variables, including package variables.
• Link Folder to Package — Link the entire folder to the package that you select from
the drop-down list.
Lifecycle Apply
Note: This activity template is only supported for Documentum Process Builder version
6.5. If an earlier version of Process Builder is used against a Documentum 6.5 repository,
this template will not open.
Activities based on this template apply a document lifecycle to a package in the business
process. A lifecycle defines an ordered series of states that correspond to the stages of
a document’s life.
To configure a Lifecycle Apply activity, you choose the lifecycle to apply and which
lifecycle will be applied to the process data. You also specify the initial state of the
lifecycle and the scope to use when resolving any aliases associated with the lifecycle.
See the Documentum Composer User Guide for details about creating and using lifecycles
1. From the list box, select the lifecycle to apply to the package.
2. Select the Select the Scope to use for resolving any aliases associated with the
selected lifecycle.
This is the key to the dm_alias_set type for retrieving the alias value mapping
defined there. The values in the drop-down appear based upon the lifecycle.
The Initial State to which the package will be set appears in a the text box.
3. Click Next to use the data mapper to map the attributes that apply a lifecycle to
the object.
Lifecycle
Note: This activity template is only supported for Documentum Process Builder version
6.5. If an earlier version of Process Builder is used against a Documentum 6.5 repository,
this template will not open.
Activities based on this template move the object’s lifecycle to another state. Four
lifecycle operations can be performed on the object:
• Promote, which advances the object to the state specified in the input mapper.
• Demote, which demotes the object from its current normal state to the previous
normal state or to the base state if the demote_to_base_state parameter is set to true.
Link To Folder
Activities based on this template add the objects from one or more packages into a
specified folder in the repository. To configure the activity, you specify the name and
location of the folder. The activity can copy the specified packages into the folder
(retaining their links to other folders where they may reside) or move the packages into
the folder (unlinking them from other folders). If the specified folder does not exist,
the activity can create it.
• Or Type In Path To Folder — Enter the full path to an existing parent folder in
which the new folder will be created, starting with a backslash and the name of the
top-level cabinet (for example, /System/Workflow). When you type the folder path
rather than selecting it, you can include one or more substitution variables in the
path specification. Click the ... button to display a dialog box from which you can
select from the available variables, including package variables.
• Link Folder to Package — Link the entire folder to the package that you select from
the drop-down list.
• Package(s) — Click the ... button to display a dialog box from which you can select
the process packages whose contents you want to link into the repository folder.
Highlight the package name in the list on the left and click the Add button to move it
to the list of selected packages on the right. When you click OK in the dialog box, the
names of the selected packages appear in the data field.
• New Folder Name — Type name of the new folder. The name can include
substitution variables. Click the ... button to display a dialog box from which you
can select from the available variables.
• Create New Folder If Not Exists — Select Yes to have the system create a folder with
the specified name if it does not already exist.
• Create From Folder Template (optional) — Select a predefined folder template
from the repository. The folder template enables you to create a copy of the folder
including nested folders, with the root name of the folder template used as the new
folder name.
• Destination Folder — Click the ... button to navigate to the parent folder in which
the new folder will be linked. When you click OK in the dialog box, the name of the
parent folder appears in the data field.
• Or Type In Path To Destination Folder — Enter the full path to the parent of the
folder into which the contents will be linked, starting with a backslash and the name
of the top-level cabinet. When you type the folder path rather than selecting it, you
can include one or more substitution variables in the path specification. Click the ...
button to display a dialog box from which you can select from the available variables.
• Unlink From Original Folder(s) — Select Yes to have the activity move the packages
into the specified folder, unlinking them from other folders or select No to copy the
packages into the folder, retaining any links to other folders. The default is No.
• Link Folder To Package — To attach the folder object to the business process, select
the package to attach it to from the list box.
so on, and are saved in the ECIS Search Results folder and are displayed in the order
specified in the Save ECIS Results with rank up to(0-1) field.
The ECIS activity template can be used to search across multiple targets such as FileNet
and Open Text servers, external websites, and other Documentum repositories that
ECIS adapters are able to access.
A pre-configured ECIS search is executed based on the Name keyword automatically in
the following websites:
• http://www.google.com
• http://www.cnn.com
• http://www.interpol.int/
• http://www.fbi.gov/
• http://www.dhs.gov/dhspublic/
• http://europa.eu/pol/cfsp/index_en.htm
• http://news.bbc.co.uk/
• Factiva
• Current repository
• Open directory
Note: These search targets are configured in the ECIS Admin Center. The Documentum
ECI Services Administration Guide gives more details on how to configure search targets.
Configure the following fields to enable the activity template to search for content.
• Search String — Type the search string that defines the information on which you are
searching or click the ellipsis (...) button next to the field to select a pre-configured
search string from a dialog box.
• Temp ECIS Results File Path — Type the full path of the temporary results file path.
The temporary file is used to save content from an external source. After saving it to
a local file, it is imported into the repository.
• Save ECIS Results under Cabinet — Type the cabinet name that will store your results.
• Save ECIS Results in Folder — Type the folder name of the results file in the
repository.
• Save ECIS Results with rank up to(0-1) — Type the value to be used in evaluating
which results are saved. The number you type here is the lowest relevance ranking
percentage that the system saves. For example, to save results that match 50% to
100% of the search criteria, type .5. To save search criteria that meets at least 20% of
the search criteria, type .2
Flow
You use the activity templates on the Flow node to control the flow of work through the
business process. The activities on the node are:
• Decision Split, page 181
• Join, page 182
• Post Event to Parent Process, page 182
• Start Sub-Process, page 234
• XSL Transformation, page 183
Decision Split
The Decision Split activity template enables you to display decision points explicitly in a
business process template. Rather than specifying the branching logic on the Transition
tab of an activity that performs some other action, you add an activity whose only action
is to evaluate the branching logic and forward packages as appropriate. Separating the
decision from other actions can make the process flow clearer.
When you add a Decision Split activity, link the preceding activity to just the Decision
Split activity and set its transition to Select all connected activities. Set the branching
logic on the Transition tab of the Decision Split activity.
The Decision Split activity template does not include any custom tabs or fields. When
you view an activity created with the Decision Split template in the Activity Inspector,
only the Timers, Transition, Data, and Display tabs appear. These tabs contain all of the
settings relevant to a decision point activity.
Join
The Join activity template enables you to include activities to evaluate trigger conditions
when multiple flows converge in a business process. Rather than specifying the trigger
conditions on the Trigger tab of an activity that performs some other action, you add an
activity whose only action is to evaluate the trigger conditions and forward packages as
appropriate. The Join activity waits for a certain number of its preceding activities to
complete, then forwards its packages to the next activity. The next activity does not need
to evaluate trigger conditions, because the Join activity has already done so.
The Join activity template does not include any custom tabs or fields. When you view
an activity created with the Join template in the Activity Inspector, only the Trigger,
Timers, Data, and Display tabs appear. These tabs contain all of the settings relevant to
a join activity.
XSL Transformation
The XSL Transformation activity template creates activities that perform a transformation
on an XML file. An activity based on this template retrieves XML content from a
workflow package, applies an XSL file to it, then attaches the transformed file as another
workflow package.
• Transform content in package — The name of the workflow package that contains
the XML content.
• Transform using this XSL file — Click the button next to the field to select the XSL
file to use for transforming the XML content. The XSL file must be stored in the
repository.
• Attach result as content in package — The name of the workflow package into which
the transformed content is written. You must specify a valid package defined for the
process.
• Transformed output format — Specifies whether to save the transformed output in
XML or HTML format.
Integration
The activity templates in the Integration window provide means of exchanging data
between the business process and external systems or external performers. Several of
the templates provide a wizard-like interface for defining how data is passed from one
data source to another.
Note: Inbound activity templates require the BPS.war file to be deployed on the
application server.
The activities on the Integration node are:
• BOF Module, page 184
• Database Inbound — Initiate and Step, page 186
• Database Read, page 188
• Database Stored Procedure, page 190
• Database Write, page 193
• DQL Inbound — Initiate and Step, page 195
• DQL Read, page 197
• DQL Write, page 197
• Dynamic Web Service, page 198
• Email Inbound — Initiate and Step, page 206
• Fax Outbound, page 208
BOF Module
Activities based on this template run a Java method that has been packaged as a module
using Documentum’s Business Object Framework (BOF). You use the data mapping tool
to provide values for the method’s input parameters and to map any return values into
package attributes so that they are available to subsequent activities.
Note: The data type of the parameters and the return value must be a Java primitive
type, Byte[] (and/or byte[]), a DataSource object, or a JavaBean object. BLOB (Binary
Large Object) and binary data are represented as Byte Array. Char data type is not
currently supported.
For information about packaging a Java method as a BOF module, see the Documentum
Foundation Classes Development Guide.
4. Click Next.
The Next button is unavailable until you have typed values for all required fields on
the current page.
5. If the selected method has input parameters, provide values for the parameters
using the data mapping tool.
On the Input Message Mapping screen, the right column of the data mapping
tool shows the input parameters for the method. The left column shows package
attributes and the workflow substitution variables. You can map the value of the
data attribute of a package as an input argument for a method as Byte[] (and/or
byte[]). You can also map the entire content, that is, data and content-type, of a
package to a DataSource. See Understanding the data mapping tool, page 145 for
details about using the data mapping tool.
If the selected method does not have input parameters, the Input Message Mapping
screen does not appear. Skip to step 7.
6. Click Next.
If the selected method does not have output values, the Next button is unavailable.
Skip the next step.
7. Use the data mapping tool to save the output values as package attribute values.
On the Output Message Mapping screen, the left column of the data mapping
tool shows the output values from the method. The right column shows package
attributes.
In Output Message Mapping, a method can return a value to a package as Byte[]
(and/or byte[]). However, you must manually set the format of the package content
to a string value. You can also write the content of a DataSource to a package by
mapping the data attribute value of the DataSource to the data attribute of the
package.
See Understanding the data mapping tool, page 145 for details about using the data
mapping tool.
8. Click OK or Apply to save the configuration settings.
At runtime, if the destination package exists, the data attribute value of the package
is replaced by the data from the DataSource or Byte[] (and/or byte[]). In case of
DataSource, the format attribute value of the destination package is replaced by the
format value of the DataSource. If the destination package does not exist, a new
package is created. The data and format of the source package is copied to the new
package. However, if the source package does not have a format mapping, then the
value for the format attribute in the destination package is set to "crtext".
The column contains the appropriate correlation ID related to the specific workflow
instance.
A correlation ID is a unique string associated with each process instance and can be
used to identify a workflow and match the message to it. The correlation ID must
be set in a preceding activity such as a Database Write activity. Using correlation
identifiers, page 157 provides instructions on using correlation in messages.
9. Type a SQL delete or update statement as the Statement to Postprocess that will
mark the records as processed.
To create a query using parameters with values that come from package attributes or
runtime workflow variables, type a question mark (?) where you want the value to
be substituted. The question mark represents a parameter whose value the activity
will insert at runtime.
For example, a query that updates a customer record based on Social Security
Number (after processing the record) includes a question mark in place of a specific
SSN value:
UPDATE from CUSTOMER WHERE ssn=?
The Update statement can include any number of parameters, each represented
by a question mark. Each parameter must be mapped to process data on the data
mapping page. Do not include quotes around the question mark.
Note: Ensure that row can be uniquely identified during post-processing so that
the system only processes a single row.
10. For queries that include substitution parameters, identify the alias name/column
name for each parameter.
If the query does not include any parameters, skip this step.
a. Click the Set Parameters Type button. A dialog box appears with a list of
parameters corresponding to the number of question marks in the query. The
parameter names are param1, param2, and so on.
b. Highlight the row for one of the parameters.
c. Click the value in the Column Name/Alias column and select the column name
or column alias for the parameter from the list box. The column name or column
alias of the parameter must match the corresponding database column to which
the parameters maps in the post processing query.
d. Repeat steps b and c for each parameter.
e. Click OK to close the dialog box.
11. Type the Fetch Size to specify the number of rows to be fetched by the JDBC driver
when more rows are needed for processing during each polling cycle.
12. Type the number of seconds used as the Polling Frequency after which the system
checks the table for new records.
13. Type the Number of Processors to set the number of threads processing the records
concurrently.
14. Click Next to map the data from the result set to the process data model.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
• Understanding the data mapping tool, page 145 provides procedures for using
the data mapping tool.
• Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
• Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree.
15. Click OK or Apply to save the configuration settings.
Database Read
Activities based on this template connect to an external database and return the results of
a SQL Select statement. The database read activity also supports exchange of content
from BLOB data type in Oracle, and Bytes data type in Microsoft SQL Server, to a
package.
Note: The supported data types for database parameters are: CHAR, VARCHAR,
NVARCHAR_TYPE, BIGINT, INTEGER, SMALLINT, TINYINT, BIT, DOUBLE, FLOAT,
NUMERIC, DECIMAL, REAL, DATE, TIME, TIMESTAMP, BOOLEAN, BINARY, BLOB,
LONGVARBINARY, VARBINARY.
To define the activity, you identify the JDBC driver to use to connect to the database and
specify the Select statement to run. You use the data mapping tool to provide values for
any substitution variables in the Select statement and to copy the query results into
package attributes.
If Process Builder is able to connect to the database using the information you
provided in steps 2 through 4, a message appears in green below the Connection
String box. If the connection is unsuccessful, a red message appears below the box.
Modify the values and try again.
6. Type the Select statement in the Query to Run box.
The statement must start with the SQL keyword Select. To create a query using
parameters whose values come from package attributes or runtime workflow
variables, type a question mark (?) where you want the value to be substituted. The
question mark represents a parameter whose value the activity will insert at runtime.
For example, a query that looks up a customer record based on a Social Security
number includes a question mark in place of a specific SSN value:
Select * from CUSTOMER where ssn=?
The Select statement can include any number of parameters, each represented by a
question mark. Do not include quotes around the question mark.
7. For queries that include substitution parameters, identify the data type for each
parameter.
If the query does not include any parameters, skip this step.
a. Click the Set Parameters Type button. A dialog box appears with a list of
parameters corresponding to the number of question marks in the query. The
parameter names are param1, param2, and so on.
b. Highlight the row for one of the parameters.
c. Click the value in the Data Type column and select the data type for the
parameter from the list box. The data type of the parameter must match the
data type of the corresponding database column. For an Oracle database, select
BLOB as the data type. For Microsoft SQL, select Binary as the data type of
the parameter.
d. Repeat steps b and c for each parameter.
e. Click OK to close the dialog box.
8. Click the Validate Query button.
Process Builder checks the validity of the query and displays a message immediately
below the text box containing the query.
If the query is not valid, the message is the error message from the database. Revise
the query to make it valid.
9. Click Next.
The Next button is unavailable until you have typed values for all required fields on
the current page.
10. If the query has substitution parameters, provide values for the parameters using
the data mapping tool.
On the Input Message Mapping screen, the right column of the data mapping tool
shows the substitution parameters in the query. The left column shows package
attributes and the workflow substitution variables. See Understanding the data
mapping tool, page 145 for details about using the data mapping tool.
If the query does not include any substitution parameters, the Input Message
Mapping screen does not appear. Skip to step 12.
11. Click Next.
12. Use the data mapping tool to save the query results as package attribute values.
On the Output Message Mapping screen, the left column of the data mapping tool
shows the values returned by the query. The right column shows package attributes.
If you use BLOB data type, you must map the BLOB content as a data attribute of
the package. See Understanding the data mapping tool, page 145 for details about
using the data mapping tool.
If the query returns more than one row of data, the activity maps the values from the
first returned row into the associated package attributes.
13. Click OK or Apply to save the configuration settings.
On the Input Message Mapping screen, the left column displays the package
attributes, and the workflow substitution variables. The right column of the data
mapping tool displays all the IN and IN/OUT parameters of the stored procedure, or
the function arguments. If there is more than one input parameter, and you map
only one parameter, the other parameters are set to NULL or as defined in the stored
procedure or function. See Understanding the data mapping tool, page 145 for
details about using the data mapping tool.
If the stored procedure or function does not include input parameters or arguments,
the Input Message Mapping screen does not appear. Skip to step 11.
10. Click Next.
11. Use the data mapping tool to save the return value of the function or procedure as
package attributes.
On the Output Message Mapping screen, the left column of the data mapping tool
shows the OUT and IN/OUT parameter values or result set returned by the stored
procedure, or the return value of the function. The right column shows the package
attributes. See Understanding the data mapping tool, page 145 for details about
using the data mapping tool.
12. Click OK or Apply to save the configuration settings.
You can use the following search patterns in the Enter search pattern box.
Note: Search patterns are case sensitive.
• Stored Procedure or Function name — finds only occurrences of the stored
procedure or function you type using the following format:
<procedure-name>
For example, if you search for the stored procedure name ADD_EMPLOYEE, the
business service retrieves the ADD_EMPLOYEE stored procedure along with the catalog
and schema name, such as STANDARD.SYS.ADD_EMPLOYEE. If you search for ADD_,
the business service retrieves all stored procedures or functions beginning with
the name ADD_.
• Fully qualified name — finds only occurrences of the stored procedures or functions
that you typed as a fully qualified name using one of the following format:
<catalog-name>.<schema-name>.<procedure-name>
or <schema-name>.<procedure-name>
For example, if you search for the ORDSOURCE.ORDSYS.WRITE stored procedure, the
business process service retrieves the stored procedure WRITE in the schema ORDSYS
from the ORDSOURCE catalog. The WRITE stored procedure available in any other
catalog or schema will not be retrieved.
If you search for SCOTT.ADD_EMPLOYEE, the business service retrieves the
ADD_EMPLOYEE stored procedure from the SCOTT schema.
• % wildcard — searches stored procedures or functions across all catalogs and
schemas in the database using the following search patterns.
— % or blank — retrieves all stored procedures or functions in the database
— B% — retrieves all stored procedures whose name begins with "B"
— A.% — retrieves all stored procedures in the schema named "A"
— A.B% — retrieves all stored procedures whose name begins with "B" in the
schema named "A"
— C.A.B% — retrieves all stored procedures whose name begins with "B" in the
schema "A" from the catalog "C"
— A%.B% — retrieves all stored procedures whose name begins with "B" from any
schema whose name begins with "A"
Database Write
Activities based on this template connect to an external database and run a SQL Insert,
Update, or Delete statement. The database write activity also supports exchange of
content from a package to database parameters. That is, you can insert or update binary
or BLOB data from a package into the database.
Note: The supported data types for database parameters are: CHAR, VARCHAR,
NVARCHAR_TYPE, BIGINT, INTEGER, SMALLINT, TINYINT, BIT, DOUBLE, FLOAT,
NUMERIC, DECIMAL, REAL, DATE, TIME, TIMESTAMP, BOOLEAN, BINARY, BLOB,
LONGVARBINARY, VARBINARY.
To define the activity, you identify the JDBC driver to use to connect to the database
and specify the statement to run. You use the data mapping tool to provide values for
any substitution variables in the SQL statement. The activity returns the number of
rows created or updated.
2. Select the option to Connect to different Repository if you are accessing information
from another repository.
3. Either type the Repository Name or select it from the drop-down list box.
The list contains all repositories that this instance of Process Builder is connected to
through the dfc.properties configuration file.
4. If you have chosen to connect to a different repository, type the User Name required
to connect to the repository.
5. If you have chosen to connect to a different repository, type the Password required to
connect to the repository.
6. Click the Test Connection button to verify that the connection parameters have
been entered correctly.
If the connection is unsuccessful, a red message appears below the text box. Modify
the values and try again.
7. Type the DQL Qualification to Fetch Objects in the text box.
Type a DQL qualification consisting of that portion of a SELECT statement that
begins with the keyword FROM. The DQL qualification uniquely identifies an object
in a repository.
8. Click Validate Query to ensure that the query is valid
9. For step activities only, select a Correlation ID from the list of attributes belonging
to the object type specified in the DQL qualification.
10. Select a Post Processing Options for managing the object after it has been retrieved.
Valid values enable you to delete the object that the query retrieves, move the object
to a folder that you specify, or update the attributes based on the query you type.
11. If you have selected to move the object to an archive folder, type the path of the
archive folder.
12. If you have selected to update attribute values, type the query to update the object
attributes in the text box.
13. Type the number of seconds used as the Polling Frequency .
This is the duration of time after which the processor queries the repository and
fetches any new entries that match the given DQL select statement.
14. Type the number of processors available.
This is the total number of concurrent processors that can monitor for data at this
end-point.
15. Click Next to map the objects to process data attributes.
DQL Read
Note: This activity template is only supported for Documentum Process Builder version
6.5. If an earlier version of Process Builder is used against a Documentum 6.5 repository,
this template will not open.
Activities based on this template execute DQL queries on the specified repository. For
example, you can use the DQL Read activity template to select a loan document from
the repository that was submitted between a range of dates or based on a loan amount
or credit score.
DQL Write
Note: This activity template is only supported for Documentum Process Builder version
6.5. If an earlier version of Process Builder is used against a Documentum 6.5 repository,
this template will not open.
Activities based on this template execute create, update, or delete object DQL queries on
the specified repository. For example, you can use the DQL Write activity template to set
a credit score in a loan document that is in the repository.
Activities based on this template support three kinds of security. They are:
• HTTP proxy support
• HTTP basic authentication
• SOAP header-based authentication
Before configuring a secure web service, you can configure the HTTP proxy server. Refer
to Configuring the HTTP proxy server, page 202 to configure a HTTP proxy server.
The following procedures describe how to configure web services protected by HTTP
basic authentication and SOAP header-based authentication.
To configure a secure web service activity, click the Web Service Configuration tab in the
Activity Inspector.
• ws/services — name of the directory on the application server where the Web
Services Framework (WSF) is installed
2. Click Read WSDL File.
Process Builder reads the specified WSDL file and populates the remaining fields
on the screen.
3. Select from among the available port types in the specified WSDL file.
The Port Type list box is empty until you click Read WSDL File.
4. Select from among the available operations in the specified WSDL file.
Note: Refer to the Documentum Web Services Framework Development Guide for more
information on the types and operations of credentials service.
5. For generic SOAP-secured web services, a security token will be generated.
6. Skip to Mapping Web Service parameters, page 201 to map SOAP-based
authentication information.
Perform the following steps to map the input and output values of the web service.
However, before performing the following steps, you must complete the initial steps
to configure the dynamic web service as described in Invoking secure Web Services,
page 200.
Note: For more information on the types and operations of credentials service, refer
to Documentum Web Services Framework Development Guide.
If the selected web service operation does not have input parameters, the Input
Message Mapping screen does not appear. Skip to step 3.
3. Click Next.
If the selected web service operation does not have output values, the Next button is
unavailable. Skip the next step.
4. Use the data mapping tool to save the output values as package attribute values.
On the Output Message Mapping screen, the left column of the data mapping tool
shows the output values from the operation. The right column shows package
attributes. See Understanding the data mapping tool, page 145 for details about
using the data mapping tool.
5. Click OK or Apply to save the configuration settings.
To access a web service that is located outside the firewall, through a HTTP proxy server,
you must configure the HTTP proxy parameters. To do this, you must modify the
Process Builder shortcut and the Content Server Java Method Server startup parameter.
The following sections describe how to configure the startup parameters on Windows
and UNIX-based systems.
• Configuring HTTP proxy parameters in Windows, page 202
• Configuring HTTP proxy parameters in UNIX-based systems, page 203
This section describes how to configure HTTP proxy startup parameters on Windows
systems for the following:
• Process Builder shortcut
• Content Server Java Method Server
This section describes how to configure the Content Server Java Method Server startup
parameter in UNIX-based systems.
DFS services can be invoked in one of two ways from Process Builder.
• As a single service, meaning that a process contains one Dynamic Web Service activity
template that performs a single invocation of a DFS web service.
• As a chained service, meaning that a process contains multiple Dynamic Web Service
activity templates that invoke DFS web services. The repository identity information
is registered to a token that each activity template uses.
Note: The Dynamic Web Services activity template supports only base64 for content
transfers.
b. Map Username to
SOAPEnvelope/SOAPBody/params/register/arg0/
Identities[0]/@userName
c. Map Password to
SOAPEnvelope/SOAPBody/params/register/arg0/
Identities[0]/@password
d. Map Domain to
SOAPEnvelope/SOAPBody/params/register/arg0/
Identities[0]/@domain
Note: Use multiple <Identities/> when more than one repository is used for
authentication.
template, you define the connection to the email server, select options for processing the
message after it’s been read, and map data from the incoming message to the process
data that is used in the process.
For example, in a customer complaint business process, you can configure an inbound
email template as the initiate activity in the process. The activity polls the email server
and starts a new workflow when it receives a customer complaint email message. In the
following steps of the process, the system routes the email through a manual activity to a
person who reviews the complaint and resolves the issue.
1. In the Email Server Type field, select the protocol for connecting to the email server.
Valid values are IMAP or POP.
2. In the Host Name field, type the name or IP address of the email server.
3. Type the Port Number where the email server listens protocol (IMAP or POP)
requests.
The default values are provided based upon the protocol that you select.
4. Type the username and password for the email server.
5. Click the Test Connection button to verify that the connection parameters have
been entered correctly.
If the connection is unsuccessful, a red message appears below the text box. Modify
the values and try again.
6. Type the email Folder Name in which messages are processed (for example, Inbox).
You can also click Get Folder List... to view a list of email folders available on the
email server and select one.
7. For step activities, you can enter an email message header name that includes a
correlation ID in the Correlation Header Name.
A correlation ID is a unique string associated with each process instance and can be
used to identify a workflow and match the message to it.
Note: If the system cannot use the information in this field to match the message
to the workflow, it uses the mappings you create in Step 15 to match the response
to the request message.
8. Select an option for managing the message after it has been processed.
These options are dependent upon the email server type you’ve selected.
For POP3 email servers, the only valid post processing option is Delete Email
Message.
Valid options for IMAP servers are: Mark Email Message as Read, Delete Email
Message, or Move Email Message to Archive Folder.
9. If you have selected to move the message to an archive folder in the previous field,
type the name of the archive folder or click Get Folder List... to browse to the
archive folder.
10. Type in the number of seconds that passes before the listener checks for new
messages.
11. Type the number of email sessions available to process email messages.
12. Click Next to display the data mapping tool, where you can map the message data to
the process data.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
• Understanding the data mapping tool, page 145 provides procedures for using
the data mapping tool.
• Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
• Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree.
13. Click Next to display the data mapping tool, where you can specify rules that match
correlation set attributes to message attributes.
14. Select the Correlation Set that you are mapping from the list at the top of the page.
Understanding message correlation, page 157 gives more details on using correlation
sets to match messages from external sources to process data. Creating correlation
sets, page 78 gives more details on defining correlation sets for a process.
Fax Outbound
Note: Captaris RightFax is not included in the Process Suite bundle and must be
purchased and licensed through Captaris. Refer to the Captaris RightFax documentation
for instructions on installing and configuring the RightFax server.
Use the Fax Outbound activity template to send unidirectional messages to a Captaris
RightFax facsimile server. These messages can be fax requests sent from a process or
they can be queries that request the status of a single or multiple fax requests. Results of
the query appear in the inbox of the activity’s performer.
4. From the drop-down list box, select the Submit operation to send a fax request
to the RightFax server.
Submit sends a fax request to the RightFax server. Query gets the status of a fax
request submitted to the RightFax server based on a unique identifier.
5. Click the Test Right Fax Server URL button to verify that the RightFax server is
accessible from the activity template.
6. Click Next to map process data attributes to the fax request attributes.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
• Understanding the data mapping tool, page 145 provides procedures for using
the data mapping tool.
• Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
• Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree.
7. Map the following Recipient Details using process data in the data mapper screen:
a. Map ID to a unique ID for the request.
If you do not provide an ID for the request, the RightFax server generates one.
b. Map Name to the name of the recipient.
c. Map Company to the name of the recipient’s company.
d. Map Fax # to the destination facsimile phone number.
e. Map Cover Page Name to the name of the cover page template that is found
on the RightFax server.
The RighFax system supports two types of cover pages:
• Production cover sheets that use the file extension .cov. These cover pages
cannot be used when sending the fax to multiple recipients. In most
cases, the cover pages are located in the following location: C:\Program
Files\RightFax\Production\Covers.
• Enterprise cover sheets that use the following file extensions:
.pcl for print control language documents
.doc for Microsoft Word documents
.html for HTML documents
.mht for meta-HTML documents
These cover pages are stored in the following location: C:\Program
Files\RightFax\FCS.
Note: Facsimile cover pages must be created using specific criteria and must be
saved to a designated location on the RightFax server. Refer to the Captaris
To submit a query request to the RightFax server using the Fax Outbound
activity template
1. Type the URL for the RightFax server.
2. Type the username for the RightFax server.
3. From the drop-down list box, select the Query operation to retrieve the status of a
fax request submitted to the RightFax server based on a unique identifier.
4. Click the Test Right Fax Server URL button to verify that the RightFax server is
accessible from the activity template.
5. Click Next to map process data attributes to the Fax request attributes.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
• Understanding the data mapping tool, page 145 provides procedures for using
the data mapping tool.
• Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
• Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree.
6. Map the RightFax server’s response to the query using the following variables:
a. ID is the unique ID for the fax request that was submitted by the process.
b. Code is the status code of the request.
c. Message is the status message associated with the status code.
Some common messages are:
• Phone Line Problem
• Scheduled to be Sent
• Problem Converting Fax Body or Cover Sheet
For a complete list of messages, refer to the RightFax documentation.
Note: The user must have sufficient privileges to perform the mandatory post
processing operation configured in step 11.
5. In the Base folders field, type the path to the folders on the FTP server that will
be monitored.
6. In the Message Type field, select the option for the file downloads.
Valid options are:
• Compressed File, which enables the system to monitor for multiple files within an
archive.
• Directory, which enables the system to monitor for multiple files within a folder.
• File, which enables the system to monitor for a file.
7. Click the Validate button to verify that the connection parameters and base folder
path have been entered correctly.
8. In the Included File/Directory Name Pattern field, type the variables for file types
and directory names that you want to include in monitoring.
For example, type *.xml to monitor for any XML file.
9. In the Excluded File/ Directory Name Pattern field, type the variables for the file
types and directory names you want to exclude from monitoring
For example, type sam* to exclude all files that begin with sam.
10. For step activities only, type the Correlation Patterns that provide the filename
format that determines the correlation ID from the filename.
For example, the file sam_956d77f734b6d7fb97771be.xml can be represented (using
dollar signs $ as placeholder values) as sam_$id$.xml. The placeholder value $id$
represents the correlation ID 956d77f734b6d7fb97771be.
Placeholder values must be alphanumeric characters without spaces. The placeholder
token starts after the dollar sign $ and ends with first non-alphanumeric character.
Note: If the system is unable to use the Correlation Patterns field to match request
and response messages, then the system uses the correlation ID and the mapping
that you define in Step 17.
11. Select one of the following Post Processing Options for managing the file after it
has been downloaded and processed.
You can Archive or Delete the file, folder, or archive.
12. If you have selected to move the message to an archive folder in step 12, type the
name of the Archive Folder.
13. Type the number of FTP Processors available.
This is the total number of concurrent processors that can monitor for data at this
end-point. It is based upon the number of supported concurrent connections for
the FTP server.
Note: The number of FTP Processors should be greater than or equal to 1. This
number assumes one poller in existence, so if you are configuring three processors,
enter 3 in this field. When you are setting up your FTP server, you will have four
total concurrent connections.
14. Type the number of minutes used as the Polling Interval after which the system
checks for incoming files.
For example, if the polling frequency is set to 45, the FTP server is polled every 45
minutes for files.
Note: If you expect large files, it is best to use a higher polling interval.
15. Click Next to map FTP source attributes to process data attributes.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
• Understanding the data mapping tool, page 145 provides procedures for using
the data mapping tool.
• Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
• Adding an XML schema to activity content , page 149 provides instructions for
adding an XML schema to a message mapping.
• Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree.
16. Click Next to display the data mapping tool, where you can specify rules that match
correlation set attributes to the FTP message attributes.
Understanding message correlation, page 157 gives more details on using correlation
sets to match messages from external sources to process data. Creating correlation
sets, page 78 gives more details on defining correlation sets for a process.
Note: The message must contain structured data to be able to map the correlation
set attributes to the message attributes.
17. Select the Correlation Set that you are mapping from the list box at the top of the
page and configure the mappings for the activity.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
Adding an XML schema to activity content , page 149 provides instructions for
adding an XML schema to a message mapping.
FTP Outbound
Use the FTP Outbound activity template for activities that read messages from files.
These activity templates are particularly useful for processes that rely heavily on
file-based transactions such as financial auditing processes.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
• Understanding the data mapping tool, page 145 provides procedures for using
the data mapping tool.
• Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
• Adding an XML schema to activity content , page 149 provides instructions for
adding an XML schema to a message mapping.
• Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree
Based on the file types that you have chosen, you must complete the following
mappings:
• If you chose to have the files uploaded to a sub-folder, you must map process
data to the sub-folder on the right-hand side of the data mapping screen.
• If you chose to have the files uploaded to a compressed file, you must map
process to the Archive node.
• Additionally, at least one mapping from the process data to the Attachment
node must exist. Within this mapping, Content Name, Content Type, and Data
attributes must be configured, as well.
Note: The Content Type attribute mapping determines the mode in which data is
transmitted to the FTP server. If it is mapped to any string text, it is transmitted as
ASCII text. All other files are transferred in binary mode.
and can be mapped to a package or process variable. The response sent will be
a HTML page of consisting of the following message: Purchase Order 0896523
successfully processed, where 0896523 is the substituted value from the response data
mapping.
Note: All placeholder values must be mapped to process data.
10. Click Next to map the input request message to the process data.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
• Understanding the data mapping tool, page 145 provides procedures for using
the data mapping tool.
• Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
• Adding message properties, page 148 provides instructions for adding a
service-specific property to a message in order to complete a mapping.
• Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree
Depending on the types of protocol you’ve selected, complete the following
mappings:
• Messages using GET methods have no attachments, so only attributes for the
URL parameters and headers appear in the mapper.
• Messages using POST methods show mapping attributes for headers, body
attributes, and attachments, if attachments have been enabled in the previous
screen.
• Messages using PUT methods show mapping attributes for the header and one
body attachment, if attachments have been enabled on the previous screen.
11. Click Next to map the process data to the response message.
Use the data mapper to associate process data to the status, header, and body
attributes. Any placeholder values appear in the data mapper enabling you to map
values to send in the response to the client.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
• Understanding the data mapping tool, page 145 provides procedures for using
the data mapping tool.
• Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
• Adding an XML schema to activity content , page 149 provides instructions for
adding an XML schema to a message mapping.
• Adding message properties, page 148 provides instructions for adding a
service-specific property to a message in order to complete a mapping.
• Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree
12. Click Next to use the data mapper to associate the request message attributes to the
correlation set you choose in the next step.
13. Select the Correlation Set that you are mapping from the list box at the top of the
page and configure the mappings for the activity.
Understanding message correlation, page 157 gives more details on using correlation
sets to match messages from external sources to process data. Creating correlation
sets, page 78 gives more details on defining correlation sets for a process.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
• Understanding the data mapping tool, page 145 provides procedures for using
the data mapping tool.
• Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
• Adding message properties, page 148 provides instructions for adding a
service-specific property to a message in order to complete a mapping.
HTTP Outbound
The HTTP Outbound activity template sends an HTTP request to a specified URL and
can receive a response back from the server. The fields in the activity template enable
you to specify data that can be mapped to the process data model.
5. Click the Test Connection button to verify that the connection parameters have
been entered correctly.
If the connection is unsuccessful, a red message appears below the text box. Modify
the values and try again.
6. In the Connection Timeout (mins) field, type the number of minutes allowed before
the system terminates an idle connection.
7. If you want to include attachments in the request message, select Allow Attachments.
Attachments are only available for POST and PUT request types.
8. Click Next to map the process data to the request message.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
• Understanding the data mapping tool, page 145 provides procedures for using
the data mapping tool.
• Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
• Adding message properties, page 148 provides instructions for adding a
service-specific property to a message in order to complete a mapping.
• Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree
Messages using GET methods have no attachments, so only attributes for URL
parameters and headers appear in the mapper.
Messages using POST methods show mapping attributes for headers, body
attributes, or attachments, if attachments have been enabled in the previous
screen.
Messages using PUT methods show mapping attributes for the header and one
body attachment, if attachments have been enabled on the previous screen.
9. Click Next to map the response message to the process data.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
• Understanding the data mapping tool, page 145 provides procedures for using
the data mapping tool.
• Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
• Adding an XML schema to activity content , page 149 provides instructions for
adding an XML schema to a message mapping.
• Adding message properties, page 148 provides instructions for adding a
service-specific property to a message in order to complete a mapping.
• Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree
If the connection is unsuccessful, a red message appears below the text box.
Modify the values and try again.
3. Select Validate Schema to have the system check the validity of any XML schemas at
runtime.
4. Type the Number of Threads to be used to process the JMS messages.
Note: For topic connections, the default number of threads is always set to 1.
5. Click Next to display the data mapping tool, where you can map the message data to
the process data for the input message.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
• Understanding the data mapping tool, page 145 provides procedures for using
the data mapping tool.
• Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
• Adding an XML schema to activity content , page 149 provides instructions for
adding an XML schema to a message mapping.
• Adding message properties, page 148 provides instructions for adding a
service-specific property to a message in order to complete a mapping.
• Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree
6. Click Next to display the data mapping tool, where you can map message data
to the correlation sets.
7. Select the Correlation Set that you are mapping from the list box at the top of the
page and configure the mappings for the activity.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
• Understanding the data mapping tool, page 145 provides procedures for using
the data mapping tool.
• Adding an XML schema to activity content , page 149 provides instructions for
adding an XML schema to a message mapping.
• Adding message properties, page 148 provides instructions for adding a
service-specific property to a message in order to complete a mapping.
• Understanding message correlation, page 157 gives more details on using
correlation sets to match messages from external sources to process data.
Creating correlation sets, page 78 gives more details on defining correlation
sets for a process.
JMS Outbound
Use the JMS Outbound activity template to enable Process Builder to send messages to
an external application and then receive a response from that application. This template
can send XML messages, binary messages, and messages in other structured formats
such as .CSV files.
• Set values for either format or data node. This can be done by specifying a
constant value or by mapping values from any source node.
Users will see the following validation error if values are not specified for the
format or data nodes:
Content-type and/or Format not found in mapping rules for Package: <target-package>
You may use any of the available regular functions for copying package content. In
addition, you may use the String To Byte or Byte To String functions that supports
conversion of content to String data type. See Using data mapping functions, page
153 for more information on these functions.
See Understanding the data mapping tool, page 145 for details about using the data
mapping tool, and Using repeating attributes, page 151 for details about mapping
repeating-valued attributes.
3. Click OK or Apply to save the configuration settings.
At runtime, if the destination package exists, the content and format of the package is
replaced by the content and format of the source package. If the destination package
does not exist, a new package is created. The content from the source package,
including the content-type, is copied to the new package. However, if the source
package does not have a format mapping or content-type, then the value for the
format attribute in the destination package is set to crtext and the content-type as
text/plain.
SMTP
Use the SMTP activity template to send email messages with attachments to lists of
users. For example, you can add an activity template that sends an email message as a
response to a customer complaint or send an expense report in the body of the email
message for approval.
If the connection is unsuccessful, a red message appears below the text box. Modify
the values and try again.
6. Type the email subject template in the Subject Template field.
The subject template should consist of static text as well as placeholder values that
can be mapped to process data.
• Placeholders are prefixed with a dollar sign $ (for example, ${tokenname}).
• Use two dollar signs $$ to create multi-valued placeholders.
• To use a literal dollar sign in the email body, use \$ (for example, five hundred
dollars would be expressed as \$500.00).
Note: Placeholder values must be alphanumeric characters without spaces.
The placeholder token starts after the dollar sign $ and ends with first
non-alphanumeric character. Additionally, all placeholder values must be
mapped to process data.
7. Type the email template text in the Body Template text box.
You can include static text, HTML copied in from a third-party HTML editor, and
placeholder parameters that can be mapped to process data.
If you are including HTML markup in the email body, you must map the constant
value text/html to the Content-Type in the Body node of the email message. If
Content-Type is not mapped to a value, the content-type is by default text/plain.
• Placeholders are prefixed with a dollar sign $ (for example, ${tokenname}).
• Use two dollar signs $$ to create multi-valued placeholders.
• To use a literal dollar sign in the email body, use \$ (for example, five hundred
dollars would be expressed as \$500.00).
Note: Placeholder values must be alphanumeric characters without spaces.
The placeholder token starts after the dollar sign $ and ends with first
non-alphanumeric character. Additionally, all placeholder values must be
mapped to process data.
8. Click Next to create the input message mapping associating process data to the
email message.
The email message structure appears in the right-hand pane and the process data on
the left-hand side. You can set values for email message attributes by mapping them
from attributes of the process data model. If you have multiple email attachments,
you can click Add on the Attachment node to add more attachments.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
Understanding the data mapping tool, page 145 provides procedures for using the
data mapping tool.
Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree
Note: At least one of the recipient nodes (To, Bcc, or Cc) must be mapped from
process data or a constant value. Additionally, all placeholder nodes under the
Subject and Body nodes must be mapped at this point.
9. Click Next to map the output message.
For example, if you added a process variable emailMsgId, you can map the email
message ID attribute from the source message to that process variable.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
Understanding the data mapping tool, page 145 provides procedures for using the
data mapping tool.
Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
Adding an XML schema to activity content , page 149 provides instructions for
adding an XML schema to a message mapping.
Adding message properties, page 148 provides instructions for adding a
service-specific property to a message in order to complete a mapping.
Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree
Invoke Process
An Invoke Process activity launches a new workflow. The activity is complete when the
new workflow is started.
While the new workflow is logically a subprocess of the workflow that launches it,
there is no formal relationship between the workflow objects: they are independent. To
pause the current workflow until the process completes, define the next activity so that
it triggers in response to an event (on the Trigger tab) and include in the other process
an activity, based on the Post Event to Parent Process activity template, that posts the
event the parent process is waiting for.
Before configuring an Invoke Process activity, you must select the user to serve as the
workflow supervisor for the new workflow.
2. Select a child process from the Process Name list box. The required packages in the
selected template must match packages from the current workflow in both name and
type. The matching applies to all defined packages, not just visible packages.
3. Select an activity from the Start Activity list box, or select Start all activities.
This will start the selected activity of the new process, or start all Start Activities of
the process with the same workflow ID.
4. Click Next.
5. If the child process has packages, provide values for the packages using the data
mapping tool.
On the Input Message Mapping screen, the left column of the data mapping tool
shows the packages of the parent process. The right column shows the packages of
the child process. If there is more than one package in the process, you must map
the mandatory packages that are shown in bold. Failing to do so results in an error.
The right column also shows the Supervisor attribute. The value of this attribute
must be String data type. If you do not select the supervisor, then the supervisor
of the parent process is used. While mapping, the packages of the activity must be
of the same package type or a super type of the packages of the parent workflow.
See Understanding the data mapping tool, page 145 for details about using the data
mapping tool.
6. Click Next.
7. Use the data mapping tool to save the output values as package attribute values.
On the Output Message Mapping screen, the left column of the data mapping tool
shows the workflow ID of the activity. Users can optionally copy this ID to the
package attribute for tracking, or audit purposes. The right column shows package
attributes of the parent process.
See Understanding the data mapping tool, page 145 for details about using the data
mapping tool.
8. Click OK or Apply to save the configuration settings.
Web Service
This activity template enables you to invoke document-literal style web services. Web
Services activities differ from the other integration activities in two key ways:
• The content that you send to the Web service must be a well-formed XML file that is
namespace self-sufficient.
• Web services respond to messages sent to them, so the activity needs to be able to
handle a response.
To invoke a Web service, you must have a Web Services Description Language (WSDL)
document that provides the necessary information for accessing the service. The custom
parameters for Web Service activities identify the WSDL document and the XML content
to send to the service. They also specify how to handle the response from the Web service.
• WSDL document — This required parameter points to a file containing the WSDL
content for the Web service. The file must be a well-formed WSDL document stored
in the repository. You can navigate to the file by clicking the button next to the
text box.
• Service name — In many cases the WSDL document includes the name of the Web
service for the activity to invoke. If it does not, or if the WSDL document includes
more than one service definition, you need to type the Web service name in this
otherwise optional parameter.
• Operation name — This required parameter specifies the name of the Web service
operation to invoke.
• Port name — You need to type the port name for the intended service if the WSDL
document does not provide it or if it includes multiple port names.
• Send content from activity package — This optional parameter identifies which
content the activity passes to the Web service. The content must be well-formed
XML that is namespace self-sufficient. The parameter value is the name of one of the
activity’s inbound packages. If you do not provide a value, the activity sends the
content of the first inbound package (the package at index 0).
• Save Web service response — If you set this option to Yes, the activity saves the
response from the Web service as an XML document. The next two parameters
specify the name of the document and where in the repository it is saved. If you set
this option to No, the remaining parameters are not relevant.
• Save response to folder — If you elected to save the response from the Web service,
this parameter specifies the repository folder into which the activity saves the XML
document. The default location is /Temp.
• Response document name — If you elected to save the response from the Web
service, this parameter specifies the name given to the XML document. If you do not
type a name, the activity creates a name using the name of the Web service followed
by the word "Response" and the date and time of the response.
• Attach response document to package — If you elected to save the response from
the Web service, this parameter specifies the output package to which the XML
document is added. Adding the document to an output package causes the activity
to forward it to the next activity in the workflow. If you do not type the name of a
valid output package, the XML document is not forwarded.
• If the structured data type is in use, create a new structured data type with a different
name and define the target namespace in the schema used to create the structured
data type.
• If the structured data type is not in use, edit the schema to define a target namespace
and recreate the data type.
The SOAP message structure appears in the left-hand pane and the process data on
the right-hand side. You can set values for attributes of the process data model by
mapping them from SOAP message attributes.
The following mappings are required for attachments:
• Document content
• File format
If you have multiple attachments, you can click Add on the Attachment node to
add more attachments.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
Understanding the data mapping tool, page 145 provides procedures for using the
data mapping tool.
Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree
7. Click Next to map the output message.
You may find that you need to add attributes or elements to some of the data to
complete the mappings.
Using correlation identifiers, page 157 gives more details on defining correlation
sets for a process.
Understanding the data mapping tool, page 145 provides procedures for using the
data mapping tool.
Using repeating attributes, page 151 provides details on adding and mapping
repeating-valued attributes.
Adding an XML schema to activity content , page 149 provides instructions for
adding an XML schema to a message mapping.
Adding message properties, page 148 provides instructions for adding a
service-specific property to a message in order to complete a mapping.
Mapping package attributes, page 147 provides instructions for exposing other
source attributes of a package that do not currently appear in the tree
Sample
The Sample window contains a sample activity template that shows the various types of
user interface controls available for custom activity data-entry panels. In addition to the
sample activity template, the Sample window includes two activity templates related
to queue management:
packages to either the Next Rework Activity or the Next No Rework Activity. It
determines which activity to route each package to based on two factors: (a) the Percent
Quality Check specified in the work queue policy associated with the Activity to Check,
and (b) the Required Skill Level parameter.
• Activity to Check — This required parameter specifies the activity that performs the
initial document processing. The performer type for this activity should be category
10 (Work Queue). Enter the activity name.
• Required Skill Level — The skill level of the performers whose work should be
checked. The range of valid values is from 0 (Trainee) to 10 (Advanced).
• Next Rework Activity Name — This required parameter specifies the activity that
performs the quality check. Enter the activity name.
• Next No Rework Activity Name — This required parameter specifies the activity to
which documents not requiring a quality check are routed next. Enter the activity
name.
The routing logic for each package is:
1. If the Percent Quality Check value from the Activity to Check is zero, route the
package to the Next No Rework Activity.
2. If the performer who handled this package in the Activity to Check has a skill level
less than the Required Skill Level parameter value, route the package to the Next
Rework Activity.
3. Route all remaining packages to the Next Rework and Next No Rework activities
in the percentage specified by the Percent Quality Check value. For example, if the
Percent Quality Check is 20 percent, route one out of every five documents to the
Next Rework activity.
Note: These templates are installed as part of the BPM.dar file and requires you to install
Process Integrator. TheProcess Integrator Activity Template 6.5 Migration Guide provides
more details on backwards compatibility for deprecated activity templates.
Start Sub-Process
An Invoke Process activity launches a new workflow. All packages from the current
workflow whose names and types match packages in the process template for the new
workflow are passed to the new workflow. The activity is complete when the new
workflow is started.
While the new workflow is logically a subprocess of the workflow that launches it, there
is no formal relationship between the workflow objects — they are independent. To
pause the current workflow until the subprocess completes, define the next activity so
that it triggers in response to an event (on the Trigger tab) and include in the subprocess
an activity, based on the Post Event to Parent Process activity template, that posts the
event the parent process is waiting for.
• Start this workflow as a sub-process — Select the process template to use for the new
workflow from the list box. The required packages in the selected template must
match packages from the current workflow in both name and type. The matching
applies to all defined packages, not just visible packages.
• Sub-Process supervisor — Select the user to serve as the workflow supervisor for
the new workflow.
SMTP
You use this activity template to deliver content using email. Its parameters define
the content of the message, the address to which it is delivered, and the SMTP server
used to send the mail.
When you send content using email, the content files are delivered as attachments to
the message.
• To — This required parameter is the email address of the recipient, including both
the username and domain name (user@domain). You can include multiple recipients
separated by commas.
Click the ellipsis button (...) to display the Substitution Variable Dialog and choose
runtime variables.
• Cc and Bcc — These optional parameters list additional recipients of the email
message, in the same format as the To parameter.
• From — This required parameter is the email address of the sender, which displays
in the From field of the delivered message.
• Reply to — The address to which responses to this message are sent. Use this
parameter to format the reply address so that it properly addresses a Process
Integrator message handler. Typically, the Reply to address will include variables
for the server to replace at runtime, such as the workflow ID of the current
workflow. Appendix B, Substitution Variables for Custom Activity Template
Properties provides more details on this subject.
• Subject — The text you enter for this parameter displays as the subject line of the
delivered message. If you leave it blank, the message is delivered with an empty
subject line.
• SMTP Server hostname or IP — This required parameter identifies the SMTP server
used to send the message. You can type the name of the host machine or its IP
address.
• SMTP Server port number — This optional parameter identifies the port number
for the SMTP server. If you do not provide a value, the activity uses the standard
SMTP port 25.
• SMTP Server authentication user name and SMTP Server authentication password
— If the SMTP server requires a username and password, provide the name and
password.
• Attach content from activity packages — This optional parameter identifies which
content the activity includes as attachments to the email message. The value is the
names of one or more of the activity’s inbound packages, separated by commas.
If you do not provide a value, the activity sends the content of the first inbound
package (the package at index 0).
• Attach all content in folder packages — If any of the packages are sending contain
folder objects, the activity can send all documents in the folder (Yes) or it can skip
over the folder (No). If you click Yes, the activity attaches only those documents
directly inside the folder. It does not recursively attach documents from any
subfolders.
• Attach URL to the documents in message — Enables the URL to be shown as part of
the email message body.
• Attach URL to activity packages in message — Enables a user to add packages and
display the corresponding URL in the email message body.
• Attach URL to workflow attachments in message — Enables a user to add an ad hoc
attachment’s URL in the email message body.
• Use default URL to Webtop — Select No to enable users to use a URL other than
the default Webtop URL.
• Provide your URL prefix if not using default — If you are not using the default
Webtop URL, type the URL prefix to be used in the email message body.
• Provide your URL suffix if not using default — If you are not using the default
Webtop URL, type the URL suffix to be used in the email message body.
FTP
You use the FTP activity template to post content to an FTP site or directly to a file system.
• Protocol — This list box displays the available protocols for posting the content.
The supported standard protocols are FTP, FTPS (FTP over SSL), SFTP (SSH FTP),
and File.
• Server — The hostname or IP address of the FTP server to post the content to.
• Port — The port number on which the FTP server is listening.
• FTP Server user name — The username for connecting to the FTP server.
• FTP Server password — The password for the username.
• Remote Directory — The directory into which the content is posted.
• Transfer Mode — Select which method the activity uses when it posts the content.
When you select the Archive option, the activity creates a Zip file containing all of
the content and places it in the specified Remote Directory. When you select Create
Sub Directory, the activity creates a unique subdirectory in the specified Remote
Directory and places all of the content in the subdirectory. When you select All
Packages in Base Directory, the content is placed in the specified Remote Directory.
• Attach content from activity packages — This optional parameter identifies which
content the activity posts to the specified location. The value is the name of one or
more of the activity’s inbound packages. If you do not provide a value, the activity
posts the content of the first inbound package (the package at index 0).
• Archive/Directory Name — If you chose Archive or Create Sub Directory as the
Transfer Mode, the activity uses the value in this field to name the ZIP file or
subdirectory. When providing a directory name, you typically want to include a
substitution variable in the name, such as the workflow ID, so that the activity
creates a unique subdirectory for each workflow.
• Overwrite folder contents — Select whether or not to overwrite the existing files or
folders in the base directory of the FTP server with the one being transferred.
HTTP Post
The activity template for posting content using HTTP is the most straightforward of the
integration activity templates. It has one required custom parameter and two optional
parameters.
• URL — This required parameter is the complete URL of the site to which the activity
posts content, starting with the protocol prefix http://.
• Timeout (sec) — This optional parameter sets the timeout value for the HTTP
connection, in seconds. If you do not include a timeout value or set it to 0, the
connection will not timeout.
• Send content from activity package — This optional parameter identifies which
content the activity posts to the specified URL. The value is the name of one of the
activity’s inbound packages. If you do not provide a value, the activity sends the
content of the first inbound package (the package at index 0). You can only post
the content from one package.
activities that send to JMS queues. Publish to JMS Topic, page 236 provides information
about publishing to JMS topics.
Note: Use Send to MQ JMS, page 238 to send messages to a queue when IBM MQ series
is the JMS provider.
• JNDI initial context factory class — This required parameter provides the fully
qualified class name of the JNDI initial context factory class.
• JMS provider URL — This required parameter provides the complete URL for
connecting to the JMS provider.
• Queue connection factory JNDI name — This required parameter gives the JNDI
name of the queue connection factory for the specified JMS provider.
• Queue name — This required parameter gives the name of the queue to which you
want to send the content.
• Reply to Queue name — This optional parameter provides the name of the JMS
queue to which any response message is sent.
• Message correlation ID — Process Integrator enables you to specify how inbound
messages are handled. The message correlation ID is the ID that Process Integrator
will use to identify messages as coming in response to this outgoing message.
• Send content from activity package — This optional parameter identifies which
content the activity posts to the specified URL. The value is the name of one of the
activity’s inbound packages. If you do not provide a value, the activity sends the
content of the first inbound package (the package at index 0). You can post the
content from only one package.
Send to MQ JMS
Use this activity template to send content using Java Message Service (JMS) with IBM
MQ series as the JMS provider. All parameters are required.
Note: Use Send to JMS Queue, page 237 to send messages to a JMS queue when using a
JMS provider other than IBM MQ series.
• Server — The IP address or fully qualified name of the machine on which WebSphere
MQ is running.
• Port — The port on which the Queue Manager is listening. The default is 1414.
• Queue Manager — The name of the WebSphere Queue Manager. The name is case
sensitive. In most cases, the name has the form WAS_nodename_servername.
• Queue Name — The name of the queue to which you want to send the content. The
queue must be managed by the specified Queue Manager. The queue name has
the form WQ_queuename. You can locate the queuename queuename by selecting
Servers > Application Servers > servername > Server Component > Queue names
in WebSphere MQ.
• Channel Name — The name of the server connection changed created in WebSphere
MQ for connecting to MQ.
• Request Package — This parameter identifies which content the activity posts to the
specified queue. The value is the name of one of the activity’s inbound packages.
You can only post the content from one package.
Lifecycle Demote
Activities based on this template demote one or more packages to a previous state in the
associated lifecycle. You can choose to demote the package(s) to the base state (the first
state in the ordered list) or to any previous state that you identify by name.
• Package(s) To Demote — Click the ... button to display a dialog box from which you
can select the process packages that you want to demote to a previous lifecycle
state. For each package you want to demote, highlight its name in the list on the left
and click the Add button to move it to the list of selected packages on the right.
When you click OK in the dialog box, the names of the selected packages appear in
the data field.
• Demote To State — To demote the selected packages to a specific state, type the name
of the state in this field. If you leave this blank, it is demoted back to the previous
state.
• Demote To Base State — To demote the selected packages to the base state of the
lifecycle, select the Yes option.
Lifecycle Promote
Activities based on this template promote one or more packages to a subsequent state in
the associated lifecycle.
• Package(s) To Promote — Click the ... button to display a dialog box from which you
can select the process packages that you want to promote to a subsequent lifecycle
state. For each package you want to promote, highlight its name in the list on the
left and click the Add button to move it to the list of selected packages on the right.
When you click OK in the dialog box, the names of the selected packages appear in
the data field.
• Promote To State — Enter the name of the lifecycle state to which you want to
promote the selected packages. If left blank, the package is demoted to the previous
state.
• Force Promotion — Each lifecycle state has a set of entry criteria that a document
normally must meet in order to be promoted to that state. However, the Lifecycle
Promote activity template enables you to "force" promotion of a package even if it
does not meet the entry criteria for the state. Select the Yes option to promote the
selected packages regardless of whether they meet the entry criteria for the state.
BAM
The Observation Point activity template in the BAM folder provides a means of
publishing business data contained in packages from Process Builder to the ProActivity
database. This data becomes available to the Report Manager, where report designers
can create BAM reports based on package data.
Observation Point
This activity template enables you to select packages associated with a specific activity
and publish the business data to Process Analyzer to be used in reports. Activities that
are followed by an Observation Point activity template can publish package data to
Process Analyzer.
At runtime, the Observation Point activity inserts some standard attributes and all
custom attributes into the audit trail table where the Workflow Publish Events job picks
up the data and publishes it to the Process Analyzer. The following list shows the
standard attributes that are published as part of any attribute type definition:
• r_object_id
• object_name
• subject
• keywords
• title
• r_creation_date
• r_modify_date
Note: The audit trail must be enabled in the process template for package data to be
published by the Workflow Publish Events job.
See Setting process template properties, page 66 for more information on enabling the
audit trail.
b. Highlight the package name in the list on the left and click Add to add it to
the Selected Items list on the right.
c. Repeat these two steps for each package that you want to add.
d. When the selection list includes all of the packages that you want to monitor,
click OK.
The Select Packages tab displays a list of the packages that have been flagged for
monitoring.
Note: Observation Point activity templates are not visible when imported into Process
Analyzer. Instead, the activity that precedes the activity template is flagged as a
monitored activity and contains information detailing which packages are identified
for reporting. When the business process is imported back into Process Builder, the
Observation Point activity template is restored in the process flow.
The Workflow Publish Events job publishes the events captured in the audit trail to the
ProActivity database at regular intervals. This job is delivered as part of the Process
Engine install. For more information on configuring the dm_WFPublishEvents job, see
Process Builder Installation Guide.
When typing values into the fields on a custom tab in the Activity Inspector, a user can include
variables that are replaced at runtime with values from the current environment, such as the name
of the workflow or the task performer. The variable can be the complete value of the field, or it can
appear anywhere within a longer string that contains literal text, other substitution variables, or both.
Note: Variable substitution is available only in fields whose data type is String.
To include a variable, type <dmp:param>supported_variable</dmp:param>, where supported_variable is
one of the variables listed in the table below. Each variable is composed of two parts, separated by
a period: a parameter type, which identifies the type of the object from which the value is derived,
and an attribute name, which identifies the specific value to insert at runtime. For example, the
variable <dmp:param>workflow.creator</dmp:param> will be replaced at runtime with the value of
the creator attribute of the workflow object. If the selected attribute can have multiple values, the
substitution variable also includes an index to specify which of the values to use.
If a field has an ellipsis (...) button next to it, you can select the variable from a dialog box rather
than typing it. When you close the dialog box, Process Builder inserts the selected variable at the
current cursor location.
5. If you selected any parameter type other than alias, select from the Attribute list the
attribute whose value you want to substitute into the string.
6. If the attribute you selected at step 5 can have multiple values, specify which value to
use by selecting FIRST or LAST from the Index list.
To use the value from a specific index position other than FIRST or LAST, edit the
variable after closing the dialog box, replacing FIRST or LAST with an integer value.
The FIRST position is equivalent to index position 0.
7. Click OK to close the dialog box.
Process Builder inserts the selected variable at the current cursor location.
Variable Description
workflow.creator The username of the person who created
the workflow
workflow.instructions The text from the Workflow Instructions
text box in the Process Properties dialog
box.
workflow.id The ID of the workflow
workflow.name The name of the workflow
workflow.process_id The ID of the process template from which
the workflow was generated
workflow.start_date The date when the workflow was started
workflow.supervisor The username of the person identified as
the workflow supervisor (the workflow
creator by default)
workflow.supervisor_address The workflow supervisor’s email address
task.act_id The ID of the activity that generated the
current task
task.number The sequence number within the workflow
of the activity that generated the task
task.auto_method_id The ID of the method definition for an
automatic activity. If the task is not an
automatic activity, the value of the variable
is "0000000000000000".
task.creation_date The date format is determined by the
default time pattern set in DFC.
Variable Description
task.due_date The date format is determined by the
default time pattern set in DFC. If the task
has no due date, the value of the variable
is "nulldate".
task.performer The performer of the task
Variable Description
note.creation_date The date when the note was created
alias.alias_nameor alias.alias_set.alias_name System alias, where alias_name identifies
the alias you want to resolve. If you include
the optional alias_set, the server uses the
alias from the specified alias set
VarName or VarName.<attribute value> The value of the process variable
Process Builder has a configuration file that controls certain aspects of its user interface. The
bpmconfig file is an XML file that resides in the folder \System\Workflow\Config. It controls:
• Whether Process Builder enables users to set the object type or version for packages
• Where in the repository users can save process templates
• Whether Process Builder requires unique names for process templates
• How many process template names appear in the Recent File list available from the File menu
The table below describes the parameters in the configuration file. To change a value, edit the file with
a text editor, changing the values as necessary.
A configuring, 105
Access Control Lists, see ACLs creating a new template, 104
ACLs Definition tab, 106
assigning to a variable, 73 activity template window
minimum permissions, 75 adding templates, 105
selecting, 76 copying custom templates, 105
setting, 75 overview, 50
system, 76 activity templates
user, 76 configuring, 105
activities copying, 104 to 105
aligning, 57 creating, 104
changing display settings, 143 installing, 107 to 108
connecting, 93 location within system, 50
copying, 56 setting preferences, 47
described, 17 showing prompt messages, 48
enabling delegation, 113 showing validation and install
fault handler, 19 prompts, 48
initiate, 18 states, 51
moving, 56 uninstalling, 107 to 108
overriding, 74 validating, 107
pasting, 56 Add Business Day function, 154
performer roles, 24 Add Days function, 154
performers, 24 Add function, 153
planning, 23 adding categories, 51
repeatable, 127 Advanced tab, 75
replacing, 58 aging tasks, 30
retry intervals, 113 alias sets
selecting conditionally, 41 default, 119
setting triggers, 126 specific, 119
snap to grid, 58 aliases
task subjects, 28 creating alias sets, 27
transition types, 40 performers alias, 130
trigger condition, 37 using in workflow, 27
wait for messages, 18 aligning activities, 57
Activity Inspector, 109 all users in a group, 25
activity template folders all versions, 64
adding, 47 Apply to all selected option, 93, 110
removing, 48 assign performers now, 117
removing activity templates, 105 assigning performers, 116
Activity Template Inspector asynchronous messages, 18
attributes, 147
toolbar icons, 45 W
ToUpper function, 157 wait for message activities, 17 to 18
Transition Condition Wizard, 135 warning messages, 48
transition rules, 133 warning timers, 38, 99, 127
Transition tab, 109, 133 Web Service activity template, 227
transition types, 40 work items, 17
transitions work queue, 26
conditions, 41 work queue priority module, 114
Trigger tab, 109 work queue skill set, 124
triggers workflow availability, 28
events, 38 workflow instructions, 67
setting, 37, 126 workflow supervisor, 24
Workflow toolbar, 45
U workflows
uninstalling overview, 13
activity templates, 107 to 108 packages, 34
process templates, 82 planning, 22
Update BAM Data Definitions option, 49 process variables, 36
Use Form for Properties, 71
X
V XML schemas
validated state, 64, 103 adding to messages, 149
validating in Activity Template Inspector, 106
activity templates, 107 using in structured data types, 55
process templates, 81 XPDL
validation exporting, 89
server, 107 importing, 87
showing prompt messages, 48 re-importing, 88
variables XPDL files, 46
editing, 143 XSD file, 55
substitution, 175, 179, 185, 187, 189, XSL Transformation activity template, 183
195, 243
versions, 70 Z
View menu, 44 zoom options, 58
viewing processes, 64