Professional Documents
Culture Documents
xCelerated Composition
Platform
Version 1.6
EMC Corporation
Corporate Headquarters:
Hopkinton, MA 017489103
15084351000
www.EMC.com
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.
Copyright 2011 EMC Corporation. All rights reserved.
Table of Contents
Chapter 1
Overview ..........................................................................................................9
Introduction........................................................................................................9
Advantages of using an automated system ..........................................................9
Recommended approach to solution construction...............................................10
An example: a Grants Management application .................................................10
Technology Considerations ............................................................................... 11
Chapter 2
Product Overview...........................................................................................13
Documentum products......................................................................................13
Documentum ECM platform ..............................................................................14
Service-oriented architecture .........................................................................14
Content management and repository services.................................................14
Business process management.........................................................................14
Chapter 3
Chapter 4
Chapter 5
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Table of Contents
Designing activities...........................................................................................33
Defining activity triggers ................................................................................34
Creating wait activities...................................................................................34
Sending tasks to a temporary set of users ......................................................34
Designing processes ........................................................................................35
Creating complex conditional routing with a decision split ................................35
Using sub-processes.....................................................................................36
Understanding message correlation ...............................................................36
Using the data mapper .....................................................................................37
Mapping repeating attributes..........................................................................37
Setting the context for repeating attributes ......................................................38
Adding multi-valued attributes ........................................................................41
XML and other data formats...........................................................................42
Setting custom object types for attachments ...................................................42
Looping ...........................................................................................................42
Inter-process communication ............................................................................50
Using the process debugger .............................................................................55
Debugging custom methods with the process debugger ..................................56
Process design and Business Activity Monitor (BAM)..........................................57
Enabling reporting for BAM............................................................................58
Reporting on data in an external database to BAM ..........................................59
Process design and performance ......................................................................59
Choose one automatic performer ...................................................................59
Performance and stability of executing automated workflow activities ...............60
Large SDTs and performance ........................................................................60
Deployment considerations ...............................................................................60
Migrating or upgrading Process Builder ..........................................................61
Process versioning........................................................................................61
Accessing structured data types from a custom application .................................61
Chapter 6
Chapter 7
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Table of Contents
Chapter 9
Chapter 10
Appendix A
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Preface
This guide is intended to help EMC partners and practitioners use the Documentum xCelerated
Composition Platform (xCP) products to build repeatable business solutions. It focuses on the
best practices for using these products by covering topics such as planning, implementation,
performance, and deployment.
This guide addresses process-based applications and makes recommendations on how to integrate
these products to produce an end-to-end solution. These processed-based applications can be broken
down into a series of steps, in which an individual or software system performs each step. Examples
of process-based applications are ordering a book over the Internet, applying for a checking account,
placing a trip reservation, making an insurance claim, and applying for a loan.
Note:
This guide should be used in addition to, and not a replacement for, the user guides that come
with the individual products. This guide also assumes that you are familiar with xCP products.
We refer to the recommendations in this guide as best practices. However, most of the
recommendations are really good practices that work under most conditions. Each client is
different in both goals and environment, and not all recommendations work in all situations.
As you design a solution, consider the trade-offs between usability, performance, and time to
market, and make an assessment based on that information. For example, this guide provides
several suggestions on improving performance, these suggestions could be relaxed for small
implementations with just a handful of users. You may determine that it is best to deviate from
some of these best practices based on your trade-off analysis.
Intended Audience
The audience for this guide is the project team that is creating business solutions. In particular,
the primary audience includes Application Development Managers, Partner Project Architects,
and Project Managers.
Revision History
The following changes have been made to this document.
Revision Date
Description
April 2011
Initial publication
August 2011
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Preface
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Chapter 1
Overview
This chapter discusses the following:
Introduction
Technology Considerations
Introduction
Business processes occur in many contexts: government, law, health-care, insurance, retail,
telecommunications, and other domains. A process orchestrates a combination of human and
automated activities that produce and deliver information. This information can be in the form of
structured data or unstructured content, and the process must be able to manage both types easily and
seamlessly. During the course of the process, users add documents and enter business data. The
process uses this information to route the process to the correct people. The people working in the
process use this process information to make the correct decisions.
One example of process-based solution is case management. The case launches one or more processes
to perform its work. The best practices described in this document apply to both case management
solutions and to process-based applications in general. See the xCelerated Composition Platform (xCP)
Grants Management Sample Application and its documentation (xCelerated Composition Platform
Grants Management Sample Application Technical Reference Guide) for an in-depth discussion of
case management concepts and practices.
Overview
Provides security and information rights management to keep personal information secure
Uses a secure repository to meet government requirements for secure records management
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Overview
Technology Considerations
Process-based applications blend the human element with the software system element. The human
element is the part that calls for making judgment calls and decisions. The software systems that
manage the information and the process support these decisions.
The solution is based on three technology foundations:
Business Process Management - to define and orchestrate the series of activities to be performed
Enterprise Content Management - to manage documents, images, and associated metadata
Collaboration - to provide the ability for involved parties to interact, share information, and make
joint decisions
In addition, the following EMC products provide vital services to a process-based application solution:
Captiva: The product family for transforming business-critical paper, fax, and electronic data
sources into business-ready content suitable for processing by enterprise applications.
Process Builder: Allows for the creation of process templates. A process template captures the
definition of a business process, enabling users to perform the process repeatedly.
Forms Builder: An interactive tool used to create and modify form-based templates and store them
in a repository. Forms Builder enables users to design user interface templates for searching, viewing
documents and folders, process initiation, task lists, tasks, and basic forms within Documentum xCP.
Process Engine/Process Integrator: The server components that orchestrate processes and
integrate with external systems and data.
TaskSpace: The easy to configure user interface that can be used for task processing and document
retrieval in the business process. TaskSpace offers integrated document viewing with annotations
and enables the management of work queues. TaskSpace is the user interface for the application.
Business Activity Monitor (BAM): Provides a performance dashboard for monitoring and
analyzing process-based applications. In real time, BAM tracks defined key performance indicators
(KPIs), reporting on process performance and providing alerts for conditions that fall outside of
designated thresholds. With BAM, the manager can assess the overall performance level of the
application and focus on problems in a specific case.
Records Management: Provides the means to ensure compliance with legal and regulatory
requirements. The agency can set rules for retention policies to preserve case files for a specified
time. The process automatically triggers this capability.
Documentum Collaborative Services: Enables teams to work securely and collaboratively within
web applications.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
11
Overview
12
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Chapter 2
Product Overview
This chapter discusses the following:
Documentum products
Documentum products
The Documentum enterprise content management (ECM) and business process management (BPM)
products provide a single platform with a complete, fully integrated set of technologies that interact to
build comprehensive business solutions.
The following figure illustrates the core Documentum ECM and BPM products as they are typically
deployed to support business solutions:
Figure 1
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
13
Product Overview
Service-oriented architecture
Service-oriented architecture (SOA) looks at IT assets as service components, establishing a software
architectural approach to building business applications. The SOA approach is based on creating
standalone, task-specific reusable software components that function and are made available as
services.
14
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Product Overview
Application
presentation and
composition
Business process
design and workflow
configuration
Application GUI
design
Reports
Team collaboration
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
15
Product Overview
Process automation,
services orchestration,
human task
management
The Documentum Process Engine carries out the automation of all business
processes defined by Process Builder in the applications. Process Engine
deploys into the embedded JBoss application server that is provided as part
of the Documentum Server. Certain aspects of the Process Engine also
execute in the Documentum Content Server, specifically process runtime
state management, which uses the Documentum Repository for state
persistence.
The following products are optionally available and provide additional integrated capabilities to
Documentum xCP:
Compliance
Retention Policy Services and Records Manager automate the entire content
lifecycle to mitigate risk of non-compliance and leverage full audit control
for retention policy management and records management.
Information capture
and input
Dynamic
correspondence
generation
16
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Chapter 3
Planning and Designing the Application
This chapter discusses the following:
Project preparation
Design Review
Thorough planning and testing is important for process-based applications and can make a difference
in whether a project succeeds or fails. What makes this possible is the extensive use of templates for
creating processes, forms, reports, and user interfaces. Anticipating risks, aligning on requirements,
and designing the solution carefully are critical to success.
Another best practice recommendation is to use an agile methodology. Break up the full application
into smaller modules and establish frequent cycles of design, implementation, and testing, as illustrated
in the above diagram. This approach is considered a more successful alternative to the classic waterfall
approach.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
17
The goal of the xCP platform is to enable solution construction with little or no custom coding. Use
templates to create processes, forms, and user interface screens. For planning, xCP applications can
require more time dedicated to requirements gathering and solution prototyping.
This chapter addresses business requirements, solution design, and prototyping. It offers suggestions
for planning and designing solutions that are directly relevant to EMC products.
Project preparation
To prepare the project, do the following:
A single person or several people can play these roles, depending on the size and staffing of the project.
The architects must work closely together to ensure consistency of approach.
Take Training
Training is important for project architects to understand the product architecture and current features
of EMC Documentum products. Training can be carried out in formal training classes, in targeted
meetings with engineering, or in EMC MyLearn web-based classes.
18
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
19
the client the ways in which xCP addresses these alternatives. Define the client requirements clearly
before implementing xCP projects.
Customization
Try to avoid customization. Following client specifications exactly can require costly and
time-consuming customization. It is more efficient to work within the functionality of the tools.
Customization prolongs the time to solution and creates a challenge with future upgrades. xCP
projects are high volume. If there are numerous customizations, the upgrade process can be risky and
expensive. The client may need to rebuild each application customization from scratch, driving up
the total cost of ownership and increases risk. There may be some cases when you need to write
custom code, but keep it to the absolute minimum.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Do not think of these areas as being independent from one another. For example, requirements for
BAM reports can suggest data fields to incorporate into the data model. In turn, these fields will be
entered into forms by task processors (or captured in automated activities). One corollary of this
observation is that the user interface architect must communicate frequently with the information
architect to ensure consistency and completeness.
The delivery team must understand the interdependence of the Process Definition, UI, BAM, and Data
Model so they can properly advise the client. Ideally, the project team creates templates to facilitate the
clients understanding of the interdependencies. If the client wants to change the model, then the client
understands the corresponding impact on cost. This also helps the client to understand the importance
of the information the client provides to the delivery team.
The guiding principle of this phase is Iterative Design. This means that a solution cannot be designed
in a single step, but you need a series of workshops to reveal the design. It is not a linear path and
the design can change several times, which is relatively easy to do in the planning phase. After the
data model is finalized and development begins, fundamental changes can be disruptive. For example,
changing the field definitions in the data model causes forms to break (since forms link to data through
xpath). Complete the data model in the design phase and then lock it down.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
21
After the client business team agrees with the structure and flow of the process, it can be transferred to
Process Builder to add the technical detail. As you refine the process in Process Builder, continue
to review the process flow with the client. One effective way to review the process flow is to use
the Process Debugger.
The Process Debugger allows you to execute the process one step at a time with real data. This can be
done even if the user interface has not yet been designed. This is an effective way to show the client,
while still in the design stage, how the process will work. In some cases, the client may be familiar
with how the process should work, while in other cases, the client may still be learning the process. In
general, the message is to use the Process Debugger early and use it often.
22
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Example: TaskSpace
Creating the user interface is one of the biggest challenges in solution development. TaskSpace,
because it is composed of forms, provides flexibility in user interface design. The following is an
example of a TaskSpace screen showing a view of a case folder:
Work with the client to define a consistent approach to style. We recommend writing a Style Guide
that specifies standards for colors, skins, columns, labels, search criteria, sort order, and any items
pertaining to the UI. A detailed specification takes time to write, but it saves time during the
implementation phase of the project. Keep it simple and do not over-engineer.
Note: Design the Style Guide as a structured template to ensure that you are gathering the appropriate
information. Also use this template to show the client how things will be implemented and to track any
configuration changes. The result is to create a consistent look and feel for the application.
Example: BAM
With BAM, the first step in the planning is to identify the users; that is, the roles of the individuals who
need access to the dashboards. For example, one role can be the operational manager who watches
each case or process instance to ensure that it meets the Key Performance Indicators (KPIs) for
process timing and quality. Another role can be the Line of Business (LOB) executive who tracks
process performance against aggregate business goals. These two roles require different dashboards
that contain different reports.
Following is an example of a template for capturing this information:
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
23
The next step is to focus on each role and identify the report required. Write a reports summary
specification, which can be based on the following template:
01-RPT-07 - Revenue by Type (report number and name)
Report Purpose
Summarize why this report is needed.
Report Details
Report Type
Describe the structure, information contained in the report and any drill-down behavior.
Audience
The audience for this report includes:
Role 1
Role 2...
Frequency and Timing
How often will the data in this report be changed? How often should the report be refreshed?
Report Sample (mockup)
24
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Filters
Describe filters that the user needs
Drilldowns
Is there a need to drill this report down? If so, on what field will the drill-down occur and what is the
drill-down report?
Avoid burdening the user with too much information in the dashboard. If more detail is needed,
then the report designer can create drilldowns.
For example, you have a process that is a new account opening. The executive user has requested
to see three things in the dashboard:
The number of new accounts that were opened in each country (this week)
The distribution of new accounts by customer type
The average time to complete the new accounts opening process
The first report is a bar chart, the second report is a pie chart, and the third report is a dial-gauge. In the
client workshops, the BAM architect can present the following reports to the client in rough form:
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
25
Figure 2
Figure 3
26
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Figure 4
These reports can be created in Excel, PowerPoint, or drawn by hand. The dashboard can be mocked
up by copying and pasting these reports.
The general approach is to do simple things first to ensure that everyone agrees on the report
prototypes. The report can be polished or enhanced at a later date. The goal is to confirm early and
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
27
then refine to avoid creating something that the client does not want. After the client is comfortable
with the rough dashboard prototype, progress to more polished reports that were created in Process
Reporting Services:
Over time, the number of reports will grow and drill-downs and multi-drill-downs will be defined. You
can create additional dashboard pages. Some reports can be moved from one page to another. This
process is the normal, iterative process of designing BAM dashboards.
Design Review
At the end of the design phase, the project manager can schedule a design review to validate the
design. This meeting can include architects and system experts who are not members of the solution
project in addition to EMC engineers to ensure the technical feasibility of the proposed solution. The
information gathered in the templates can be used as supporting materials to the solution design
presented to the client for signature. This process reinforces the design direction the team has taken
and justifies decisions made on the design. Following a successful design review with client sign-off,
the project can move into the implementation/development phase.
28
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Chapter 4
Creating the Data Model
This chapter discusses the following:
29
submitter_address, and equipment_type. Within each SDT, you can also organize attributes into related
groups that give visual structure to the data type. For example, within the customer SDT, you can
have an address group that contains the attributes for city and state.
SDT definitions are global and can be used by any process. An SDT used by an installed process
cannot be deleted nor should any of its attributes be modified or deleted. However, it is possible
to add new attributes to an SDT that is in use.
Process variables store transient data; that is, data that is not needed after the workflow terminates.
Typically, this data is fetched from a non-Documentum system of record (another database, for
example) or is used for an internal calculation. The Process Engine manages the lifecycle of a
process instantiating the process variables when the workflow is started and destroying them when the
workflow terminates.
Creating an SDT for each object in your workflow can help to simplify your data model. However,
you should organize your SDTs in a logical manner, corresponding to business entities. If you have
too many SDTs, you can end up with performance problems with the TaskSpace task list. If that
occurs, then you need to consolidate the SDTs.
Understanding packages
A package is associated with a Documentum object, such as documents or image files, which is
passed between activities in an executing process.
To act on a document in any way, it must be attached to the process as a package or it must be held in a
case folder. When documents are held in a case folder, you can attach the folder as a package, but
you may want to consider attaching other key documents as separate packages. This enables users to
act on the documents separately, so that you can perform operations such as conducting conditional
routing based on the package metadata itself.
Package data is persistent. However, package data is not shown in TaskSpace task lists or task forms.
To enable package attributes to appear in TaskSpace, you first map the attributes to process variables by
using a Process Data Mapping activity template. After you map these attributes to process variables,
you can base decisions on the package attributes, such as transitioning to the next activity. Conversely,
process variables are not persistent and must be mapped so that you can base decisions on the package
attributes, such as routing the process to the next activity back to package attributes if you want the
data to persist beyond the life of the process.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
To search on SDTs in the user interface, use a task list template for the search.
If you delete or change the name of an SDT after implementing it, you will break the data binding in
Forms Builder. You must delete the dangling control or rebind it to the renamed SDT.
SDTs are more lightweight than object attributes and are better for performance and scalability.
31
should occur. You also have to choose the activities in which to collect this data. Consider the
following when determining which SDT and package attributes to monitor:
1. If an attributes value does not change from one activity to another, then only monitor the attribute
once rather than for each step in the process. If you monitor this attribute in several locations,
then you are capturing meaningless rows of data that are needlessly filling up the audit trail and
BAM database.
2. Do not collect process data unless you absolutely must and if you need process data only once, you
may want to collect it at the end of the process.
3. If attribute values change during a process and you want to monitor this change, then select to
monitor the attributes within the activities that generate the change. However, reports that rely on
business data aggregation may be inaccurate. For example, if the order is entered for three widgets
in Activity A but is later changed to nine widgets in Activity B, then the correct number is nine.
But if you record both numbers, then you will compute six as an average value, which is incorrect.
32
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Chapter 5
Designing the Process
This chapter discusses the following:
Designing activities
Designing processes
Looping
Inter-process communication
Deployment considerations
Designing activities
Consider the following when designing activities:
Defining activity triggers, page 34
Creating wait activities, page 34
Sending tasks to a temporary set of users, page 34
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
33
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
3. Activity C: This activity performs the cleanup. It deletes the temporary group that you just created.
If you do not delete the temporary group, performance may suffer.
Designing processes
Consider the following when designing the process:
Creating complex conditional routing with a decision split, page 35
Using sub-processes, page 36
Understanding message correlation, page 36
However, you may have a requirement that is more complex. Similar to the previous example, you
may want the VP of Marketing to review marketing documents or the VP of Engineering to review
engineering documents, but what do you do with a document that is neither marketing or engineering?
In this example, a document that does not fall into one of those two categories must be reviewed and
approved by both VPs. This means that there are cases where only one task is triggered (going to one
of the VPs), whereas in other cases both tasks are triggered (going to both of the VPs).
To model this complex routing, you need to add a Join activity. Even though it is common to create
a Join after a decision split, this example uses the Join to consider the two out of three case. In this
example, the process diagram looks like this:
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
35
The use of Join in the first two conditions ensures that each option leads to two activities being
selected. The trigger option at the Join activity looks like this:
Using sub-processes
Process Builder enables you to create in-line sub-processes. Using sub-processes can improve your
ability to communicate the structure and 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, 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 useful when grouping a
set of activities that collectively represents 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.
It is also possible for one process to invoke another process. In this case the invoking process is called
the parent and the invoked process is called the child. If you want to build a process that invokes one
or more child processes, use the Invoke Process activity template. If you need the child process to post
events to the parent process, then use the Post Event to Parent Process.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
instance. To make this match, the request message has to include some data that uniquely identifies the
requesting process instance. This is called the correlation identifier. The response message coming
from the service also contains the same correlation identifier, so that when the Process Integrator
receives the incoming message, it reads the correlation identifier and then routes the message to the
right process instance.
There are two basic approaches to specify a correlation identifier:
Transport-based
Content-based
In the transport-based approach, the identifier is created as part of the protocol control field. For
example, a Java Message Service (JMS) message can generate a unique key that can be used to
identify the process instance.
In the content-based approach, the identifier is taken from the payload. For example, in a purchase
order application, the purchase order number is unique to each process instance. Therefore, it can be
used to match the response to the requesting process instance. In some situations you need to combine
multiple data fields to ensure uniqueness.
If a correlation identifier has not been configured for an activity or if it is missing from the incoming
message, the system looks for a correlation set to match the message to a workflow. Correlation
sets are specified at the process level in the Advanced tab of the Process Properties. They are used
to enable correlation in the activities of that process. You can use one or more process variables to
create a correlation set to uniquely identify the process instance.
Use the data mappers copy function to compare one of the attributes of your incoming data to the
value of one of your process variables belonging to a correlation set.
Note: The copy function is used to compare these values. If there is a match between the value of
the process variable (belonging to a correlation set) and the value of a data attribute of the incoming
message, the match is successful and the step activity is completed.
37
5. Click the handle on the left side of the copy function to complete the mapping.
As you can see, Var 0 on the left, has been mapped to Var 0 and to Var 1 on the right.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
construct allows you to implement this loop. The split construct allows you to extract the file extension
for each attachment.
Here are the detailed steps of the implementation:
1. Select Split function in the Data mapper.
2. Double-click the Split function icon that shows up, and select the For Each radio button.
3. Map Email Attachment Name to Attachment Content file-extension.
The Activity Inspector screen appears as:
4. Double-click the Split function that is connecting the left-hand side to the right-hand side.
5. Click the plus sign (+) and add a period (.).
6. Click the plus sign (+) and add 1.
7. Use the up/down arrows to reorder them as follows:
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
39
40
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
In general, you can use this approach whenever you are working with repeating elements and you
wish to take action for each one of the elements.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
41
Looping
Many applications must perform a series of activities several times in succession. Process Builder
enables you to define loops by using a counter mechanism. The following process shows how to set up
looping within a process. In the first activity, a human performer specifies a set of departments. Then,
an automated loop cycles through each department, invoking a process for each department.
42
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
43
because the index of a multi-valued attribute starts at zero, so if you have three values, the index
must decrement from 2 to 0, rather than 3 to 1.
4. Add an automatic activity as a decremental decision transition to begin the loop.
The activity executes a no (Begin Loop) operation (dm_noop_auto_method). The trigger is
configured to create a task when either of the two inputs is followed. Configure it to trigger
for 1 out of 2 possible input flows.
5. Next, include an Invoke Process activity template to map the data into the child process.
In the data mapper, use the Get Value function to set the value of the process variable department
on the new process instance.
6. Create a decision split activity called End Loop. In this activity, there is a transition condition that
returns to the loop if the counter is greater than zero. If the counter is zero, then it will exit. The
Cleanup activity (also a no op) is needed to connect to the end of the process.
44
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
45
3. On the Timers tab, set a timeout interval for the Wait step.
In our example, we set the post timer to expire one minute after the task is created. (This is the
polling interval. We assume that the child processes are short and will complete within one minute.)
When the timer expires, the task will complete.
4. On the Trigger tab, set the trigger condition of the Wait activity to 1 out of 2 possible input flows,
since it can be triggered in two mutually exclusive ways.
46
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
After the timer expires and the task is completed, the process proceeds to the Count Children activity.
To add and configure the Count Children activity:
1. Add a Database Query Language (DQL) Read activity named Count Children.
The Count Children activity queries the number of child process instances invoked by the parent
process instance.
2. On the DQL Configuration tab, set up the Count Children activity to query the number of child
process instances invoked by the parent process instance.
The following illustrates the configuration:
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
47
48
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
3. On the Transition tab, configure which activity is next in the process and what the conditions are.
The following screenshot illustrates using a count function to count the number of r_object_ids
returned from the query, and we assign this number to the process variable runningChildrenCount.
When runningChildrenCount is equal to zero, the process proceeds to the Cleanup activity. When
runningChildrenCount is greater than zero, then there are still running instances of the child process
and the process returns to the Wait activity.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
49
Inter-process communication
Process Builder includes an Invoke Process activity template that enables a parent process to invoke a
child process. An example of this is if you have an order process that must perform a credit check.
Instead of building the credit check procedure into the order process, create it as a separate process to
be invoked as a child process. You can manage the credit check process separately and independently,
and it can be called by other parent processes.
The Invoke Process activity template provides a basic mechanism to pass process data from the parent
process to the child process. By using the Post Event to Parent activity template, the child process
communicates to the parent process by posting events to the parent process instance. However, the
posted event is only a name that carries no payload to the parent. To pass a data payload from the
child to the parent, use the following approach:
In this example, the parent process invokes the child process in the third activity:
50
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
The Invoke Process activity passes a workflow correlation identifier to the child. The child process
needs this identifier to call the correct parent process instance. Map the correlation identifier of the
parent to the variable parentInstanceCorrId of the child, as illustrated:
After invoking the child process, the parent process instance waits for a response message with the
payload from the child in the HTTP Inbound - Step activity. The following shows the configuration
for the HTTP Inbound - Step activity:
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
51
In the HTTP Inbound - Step activity, the parent sets the Correlation Property Name to CorrId. When
the child process instance posts an HTTP request, the system looks for a workflow instance with a
correlation identifier that matches CorrId in the URL Parameter of the request.
When configuring the HTTP Inbound - Step activity, select With Attachments. The attachment carries
the payload from the child process to the parent process.
To enable the payload to pass from the child process to the parent process, map the HTTP attachment
data posted by the child to the attachment data field of the parent, as illustrated:
52
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
After the parent process invokes the child process, the child process carries out the request of the
parent. The child process then posts a response message back to the parent instance in the HTTP
Outbound activity. The parent process instance waits for the message with the payload from the child
and receives it in the HTTP Inbound - Step activity.
Configure the HTTP Outbound activity as illustrated:
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
53
For the child process instance to post the message to the correct parent process instance, it uses the
parentInstanceCorrId. The child process receives this identifier from the parent process when the
parent invoked the child. This variable is mapped to the URL parameter CorrId as illustrated:
54
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Attachments pass from the child process instance to the parent process instance by mapping them to
the HTTP Request attachments.
This approach was based on HTTP Post. An alternate approach is to use JMS as the protocol for
inter-process communications. This approach is useful when the child process must pass data to the
parent process.
55
at or right after the service invocation step. As a recommended best practice, as you build up your
processes, particularly with web services integration activities, regularly test them with the debugger.
Use the debugger every time you change the process to ensure the integrity of data that may have
changed.
3. In your integrated development environment (IDE), add a new debug configuration to connect
the host and port.
56
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
4. Place breakpoints in your code, run this debug configuration from your IDE, and begin debugging
your process from Process Builder.
Whenever an activity that uses your custom method is reached, you can debug through your
custom method code.
Note: To make the method code available to the process debugger, it must be a Class that is
located in the appropriate directory structure or a JAR file located under \classes\custom folder in
the Process Builder installation directory.
57
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Process variables can be simple types (Boolean or string) or can be structured data types that were
selected for reporting when they were created. To expose this variable and use it to generate reports,
select the This variable can be used to generate reports checkbox in the Data tab of the activity.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
59
If the automated workflow activities are not executing on time or never at all, check for the following:
The claim query can take too long to execute.
This can occur when the number of worker threads is increased to a high number (for example, 100)
with the intent that more workers results in better performance. However, with this increase, the
UPDATE query executes as a nested loop in the underlying RDBMS, pinning the RDBMS CPU.
This dramatically increases the time that it takes to execute the claim query. Check the statspack for
top queries and if the UPDATE on dmi_workitem_s is taking a long time, then it is a confirmation
of the problem.
Content Server is configured for high availability.
With a Content Server high availability configuration, confirm that a unique dm_server_config
object is specified for each content server. If you have two workflow masters operating using the
same serverconfig object, then workflow automated activities execution can fail. To fix this problem,
ensure that each content server has a unique serverconfig object.
You are not using the no_op method from Process Builder 6.5 or later.
In Process Builder 6.5, the default DocBasic no_op method to run the automated activities
such as splits, joins, and data mappers was changed. If you are using an older version of
dm_noop_auto_method, switch to the newer version of dm_noop_auto_method_java.
Deployment considerations
Migrating or upgrading Process Builder, page 61
Process versioning, page 61
60
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Process versioning
Use versioning carefully and sparingly to avoid creating inconsistencies in the process data. It is best
to create versions when deploying a process to the production environment. This is because creating
different versions of a process can result in process data getting out of sync. Use versioning carefully
and only when the process is moved to a production environment.
During design, it is a best practice to use the process debugger frequently to troubleshoot and validate
the process without installing it. When the activities and the data model are defined and the debugger
is run without errors, then check the process into the repository. Install the process only when you
want to run it.
Note: It is not recommended to use Save As on a process multiple times and then install each of the
cloned processes. This practice can lead to instabilities at runtime.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
61
62
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Chapter 6
Creating the User Interface
This chapter discusses the following:
63
mind that the size and complexity of the prototype is not necessarily indicative of the development
effort. The development time will be greater due to coding complexity and customization. You also
cannot necessarily predict performance issues from the prototype.
Consider how many task templates you need. You may want to make one template for each step or
activity in the process, and they should all have a common look. This also improves performance.
When initially designing templates, keep in mind that it can sometimes be easier and quicker to
delete a template and start over again.
Sometimes what the client wants is not a good design. For example, even though you can search on
20 attributes does not mean that you should.
Try to design forms so there is no scrolling for the end user. This may mean using more tabs in
TaskSpace.
After creating a template with the template wizard, if you start changing and adding controls and
moving items around on the canvas, especially if you use drag and drop, frequently verify how things
look on the Preview pane. When using drag and drop, items can appear to line up using the vertical
bar, but the spacing and padding appear differently on the Design pane than on the Preview pane or
at runtime. To ensure correct alignment, especially for labels, use the settings on the Style tab.
64
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Figure 5
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
65
Figure 6
66
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
2. Configure how the object is routed by selecting Dynamic Object Value Selection.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
67
68
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
5. Start the process from a search by selecting a document and then clicking the configured action
button. The process starts with the selected document added as an attachment.
69
Figure 7
3. At runtime, when the process starts, the configured electronic form in the package appears
automatically. This is useful if you need to fill out a specific form for the associated process.
4. When the user submits the form, if any of the mandatory packages are not fulfilled, the user is
prompted to fulfill the mandatory packages.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Next, select the appropriate form template to show the package content, which is a document view
template or an electronic form. You can then preview a document and modify document data while
processing the task. It is possible to have multiple embedded forms in one view, but the UI can be
busy when there are multiple packages.
Figure 8
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
71
Figure 9
72
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Figure 11
Task Template with folder view and attachment list - document displayed
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
73
Figure 12
When a form template associated with a process is checked out and a new version created, Forms
Builder automatically links the process to the latest version of the template. Conversely, if you delete
the most recent form template version, the associated process automatically points to the previous
version. You also cannot delete a task, initiate process, or process parameter template if the template
and its associated process are both non-current versions. However, if either the process or the
associated form template are the current version, you can delete the form template.
74
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
value). While these messages may be helpful to the user, they are not as helpful as messages created
specifically for a template, tailored to the data requirement for that template.
Data adaptors
Some general guidelines for using adaptors are:
Do not use too many different adaptors as it can impede performance. You can use one data source
adapter to populate multiple fields at once by populating off one database table with multiple
columns. This way, the adaptor only runs once.
Keep adaptors simple and lightweight and keep the execution time of data source adaptors as
short as possible.
Do not perform high latency calls within data source adaptors, such as long-running queries or slow
web service invocations, as these calls can greatly impede performance of the UI.
If you plan to use more than one adaptor, concentrate on getting one adaptor to work before
creating another.
When using a data source adaptor, make sure that the input is required and that the output is
repeating.
When creating a custom data source adaptor, you have a choice of creating it as a class or
service-based business object (SBO). If you create it as a class first it is much easier to validate and
debug the adaptor. You can then convert the adaptor to an SBO if desired.
The following table provides information on which templates or controls each adapter can be used
with, guidelines for how best to use each type of adaptor, and important limitations.
Table 4
Adaptor Type
Available Templates
Best Uses/Limitations
or Controls
Item Initializer
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
75
Adaptor Type
Available Templates
Best Uses/Limitations
or Controls
Item Validator
Document
Validator
Data Source
76
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Adaptor Type
Available Templates
Best Uses/Limitations
or Controls
Data Source Set
Value
Available on these
controls: Text Field,
Number Field, Date
Field, DateTime
Field, Radio Button
Group, CheckBox,
ListBox, Dropdown
List, Package, Slider,
and Embedded Form
Document
Processor Initialization
Document
Processor Pre-submission
Document
Processor Post-submission
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
77
Figure 13
78
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Figure 14
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
79
5. Specify the output type to describe the return value. Note that the columns returned from the DQL
query conform to the items in the output schema.
6. Click OK to save your configuration and close the Adaptor Configuration Manager.
7. On the Design panel, select the Name drop-down list and open the Properties > Data & Storage
tab.
8. In the External Data Source field, select the GetAllEmployeeNames adaptor.
9. Configure the data source output by specifying the Row Selection, which is the repeating element
that is the parent element of the elements you will select in the Value and Display fields (/data/item).
In the Value field, select the element that provides the data value (/data/item/employeeid). In the
Display field, select the element that is what the users will see (/data/item/name).
80
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
You have finished configuring the data source adaptor to populate the Name drop-down list.
81
1. Open the Adaptor Configuration Manager and add a new adaptor with the name
GetEmployeeInformation.
2. Select Data Source as the adaptor type.
3. Select com.documentum.xforms.engine.adaptor.datasource.jdbc.JDBCDataSourceAdaptor as
the class name and Class as the type.
4. Enter sql for the initial parameter and enter the appropriate SQL clause for pulling information
from the data base. In the SQL clause, you specify the parameter with ${<param name>} (if
using dql, use single quote, e.g., id=${id}).
5. Define the substitute parameter in the Input field. Be sure to select the Required option for the
input field name. The parameter must match the input name.
82
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
6. Specify the output type to describe the return value. Note that the columns returned from the SQL
query conform to the items in the output schema. This should include all the employee information
fields you want to populate.
7. Click OK to save your configuration and close the Adaptor Configuration Manager.
8. On the Design panel, select the ID field and open the Properties > Special tab.
9. Select the option to Execute adaptor after the input value changes. This triggers the adaptor to
fire after selecting an employee in the Name field.
10. In the Data Source field, select the GetEmployeeInformation adaptor.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
83
11. In the input binding id field, select the xpath where the input value is stored (/employee_id). When
you specify an input value, the adaptor returns database table values associated with that input value.
In the Output data field, select the xpath where the ouput is stored (for the ID field, this would be
/data/item/employee_id). This indicates the value in the database table that populates the field.
12. Repeat the configuration on the Special tab for the other fields you want to populate from this
adaptor. The settings are the same for each, except that the output data should match the field being
populated. For example, for the E-mail Address field, you would select /data/item/email_address
in the Output data field.
13. Add the properties file for this JDBC adaptor to the <web app>\WEB-INF\classes directory.
The properties file name corresponds to the adaptor name and in this case would be
jdbc_GetEmployeeInformation.properties. The properties file specifies the location of the data
source and standard JDBC configuration parameters, such as login credentials for the data source
and the path to the JDBC driver. The properties file for this adaptor would be similar to:
url=jdbc:mysql://localhost:3306/mysql
driver=com.mysql.jdbc.Driver
user=root
password=forms (or password=pT9oeWTVuFI=)
To encrypt the password, you can use the DFC encryption method:
java com.documentum.fc.tools.RegistryPasswordUtils <password>
You have finished configuring the data source adaptor to populate the employee information fields.
Performance
When working with form templates, the following tips can improve performance:
84
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
From the beginning of the project through the design, maintain focus on performance. Performance
takes precedence over appearance and special effects.
Reducing complexity in form templates aids TaskSpace performance: fewer fields and fewer
adaptors.
On a task list template, keep the search simple as this greatly aids performance.
When possible, do not enable ACL security for structured data types and process variables when
designing a task list template. It takes longer to load task lists in TaskSpace if process variables
and structured data types have to be evaluated for ACL settings.
While using multiple task templates for different activities may improve performance, it also
increases maintenance. A better approach may be to use one task template with conditional display
settings.
Keep everything optimized for the chosen database.
Data adaptors and rules all affect the length of time it takes to open the form.
When designing a custom forms template list view, such as a search view, task list, or folder content
form template, include the r_object_type, r_content_size, r_lock_owner, and a_content_type
attributes. If these attributes are not present in the DQL of the forms templates, the system performs
full object fetches for each data row.
Allowing the customer to see what you have in mind helps them to more fully visualize what it is they
really want and need. Producing quick, iterative applications enables them to help you develop the
right application for them.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
85
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
87
88
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Chapter 7
Monitoring Business Activity
This chapter discusses the following:
System requirements
Reporting requirements
Custom aggregation
System requirements
It is a best practice to use the BAM Sizing Calculator to determine your hardware requirements before
you install Business Activity Monitor. The sizing calculator is available on the EMC Download Center
in the Documentum Business Activity Monitor Supplemental Files zip file. This tool calculates the size
of the BAM database, the BAM server, and the Taskspace/BAM dashboard server, based on several
metrics that you enter, including the number of processes you are monitoring, the number of process
instances monitored per day, and the average number of activities in each process.
Reporting requirements
Planning is the most important step in deploying any component of xCP, including the Business
Activity Monitor. If you are deploying BAM with Process Builder, Forms Builder, and TaskSpace,
it is a best practice to define your reporting requirement as one of your first steps in deploying xCP.
This requires that you brainstorm and design mock-ups of the BAM reports and dashboards that
your business requires, even before you begin to design your process. Your reporting requirements
can have a large impact on how your process is designed and the substance and structure of your data
model, including SDTs and package attributes.
The more detail included in your requirements specifications, the better. At a minimum, reporting
requirements should include:
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
89
purpose of report
report type (management report, operational report)
report columns
a description of drill-down relationships (both single and multi-drill-down reports)
audience
frequency and timing
report filters and dashboard filters (both default and initial filters)
graphical representation
Providing a sample of the report helps identify the attributes that must be monitored in the process.
The easiest way to design mock-ups is with Microsoft Excel where reports can be formatted numerous
ways (tables, pie charts, bar charts, and so on). Although a fairly simple example, the following
mock-up highlights that vendor and amount attributes must be monitored within the invoice process.
In addition, since this report calculates an average amount, we know that aggregation is also required.
This mock-up provides important information that impacts the design of your process.
Identifying reports that rely on aggregation is an important part of defining report requirements. BAM
provides three methods of aggregating report data. First, there is report aggregation which is based on
instance-level data. Then, there is server aggregation where data is automatically aggregated for nine
different time intervals (5 minutes, daily, and so on). And finally, there is custom aggregation. The
Business Activity Monitor Implementation Guide has more information on each type of aggregation. In
terms of planning, anticipating the type of aggregation you require is helpful. For example, if you have
high-volume processes where thousands of instances are running each day, then report aggregation is
not recommended. Attempting to aggregate large volumes of instance data (on request) consumes
high server memory resources and can result in poor response time.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
1. Dashboard content and quantity - It is best practice to determine the content to display in each
dashboard. This work is really an extension of identifying reporting requirements since a majority
of dashboards contain reports (dashboards can also contain process diagrams, alerts, and process
simulation dashlets). One strategy to determine dashboard content is for each dashboard to contain
the same type of information.
For instance, if you are monitoring a purchase order process, then you may want one dashboard
(or more) to contain only summary information. Summary reports would be designed by using
report aggregation or an aggregation report entity. This type of dashboard may be appropriate for
an Operations Manager, for instance.
Then, you may want another set of dashboards to display instance-level data that looks at the
status of individual processes. This type of dashboard may be appropriate for a task processor.
A third dashboard might include only alerts, which would be of interest to a supervisor.
Another approach is to design dashboards that incorporate single and multi-drill-down reports.
These dashboards integrate high-level, aggregated reports with reports that provide greater
amounts of detail. Users can navigate, or drill-down, from one report to another based on their
needs. Multi-drill-down reports update the contents in surrounding target reports based on a
users selection in a base report. Single and multi-drill-down reports are addressed in the Business
Activity Monitor Implementation Guide.
Drill-down reports are well-suited in situations where the purpose of the dashboard is to identify
root causes of process problems. Users must be able to move from one level of detail to another,
while attempting to isolate the process instances that are problematic. Dashboards configured in
this way should be provided to users that also have the authority to change the process, if necessary.
2. Dashboard users - It is best practice to always consider the characteristics of your dashboard users
as you design reports and begin to think through the contents of each dashboard. Individual users
are assigned to one or more roles and dashboards are assigned to roles. That is the extent of the
security, so when a dashboard is assigned to a role, all users associated with that role can view the
contents of the dashboard. It is important to compile a complete list of users and roles so you do
not inadvertently assign dashboards to users that do not require them. You may find that the roles
available in the repository are too broad. In this case, you may need to create separate dashboard
roles. Another method for controlling access is to use filter variables that limit the data displayed in
dashboard reports to that owned by a specific dashboard user.
3. Number of dashlets for each dashboard - The optimum number of dashlets contained in a single
dashboard is determined by the resolution of the users monitors. If monitor resolution is 1440 x
900, then no more than four dashlets should be included in a dashboard. If monitor resolution is
set to 1920 x 1200, then up to six dashlets can be placed on a dashboard. It is best practice, then,
to know the capabilities of users hardware, and to plan for the lowest common denominator.
If 50 users have the higher monitor resolution, and 10 have the lower resolution, then plan for
dashboard to contain four dashlets.
There are a few other points to consider:
Dashlets containing Crystal Reports require more space so take this into consideration when
you are planning dashboards
Small dashlets can be maximized
91
(PRS). Crystal Reports are designed first in PRS and then opened in the Crystal Report software
where report design continues.
Consider the following points when deciding whether to use simple reports or Crystal Reports:
Report formatting: While simple reports offer some formatting options, Crystal Reports offers
more, including the use of report headers and watermarks. Crystal Reports has a greater selection of
chart types and a richer syntax for writing computed column formulas. If you require a high degree
of control over the look and feel of a report, then Crystal Reports is the best option.
Amount of report data: If you implement large grid reports with greater than 1,000 records, use
Crystal Reports to improve performance. Use simple reports for smaller grid reports.
Custom aggregation
Your need to define custom aggregation report entities relates to the attributes you have selected to
monitor. As a practical matter, do not collect data unless you absolutely must. If you need process
data only once, then collect it at the end. If you need data more than once, for multiple activities in
a process, then you may have problems with business data aggregation. For example, if a numeric
attribute value during Activity A is 3 and the same attribute value for Activity D is 9, then the
calculated average is 6, which is inaccurate. In reality, the value that should be incorporated into the
calculation is 9, not 6. In these cases, custom aggregation report entities must be created. Custom
aggregation must also be used when you want to combine data from multiple data sources and in
situations when you need to combine process data and business data. For example, if you want to
calculate the average duration it takes to process orders from the state of California, then custom
aggregation must be used. Custom aggregation can also be used to improve BAM server performance
when report aggregation attempts to collapse thousands and thousands of instance-level data.
For more on custom aggregation, please see the Creating Custom Aggregation, Report, and Filter
Entities chapter of the Business Activity Monitor Implementation Guide.
92
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
93
Use both report filters and dashlet filters as methods to reduce the number of records that appear
in simple reports. This is especially true for bar and pie charts where 12 or more records make
these reports difficult to read.
Modify the length of bar chart labels with the Limit Characters chart property.
Edit entity field captions so they are shorter.
Suppress chart animation in the Chart Properties window.
Remove the chart legend.
Use computed columns to shorten long date values.
94
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Chapter 8
Performance and Scalability
This chapter discusses the following:
95
Small configurations
The recommended approach to host small configuration environments is to use WMware. Create a
separate virtual machine for every tier. Each tier should have roughly 2 to 4 Central Processing
Units (CPUs) with 4 GB to 8 GB of Random Access Memory (RAM). A WMware configuration
could include:
Medium configurations
The recommended approach for medium configuration environments is to use enterprise machines.
Software clustering can be used at the application server, database server, and content server levels.
WMware can be used for the TaskSpace application server and the BAM application server. Large
servers ranging from 4 CPUs to 16 CPUs and 8 GB to 32 GB of RAM are used for each of the
following tiers:
TaskSpace application server
Content server
Database server
96
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Large configurations
Enterprise machines are used to host large configuration environments. Large configurations include
hardware and software clustering at the application server, database server, and content server levels.
WMware can be used for the TaskSpace application server and the BAM application server. Large
servers with machines ranging from 16 CPUs to 64 CPUs and 32 GB to 128 GB of RAM are used for
each of the following tiers:
TaskSpace application server
Content server
Database server
BAM application server
BAM server
BAM database server
BOCS server at branch offices
97
Automatic activities
To improve the performance of automatic activities in your process, make one user (or a small set
of users) the performer of all the automatic activities. For example, if you define a user, such as
auto_executor, and make that user the performer of all the automatic activities, the runtime execution
of these automatic activities increases considerably.
For security reasons, only a superuser can select a specific user as a performer for an automatic
activity in Process Builder.
Search forms
A client may ask you to implement a more complex search option in TaskSpace. Even though it can
be easy to configure multiple search options, advise the client against doing it. The difference in
database performance (and maintenance) between three search options and four is enormous. The best
performing applications enable users to complete their jobs with a minimum of actions and choices.
Designing search forms that are seldom or never used is not advised.
Wildcard searches
Avoid implementing wildcard searches because exact searches are the only searches that scale. All
other types of searches involve some form of scanning (index or table), which can hinder the scalability
of the database, and ultimately the entire application.
It is important to separate what a client needs from what a client wants. The needs of the business
should determine how search forms should be designed and used. System performance and future
scalability become victim to over-engineered search forms. Articulate to the client the impact of search
98
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
technology on system performance. In most cases, clients are willing to reconsider a feature that
negatively impacts system performance.
Task lists
Task lists are one of the most frequently used views in TaskSpace. The best performing task lists limit
the number of SDTs and process variables that appear within the task list. Each additional SDT and
process variable results in a new query to the database. When several concurrent users are working
on the system, these queries add up. As a practical matter, you can consolidate one or more process
variables into a single SDT. For example, a task list containing nine process variables takes 10 seconds
to 15 seconds to populate the window. The same task list built with one SDT containing nine attributes
takes only 3 seconds to 5 seconds. The difference is that the first task list issued nine requests to the
database while the second task list issued only one request. (The best way to understand this behavior
is to take a single click trace of the transaction).
Consider the number of filters that you create in a task list because each filter impacts system
performance.
You can further improve task list performance by disabling full-text indexing if it is not being used.
Refer to Disabling full-text indexing, page 103 for more information.
Preconditions
Be careful when using preconditions in a TaskSpace application because they inject row-by-row
processing into the response time. If there are ten tasks in a task list and there is a precondition
defined for the object type, then the precondition fires ten times. Although preconditions provide
rich functionality, they can negatively affect system performance. For example, a task queue with
preconditions took 8 seconds to 10 seconds to render. Without the preconditions, the same task list
rendered in 3 seconds.
It is recommended that you take a baseline timing of a task or search form before you add
preconditions. After you establish the baseline, the incremental performance cost of a feature can be
assessed. Associate a response time or resource cost for each feature request. Then it is possible to
calculate the cost and benefit of each feature. Calculate a cost, even if a feature is mandatory. Discuss
feature costs together with performance and scalability with the client.
To optimize custom action preconditions for datagrid rendering, define scope values for action
definitions that use the precondition.
Avoid permission checking in precondition classes, since the system will do object full fetches for each
data row. If your precondition must do permission checking, consider using lazy evaluation by adding
the oneexecutiononly=true attribute in the <precondition> tag.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
99
Skill-set matching
Skill-set matching is another feature that, if not used wisely, can lead to system performance issues.
There are two reasons for system performance issues.
First, skill-set matching involves row-by-row processing where every task that returns in a task list is
evaluated against the users competency. This is a drain on system resources.
Second, skill-set matching does not use task list database query language (DQL) optimizations.
Without skill-set matching, a task list brings back the first 100 to 300 tasks. This means that the data
list generated requires less resource consumption and performs faster. To bring back the tasks to the
user when the system matches user skills against tasks, it requires the whole data list.
This means that all tasks are sent to the application server for evaluation against the skill-set. If a task
list contains 10,000 tasks, it brings back 10,000 tasks. Even if the user matches one task out of 10,000
the system still brings back 10,000 tasks, which takes time. A task list with 10,000 tasks that does
not match skill-sets brings back 100 to 300 tasks depending on the number of SDTs involved. It is a
best practice to calculate a baseline timing of a task list before implementing skill-sets. This baseline
calculation enables you to determine how skill-set matching impacts performance. It is important to
realize that performance costs grow as the number of tasks grow in a task list. For example, a task list
that returns 100,000 tasks is unusable.
Logins
The user login operation takes 2 seconds to 10 seconds to complete. The variable that most influences
the login time is the landing tab that opens after a user logs in. If the client prefers a fast login, then set
the landing page to the default page or to a blank search page. However, if the user has a preference
about the tab, then the time to log in can take longer.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
results in an out-of-memory error. If the permanent generation is not increased to a minimum of 128
MB, it could also result in an out-of-memory error. The CPU is the first resource to bottleneck on
this tier. The application server is the most scalable tier in the system because there is no limit to the
number of JVM or servers that can be added.
Additional tips
Configure JVM memory minimum and maximum heap size arguments to be the same.
If running Oracle WebLogic or IBM Web Sphere application server, apply different JVM memory
arguments for Administrative and Managed Servers (less resources). Allocate less memory to the
administrative server of each cluster and more memory to the managed server.
Each JVM has a finite capacity number of users it can accommodate. To increase the number of
users a physical server can accommodate, create several JVM nodes on the server. Each JVM needs
to have a different port. It is not uncommon for a physical server to have 4, 8, or 12 JVM instances.
If running WebLogic, have one Internet Information Services (IIS) server installed on each web
server host machine and for each IIS server installation provide appropriate mappings to the
different cluster Internet Protocols (IPs).
If running WebLogic, use JRockit.
Turn off AnnotationHelper for Tomcat 6.x. To turn off AnnotationHelper, set
metadata-complete=true in the <web-app> tag of the web.xml file.
In web.xml, you can increase the value of <cache-control> to push off the expiration date for files,
such as icons and images, on the client side cache.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
101
If you are using the JBoss Application Server, turn off debugging. By default, the debug mode is
turned on. This results in unnecessary IO and CPU resource consumption. To turn off debugging, copy
and paste the following to the xml file:
%Documentum%\jboss4.3.0\server\DctmServer_MethodServer\conf\jboss-log4j.xml (Windows)
$DOCUMENTUM_SHARED/jboss4.3.0/server/DctmServer_MethodServer/conf/jboss-log4j.xml
(UNIX/Linux)
<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.log.dir}/server.log"/>
<param name="Threshold" value="INFO"/>
<param name="Append" value="false"/>
<!-- Rollover at midnight each day -->
<param name="DatePattern" value=".yyyy-MM-dd"/>
<!-- Rollover at the top of each hour
<param name="DatePattern" value=".yyyy-MM-dd-HH"/>
-->
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
<!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
<param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-->
</layout>
</appender>
102
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
103
If registering a particular type for indexing, the system automatically selects its subtypes for
indexing. When registering a type for indexing, the system checks for any of its subtypes that are
registered. If a subtype is registered, the system unregisters it before registering the type.
The system displays the Enable Indexing checkbox based on the following criteria:
If the type is dm_sysobject or its subtypes and you are connected as a Superuser to a 5.3 SP5
or later repository, the system displays the checkbox. If neither of these conditions is met,
the system does not display the checkbox.
If a type and none of its supertypes are registered, the system displays the checkbox cleared and
enabled. You can select the checkbox to register the type for fulltext indexing.
If a type is registered and none of its supertypes are registered, the system displays the Enable
Indexing checkbox selected and enabled.
If a types supertype is registered for indexing, the system displays the Enable Indexing
checkbox selected but disabled. You cannot clear the checkbox.
Note: The system does not display the Enable Indexing checkbox on the New Types - Info page
when you create a new type. You must first create the type and then save it.
3. Click OK to save your changes.
b. Export the table again by selectively retrieving rows that you want other than
dm_fulltext_index_user.
(Windows) Notice that there are three double quotes in the query clause:
exp username/password file=dmi_queue_item_s.dat log=dmi_queue_item_s.log
tables=dmi_queue_item_s buffer=100000 query="""where name not in
dm_fulltext_index_user"""
(UNIX) Notice the back slash (\) instead of double quotes ("):
exp username/password file=dmi_queue_item_s.dat log=dmi_queue_item_s.log
tables=dmi_queue_item_s buffer=100000 query=\"where name not in
\dm_fulltext_index_user\ \"
2. Truncate the table dmi_queue_item_s as it will not create any redo entries and is the fastest way to
delete millions of rows that are related to full text. If you do not have too many rows, you can do a
simple delete and you do not have to reimport the data.
truncate table dmi_queue_item_s
3. Reimport the exported data that does not contain full-text events.
104
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
105
106
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Chapter 9
Deploying the Application
This chapter discusses the following:
107
At deployment time, manually run those scripts in the target environment to create your custom
entities in the BAM database.
5. In Composer, create a new TaskSpace application project. Select the TaskSpace application name
from the list of available TaskSpace applications.
This action automatically pulls in all related artifacts:
The associated process (from Process Builder), associated forms, roles, tabs
Associated BAM dashboards (defined as tabs in TaskSpace)
First-level BAM reports on these dashboards (First-level reports are not defined as drilldown
reports)
6. Manually import the drilldown reports. This action is required because the drilldown reports you
created in your dashboards are not automatically imported into the project. Also, import the
BAM Configuration artifact that contains various settings used by BAM (such as time settings for
the gap filler).
7. If you are using headless Composer, build the DAR file for this project.
Composer builds the DAR automatically. It is located in the bin-dar folder of the project root.
8. Install the Composer project into the target environment.
Composer version
Use the latest version of Composer including any hot fixes that are available.
Database references
Whenever database references change as you move from the source to the target environment, these
references must be manually updated to the new database reference. Do this after you install your
application into the production environment.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
which the performer is referenced. It also enables you to replace a performer globally throughout a
process with a new performer without making a replacement at each activity the performer is used.
Note: A process parameter is specific to a process. Therefore, process designers must update the
process parameter for each process, even if two processes have a process parameter with the same
name.
Remove an attribute.
Decrease the length of a string variable.
Change a repeating attribute to a non-repeating attribute.
Change the data type of an attribute.
To update an object type in any of the following ways, drop the object type from the production
environment before installing your application into the production environment:
Remove an attribute.
Decrease the length of a string variable.
Change a non-repeating attribute to a repeating attribute.
Change a repeating attribute to a non-repeating attribute.
Change the data type of an attribute.
109
110
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Chapter 10
Archiving the Application
This chapter discusses the following:
111
When you create custom objects (forms, object types, process templates, and so on), it is beneficial
to have a standard naming convention. For example, you can add the same prefix to the name of the
object. This way, the custom objects are easier to identify when archiving.
Always make sure to add all object types, forms, processes, and roles that your Taskspace
application uses in the Configuration tab.
If possible, always test your archived application on a virtual machine. If the archived application
fails, the virtual machine enables you to roll back the system to its initial state.
a. Select File > New > Project > Documentum Project > Documentum Project From
TaskSpace Application and click Next.
c. Select your TaskSpace application from the list and click Next.
112
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
f. Make sure both TCMReferenceProject and the new one you just created reference each other.
Right-click the project, select Properties, and then select the Project References option.
2. Expand the new TaskSpace project, expand Artifacts, and import the following artifacts for
any custom folders:
a. Right-click Folders and select Import > Documentum > Artifacts From Repository.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
113
d. Select all your custom folders (press Ctrl and then click to select more than one), hover your
mouse over the first option (Import the selected folder with all sub-folders), and click it.
114
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
e. If you are asked if you want to overwrite the artifact, click Skip.
3. For every item under Artifacts, verify that your custom objects are imported correctly. If not,
right-click the item and import what is missing (refer to steps 2a to 2e for importing objects).
4. Build the new projects:
a. Turn off automatically building the project. Select Project from the menu and click Build
Automatically to clear the check box.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
115
5. Create a zip file of the composer project to use later when installing the archived application.
In File Explorer, find your workspace, right-click the project, select 7-Zip > Add to archive
to create a zip file of each project.
Testing the Archived Application, page 116 details the steps required to install the archived
application.
6. Copy the zip file to a location that can be accessible for later use in other systems.
For example, you can:
Email it to yourself.
Paste it to a folder in an FTP site.
Paste it to a folder in ftp://ftp2.emc.com/, which is available in all demo systems.
You are now done with archiving your TaskSpace application.
a. Retrieve the Composer project zip file and put it into a temporary location on the target system.
b. In Composer, select File > Import > Documentum > Existing Projects Into Workspace
and click Next.
116
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
c. In the Select archive file field, select the zip file from your temporary location.
d. Click Finish.
The system creates a project for your TaskSpace application in Composer.
e. When asked if you want to open the associated perspective, click Yes.
f. Expand the Artifacts folder of the project. Verify that all of your custom components are
available.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
117
h. Select the appropriate repository; enter the user name and password; and then log in to the
repository.
i. Click Next.
A list of your custom components appears.
j. To add an Installation Parameter File, in the box at the bottom, click Browse.
k. Click Finish.
2. To access the application on the new system:
http://<host>:<port>/taskspace/component/main/?appname=<application name>
3. When archiving an xCP application using Composer, the association of the users to any roles that
you have setup is not going to be included. Therefore, you either have to set them up in the
new environment manually, or use a script to do it automatically. This script is described at the
following link:
https://community.emc.com/docs/DOC-10087
118
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
In Composer, check all the artifacts for your custom objects. If any are missing, import them to
the specific artifact, and rebuild the project.
For any specific error message, log in to the EMC Developers Community site
(https://community.emc.com) and search for the error. You can find helpful tips that other
developers have posted.
If you need further details, you can enable tracing. Try the operations and then check the logs
again. They can provide a clearer picture as to what Composer tried to do and what failed. The
Documentum Composer User Guide provides details on how to enable tracing.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
119
120
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Appendix A
Prototyping Business Activity Monitor
dashboards
Prototyping overview
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
121
Prototyping overview
Prototyping overview
Technical solutions that include Business Activity Monitor and other applications of xCP (Process
Builder, Forms Builder, TaskSpace) take time to design and deploy to end users. When a project is
completed a fully designed, tested, and monitored process is deployed to users who complete real
work. Dashboards are populated when users start and work with their processes. Dashboards can also
be populated with data from test processes (ones yet to be deployed) but the process designer is
still responsible for designing a fully functional process. How then, is it possible to design a mock
dashboard that includes a variety of dashboard features, without having a fully developed process?
This answer is to design a dashboard prototype. Dashboard prototypes are designed in TaskSpace, and
contain reports designed in Process Reporting Services (PRS). The simple reports (this document does
not include adding Crystal Reports to a dashboard) display example data that you populate while a
number of small processes run. This data is formatted to appear as bar charts, pie charts, line graphs,
and dial gauges. Prototypes can also include multi- and single drill-down reports.
Designing prototype dashboards serves a few functions. First, prototypes are used by internal resources
of organizations deploying BAM. xCP projects that require planning and designing prototypes help
project members determine which reports are important. Prototyping is also a good way of helping to
define some of the process data requirements. Since a prototype dashboard can contain business data
reports, key business attributes should be included in your data model, and flagged for monitoring.
Dashboard prototypes can also be demonstrated to either internal or external audiences to obtain
valuable feedback prior to actual deployment. Prototypes are an excellent method for demonstrating
the concepts and value of process monitoring.
Whatever the goal, this approach assumes that the prototype designer has a basic understanding of
Process Builder, TaskSpace, and Business Activity Monitor. This documentation does not replace the
Process Builder User Guide or the Business Activity Monitor Implementation Guide. It is assumed that
you are already familiar with those technologies.
This appendix explains how to easily design prototype dashboards that can be used for planning and
demonstrations. The audience for this information is:
an EMC partner that is engaged with a client that wants to see proof that BAM dashboards can be
designed to meet their needs
an EMC customer that is involved in the planning phase of an implementation and wants to see
prototype BAM dashboards without going through an entire xCP deployment
a pre-sales resource
Note: The procedures provided in this document provide actual data that you can enter. If you follow
this approach you will design the Finance Corp prototype dashboard in its entirety. Or, you can apply
the approach described to your own situation, and attempt to build your own prototype dashboard.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
123
New Accounts Opened Last Week this report is formatted as a line graph that counts the number
of new accounts opened each day during the last week. This report includes a Service Level
Agreement (SLA) represented as a line.
124
Before
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Figure 17
After
Prototypes are designed so that each report in the dashboard is populated with data from its own
process. Each process contains two activities, one manual and one automatic. The automated activity
is completed by a no-op method, and the manual activity is completed by a user. During the manual
step, values to be displayed in the report are entered as process variables. Once the processes are run,
the reports can be designed in PRS.
This approach gives the illusion that all of the business data reports are derived from the simplified
process (in this case, the New Account Applications process) when in fact they are completely separate.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
125
126
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
8. On the Start Workflow: Info window, click Finish. The New Account Applications process is
now completed.
9. Repeat the previous step to start the New Account Applications process four more times. Complete
two of these four processes.
3. In the Name field enter New Account Opening Reports and click Finish.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
127
4. Right-click the New Account Opening Reports category and select New > Simple Report.
5. In the Name field enter New Account Applications and click Finish. The report design canvas
appears.
6. On the Palette, click the Process report entity category. A list of report entities displays.
7. Click and drag the Process Execution report entity to the canvas and select the following fields:
Duration (hh:mm:ss)
Finished Date and Time
Process
Process Instance ID
Start Date and Time
128
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
8. Right-click the Process Execution report entity and select Filter. The Filter dialog opens.
9. Click the Processes (PRO) tab and open the Processes filter item.
10. Double-click New Account Applications. The filter expression is displayed in the Filter
Expression field.
Note: It is important that a filter be designed so that other monitored processes are not included in
this report. Later in this appendix you will learn to create a series of other mock processes that
are used to help design business data reports. It is important that these mock processes be filtered
out of the New Account Applications report.
11. Click OK. The Filter dialog closes and you are brought back to the report design canvas.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
129
Note: If you dont see a list of the process instances you started in TaskSpace, then check the
Process Properties dialog in Process Builder to make sure the Audit Trail is turned on.
130
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
13. Click the Chart Data tab to establish the order of the columns as they appear in the table. In this
example:
a.
b.
c.
d.
e.
14. Click the Drilldown row in Column-1 and click the browse button (...). The Drilldown dialog
opens.
15. Click the Dashboard Event radio button and select Process Instance from the list box.
131
17. State list box and then save the report. Publishing the report makes it available to use in a
dashboard.
In the next section you will design a dashboard and add to it the New Account Applications report, the
Alert List dashlet, and the Process Diagram dashlet.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
7. In the Name field enter NewAccountApplications and in the Label field enter New Account
Applications.
8. Click Next. The dashboard design canvas opens.
9. Expand Report Categories > New Account Opening Reports.
10. Click and drag the New Account Applications report to the canvas.
11. Click and drag the Alert List dashlet and place it under the New Account Applications report.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
133
12. Click and drag the Process Diagram dashlet and place it under the Alert List dashlet.
13. To test that the multi-drill-down between the New Account Applications report and the Process
Diagram dashlet works, click any of the New Account Applications hyperlinks. The Process
Diagram dashlet displays an image of the process you selected, and indicates those activities
that are complete, incomplete, and in-process.
14. Click Save and then click Finish. You are brought back to the Dashboards window. You will add
more dashlets to the dashboard at the end of this document.
134
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
135
3. From the File menu select New > Category. The New Category dialog appears.
4. In the New Category Name field enter New Account Applications and click Finish. The New
Category dialog closes and the category is displayed on the tree menu.
5. On the tree menu, click the New Account Applications category.
6. From the File menu select New > Alert. The New Alert dialog appears.
7. In the New Alert name field enter Process Duration Alert and click Finish. The New Alert
dialog closes and the alert design canvas opens. Your next step is to define the alert data source.
136
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
13. From the State list box select Published. This makes the alert operational in the dashboard
once the alert expression is defined and saved.
14. Place your cursor in the Expression field and press the Ctrl-space keys simultaneously. A list of
fields that can be used in an alert expression is displayed.
15. Double-click ${Ongoing Duration (minutes)}. The ${Ongoing Duration (minutes)} field is
added to the alert expression.
16. On the keypad, click the greater than symbol (>) and then enter 1.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
137
17. On the keypad, click the && button. You are defining a compound expression that limits the alert
to those New Account Applications processes that exceed 1 minute.
18. Press the Ctrl-space keys simultaneously.
19. Double-click ${Process} and then click the = = button on the keypad.
20. Enter "New Account Applications" (including the quotation marks) after the equals symbol (= =).
Note: You do not need to configure the email.
in the Data Source Preview window and
21. To test the alert expression, click the Refresh button
click OK on the Confirm Save dialog. Processes displayed in bold have exceeded the threshold.
In the following steps, you start a new process instance so that the alert displays in the dashboard.
22. Within TaskSpace, click the Processes tab and start the New Account Applications process and
wait a few minutes.
138
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
23. Click the Configuration tab and on the tree menu select Dashboards.
24. Click the New Account Applications dashboard and click Edit.
25. Click Next on the Modify Dashboard Configuration window. The dashboard design canvas opens.
26. Within the New Account Applications report, locate the New Account Applications process you
started in Step #22 and click it. The Alerts List dashlet displays the duration alert triggered for
that specific process.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
139
2. From the File menu select New > Structured Data Type. The Add Structured Data Type Wizard
dialog appears.
3. In the Name field enter AverageDuration and in the Display Name field enter Average Duration.
4. Select the Update BAM Database tables based on this SDT definition checkbox.
6. In the Name field enter Value. In the Display Name field enter Value. As the process runs this field
is populated with the average duration it takes to complete the New Account Applications process.
7. In the Type list box select INT.
8. Select both the Searchable and Reportable checkboxes.
9. Click OK.
140
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
10. Select Tools > Process Properties to open the Process Properties dialog.
11. Click the Data tab.
12. Highlight Process Variable and then click the Add new process data button
13. From the Type list box, select <More Types>. The Choose Structured Data Type dialog appears.
14. Select Average Duration and click OK. You are brought back to the Process Properties dialog.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
141
18. For the manual activity, open the Activity Inspector window.
19. Select the Data tab.
20. Select the process variable and then select the This variable can be used to generate reports
checkbox.
142
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
25. Save, validate, and install the process. Enter AverageDurationReport as the name of the process.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
143
144
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
145
146
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
147
10. Select Tools > Process Properties to open the Process Properties dialog.
11. Click the Data tab.
12. Highlight Process Variable and then click the Add new process data button.
13. From the Type list box select Customer Type.
14. Click the General tab.
15. Turn the Audit Trail On.
16. Click OK. The Process Properties window closes.
17. For the manual activity, open the Activity Inspector window.
18. Select the Data tab.
19. Select the process variable and then select the This variable can be used to generate reports
checkbox.
20. Click OK. The Activity Inspector window closes.
21. Open the Activity Inspector for the automated activity.
22. Click the Performer tab and select dm_noop_auto_method as the method.
23. Click OK to close the Activity Inspector dialog.
148
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
24. Save, validate, and install the process. Enter New Account Customer Type as the name of
the process.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
149
AccountTypeAmount
Platinum
30
Silver
1000
After you have completed three processes, you are ready to design the New Accounts by Customer
Type report.
150
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
7. Click the Chart Type tab and in the Type property select Pie.
8. Click the Chart Data tab.
9. In the Category (X) axis property select AccountType and in the Value (Y) axis property select
AccountTypeAmount.
Note: It is possible that the category and value properties are correctly configured by default,
which means that the pie chart displays correctly and you do not have to do anything.
10. Select Published in the State list box and then save the report. Publishing the report makes
it available for use in a dashboard.
151
of a manual activity and automated activity is designed. An SDT captures information about the
number of accounts for each of five countries. This process must be executed five times. The country
column in the data source is configured as a single drill-down, so that when a bar is selected in
the report, the contents of the New Accounts by Customer Type report displays. This drill-down
relationship is tested once you complete the dashboard.
These topics include procedures for designing, running, and reporting on the New Accounts Opened
This Week process.
2. Create an SDT and in the Name field enter AccountsThisWeek. In the Display Name field
enter Accounts This Week.
3. Add two attributes to the SDT. In the Name field of the first attribute enter Country.
4. In the Display Name field enter Country. As the process runs you will populate this field with
five different countries.
5. In the Type list box select String.
6. Select the Searchable, Reportable and Update BAM Database tables based on this SDT
definition checkboxes.
7. Create a second attribute.
152
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
9. Select Tools > Process Properties to open the Process Properties dialog.
10. Click the Data tab.
11. Highlight Process Variable and then click the Add new process data button.
12. From the Type list box select Accounts This Week and then click the General tab.
13. Turn the Audit Trail On and click OK. The Process Properties window closes.
14. For the manual activity, open the Activity Inspector window and select the Data tab.
15. Select the process variable (Var0), select the This variable can be used to generate reports
checkbox, and click OK. The Activity Inspector window closes.
16. Open the Activity Inspector for the automated activity and click the Performer tab.
17. Select dm_noop_auto_method as the method and click OK to close the Activity Inspector dialog.
18. Save, validate, and install the process. Enter Accounts This Week as the name of the process.
153
NewAccounts
Germany
1200
France
1000
Denmark
600
Czech Republic
1130
After you have completed five processes, you are ready to design the New Accounts Opened this
Week report.
154
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
6. Click the Chart Type tab and in the Type property select Bar.
7. Click the Chart Data tab and in the Category (X) axis property select Country and in the Value
(Y) axis property select NewAccounts.
Note: It is possible that the category and value properties are correctly configured by default.
8. Select the Drilldown property and click the browse button (...). The Drilldown dialog opens.
9. Click the Report radio button and then click the Browse button. The Select Target Report dialog
opens.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
155
10. Select the New Accounts by Customer Type report and click OK. The Select Target Report dialog
closes.
156
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
2. Create an SDT with the name AccountsLastWeek and the display name Accounts Last Week.
3. Add three attributes to this SDT. In the Name field of the first attribute enter Date and in the
Display Name field enter Date. As the process runs five times, you will populate this field with
one of five different days of the week.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
157
a.
b.
c.
d.
a.
b.
c.
d.
8. Click OK.
9. Select Tools > Process Properties to open the Process Properties dialog.
10. Click the Data tab.
11. Highlight Process Variable and then click the Add new process data button.
12. From the Type list box select Accounts Last Week and then click the General tab.
13. Turn the Audit Trail On and click OK. The Process Properties window closes.
14. For the manual activity, open the Activity Inspector window and select the Data tab.
15. Select the process variable (Var0), select the This variable can be used to generate reports
checkbox, and click OK. The Activity Inspector window closes.
158
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
16. Open the Activity Inspector for the automated activity and click the Performer tab.
17. Select dm_noop_auto_method as the method and click OK to close the Activity Inspector dialog.
18. Save, validate, and install the process. Enter Accounts Last Week as the name of the process.
Amount
Order
Tuesday
4000
Wednesday
3000
Thursday
6000
Friday
5000
After you have completed five processes, you are ready to design the New Accounts Opened Last
Week report.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
159
7. Click and drag the New Accounts This Week report and place it next to the Alert List dashlet.
Adjust the size of the dashlets if necessary.
8. Click and drag the New Account Last Week report and place it next to the Process Diagram
dashlet. Adjust the size of the dashlets when necessary.
9. Test the single drill-down report by clicking any of the bars in the New Accounts This Week
report. The New Accounts by Customer Type report displays, along with a trail of bread crumbs
for navigating back to the source report.
160
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
10. Click Save and then click Finish. Your prototype dashboard is complete.
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
161
Index
A
activities
count children, 45
wait, 45
adaptors, 75
controls, 75
types, 75
uses, 75
aggregation, 92
application
phases, 17
planning, 18
application servers
settings, 100
archiving
application, 111
attachments
using, 66
audit trail
configuring, 58
enabling, 58
automated activities, 60
automated system, advantages, 9
automatic activities
performance, 98
B
BAM
Crystal reports, 91
dashboard design, 90
enabling packages reporting, 58
enabling SDT monitoring, 58
external database, 59
process variables reporting, 58
purging production environments, 92
reporting, 58
reporting requirements, 89
simple reports, 91
synchronizing BAM database, 59
system requirements, 89
BAM database
synchronizing , 59
BAM reporting
configuring audit trail, 58
enabling, 58
Business Activity Monitor, 58
See also BAM
business process management products, 13
business requirements, 19
C
choose one automatic performer
process design, 59
Composer
deploying, 108
D
dashboards
design considerations, 90
pre-configured, 93
refresh intervals, 93
data adaptors, 75
data mapper, 37
data mapping
input context, 38
multi-valued attributes, 41
repeating attributes, 37
XML support, 42
data model
description, 29
permissions, 20
planning, 29
roles, 20
database
references, 108
database server
settings, 105
deploying
application, 107
Composer version, 108
steps, 107
deployment, 107
Composer version, 108
deleting SDTs, 109
migrating, 61
overwriting existing process, 109
planning, 28
process templates, 108
setting up, 20
updating database references, 108
upgrading, 61
versioning process templates, 109
DFC trace, 105
disabling
full-text indexing, 103
document view, 70
documents
displaying inline, 70
Documentum repository, 14
Documentum xCP products, 14
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
163
Index
EMC products, 11
enterprise content management platform, 14
enterprise content management products, 13
environment
application server settings, 100
content server settings, 101
database server settings, 105
environments
purging , 92
error messages, 74
object types
custom object types, 42
F
folders
displaying inline, 71
form templates
creating, 63
forms
electronic forms, 69
performance, 98
full-text events
purging, 104
full-text indexing
disabling, 103
I
implementing
TaskSpace, 85
initiate process template, 69
J
JVM capacity, 100
L
logins
performance, 100
looping
count children activity, 45
defining, 42
simple loop, 43
wait activity, 45
M
manual archive
Documentum, 112
testing, 116
troubleshooting, 118
message correlation, 36
migrating, 61
monitoring
enabling SDTs, 58
164
P
package attributes
monitoring, 31
SDTs
using, 30
using, 30
packages, 29
description, 30
displaying inline, 72
electronic forms, 69
enabling reporting, 58
performance, 98
analyzing, 105
automated workflow activities, 60
automatic activities, 98
configuration recommendations, 97
impactors to, 98
large configurations, 97
logins, 100
mandatory search attributes, 99
medium configurations, 96
preconditions, 99
SDTs, 60
search criteria, 98
search forms, 98
skill set matching, 100
small configurations, 96
system configuration, 96
task lists, 99
tuning, 105
wildcard searches, 98
permissions, 20
process data, 29
process debugger
debugging custom methods, 56
using, 55
process design
BAM, 57
choose one automatic performer, 59
process parameters, 29
using, 31
process performers, 108
process templates
Composer, 108
versioning, 109
process variables, 29
enabling reporting, 58
types, 29
processes
activity names, 31
child process, 50
designing, 33
designing activities, 33
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
Index
performance, 100
structured data types, 29
See also SDTs
system configuration
guidelines, 96
large configurations, 97
medium configurations, 96
recommendations, 97
small configurations, 96
system design, 20
reporting
configuring audit trail , 58
configuring audit trail settings, 58
Crystal reports, 91
data in an external database, 59
enabling, 58
packages, 58
process variables, 58
simple reports, 91
reporting requirements
BAM, 89
reports
drill-down, 93
formatting, 93
roles, 20
task lists
performance, 99
task templates
displaying multiple packages, 72
document view, 70
folder view, 71
using, 86
task view
designing, 70
tasks
sending to temporary group, 34
TaskSpace
adding buttons to a task form, 86
assigning current object actions to
menus, 87
current object actions, 87
finish buttons failing on a task form, 86
implementing, 85
iterative rollout, 85
metadata pane in a folder view, 86
preconditions, 99
selected object actions, 87
task lists, 99
tomcat server
settings, 100
SDTs
accessing attributes, 61
deleting, 109
description, 29
enabling monitoring, 58
monitoring, 31
performance, 60
search forms
criteria, 98
mandatory search attributes, 99
performance, 98
wildcard searches, 98
search template
using, 64
service-oriented architecture, 14
simple reports, 91
skill set matching
upgrading, 61
user interface
design tips, 63
form templates, 63
search templates, 64
V
versioning
process templates, 109
processes, 61
W
workflow
automated activities, 60
EMC Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide
165