- What is a Work Group? What is the primary function of a Work Group from a business perspective?
Ans – A work group is a logical collection of operators having a common supervisor ie. a work group can identify a user who is a supervisor, and a set of workers and workbaskets that report to that supervisor.
Use – For the supervisor of a work group, the My Group area of the Process Work space provides quick access to the worklists and workbaskets associated with the group (In the workbasket tab of workbasket data instances we enter the name of a work group that uses the workbasket. This field determines which workbaskets appear in the View Queue list on the My Group area of the Process Work workspace for managers). Also workgroups facilitate for better monitoring and reporting of tasks on the Monitor Activity workspace.
- What are workbaskets? What is the relationship between a Work Group and Workbasket?
Ans – Assignments for work objects may be associated either with individual users
(and appear on their worklists) or with a workbasket. All users who are
qualified to work on work objects from that work basket may remove an
assignment from the workbasket to process the assignment. The “contents” of a workbasket is a set of assignments awaiting processing, ordered in decreasing urgency, similar to the contents of a worklist.
Few other important things to keep in mind about workbaskets are (If only the specific question is asked then answer as below):
Assignments leave a workbasket in three ways:
- Users who are qualified can remove an assignment from the workbasket to process the assignment.
- An application can automatically route assignments in a workbasket to users based on work schedules, due dates, skills, workloads, and other factors.
- Managers can transfer assignments from a workbasket to user worklists.
** During execution of a flow, a router task can choose which workbasket is most appropriate to receive a newly created assignment.
** The relationship between workgroups and workbaskets is one-to-many i.e. one workgroup can be associated with multiple workbaskets. (In the workbasket tab of workbasket data instances we enter the name of a work group that uses the workbasket. This field determines which workbaskets appear in the View Queue list on the My Group area of the Process Work workspace for managers)
- How do you associate an operator with a workbasket?
Ans – Each operator may have a list of workbaskets that they can view. Normally users can fetch assignments directly from any workbasket defined for their own organizational unit. However, if the roles are specified in the roles array on the workbasket tab of the workbasket data instance, the operator must possess at least one access role that matches an access role in the Roles array.
- What are the primary configurations that you do in an Access Group?
Ans – The primary purpose of an access group is to make a set of RuleSet versions available to requestors.
Also the access group associated with a user affects access control by determining:
- The portal layout that a user sees first after logging in.
- The local customization RuleSet name and RuleSet version. These usually are defaulted when this user creates a new rule instance.
- The application rule for this user.
- Optionally, the access roles available to this user.
- Workpools available to the user
- What is the difference between a Workpool and a Work Type? Can a workpool belong to another workpool? Can a worktype belong to a work pool?
Ans – Different work types (classes derived from the Work- base class)
are grouped in to one class group and when this class group is added to a
user in his access group, the user can work on each work type of each class group added. Class groups so added are called as Work pools. A workpool cannot belong to another work pool. Multiple work types can belong to a work pool
** Class Group – A class group instance causes the system to store the instances corresponding to two or more concrete classes that share a common key format in a single database table. The name of the class group is a prefix of the names of the member classes. Class groups and work pools are basically the same thing and class groups added to a access group are called work pools.
- What do you mean by Case Management in Pega? (Concept of – Folders, Covers, Work objects) When do you use folders?
Ans – Case Management involves managing work that, for processing and reporting purposes, differs from classic BPM work objects. Cases may involve:
- less rigid structure
- more flexibility in the order of tasks or which tasks are needed
- interrelationships with other work
Process Commander facilities supporting sophisticated case management include covers, folders, and case type rules.
Case Management design is governed by the Case Type Definitions gadget, which is used to configure the following case type and work processing configurations. Using the gadget, you can:
- Construct covering relationships and build new case types using a standard tree gadget.
- Add entirely new case types: Creates Class and Case Type rules, provides standard starting flows for the new case type.
- Reuse existing case and work types.
- Manage various aspects of work processing, including:
- Service levels
- Attachments Categories (and automatic attachments when work objects are created).
- Automatic and conditional instantiation of covered items when a new cover (case) is created.
- Mapping roles to object access for your various case and work types.
- What are declarative rules? Few examples.
Ans – A declarative rule describes a computational relationship among
property values that is expected to be valid “always” or “often” or “as
needed”. Declarative rules will be in force automatically and hence you need not call these rules explicitly. The primary benefit of declarative processing is that the
system, controls when computations are processed. Some examples are :
- Constraints rules (Rule-Declare-Constraints rule type)
- Declare Expression rules (Rule-Declare-Expressions rule type)
- Declare Index rules (Rule-Declare-Index rule type)
- Declare OnChange rules (Rule-Declare-OnChange rule type)
- Declare Trigger rules (Rule-Declare-Trigger rule types)
** Keep in mind the concept of forward chaining and backward chaining and out of the above rules only Declare Expressions can use both FW Chaining as well as BW chaining. Rest all use only forward chaining.
- From an activity how do you call a decision table?
Ans – In an activity, you can call a decision table using the Property-Map-DecisionTable method.
- Migration of patches from one environment to another?
Ans – For Migration of rules from one environment to another we create a ZIP file containing rules from one or more RuleSets. For this we use a product rule (Rule-Admin-Product rule type) or a product patch rule (Rule-Admin-Product-Patch rule type) and then import the zip file into the target environment. Also we can use the export gadget to create the zip file for rulesets.
** The data instances (such as access groups, operator ids etc.) can be included in the product or patch rules.
- What do you mean by exposing a property? Did you use any SQL tools or does Pega provide some means to expose columns?
Ans- A Single Value
property that is visible as a column in a database table is said to be exposed. Only exposed properties can be used for the record selection operations in list view and summary view rules.
In Pega we can use the ‘Modify Database Schema’ wizard to expose properties. Also the database administrator can cause a property previously stored only inside the Storage Stream column to become a separate exposed column using SQL tools such as TOAD.
** Aggregate properties, properties within an embedded page, and properties that are not exposed are contained in a specially formatted Storage Stream or BLOB column. Most PegaRULES database tables contain a Storage Stream column named pzPVStream.
** Exposing too many properties in a table may speed reporting and searching operations, but make insert and update operations slower. The tradeoff and relative impact depends on hardware and software and no general guidelines exist.
- What is the concept of database table mapping? Why do we do that? Do you do any additional table to class mapping (apart from the existing mappings) during development?
Ans – In database table mapping a database table instance associates a class with a relational database table or view, in the PegaRULES database or an external database. This is done to map a class to a database table and thus store the instances of the class in the table. Yes we have done additional table to class mappings for several application specific classes during development.
- What are SLAs used for? How do you configure an SLA?
Ans – SLAs are rules in PRPC that indicate the expected or targeted turnaround time for the assignment, or time-to-resolve for the work object. Each service level rule defines one to three time intervals, known as goals, deadlines, and late intervals. Late intervals are repeated.
Service level rules can be associated with assignments in a flow and with the entire flow. For example, we can set a goal of 2 hours to process an assignment and a deadline of 4 hours. (The time interval starts when the assignment is created, not when a user begins processing the assignment.)
- For assignments, the service level rule is referenced in the Assignment Properties panel of the assignment task.
- For the overall work object, the service level rule is identified in the standard property .pySLAName, typically set up through a model for the class. (The default value is the Default service level.)
** The Pega-ProCom agent detects service levels not achieved — unmet goals or deadlines — promptly. If an assignment is not completed before the time limit, the system can automatically notify one or more parties, escalate the assignment, cancel the entire flow, and so on.
- Can you call one section from another section?
Ans – Yes it is possible to call one section from another. A section rule can appear within another section, panels and containers within a harness rule, or within a layout cell.
- Which harness would you use to present the work object to the users only for viewing?
Ans – Review harness. Review harness is used to display the work objects in display-only mode, with no fields changeable.
- What are Work Parties? How do you send correspondence to work parties?
Ans – work party is a person, organization, or other actor identified in a work object, who can be the recipient of email or other forms of correspondence. A work object may identify no work parties, one, or many work parties. The work party role associated with each work party identifies why a party is present, and may determine which properties are defined for that party.
A Notify activity, when referenced in a flow, sends out correspondence, such as an email message, when a flow execution creates an assignment. Typically, the system addresses correspondence to a work party identified in the work object and reports progress to that party.
- In the flow, what is the difference between local and connector flow action?
Ans- Flow actions specify the choices that user have when performing an assigned
work object. Flow actions are mainly of two types i.e., connector actions and local actions.
Connector flow actions advance the flow. They are associated with the connector
that exists at the assignment, so selecting them causes the flow to advance
along with the path.
Local actions allow the user to update the work item, but don’t advance the
flow. After the assignment is committed, the flow remains at the same
assignment from which the local action was performed.
- Have you integrated any external systems with Pega? How do you make a SOAP call? Briefly mention the steps to connect to an external system using SOAP.
Ans- To make a SOAP call from PRPC we import the wsdl from the external web service and create SOAP connector rules in PRPC to invoke the external web service.
We use the Connector and Metadata Accelerator to generate the connector rules. The Connector and Metadata Accelerator imports information about an external application or system and generates rules and data objects that the PRPC applications can use to communicate with that external system.
Before you use the Connector and Metadata Accelerator to generate connector rules, follow these steps:
- Identify the RuleSet and version to contain the generated rules — classes, properties, connector rules, activities, and so on.
- Identify or create the following class rules to use for the generated rules.
- An abstract class rule — typically one that inherits from the Data- base class — for the accelerator to use as the container or base for the generated items with the exception of the connector activities. (If you do not create this class before you begin, the accelerator can create one for you.)
- A concrete class rule for the connector activities. If you plan to call the connector from a flow, choose a class that inherits from the Work- base class, so that the connector activities can be called directly from an Integrator task.
Next , start the Connector and Metadata Accelerator and provide the URL to the WSDL document of the Web service that you want to connect to. Complete all the steps on the wizard to generate the connector rules and data mapping rules.
** Also, be familiar with Soap Service rules. You may also get questions on that.
- Which rules does the Connector Accelerator create while building a connect soap interface?
Ans – When your Process Commander application uses a SOAP connector to interact with a Web service, you set it up by using the Connector Accelerator. The Connector Accelerator imports the WSDL of the Web service and generates rules as follows:
- Class and property rules that represent the data model of the external system
- One connector rule for each operation that you selected
- One connector activity for each connector rule
- What are Connect HHTP rules used for and how are they different from connect SOAP rules?
Ans –
PRPC 5.2 introduces two new integration rule types: Rule-Connect-HTTP Rule-Service-HTTP These rules are used when you want your PRPC application to send XML or string data (regular text) as messages to an external system without having to comply with standards messaging protocols such as SOAP. The rules currently work very similar to the SOAP rules but, do not create or consume WSDLs, nor can they be generated using the integration wizard. Use these rules instead of custom Java code for making HTTP requests to external systems. |
Purpose –
The HTTP integration interface supports interactions between your Process Commander applications and other systems through HyperText Transport Protocol.
Use HTTP connector rules when you want your Process Commander application to send XML or string data (text) as messages to an external system without the need to comply with messaging standards or protocols like SOAP.
- How can we achieve reusability in Pega? Typically what kind of rules go in at the enterprise level and what rules would you create at the implementation level?
Ans – We can achieve reusability in Pega by creating rules which are to be used by different applications within an organization at an enterprise level. Typically rules that are generic and are to be used by multiple applications such as connectors and services go in at the enterprise level and rules which are specific to an application such as flows and activities go in at the application level.
- What are screen flows and screen tabbed flows
Ans- Many computer input procedures are most effectively handled by presenting a user with a series of simple forms that each require only one or a few questions to be answered. After submitting a form, a user receives with another simple form (with more questions) that may depend on previous answers. At any point, users can backtrack to review, or change, previous answers.
Process Commander can support such interactions with screen flows, a flow rule with specific settings.
Three runtime presentations are available to allow users to navigate within a screen flow execution at runtime:
- Completed tasks (that are designated as entry points) appear as blue rectangles in a breadcrumbs control. A user selects a rectangle to return to that task.
- Tabs for both completed and future tasks (that are marked as entry points) appear at the top of the action area. Completed tasks contain with a check mark.
- No breadcrumbs control or tabs appear. A user can return to a completed task that is marked as an entry point when the <Back> button appears.
- Can you call an integrator from screen flows?
Ans – No an integrator shape is not allowed in a screen flow.
- Can you use an unexposed column in criteria of a report?
Ans – No. However, if the application needs a column corresponding to an embedded property values, the values can be copied to the top level or exposed indirectly through instances of an Index- class and then used as a criteria of a report.
- Different types of harnesses available in PRPC.
Ans- Some of the standard harnesses in PRPC are :
- New — Support initial entry (creation) of the object.
- Perform — Support users completion of assignments.
- Review — Display the work objects in display-only mode, with no fields changeable.
- Confirm — Accept a text note explaining a user’s reasoning about a recently completed assignment.
- Reopen — Support reopening a previously resolved work object.
- PrintReview — Support printing of all the fields
- What are Agents and how to configure them?
Ans – An agent is an internal background process operating on the server that runs activities on a periodic basis. Agents route work according to the rules in your application; they also perform system tasks such as sending email notifications about assignments and outgoing correspondence, generating updated indexes for the full-text search feature, synchronizing caches across nodes in a multiple node system, and so on.
Agents are defined by Agents rules (Rule-Agent-Queue rule type). Agents are enabled and are scheduled through Agent Queue data instances (Data-Agent-Queue class). The pattern (periodic/recurring) and interval (amount of time, in seconds, that the agent waits before restarting) for the Agent rule is configured in the Agent Queue data instances.
- How to open a work object in an activity?
Ans – Use the Obj-Open method or the Obj-Open-By_Handle (if the exact handle or unique key is known) in an activity to open a work object.
- How to call a flow from a flow?
Ans- Using subflows or parallel flow shapes such as Split-for-each.
- What is Backward chaining and which all declare rule can use them?
Ans – Explain Backward chaining with an example. RDE can use backward chaining.
- Difference between Pagelist and Pagegroup?
Ans –
- Page List mode property is a data structure consisting of an ordered list of zero or more pages, each identified by an integer index (starting with 1).
- A Page Group is a data structure consisting of an unordered set of pages, each identified by a string subscript value.
For example, a Page Group property can contain an array of 50 pages, one for each state in the United States, indexed by state code. The reference:
State(“VA”).Population can identify a numeric property for the state of Virginia.
In contrast, a Page List data structure uses numeric indexes (subscripts) 1, 2, 3 to identify an ordered list of pages.
- What are the different decision rules in PRPC?
Ans – Commonly used decision rules in PRPC –
- When conditions (Rule-Obj-When rule type)
- Decision Tree rules (Rule-Declare-DecisionTree rule type)
- Decision Table rules (Rule-Declare-DecisionTable rule type)
- Map value rules (Rule-Obj-MapValue rule type)
** Read about the difference between the above rule types.
- How would you delegate a rule to a specific group of users?
Ans – By adding this rule to System-User-MyRules through the Favorites and specifying the access group and by making sure security and portal configuration for this group of user is appropriate.
- What is the use of a split for each shape?
Ans – Split for Eachshape is used to send a work object through another
flow based on information in the pages of a Page List or Page Group property.
- Which rule can we use to fire an activity automatically when the value of a specified property/properties change.
Ans- Rule-Declare-Onchange
- What design considerations should be done while using Commit method in an activity.
Ans –
- We should use the Commit method judiciously. Flow processing performs commits automatically when the flow ends and when an assignment is created or completed. To avoid interference with this approach, do not use Commit in the flow-related activities in your application.
- When you include the Commit method in an activity, design the processing so that the Commit method occurs only after errors are intercepted, checked, and corrected. If a Commit method fails, it is unlikely that processing can continue in any reasonable way, so it is important to include a transition in the Commit step that checks the status.
- Even when processing can continue after Commit failure, design your activity (after debugging and fixing the cause of the failure) to collect any required user input that corrects the problems, and re-perform any Obj-Save methods that preceded the Commit call.
Guardrails
1. Adopt an Iterative Approach
2. Establish a Robust Foundation
3. Do Nothing That Is Hard
4. Limit Custom Java
5. Build For Change
6. Design Intent-Driven Processes
7. Create Easy-To-Read Flows
8. Monitor Performance Regularly
9. Calculate and Edit Declaratively, Not Procedurally
10. Keep Security Object-Oriented Too
Key Points
(a) Perform PAL testing 8
(b) Use standard PRPC rules, objects and properties 3,4
(c) Use no more than 15 SmartShapes® 7
(d) Control access to the application using privileges and roles 10
(e) Create the class structure early in the design process 2
(f) Use flow actions to guide users through the application 6
(g) Document five use cases upfront 1
(h) Use Auto Generated HTML 3
(i) Create a declared expression instead of using Property-Set 9
Summary view has drill down(used for “group by” option) and chart tabs. List view has selectable tab(used for embedded list view display. Left blank if list view is not marked as embedded).
LIST VIEW:
Content Tab: SQL statements are created from the information present on this tab.
The DB results appear in a page list property called pxResults of class Code-Pega-List.
pxResults contain properties of type page e.g. pxResults(1), pxResults(2), etc.
GetTheseFields has the properties that are contained in each page value.
Organize Tab: After the DB results are obtained sorting, filtering and formatting based on when conditions is done under this tab.
Sorting, filtering, etc are usually done by the DB softwares like Oracle, IBM DB2, etc as thee are faster, but they need single value properties that are exposed columns in the DB schema.
Text in the full description field appears as the report title.
If there are no parameters required, then we can test the list view by the toolbar Run button.
Using the Export to PDF checkbox on the Organize Tab of list view or summary view, report users can now export the results of the list or summary view to a PDF document.
OR
- Create a report using the report wizard.
- In the End step, specify which buttons display when an operator generates this report, and then click Next.
Calling the list view in an activity:
Obj-ListView method or by a standard activity Rule-Obj-ListView.ShowView
When we use Obj-ListView method result page of class Code-Pega-List is created that containsthe instance of the classes satisfying the criteria specified on the content page. “Organize, format and display fields” are not used in this method. It causes the results to be stored on the clipboard only.
Rule-Obj-ListView.ShowView is used to support user display and actions. In that we have to define some values for the pyAction parameter like Refresh, Sort,etc.
Rule-Obj-ListView.ShowView can also be used to start a list view from a URL.
The immediate parent class of Rule-Obj-SummaryView and Rule-Obj-ListView classes is the Rule-Obj-HTML class.
Most PegaRULES database tables contain a Storage Stream column named pzPVStream.
Only top-level Single Value
properties can be exposed. If your application needs a column corresponding to an embedded property values, the values can be copied to the top level or exposed indirectly through instances of an Index- class.
Any property (or property value) that has a property mode other than Single Value
is an aggregate. It can be of the mode Page List, Page Group, Value List, Value group or Java Object.
To view and work with an interactive chart, users workstations must have the Flash Player 9 browser plug-in.
If you leave the Criteria array empty, the summary view report selects all instances of the class, up to the limit in the Maximum Value field.
In the Field field, you can specify only properties that correspond to exposed columns in the PegaRULES database.
TO MODIFY A DB SCHEMA TO EXPOSE A PROPERTY:
To display the current schema:
- Select Tools > Database > Modify Database Schema.
- A list of databases identified in Database data instances appears. Select a database and click Next .
- A list of tables in the selected database appears from Database Table instances. Select a table.
- Click Explore Columns
- The resulting List of Classes window appears.
- There is a Properties Set to Be Visible value that counts the properties for which the Column Inclusion value is
Required
orRecommended
.
To expose a top-level Single Value property as a column
- Get the “List of classes ” as mentioned above.
- Locate the class that contains the property to be exposed.
- Click the number in the “Set to be visible row”
- The resulting detail window displays the properties already exposed as columns in gray text at the bottom of the display. Properties that are candidates to be exposed are shown at the top of the display in black text.
- Check the box for each property to become exposed as a column
To expose embedded properties
Copy approach — Copy the value to a new top-level property each time the embedded property changes (or each time the instance containing the property is saved).
- Create a new top-level Single Value property to hold a copy of this value.
- Create a one-step activity to copy the value to the new top-level property, with Activity Type set toTrigger.
- Create a Declare Trigger rule that calls the activity each time the work object is saved
- Expose the top-level property.
- Reference the top-level property in the list view rule.
Declare Index approach — If not one but many or all values of a Value List
or Value Group
are needed as exposed columns, a Declare Index rule is a better approach.
A Storage Stream is a column in a PegaRULES database table that contains property data in a compressed format. Most tables in the database contain a Storage Stream column, identified as the pzPVStream column.
TOOLS:
Rules Inspector tool — Identifies the harness, section, HTML rules and properties that together make up a form.
Preflight– A rule in your application may work correctly and save without errors, but still be marked with a warning (). The Application Preflight tool summarizes these warnings.
Clipboard tool — Shows the current property values in internal format.
RDB List and OBJ List Diff, Obj-browse, Portals, a class X-Y-Z is there how will be create an instance of that class,, Split for each and split join shapes, Agents, declarative rules, decision rules, pattern and directed inheritance, how to call a separate flow from spin off, Router and Notify shapes, Obj open and Obj open by handle, Enable paging, Withdrawal rule, Commit and roll back
Declarative Rules determine computational relationship between properties. They do not need to be explicitly called by the developer. They are always in force. Declarative processing reduces the number of activities that we need to create.
These are of 5 types:
- Constraints rules (Rule-Declare-Constraints rule type)
- Declare Expression rules (Rule-Declare-Expressions rule type)
- Declare Index rules (Rule-Declare-Index rule type)
- Declare OnChange rules (Rule-Declare-OnChange rule type)
- Declare Trigger rules (Rule-Declare-Trigger rule types)
- Declare Pages rules (Rule-Declare-Pages rules type)
Constraints rules (Rule-Declare-Constraints rule type): When we apply a constraint rule on any property, the system monitors whether the constraint is met each time either value changes. If the constraint becomes false, the system makes the page invalid and invalid pages cannot be saved in the database.
Declare Trigger rules (Rule-Declare-Trigger rule type): A Declare Trigger rule identifies processing to occur automatically when an instance of a specific class is saved or deleted. An activity with an Activity Type of Trigger
performs the processing.
Declare Expression rules (Rule-Declare-Expressions rule type): e.g Area= length*breadth. Whenever L or B changes, A gets recalculated.
Declare Index rules (Rule-Declare-Index rule type) : This rule is used to define criteria under which the process commander maintain Index instances for faster access.
Declare OnChange rules (Rule-Declare-OnChange rule type): This rule automatically calls an activity when the value of any specified property changes. If we specify more than one property, they all must be on the same page. E.g. we can create an activity that sends email to the employees whenever the basic or the HRA changes.
The Target Property Data in the declare expression field decides forward and backward chaining.
Paging can be enabled in reports by checking the check box for enable paging in the Organize Tab We can also determine the page size and alignment etc.
RDB list method is used to retrieve data from external database and store it embedded pages in a specified step page of class Code Pega List. The properties to be querried by this method must be exposed properties. Whereas Obj List method is used to retrieve data from the external database as well as the Pega Rules DB. This method is often used with a list rule( Rule-Obj-List rule type), which defines a list of properties to retrieve. Obj-List is not used after 5.4.
Obj-Browse: Use the Obj-Browse method to search instances of one class and copy the entire instances, or specified properties, to the clipboard as an array of embedded pages. Only exposed properties can be used as the selection criteria.
To copy only a single instance we will have to use Obj-Browse folled by Obj-Filter.
Portals are of 5 types: Developer, User, Composite, Classic and Custom.
Any type of portal can be selected on the Type value of the Skins tab
Developer portal contains several menus required by the application developers like FILE MENU ( “New Application Profile”, “New Operator”, etc), VIEW MENU, RUN MENU, etc.
Spin Off shape starts a new flow and does not wait for its completion whereas Split Join shape sends the work object to two other flows and the current flow does not resume before the completion of the other two flows.
In Spin Off we set the define flow on field to on another work item to start a new flow (the other options are on current work item and on embedded page)
Router shape sends an assignment o a user, workbasket or agent other than the current user. It is associated with the assignment shape.
Notify shape sends correspondence to work parties by email, fax, etc about the status or progress of the work object as the assignment is created.
For an activity in the Work- class or a class derived from Work-, the Activity Type field (on the Security tab) of an activity determines whether it can be used in a flow shape. A value of Utility, Connect, Assign, Notify, or Route indicates that the activity can be referenced directly in a flow task of the corresponding type.
Obj-Open method is used to open an instance stored in Pega Rules DB or an external DB and save it as a clipboard page.
Obj-Open by Handle method is used only if we can identify the unique handle associated with the instance of the Pega Rules DB. Many instances may have the samevisible key, but each instance will have a unique handle.
AGENTS are internal background process that run on the server on periodic basis. They route work,send correspondence and notifications, etc.
There are three standard agents: Pega-ProCom, Pega-Rules and Pega-IntSvcs.
Smart label is a text label that is clickable. At the rum time when user clicks the label text, a pop-up window appears.
- Build a section that contains the contents of the pop-up window. (It should not contain any input fiels).
- Add a Smart Label control to the harness, section or flow action rule.
- Complete the cell properties (Label, Section and Header).
Pages and Classes : The system uses information present on this tab. at runtime, to locate the properties on the clipboard. The clipboard may contain thousands of properties and it may be difficult to locate different properties. Hence we use this tab.
Page names are case sensitive.
For an embedded page enter the full page name starting with the top-level page name or with the keyword Top. Use () for List and Group arrays. For example:
MyToplevel.APageList().APageGroup().APage
Withdrawn Rule: A withdrawn rule is never selected by rule resolution. In addition, other rules that match this rule on the following fields are also hidden from rule resolution:
- Rule type
- Rule name (visible key)
- RuleSet
- Major portion of the version
- Circumstance Property name and value, if not blank
- Circumstance Date property name and value, if not blank
- Start date and End date, if not blank
In addition, the version number of the other rules that match this rule must be lower than the version number of the withdrawn rule.
Using a withdrawn rule to mask a rule in a locked version
You can’t delete a rule that belongs to a locked RuleSet version. However, using the Withdrawn availability setting, you can mask that rule so that rule resolution never finds it.
For example, assume the unwanted rule belongs to Alpha:02-10-15, which is locked, and that current development involves Alpha:02-11-07. To mask the unwanted rule:
- Open the unwanted rule.
- Use the Save As toolbar button to copy the rule into version 02-11-07.
- Change the Availability of the copy to Withdrawn.
A blocked rule may block other rules in any RuleSet, and a blocked rule stops rule resolution from finding rules in higher Applies To classes. A withdrawn rule affects other rules only in one RuleSet and one Applies To class.
Archive tools : the process commander create a ZIP file of the rules, data instances and work objects and moves that ZIP file from one system to another. The import and export facilities operate on the server.
To create a Zip file containing rules from more than one ruleset, we use a product rule(Rule-Admin-Product) or a product patch rule(Rule-Admin-Product-Patch) whereas to create a Zip file containing rules from one ruleset, we use the Export Archive Tool.
To import any type of Zip file, use the Import Archive Tool.
Don’t create a ZIP archive when any of the rules designated for the archive are checked out. An error is reported identifying the checked-out rule or rules. Neither the original version nor the checked-out version of the rule is included in the ZIP archive.
pzInsKey holds the handle value of the object. A handle contains the class name, certain key parts and the creation date and time.
pzInsKey is the primary key of almost all tables in a Pega Rules DB.
Obj-Save method is used to save a clipboard page into a PegaRules db or an external db. It is used for a “deferred write” method in which the db is updated only when the “commit” method is executed.
If we want to save the page immediately under the Obj-Save method we use the WriteNow parameter.
Unlike the Commit method, the Obj-Save method does not operate on all previously marked-for-commit objects, only on the current page, and does not release locks.
We can reverse the effect of an Obj-Save method — if it has not yet been committed — with the Obj-Save-Cancel or the Rollback method.
Obi-Save has two parameters: WriteNow and WithErrors(Select this box if the instance is to be saved even when it contains messages, indicating validation errors.).
Obj-Delete method is used to delete a database instance corresponding to a clipboard page and optionally to delete the clipboard page too. You can cause the deletion to occur immediately, or (more commonly) defer deletion until a later execution of a Commit method.
It uses the table name, key fields, and other aspects of the class rule to mark the instance for deletion. Unless you check the Immediate check box on the activity form, the database deletion does not occur until the system next processes the Commit method.
You can reverse or cancel a previously executed Obj-Delete method by using the Obj-Save-Cancel method (like the method Obj-Save can be reversed), unless the Immediate box is selected or the Commit method has already occurred.
It has 2 parameters: Remove and Immediate.
Correspondence: PropertySet-Corr, CallSend-SimpleEmail
New Features in Pega 6.1
- Spaces given in Property name or class names are automatically removed as no spaces are allowed as per naming convention.
- In front of the name of the Flow, RUN button is available to straight away run the process.
- By default, an SLA is associated with an assignment in 6.1. It may be removed if not needed.
- Drag a decision Rule into the editor, and then the shape is automatically created. In earlier versions, we have to create a shape and then associate a decision rule with it.
- In 6.1, when we create a flow action, it expects an already created section. But earlier versions, when a F.A is created, then and there, we can create a section also along with F.A.
- Changes made to a section would reflect in the Flow Action. Also, changes made to a F.A would reflect back in that Section. This happens in 6.1
- Grid, Tree and TreeGrid Layouts are new in 6.1. These are repeating layouts.
- When you reuse a section, changes made to the reused section will reflect in the original section also. This is a new feature in 6.1
- In WorkParty screen, while adding Roles, in 5.5 there was a drop down for Roles. In 6.1, there is no dropdown. We have to manually enter whatever roles we want.
- Report Definition is a new type of Report in 6.1.This can contain Listview and summary view reports.
PAL, SMA, How to trace agents, How to find out the errors in a production environment, Disadvantage of screen flows, diff btwn exit and end activity
PAL(Performance Analysis of Logs): PAL is a tool which should be used to gain insight into where the system is spending resources; use PAL to determine if there are resource issues impacting performance, or may begin to do so when more load is added to the system. PAL readings highlight processes which fall outside of the norm.
//
1. Take Baseline Reading
Once the first run-through of the scenario has been completed, open PAL to create the first reading. This will give a baseline from which the actions in the scenario may be measured.
2. Start Process to be Measured
Begin the process being measured by initiating the first action.
After the first step in the process:
a. Take a PAL reading (click the Add Reading link to add the DELTA)
b. Capture a screenshot of the first screen (make sure to include the entire browser window ) and put it into a document.
3) At every step, follow the procedure:
a. complete the step
b. take a PAL reading
c. take a screenshot
Important: The reading must be taken after the step has fully completed, and all the screens are fully generated.
4. Save the data
After all the readings have been made (and all the screen shots taken), click Save Data.
The Save Data link will create a .csv file. Name the file with a meaningful name and save the file. This file may be viewed in Excel:
//
Goto Run>>Performance
Start the flow and click on start profiler.
After the flow is executed, click on stop profiler.
A pop up window will appear:
Open the excel document and we can see the time taken by different activities to get executed. (Usually no activity should take more than 5 secs).
(Total Wall time: time taken by the main activity, Wall time without children: time taken by the main activity excluding the time taken by the internal activity. )
Profiler also shows all of the When rules called, both inlined and rule-resolved. The Tracer does not show inlined when rule executions.
Use the Profiler in conjunction with the Performance Analyzer (PAL). The PAL tool can help you locate areas to where performance can be improved (example: if one interaction requires 3,900 activity calls). Then for further information on activity steps, run the Profiler to get full details.
DB Trace: It is used for performance improvement. If work items are taking long time to get processed then we can use DB Trace to figure out where exactly is the time being spent. It traces the time interval of the data entering or leaving the data table.
Unlike the Trace facility, it is not possible with DB Trace to do real-time viewing of the operations data. Instead, DB Trace gathers the data into a text output file which contains all the low-level database operations that Process Commander performs.
DB Trace should be used when:
- the Database Access counts are high
- Elapsed Time is high (especially if CPU time is low)
- the Database Threshold is exceeded
Diff btwn exit activity and end activity: Exit activity end only the called activity whearas end activity ends the calling as well as the called activity.
The Skim facility causes a resetting of the RuleSet version values in the highest version of existing rules. For each rule instance in a specified RuleSet or version, the system identifies the highest numbered version and creates a still higher copy.
- For a major skim, the system adds one to the major part of the version, and sets the minor and patch values both to “01.”
- For a minor skim, the system preserves the major version, and sets the minor and patch version values to the version you specify.
From the Designer Studio, select >Tools > Refactor RuleSets >Skim a RuleSet to begin the skim operation.
Skimming simplifies the topmost rule versions in a RuleSet after multiple iterative development cycles. For example, if the highest version was previously 02-21-06:
- After a major skim, the skimmed version number is 03-01-01.
- After a minor skim, the skimmed version number is 02-22-01.
Rules in lower versions such as 02-21-05, 02-18-53, or 01-88-15 of the same rule are not copied by the skim operation.
The skim automatically creates the new RuleSet version instance corresponding to the major, minor or patch version above the current version. It then copies rules from the current version (selecting only those in the highest-numbered version) into the new major or minor version. Rules with available of Blocked in the source RuleSet versions are not copied.
UI Guardrails:
- Make the styles, color palettes, images, icons and fonts, consistent throughout your application.
- Select a header style and use it consistently.
- Put your buttons in consistent places on every screen.
- All text boxes and select boxes should be the same width, to eliminate the jagged look. Left and right alignment is required.
- Make good use of screen space. Eliminate horizontal scrolling, and reduce vertical scrolling as much as possible
- Minimize data entry. Use automatic lookup features that fill in fields automatically based on user input.
For example, after the user enters a zip code, the city and state can be automatically filled in.
- Don’t try to fit everything on one form. Ii will take a user more time to complete one long complicated screen than two simple screens.
- Design for modularity. Design small pieces of the screen so that they can be easily changed and reused.
- Avoid mixing tree navigation, tab navigation and dropdown navigation for the same task.
- Avoid excessive use of title bars and headers
SMA is used by the administrator for debugging, agent processing, finding logs, etc. Each system along with a server can be considered as a node.
Nodes can be viewed on the clipboard under “pxProcess(Code-Pega-Process)”
CIRCUMSTANCE DEFINITION AND TEMPLATE:
First a template is created. Under the TEMPLATE tab, the prop names are specified.
Then we create definitions corresponding to those property values.
We can apply a simple circumstance on a single rules or we can use circumstance template and circumstance definition for many properties.
Skimming copies rules with availability Yes, No/Draft, Withdrawn, and Final from the source RuleSet version(s) to the skimmed RuleSet version.
Enable row selection checkbox can be used for adding checkboxes(Multiple value) or radio buttons(Single Value) in reports.
Exception Handling in activities : Step Status Good.
Exception handling in SQL: {SQL Page: Page Name}
Reports use the “Get Content” activity.
If pagination in a report is done as “5” then only 5 records will be visible on the clipboard page.
How to add a button in any screen of a screen flow? How does the screen flow comes to know which is the last screen to add the finish button?