Skimming Rulesets in Pega
Businesses evolve over time. So do their processes and thus their supporting software solutions. This means the software must change.
Pega is built for change. This is particularly true for the patented rule resolution. Whenever a rule needs adjustment you typically save this rule updated rule instance to a newer ruleset version (or branch ruleset that you merge once tested okay).
What is skimming?
PRPC will then figure out and "automagically" select this newer latest version of your rule at run-time. However this implies that even when you´re not creating new rules from scratch the application will gradually grow over time. Although this is not of an immediate concern, it´s common practice to eventually skim your rulesets. This skimming will get rid of outdated (but Available) copies as well as Withdrawn rules that would never get selected by rule resolution.
Skimming will create a net ruleset with the sum of all — most current — rules that are needed for your application´s execution. This will make your exports smaller and could result in a performance benefit as well.
Major versus minor
The Pega platform distiguishes two types of skimming:
- Major – will result in a new independent major version of the ruleset given all minor and patch verions.
- Minor – will just create fresh ruleset based on a selected range of existing minor and patch versions.
For major skimming you type just two digits as New Version; for minor you´ll have to provide a full (next) ruleset version formatted as MM-mm-pp. It goes without saying that the minor Starting Version should be smaller than the Ending Version to be valid and make sense.
Tip: A major skim is typically performed before (first) go-live.
Skimming an application
- Lock (not Roll) all open rulesets for your application. One easy way is to go to DesignerStudio > Application > Structure > RuleSet Stack.
- Navigate to DesignerStudio > System > Refactor > RuleSets and select the link "Skim a RuleSet" to skim each of the ruleset versions in range to the next major number, i.e. 02. If you encounter sets without withdrawn rules will return error “No records found.” then Copy/Merge or Roll to new version yourself.
- Go back to the RuleSet Stack tab and leverage the Lock & Roll feature to create a new Application rule (02.01.01) and open it to update the references the newly skimmed rulesets for Int and UI etcetera....
- Next, adjust your Access Group rules to point to this new Major version.
- Then, remove any outdated Product rule you no longer need from the skimmed ruleset. Also verify by re-assigning the App context for each of the "RuleSets to include" items in your new major Product rule if you have them. Otherwise the product potentially throws an "Encountered the following error:Unable to open application" when referencing obsolete application layers.
- Last but not least, switch to the new application version and (make it a good habit to) run DesignerStudio > Application > Tools > Validation to spot and resolve any issue that might arise.
Because a major skim results in a fresh single ruleset version it is a sensible preparation before refactoring classes.[Edgar] (9/22/2017 3:12:16 PM)
@edgarverburgTweets by @edgarverburg
Edgar is a software engineer with experience in TIBCO Middleware and Pega Case Managemement. He holds a master's degree in Computer Science with a specialization in Data Visualization & Computer Graphics.