Pega CSSA Application Development
Theme UI Kit
(Traditional). System uses the latest UI kit design system instead of Cosmos (not recommended, legacy product)
Overriding a circumstanced rule through Withdrawing
A circumstance rule is withdrawn, and along with it all the previous occurrences of this rule in the same major but lower minor and patch versions get withdrawn. The system then selects the base rule
Rules passed over during Major Skim
Available, Final, Blocked
Rules passed over during Minor Skim
Available, Withdrawn, Final, Blocked
Why are blocked rules always carries forward:
Because they may block other rules in other rulesets, so blocking relationships should always be maintained.
Cosmos React
Best for new applications to take advantage of low code and team collaborate using ReactJs. Does not support all Pega features.
Skimming
Process of saving the highest rule (only the most updated rules are carried forward, other versions not passed over) into a new highest ruleset version. Applies mainly to resolved rules and improves system performance. There are major and minor skimming
What is the output of rule resolution?
The first rule that matches all of the input criteria
Rule cache
The rule cache is an in-memory cache of recently found rules that is used to improve the performance of the Pega Platform engine, especially during rule resolution searches.
Lock and Roll
You create a new empty ruleset, update the configuration, and only copy the necessary rules into the new ruleset version. Rules in the highest versions override lower versions.
availability: Not Available
rule not available for use during rule resolution, system will look for the next rule in the highest available ruleset for execution. Rule can be copied, viewed, and edited in DEV studio but does not execute.
Lock and roll is best for:
small changes or patches
As of date (circumstancing)
the rule variant is effective after a certain date, or during a range of dates. Uses the system date/time as the date comparison
Rule Resolution Process
1. Check for rules in cache: if present find the best match, if no rule populate cache. 2. Check is best match is available, if blocked error, if available check user access. 3. User has access? if user has access run rule, if not error.
Rule cache mechanism process (6 steps):
1. Choose rules with the correct purpose ( rule name and type), 2. Filter out Not Available rules, 3. Filter out rules by user access, 4. Remove rules not in inheritance path, 5. Rank Remaining rule, 6. Populate rules to cache
Filtering rules outside class hierarchy:
4th step of populating the rules cache. The rule resolution algorithm uses the "applies to class" of referenced rule to eliminate rules that are not in the inheritance path of the referenced rule (either by pattern or directed inheritance)
Ranking remaining rules (sorting):
5th step of populating the rules cache. Rules are sorted in this specific order: Class, Ruleset, Circumstance, Circumstance Date, Date/Time Range, Version. After ranking withdrawn rules are removed along with all the lower versions matching the applies to class, rule purpose, and any other matching qualifiers.
Default rule candidate determination:
6th step of populating the rules cache. The default rule is the highest ranked rules that has no qualifiers (basically base rule). It it always executed last as it can match any additional requests for the rule. Rules below default rule are discarded. All remaining rules are added to the cache.
Application Versioning:
A way to differentiate current and past application configurations.
Best practices for skimming:
Check in all the rules you want to skim, secure all other lower versions of the ruleset after skimming to prevent edits on lower versions.
What are two ways to see the circumstancing condition for a rule:
In the application explorer, by expanding the dropdown arrow on the rule or in the rule application header on the "circumstanced" link
Pega layer
Contains built in assets for processing cases and other work in Pega Application
Application Ruleset Stack:
Contains the rules and data types used by the application
Ways to override circumstanced rules
Flagging the base rule and Withdrawing a rule
Rule availability determines:
If a rule is available for use, and to be either copied, edited, or viewed in dev studio.
Rule resolution: Rule best match availability set to Blocked:
If the chosen rule is blocked, execution is halted and an error message is added to the log file
How does the system processes rules updated through Lock and Roll?
If you roll rules from one version to another (i.e 01-01-05 into 01-01-06), rules that we're updated in the highest new version (01-01-06) are used, rules not updated into the highest new version are run from the lower version (01-01-06)
If the system uses ruleset prerequisite validation instead of application based validation it is best to:
Lock and roll the existing ruleset into a new version before continuing with development to ensure that future development is based on the upgraded rulesets and that in consistently references the latest features.
Differences between major and minor skim
Major skims only carries over rules from the latest major version you selected, all other versions are ignored. For minor skimming, you provide a range of versions to be skimmed over into the newest minor version.
Best practices for versioning applications:
Make sure all rules are checked in, lock all but the highest application versions
Applications can be built from scratch using the:
New Application Wizard
Rule candidate best match:
Occurs during rule resolution process, the system will find the rule with the exact property or date circumstance match or the default rule.
Which version of rulesets are carried over during skimming?
Only the versions you specify in the skimming wizard. (i.e: if your skimming 02-01-01 into 03-01-01, rules in version 01-01-01 are ignored)
Rule instances that rule resolution DOES NOT apply to:
Operators ID, Email Listeners, Operator's favorite, the rule check in process.
What is used to perform a Skim?
Pega Skimming Wizard
Theme Cosmos
Recommended. Non-react cosmos design. Uses section based UI and offers all Pega Capabilities
What is the rule purpose:
Rule name and rule type
availability: blocked:
Rule not available for rule resolution, when blocked rule is found the system stops processing and logs an error. Rule may be copied, viewed, and edited in dev studio.
Which Rulesets cannot be skimmed?
RuleSets containing only items of the type RuleSet, RuleSet Version, and Class cannot be skimmed. For example, the HRAppsInt RuleSet.
You can build an application on an application template to..
Save time by inheriting key elements such as case types and data types
rules filtered by availability:
Second step of populating the rules cache, in this step the system will filter our rules marked a Not Available from the candidate rules.
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.
How does the system evaluate/choose circumstanced rules?
The system will check the circumstance condition against all circumstanced variants until a match is found, if no match is found, the base rule is selected
filtering rules from inapplicable rulesets:
Third step of populating cache. Rule resolution algorithm will check the operator's Ruleset list to determine which rules the operator can access. The rules must match the same major version and have an equal or less minor version to be included.
Division Layer
This layer is the middle level of the three-level organization hierarchy and is available for use in every application. This layer applies to a line of business, region, or brand
What inputs does the rule resolution algorithm use to find the correct instance of a rule:
Unique identifiers such as rule name and rule type, User's ruleset list, class hierarchy of the rule, circumstance of the rule, users access roles and privileges
What happens when there are 2 equally valid best match during rule resolution?
When a best match is found, the system will check the next rule to see if it is equally correct. If it is, the rules are duplicates and the system will send a message stating the error and stops processing.
Flagging the base rule
When you copy a rule to a higher ruleset and flag it as the base rule, the rule resolution algorithm will ignore all previous versions in the same major ruleset. The rule is flagged when setting the rule availability
Framework and Implementation layers are..
a relative separation to application assets, an implementation layer in one application may turn into part of the framework of another if built on top of it.
Rule instances that rule resolution applies to:
case types, data pages, UI rules, declare rules, properties
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.
circumstancing
creating a variant of a rule tailored to a specific circumstance used to address exceptions to case processing
Implementation Layer
defines an application customized for a specific division or line of business. It may extend one or more framework layer applications
Rule availability
defines the availability status of a rule to be used in the rule resolution process. Can be seen in the rule form next to the rule name/description.
Circumstance definition
defines the combination of conditions in which a property uses a variant of a rule
Circumstance template
defines the properties on which to circumstance a rule
Multi-variant circumstancing
effective when a combination of property values satisfies the circumstancing conditions. Need a circumstance template and circumstance definition
single value rule variant circumstancing
effective whenever a value of a single property satisfies the circumstancing condition
rule filtering by purpose:
first step to populating the rules cache. The rule resolution algorithm will populate the cache with rules matching the rule purpose (rule name and type). The apply to class is included for context. The ruleset and ruleset version are not considered in this step.
Cosmos React provide:
improved data visibility, enhanced case processing, customizable columns, focus on relevant data, ability to modify values and perform quick action on table rows
Rule resolution: user authorization
in this step the system checks if the user has authorization or all privileges to run the rule, if no access, Pega will send an error message stating rule is not authorized for use.
availability: available:
indicates rule is available for rule resolution, can be viewed, copied, and edited in DEV studio
Cosmos React focus on:
production application and improving app user experience
Every major, minor, and patch version represent a:
release cycle
availability: final
rule available for use during rule resolution can be viewed and executed only.
Rule Resolution
the search algorithm that a system uses to find the appropriate instance of a rule to execute in any situation using key parts of a rule as input
availability: withdrawn
this rule and all instances of this rule is lower rulesets are unavailable for rule resolution, the system looks for an instance in the parent class or the next highest available ruleset.
Through Lock and Roll you optionally (patches only):
update the application record and access groups to reflect the new ruleset version. (Major and minor updates require this update)
Enterprise class structure
way that Pega organizes business structure as different layers across an application