Professional Documents
Culture Documents
1
Training Material
Training Agenda
Basic
DAY
TOPIC
Day 1
Day 2
Activities
Create Activities.
Data transform.
Creating Data transform.
Daily Quiz & Recap.
Basic
DAY
TOPIC
Day 3
Flows
Creating Flows.
Decision Rules
Creating Decision Rules.
Daily Quiz & Recap.
Day 4
User Interface
Creating User Interface.
Administration (Organization/Operators/Roles).
Daily Quiz & Recap.
Assessment MyRcube.
Advanced
DAY
TOPIC
Day 5
Declarative Rules
Creating Declarative Rules
Connectors And Services
Creating Connectors And Services.
Data Pages.
Creating Data Pages.
Daily Quiz & Recap.
Day 6
Agents / SLA.
Creating Agents / SLA.
Report.
Creating Report.
Portals.
Daily Quiz & Recap.
Advanced
DAY
TOPIC
Day 7
Correspondence.
Creating Correspondence.
Using Designer Studio.
Daily Quiz & Recap.
Day 8
Application Express.
Wizards For Automation.
Using Wizards.
Daily Quiz & Recap.
Advanced
DAY
TOPIC
Day 9
Case Management
Creating Case Management
Deployment.
Daily Quiz & Recap.
Day 10
Circumstance/Localization.
Guardrails /Best Practices/ Design Principles.
Using Tracer/ Live UI/ Clipboard (Advanced).
Daily Quiz & Recap.
Assessment MyRcube.
Day 11
POC
Basic Day 1
What is BPM ?
The only BPM system that delivers a unique blend of process and practice rules.
Provides tools for developing, deploying, executing and evolving Simply Smart
business process applications.
Once selected, the rule is converted to Java and executed at Java speed.
Comes with powerful integration facilities that enable you to leverage existing
applications.
System Requirements
Operating System:
One Application
One or more RuleSets
One class model, including a unique, top-level class
One or more HTML-based forms, tailored for your work
One or more flows
Multiple activities
Multiple flow actions
E-mail notification and correspondence features (optional)
Organization Hierarchy
Authorized users
One or more access Groups
One or more access Roles
What is a Rule?
What is Ruleset?
Design Paradigm
You subclass the work class to define your own work classes.
You inherit rules from the work class.
You can override rules youve inherited and define new rules.
Process Flows
Flows specify how work objects are initiated and how they proceed through the
process to resolution.
Properties
Properties are attributes of something. The attributes of your chair may be legs,
color, type of arms, etc. Each of those attributes has a different value depending
on the particular chair you are talking about.
In Java and Pega terms, a property is a field that holds data and can contain:
Scalar values.
Other pages & Arrays.
Activities
Perform a specific action in memory or against the database (retrieve, save, etc.)
Process Commander includes built in User Interface features called harnesses that
enable you to get an application up and running quickly.
These sophisticated HTML rules support the initial creation, update, and review of
individual or related work objects.
There are five types of harness: New, Perform, Review, Confirm, and Reopen.
Chapter 1 - Class
Abstract classes
These classes cannot be instantiated.
Abstract classes should be named with a dash (-) as the last character.
Eg: MyCo<EmpId>-
Concrete classes
These classes can be instantiated
They do not end in a dash
Inheritance
Inheritance
Directed Inheritance
Specified on class form (General tab).
It is a mandatory field. It should not be left blank.
Inheritance
Pattern Inheritance
In this example, pattern and directed class are the same.
we are defining the class AtPega-Data-demo2 which is derived from
AtPega-Data-
@baseclass
The ultimate base class, identified by the symbol @baseclass, is the top most class
in the class hierarchy.
All other classes are derived from this class. This class is similar to the root class in
Java.
The abstract classes Assign-, Rule-, Work-, and others that are direct subclasses of
the ultimate base class are known as base classes.
If youve checked the Find by name pattern first checkbox, the rules resolution
process first traverses up the pattern hierarchy.
If a match is not found in the pattern hierarchy search, it searches through the
directed hierarchy (starting from the bottom again).
If you havent checked the Find by name pattern first checkbox, then only the
directed hierarchy will be searched.
Only rules in RuleSets and Versions that are present on your own RuleSet list are
candidates.
Inheritance Example
@baseclass
MyCo<EmpId>-
MyCoA<EmpId>-Child1<EmpId>
MyCo<EmpId>-
MyCoA<EmpId>-Child2<EmpId>
Directed
Pattern
Creating Classes
Objectives
Create a class.
Understand how a class is defined as a set of rules.
Use the App explorer to find classes and whats been defined inside them.
Use inheritance (both directed and pattern).
Understand types of classes.
Understand what happens at runtime.
Rules Resolution/Assembly
Class
These exercises are important so that you learn how to create classes. Later in the
course, you will be creating classes to represent your work objects. But for now,
well practice just what we learned in this chapter, which is how to create a class.
In these exercises, make sure that you save your class definitions into your RuleSet.
If your lab environment is a single PRPC server system, dont forget to use the
number from your login ID to make your class names unique. If your lab
environment is comprised of a server for each student, ignore the <EmpId> in the
classname.
1. Create a class called MyCo<EmpId> which is a top-level class. It should have a
version number of 01-01-01.
(Youll need to inherit from @baseclass via directed inheritance).
2. View the class in the App explorer.
Are there any inherited properties or activities visible? If so, turn off the ability to
see the inherited properties / activities (so it should be empty). If you are having
trouble finding out how to do that, use the online help facility
Class
3. Create the class hierarchy (Refer to the next slide)
When naming your classes, Use a version number of 01-01-01 for the Created in
version field.
4. Create the classes with the following names
MyCoAMyCoA-MyDivMyCoA-MyDiv-MyUnit
Defining a Class
In the menu tab click App, select create from dropdown, then SysAdmin and then
Class to create a new class.
Defining a Class
If you click the Create button you will get the following screen.
Note that the only tabs that are required to be filled-out are:
General Tab (not all of the properties).
History Tab.
Upon saving the form, the system will detect errors in your input.
Checks to make sure that it is complete.
Saves it into the PegaRULES database (rulebase*).
Puts it into the current RuleSet.
If errors are detected, an error list will be presented, fields containing errors will
appear in red.
Correct your errors and save again.
You need to SAVE your definitions into your current RuleSet (more about why
later).
Chapter 2- RuleSet
A RuleSet Name rule is an instance of the Rule-RuleSet-Name class.
A RuleSet Version rule is an instance of the Rule-RuleSet- Version class.
Create a RuleSet to identify, store, and manage the set of rules that define an
application or a major portion of an application.
When you create a new RuleSet, you also create a RuleSet version.
When you enter a new RuleSet name, the system enters a default three-part version
identifier of 01-01-01 (Major Minor - Patch).
RuleSet Name rules are part of the SysAdmin category.
A RuleSet Name is a major aspect in:
Access Control.
Grouping Interrelated rules.
Managing the rules.
Moving application Set of rules from one PRPC system to another.
Include the RuleSet, Pega-ProcessCommander as a prerequisite to your system or a
RuleSet that has this RuleSet as a prerequisite.
E.G . Myco:01-01-01
Create Ruleset
Ruleset Version
Branch RuleSet
A branch is a container for RuleSets with rules that are undergoing rapid change
and development.
The RuleSets associated with a branch are called branch RuleSets. A branch
RuleSet is a RuleSet that:
Is based off of "branched from" another RuleSet.
Contains rules that are in active development in the associated branch.
Chapter 3 -Work- & DataWork Work- class is a superclass to all the classes that define work items.
A work item is the fundamental unit that records processed work in an application.
Properties, HTML forms, and flows in the Work- class are available to support the
behaviour and appearance of every type of work items.
Work items belongs to a class derived from the standard abstract class Work-Object Covers belongs to a concrete class derived from the Work-Cover- class
Folders belongs to a concrete class derived from the Work-Folder- class
Data Data- class is an abstract that define and contain static data and cumulative data.
Data- classes contain email messages, correspondence, and other permanent or
enduring cumulative information produced by the application as it runs.
Cover
A cover is a work item that is also a parent to one or a few other related work
items.
A cover is a work item in a concrete class derived from the Work-Cover- abstract
class.
A cover may also be a parent of other cover objects
The covered work items are the children in a parent-child relationship.
Folder
A work item folder is a work item in a concrete class that inherits from the WorkFolder- class.
A folder object holds a collection of one or more other work items.
One work item may be associated with multiple folders, but only with one cover.
Members of a folder can belong to different work types, which need not belong all
in a single work pool.
The relationships between folder work items and their contents may be many-tomany.
Page list or Page Group Property mostly derive from Data- Class.
Basic Day 2
Chapter 4 - Activities
Activities
Activities
Process Commander uses a clipboard metaphor to describe the collection of inmemory pages.
As the system runs, in-memory data (objects, etc.) are held in clipboard pages.
A page is an XML data structure that holds name-value pairs.
If you wish to set or retrieve property values for a specific object, you need to
work on its clipboard page.
When a page is created, it doesnt allocate storage for the properties until they are
needed.
Process Commander comes with methods that you use in activities to;
create pages.
move data between pages and the database, or other pages.
perform other functions.
Embedded Pages
An embedded page is a clipboard page that is not a top-level page, but rather is
the value of a property of mode Page.
The Obj-List method creates an array of embedded pages (all of the same class)
that contain its results.
When the activity gets called, the page that you used to call the activity becomes
the activitys primary page.
For those who know Java or C++, the primary page is essentially equivalent
to this.
In steps, we can call one of pre-defined methods which work on a page (in
addition to calling Java methods)
A step page refers to the page a given step is operating on.
Unless a step page is specified, the primary page is used.
Accessing Properties
Method: Page-New
Use the Page-New method to create a new page on the clipboard from activity.
Its common to use a Page-New method with the primary page when you want to
test an activity as you are writing it.
This allows you to select the execute this activity button (on the activity ruleform) and to be able to operate on a page.
Enables unit test to simulate being called from another activity.
Youll later remove the Page-New when you are done writing the activity.
Method: Show-Page
In testing an activity, you may want to use a method to have the activity display its
primary page
Creating Pages
Creating Pages
If you use Page-New and the page already exists, the old page will be deleted
and the new page will be created.
Use the Pages and Classes tab when you need to create a new page (other than
the primary).
Specify the page type, i.e., the class name in the Pages and Classes tab
Specify the page name (any name you wish)
Now you can use that page name within the steps page to indicate you want to do
something with that particular page.
i.e. can be used with any method that operates on a page .
Method: Page-Remove
If you create a page in an activity and no longer have need for it, you should
remove it.
Method: Page-Remove
Use this method to delete one or more pages from the clipboard. Contents of
the database are not affected.
In the page parameter array, enter the name of the page or pages to delete.
The system finds the page(s) (top-level or embedded) on the list and deletes
them.
If a page you specified is not found on the clipboard, the Page-Remove
method reports a warning error but does not fail.
Create An Activity
Make sure that you save any rules, E.g. class definitions into your RuleSet.
1.Create an activity called GetDetails for your class MyCo.
This activity does a Property-Set on each of the properties in GetDetails as follows:
Set .Name to John.
Set .Amount to 25000.
Set .Currency to USD.
2.Use the clipboard viewer to create a page (of class MyCo) and to test your
activity. View the results in the clipboard.
Create An Activity
Name the activity, give the applies to class name select the ruleset then click on
create and open button at the right top of the screen
Create An Activity
After creating the below screen can be seen, where the methods can be selected
along with the related pages and conditions for performing that particular
method. At last Save the activity.
Create An Activity
The symbols on the rule form allow you to add and delete steps, enter
arguments for methods, etc.
Validatio
n
Add a new
Row (Step)
Delete
row (Step)
A data transform rule provides a purpose-built rule for easily transforming and
mapping clipboard data without using activities.
Data transform defines how target data (properties, pages, etc) is mapped from
and transformed by source data (properties, pages, etc).
These rules are instances of the Rule-Obj-Model rule type.
Referenced
In Activity, method Like Apply-DataTransform, Page-New, Page-Copy and PageChange-Class methods.
Starter flows can specify a data transform to set initial properties for the work
item.
In flow action, the system apply a data transform before or after displaying the
flow action user interface to the user.
In user interface elements, which include the Client Event Editor's:
Refresh This Section action
Refresh When conditions
On-click control rule actions Refresh Section, Show Harness, and Open URL In
Window
Data transform rules can be referenced by other data transforms.
Data Transform
Actions
Append and Map To
Append To
Apply Data Transform
Exit For Each Page
For Each Page In
Otherwise
Otherwise When
Remove
Set
Sort
Update Page
When
Data Transform
Data Transform
Data
Transform
From record explorer select data model and you can find data transform. Provide the
name, applies to class and ruleset. Click on create and open button in the right top of
the screen.
Data Transform
Select the action then set the target and source. Save the changes.
Data Transform
Basic Day 3
Chapter 6 - Flow
A flow
Is a model of your business process.
Is a rule containing a network of SmartShapes and connectors (directed
arrows).
Each with associated parameters and values.
Governs how work objects are:
Created.
Progress through the system.
Are resolved.
You can see the flow instances in the App Explorer and Record Explorer.
When making changes to the flow, be sure to:
save it into your RuleSet.
save it into your new work class.
Flow Symbol
The flow has to be created using different shape available in the editor.
The flow is the instances of Rule-Obj-Flow.
Before the flow created the parameters in Design and Process tabs have to be
updated.
The flow type, flow initiation screen, etc have to be updated in the process tab
saved.
Flow Symbol
Start Task
Connector
Assignment Task
Decision
Utility
Annotation
Flow Symbol
Integrator
Split-Join
Split-ForEach
End
Assignment-Service
Connector
Connector
Likelihood:
Enter a percentage between 1 and 100 that indicates how likely the action will take place
If there is only one possible path, enter 100. Otherwise, allocate
percentages among the multiple paths as appropriate.
Selecting Always removes the likelihood and connector label.
Assignment
Assignment
Router
Utility
Utility
Decision
Decision Task
Identifies an activity that can make an automated decision
about the progress of the work object through this flow.
Assignment Service
Split-Join
Use the Split-Join shape to require that multiple sub-flows of
your flow are completed before the current flow continues
execution.
This allows the sub-flows to be performed asynchronously,
in parallel.
Flow Actions
Flow Actions
Local Action
Describe an action that can be taken during assignment processing that can
change the state of the work object but does not move it along in the flow, E.g.
Attach a file to a work object.
Attach a URL.
Flow Actions
Flow actions can also be indicated as Local and Connector.
Draft Mode
You can place your flow in draft mode, which allows users to partially
complete the flow.
In Case of developing an application, you can define and save flow rules while
activities, flow actions, and properties that do not yet exist.
On the developer toolbar, the Draft button (
Click to enter draft mode.
Create a Flow
Right click on the preferred class select create go to process then select flow
Flow
Give the flow name, applies to class and select the ruleset. Create and open the flow
Flow
Below you can see single assignment flow along with different flow shapes. Select
the required shapes connect that using connectors and save all the changes.
Decision Tree
Decision Table
Map value
When
Decision Tree
Use a decision tree rule to record complex if then logic that calculates a value in a
simple-to-understand format.
Decision Table
Use a decision table to derive a value that has one of a few possible outcomes,
where each outcome can be detected by a test condition. A decision table rule lists
two or more rows, each containing test conditions and a result.
At runtime, the system evaluates the rows starting at the topmost row. If all
conditions in a row evaluate to true, the processing rule completes and the value
associated with that row is returned to the application. If no rows in the table
evaluate to true, the system returns a default result.
Map Value
Use a map value rule to create a table of number, text, or date ranges that
converts one or two input values, such as latitude and longitude numbers, into a
calculated result value, such as a city name. Map value rules greatly simplify
decisions based on ranges of one or two inputs. Use a map value rule to record
decisions based on one or two ranges of an input value. A map value rule uses a
one or two-dimensional table to derive a result.
Through cascading where one map value calls another map value rules can
provide an output value based on three, four, or more inputs.
Complete the Input tab before the Matrix tab. To restrict the possible results to
one of a small known list of literal constants, complete the Results tab before the
Matrix tab
When
when condition rule defines a true-false test based on comparing one or more
property values with constant values or with other property values.
For example, a when condition rule can test whether an amount is greater than
zero or a date is in the future.
Basic Day 4
A work object is the primary unit of work in an application and the primary
collection of data that a flow operates on.
As an application is used, work objects are created, updated and
eventually
closed (resolved).
Assignments for work objects (that have not yet been resolved) appear
on
someones worklist, or in a workbasket.
In a production system, the number of work object instances may eventually
grow to
many thousands or millions.
The storage of those work objects may require more database space
than rules
or data instances.
User Interface
Work object User Perspective
The flow name updated in case type.
A work object gets created when you click create menu.
User Interface
A form (with perhaps one or more fields pre-filled) will appear.
The user will complete the form and create the work object by clicking the
create button at the bottom of the form.
Lifecycle
After the user enters data in the form, the work object begins its journey.
The ultimate destination is to get resolved.
When a work object is resolved, it no longer appears on someones worklist
(but it still exists in the database).
The journey itself will be defined by the flow associated with a work objects
class.
Status
The status of the work object will change as it progresses through the flow.
An open work object is one that is not yet resolved, or has been reopened after it
was previously resolved.
Still requires automated processing, or interactive processing.
Status
The property Work-.pyStatusWork (mode String and type Text) holds the work
objects status.
New (not yet qualified).
Open (responsibility for processing is with the processing organization).
Pending (responsibility for processing is currently with an external
organization).
Resolved-Duplicate.
Resolved-Rejected.
Resolved-Complete.
Properties
Properties that are set in the work objects default model include:
@baseclass-.pyLabel (displayed label, New Purchase Request).
Work- .pyStatusWork (status as discussed earlier, this property is updated as
the work object moves through the flow).
Prefix and suffix for Work ID:
Properties
Harness
Work classes have several harnesses, inherited by Work-.
The harnesses are HTML rules (instances of Rule-HTML-Harness) which are
used for different stages of the work objects user interface.
Use harnesses to define the appearance and processing of user forms used
in your application to create work items and process assignments.
Create Harness
Create Harness
Section
The Section are HTML rules (instances of Rule-HTML- Section ) which are
used for different stages of the Harness.
Create Section
Create Section
Standard Harnesses
Harness Types
Purpose
New
Perform
Confirm
Review
Reopen
Chapter 9 - Administration
Access Group
Organization
An organization is an instance of the Data-Admin-Organization class.
An organization is the top level of the three-level organizational hierarchy available
to all your applications.
Select > DesignerStudio > Organization And Security
> Organization > Organization Chart to see the organizations in your system.
Create Organization
Division
The middle level instances are known as divisions. (Data-AdminOrgDivision class). They are the part of Organization Category.
Division identifiers are limited to 32 characters. As a best practice, limit the
division name to no more than eight characters in length.
Create Division
Unit
An organization unit is an instance of the Data-Admin-OrgUnit class.
Organization units form the bottom level of a standard three-level organizational
hierarchy available in every PRPC application.
Each user (Operator ID instance) is associated with an organization, division, and
unit.
Create Unit
Operator ID
An Operator ID instance is the saved object in the Data-Admin-Operator-ID class
that defines a user's name, password, access group, organizational setting,
calendar, and other values.
Informally, the term Operator ID refers to the key field of that data instance,
equivalent to a user name in other software settings.
Operators are also called simply users or caseworkers. (In some
organizations, operators are called agents, customer service representatives
or CSRs.)
Create Operator ID