PEGA SSA
The ruleset list for the application with built-on applications can be viewed on the ruleset list landing page
(Dev Studio > Configure > Application > Structure > RuleSet Stack).
Default rule (rules cache)
A default rule candidate is the first rule candidate (highest ranked) that has no qualifiers. This default rule candidate is the last possible rule to be executed as it always matches any additional requests for this rule. Additional rule candidates ranked below the default rule candidate are discarded.
Weighted Conditions (duplicate cases)
Each condition has a weight (between 1 and 100) to determine the relative importance of a condition when making the comparisons. The system adds up the weights of all the conditions that evaluate to true. If the sum exceeds a specified threshold value, the system flags the current case as a potential duplicate.
Rule resolution
Is a search algorithm used to find the most appropriate instance of a rule to execute in any situation. Happens every time you need a rule to resolve. Applies to most rules that are instances of classes derived from the abstract Rule- base class
search duplicate cases process
Is provided by Pega helps identify and resolve duplicate cases. Uses basic and weighted conditions
Embedded classes (parallel processing)
Split joins allow you to call a flow on n embedded page such as a data class
Temporary cases
Temporary cases are only stored in memory on the clipboard and not in the Pega Platform™ database. Temporary cases do not have case IDs. Processed by single operator can't be routed
Date Property (circumstancing)
The rule variant is effective whenever the value of a date property satisfies the circumstancing condition. This condition can be either a single date or a range of dates. If the value of the property is later than the specified date or falls within the range of dates, the application uses the circumstanced variant of the rule, rather than the base rule.
Skimming (Requirements for updating application rules)
You must update application rules, the Requires RuleSets and Versions prerequisites array in RuleSet version rules, and access groups to reference the new major version after the skim completes. Log out and log in to access the new version.
The New Application wizard creates the initial application rulesets.
the created rulesets include two rulesets for the application itself and two organizational rulesets.
As of date (circumstancing)
the rule variant is effective after a certain date, or during a range of dates. After the specified date or during the specified range, the application applies the circumstanced variant of the rule, rather than the base rule.
Rules Cache flows as follows
1. Choose rules with correct purpose 2. Discard rules that not available 3. Filter rulesets and versions user has access to 4. Discard rules not in inheritance path (To be considered in this step, a rule type must have the Use class-based inheritance to arrive at the correct rule to execute? check box selected in the class definition.) 5. Rank remaining rules. (has multiple aspects ranking differently based on Class, Ruleset, Circumstance, Circumstance Date, Date/Time Range, then Version. and removing withdrawn rules) 6. Set rules cache
Multivariate circumstancing flows in which steps
1. Circumstance template 2. circumstance definition 3. circumstance record
To develop rules in parallel using branched rulesets, each team follows these steps:
1. Creates a team application built on the main application 2. Creates one or more development branches in the team application 3. Grants access to the team application 4. Creates or configures rules using the branch 5. Merges each branch into the application rulesets when development in branches is complete and stable
Rule resolution (how process works)
1. Find rules in rules cache a. find the best match ( if dupe then Pega sends message stops populating b. populate the rules cache 2. rule blocked? a. error if it is (message added to log file) b. no 3. User has access? a. error if they don't (message sent not authorized) b. run rule if they do
Configuring a decision table (steps in order)
1. Open the Application Explorer. 2. Select the class in which you want to create the decision table. 3. Right-click and select Create > Decision > Decision Table. The New Record form opens. 4. In the Label field, enter a name that describes the purpose of the table. 5. Click Create and open. The decision table rule form opens. 6. On the table under Conditions, click the empty header cell. The Decision Table property chooser dialog opens. 7. In the Property field, enter or select a property. You can alternately click the gear icon to build an expression. 8. In the Label field, enter the name of the property that you entered in the column header. 9. In the Use Operator drop-down, select a comparison operator. 10. Click Save. The Decision Table property chooser dialog closes, returning you to the decision table rule form. 11. If you want to add another condition property, add a column to the right of the first column by selecting the add column icon on the control header. 12. Add a second property to the new column. 13. In the if row, click the empty cell under the first property and enter a value. 14. In the Return column, enter a return result. The following image shows the first condition set. 15. If you want to add conditions, select the add row icon on the control. 16. Enter values in the first and second columns and a return value. In this example, values for Credit Score and Outstanding Balance are entered. 17. Enter another row and return action. Repeat this process until you add all the rows required to create the decision table. 18. Add a return value to the otherwise row. 19. click save
Inputs to the rule resolution algorithm include:
1. Predefined rule keys that are used as a unique identifier, such as the Apply to: class, rule name, and rule type 2. User's ruleset list 3. Class hierarchy of the rule in question 4. Circumstances such as the value of a property, or time and date restrictions 5. Availability of the rule 6. User's access roles and privileges
Steps to circumstance a rule
1. in Dev Studio open the base rule 2. on the base rule, in the header tab, select Save as > Specialize by circumstance. The New Record form opens with two circumstancing options: Template and Property and Date. 3. On the New Record form, identify the type of circumstance. To circumstance on one variable, select Property and Date. To circumstance on more than one variable, select Template. 4. Configure and save the circumstance conditions.
Split for each (parallel processing)
A Split For Each shape allows you to run one subprocess multiple times by iterating through a set of records stored in a page list or page group. When the items on the list have been processed, the main flow continues.
Rule checkout and check-in
A team typically develops applications. Multiple team members may check out rules to work on the same application in a coordinated manner. The checkout feature ensures that different team members are not editing one rule at the same time. The system enforces the use of checkout and check-in operations when a ruleset has the checkout facility enabled. Before you can change that rule, you must perform either the standard checkout or private checkout operation.
Branches in teams applications
After you create the team application, you define branches in the application and add them to the application record for the team application. Specify a unique name for the branch that identifies the feature being configured. Pega limits the name of each branch to 16 characters. Branch names are visible across all the applications on a system. When creating a branch, use a name that identifies the appropriate application, such as Expense[Feature]. This avoids confusion when development teams attempt to add branches to their applications. Ensure that if you have multiple branches order is the same as resolution
basic condition (duplicate cases)
All basic conditions must be met before considering potential duplicate cases. Once all basic conditions are met, the system continues to evaluate the weighted conditions to receive a weight value.
Availability = Blocked
An availability of Blocked indicates the rule may be used during the rule resolution process. Rules marked as Blocked can be viewed, copied, or edited in Dev Studio, but do not execute. If a blocked rule is selected during rule resolution, execution is halted, and an error message is added to the log file.
Availability = Not Available
An availability of Not Available indicates the rule may not be used during the rule resolution process. When a rule set to Not Available is found in the rule cache created during the rule resolution process, the rule in the next-highest version is considered for rule resolution.
Availability = Withdrawn
An availability of Withdrawn indicates all rules that are in the current version ruleset and previous version ruleset and have the same purpose (or rule type) and Apply to: class are hidden and no longer considered after Availability is checked during the rule resolution process. When a rule marked as Withdrawn is found during rule resolution, the system looks for an instance of the rule in the parent class or next highest ruleset in the application ruleset stack.
Case locking and child cases
By default, if Allow one user is selected for the parent case, Pega Platform locks the parent case whenever a user opens a child case. To override this behavior and allow a second user to update the parent case while the child case is open, select the Allow other users to access parent case when the child case is opened check box. If Allow many users is selected for the parent case, Pega Platform prohibits case locking configuration on any child case. Note advanced tab if you want to configure locking of a standalone child case
circumstancing
Circumstancing is the practice of creating additional variants of a rule based on specific circumstances, such as property values. When the circumstancing criteria are met, Pega automatically executes whichever version of the rule either the base rule or the qualified circumstanced version of the base rule.
Accessing lock and roll
Configure > Application > Structure > RuleSet Stack page
Accessing skimming
Configure > System >Refactor > RuleSets page
Configuring parallel processing
Done via adding the smart shape into the flow diagram. Note split for each needs to be configured like its a flow for each. Ensure that the flow and page list used for the shape are in the same class. Spinoff flows configured the shape in the flow rule (has a checkbox)
Grant access to the team application
Create an access group that references the team application. To name the access group, include the application name plus the standard user type, such as HRAppsPOAdmn. When you create the access group: Verify that the access roles are sufficient to develop and test the application. Reference the work pool for the main application. Specify the correct portal, such as the Developer portal for application developers. Probably want to start by copying access groups from original app
Condition branches (decision trees)
Decision trees contain condition branches — a comparison value, a comparison operator, and an action. The action can be to return a result, to continue the evaluation, or stop the evaluation. The branches are organized in a hierarchical tree structure. Typically, you specify common conditions and results at the trunk of the tree. You then extend the tree outward to more-specific conditions and their actions. When the decision tree is invoked, the system evaluates the top row and continues until it reaches a result that evaluates to true. The result is returned to the system. If the system processes through all the branches but does not reach a returned result, the system returns the final otherwise value.
Validation tool
Dev Studio > Configure > Application >Tools > Validation allows for quick identification of invalid rules
Create a team application
First, Team A and Team B each create a development team application built on the main application. Team application names typically reflect the base application, team name, or the focus of the team. Open the main application rule and perform a Save As to create the team application. Under the list of Built on applications, configure the team application to reference the main application.
Pega skimming wizard
For each rule instance in a specified ruleset, the wizard identifies the highest-numbered version and creates a copy with the number you specify.
Application validation mode
If the AV mode is used, rules in the ruleset can reference all rules in the rulesets defined in the: Same application Rulesets belonging to any built-on application Rules in the ruleset cannot reference rules outside the current application stack or above the defining application.
Decision table
If you are asking a yes/no question when using an automated decision process, then a when rule serves the purpose. For example, a decision such as "Does this purchase order require additional approval?" works well with a when condition. However, if you need to test the values of multiple properties to answer questions such as "What promotional offer should the company offer?", you can use a decision table.
Merge branches when development is stable
Move the new and updated records from the branch to the base rulesets when development activity in the branch has reached a stable point. This makes the newest updates available to the wider development team. When you merge a branch into the application, you can either delete the branch if development is complete or maintain the branch to support additional development of the feature. Before you begin the merge process, view the contents of the branch on the Content tab of the Branch landing page. Content information includes the changed rules, ruleset and the user ID of the individual who updated the rule. Make sure what needs to be checked in is checked in.
Join conditions (parallel processing)
On Split For Each and Split Join shapes property forms, you specify a join condition. The join condition setting controls when the main flow resumes. 1. Select Any if you want the main flow to resume after any one of the subprocesses completes. At that time, processing of the other subprocesses that have not completed is stopped. Open assignments for these subprocesses are cancelled. 2. Select All if you want the main flow to resume after all of the subprocesses complete. 3. Select Some if you want to use a when rule or a count to determine when the main process can resume. The Split for Each shape also contains an Iterate join condition. This starts flows for items on the Page Group or Page List property one by one, testing an optional when condition to determine whether to start the flow for a given iteration. A Spinoff does not have a join condition because the subprocess never rejoins the main process.
Ruleset best practices
Only use RV for rulesets that are designed to be used across multiple applications, such as organizational rulesets, to make them easily portable and prevent the introduction of dependencies on a specific application. Create applications for common rulesets; use the built-on functionality to include common rulesets in the application. Include unlocked AV rulesets in one application only. Doing so prevents AV rulesets from referring to rules that may not exist in applications that do not contain the ruleset. Run the Validation tool after implementation of critical changes or milestones (for example, changes to the application ruleset list or built-on application as well as changes made before lock/export).
Accessing ruleset list
Operator > Profile.
Rules purpose (choosing rule with correct purpose)
Remember, the purpose of a rule is defined by a combination of all the key properties of a rule, except the Apply to: class on which the rule is defined.
Skimming
Skimming is the process of saving the highest version of a rule into a new, higher ruleset version. Skimming applies mainly to resolved rules. Skimming is useful when rule changes follow a logical sequence. The two types of skims are minor and major. The skim types correspond with the update types (major or minor/patch). for minor rules withdrawn are carried forward
Lock and roll
Small changes or patches are ideal for lock and roll. Creates a new empty ruleset. Minor and major versions require application record and access group updates. Patches usually do not need the updates. May want to reserve space when updating. Labor intensive for major updates
Single value (circumstancing)
The rule variant is effective whenever the value of a single property satisfies the circumstancing condition. You specify the property to evaluate a comparison value when circumstancing a rule. If the value of the property matches the specified value for a case, the application applies the circumstanced variant of the rule, rather than the base rule.
Branch rulesets
The rulesets associated with a branch. Is based on (branched from) another ruleset Contains rules that are in active development in the associated branch
Spinoff (parallel processing)
The spinoff option in the Subprocess shape allows you to run the subprocess in parallel with the main flow. The main process does not wait for the subprocess to complete before proceeding. The spinoff option is an advanced feature in the Subprocess shape and is accessed in the flow diagram.
Decision Table property chooser tool
The tool allows you to: Select a property or create an expression used for the evaluation. Enter a label that appears on the table. Select the comparison operator. The default is the equals sign (=). If you select a numeric property, you can use greater than/less than operators. You can also use these operators to define a range.
Circumstance definition
This defines the combination of conditions in which a property uses a variant of a rule
Circumstance template
This defines the properties on which to circumstance a rule
zipMoveSkim privilege
This is required to run a skim Pega provides a default role for system architects which includes zipMoveSkim. SysAdm4 is the default system role for system architects and includes the zipMoveSkim privilege. When an application is in production, the SysAdm4 role becomes the Administrator role.
Circumstance record
This is what record you would circumstance according to what exactly you were circumstancing. So like a correspondence record if you were referencing a template and a definition for an email
Duplicate cases
This is what's on the tin, its a case that's duped. In many situations, a user may enter a case that has many of the same data values as another case already in the system.
Division layer
This layer is the middle level of the three-level organization hierarchy and is available for use in every application.
Rule Availability: Blocked
This rule is carried forward (multiple answers)
Rule Availability: Final
This rule is carried forward (multiple answers)
Rule Availability: Yes
This rule is carried forward (multiple answers)
Rule Availability: No
This rule is not carried forward
Rule Availability: Withdrawn
This rule is not carried forward but is if its a minor skim
Configure a decision table
To design your decision table, you first specify a property or expression in the Conditions column header. Then, on the first row, you enter a value in the column that defines the condition. Under the Return column, enter the result that the table returns when the condition evaluates to true. Finally, in the otherwise row, enter a value that the table returns if none of the conditions evaluate to true.
Persisting temporary cases
To persist a temporary case, add a Persist Case automation step to the case life cycle. When Pega encounters the Persist Case step, Pega creates a case ID and commits the case data to the database. In the following image, click the + icons to learn more about considerations for configuring a process that includes a Persist Case step.
Branch quality tab
To view the possible rule conflicts, guardrail warnings, and unit test coverage, on the branch rule
Return multiple results (decision table)
Under the Results tab, if you enable the Evaluate all rows option, the decision table evaluates all rows defined in the decision table. If the condition is true, the decision table performs the actions and returns an array of results that can be parsed.
Check in a rule
When a rule is checked in, the checked-in rule replaces the original base rule. Add a comment describing the changes to the rule. You can view the check-in comments on the rule History tab. Use the bulk action feature to check in, open, or delete several checked out rules at the same time. The bulk action feature is located in the Private Explorer menu or under the check mark icon in the header.
Parallel development
When multiple teams are working in the same application rulesets, coordinating changes across teams is a challenge. When development teams configure an application in parallel, rule changes might result in conflicts. Resolving conflicts disrupts the overall project and may delay time to delivery.
Configuring case locking (child cases considered)
When working with a case type hierarchy, you set locking on the top parent case. The settings cascade down to each child case when it is instantiated. If the child cases are instantiated as part of the parent case, they have the same locking settings as the parent. In the Case Type Explorer, select the parent case type to set locking. Then, in the Case Designer, on the Settings tab, select the Locking option. If you select Allow one user, you can modify the default locking timeout of 30 minutes in the Access time out value is ________ mins field. Consider the business context when setting the timeout duration. For instance, if a case will likely be opened frequently, you may want to shorten the timeout so that users can more quickly access the case.
Configuring ability to check out rules
When you check out a rule, you are creating a private copy of the rule that you can modify and test. On the Security tab on the ruleset, select Use check-out? to enable checkout. On the Operator record Security tab, operators need to have the Allow Rule Check out selected in order to update rules in rulesets that require checkout. If a rule is not available for checkout, it is already checked out by someone else, or it is in a locked ruleset version.
Pre- and post-processing in flow actions
When you configure a flow action with a pre-processing action, Pega performs the action whenever a user selects the flow action as well as each time the user is presented with the assignment. When you configure a flow action with a post-processing action, Pega performs the action each time you perform the action.
Rules Cache
When your application references a rule, Pega checks the rules cache for the referenced rule. If the referenced rule is not available in the rules cache, Pega uses a multiple-step process to populate the rules cache.
Pessimistic locking
With a pessimistic locking strategy, an application applies an exclusive lock when opening an item, such as a case. A user or the system that opens the object gains exclusive access to the object until the application releases the lock. While the item remains locked, other users cannot edit the item.
Optimistic locking
With an optimistic locking strategy, an application does not apply an exclusive lock when opening an item. Instead, any user — or the system itself — can open and edit the item at any time. When the item changes, the application checks whether the item has changed before committing any changes.
Parallel processing
You can configure a stage to run multiple processes in parallel. This configuration allows users to perform tasks independently in order to complete the work in a stage.
Ruleset locking
You can lock a ruleset to prevent changes using the Lock and Save button. Typically, you lock rulesets when development has reached a specific state, and the application is ready to be promoted to testing. You cannot add or update rules in a locked ruleset.
Decision tree logic
You can use decision trees to handle logic that returns a result from a set of test conditions. Decision trees can evaluate against different test conditions and properties. A true comparison can lead to additional comparisons.
Configuring case locking
You configure case locking from the Settings tab of the Case Designer in either App Studio or Dev Studio. Pega Platform provides two locking options for case locking. Allow one user is pessimistic Allow multiple is optimistic
Create a new version of my application (lock and roll)
You use Create a new version of my application when: You want to lock and roll the version and create a new application rule. You may enter a new application version, if different than the default one increment higher. You may enter a new application description. The default application description is current. If the current application is locked, enter the application password. You want to allow people access to more than one version of the application (for example, during a phased roll-out or a test period).
Do not update my application (lock and roll)
You use Do not update my application when you update the patch version number of a ruleset without updating the application ruleset list. By default, the application rule only lists the major and minor version numbers for a ruleset, so incrementing the patch version number does not require a change to the application rule.
Update my application (lock and roll)
You use Update my Application to include the new Ruleset Versions when you are rolling out an application and updating the minor version or when the application rule lists the ruleset patch version number. You may enter a new application description. The default application description is current. If the current application is locked, enter the application password.
Split Join (parallel processing)
You use the Split Join shape to call multiple independent processes that operate in parallel and then later rejoin. Has multiple join conditions
Circumstance rules
are the particular rules set up to deal with particular circumstances has several different possible circumstance conditions 1. Single value 2. Multiple value (based on template and definition 3. Date property 4. as of date
Availability = Final
can be used during rule resolution (but not edited or copied into another ruleset)
Availability = Available
can be used during rule resolution (multiple anwsers)
Enterprise Class Structure
class hierarchy structure
Framework Layer
contains assets that can be extended in specific implementations. It may be comprised of one or more generalized applications, such as a standard Pega application for a specific industry, or an extendable custom application.
Organization layer
contains the assets used on an enterprise-wide basis. Such assets are rules for enterprise-wide business logic such as standard properties, decision tables, and service level rules.
Pega Platform Layer
contains the built-in assets necessary for processing cases and other work in Pega applications. This layer also contains the assets Pega Platform uses.
Implementation layer
defines an application customized for a specific division or line of business. It may extend one or more framework layer applications
Ruleset validation mode
each ruleset version defines one or more ruleset versions on which the ruleset version depends. If your ruleset version does not have any prerequisite ruleset versions, you need to specify the base product ruleset Pega-ProcessCommander as a prerequisite.
Situational processing
exceptions to typical case behavior
Decision table logic
gives results when a all the conditions in a row are cleared and has a otherwise result if nothing is
ruleset list, sometimes referred to as the ruleset stack
governs rule execution at run time
Case locking
has a overwrite risk. two major types of locking pessimistic locking and optimistic locking
Production rulesets
have at least one unlocked ruleset version in the production environment. Commonly delegated rules. Configured on the application and access group
personal ruleset
if you are allowed to check out rules and has the name of the operator ID and contains the rules checked out by the operator.
Branch
is a container for rulesets with records that are undergoing rapid change and development. In Pega, you create a branch for each team. These branches allow each team to create and update rules without impacting other teams.
Persist Case step
is a type of automation that persists a case could be called a smartshape
Merge Branch Rulesets wizard
is used to move branch contents into the base rulesets. helps identify conflicts
Multivariate circumstancing (template)
refers to records that you circumstance by more than one property. Seems just like multiple properties
Multiple Value (circumstancing)
the rule variant is effective whenever a combination of property values satisfies the circumstancing condition. Multiple value circumstances are based on a circumstance template and circumstance definition. The circumstance template defines the properties on which to circumstance a rule. The circumstance definition defines the combination of conditions in which a property uses a variant of a rule. You apply the circumstance template and circumstance definition to the rule variant. If the case matches a combination in the circumstance definition, the application uses the circumstanced variant of the rule, rather than the base rule.
ancestor tree
this refers to a rule's inheritance