Application versioning
Pega provides two methods for creating new versions of an application. Each method preserves prior application
versions. Application versioning is a way to differentiate current and past application configurations. Rule resolution can
look through all the minor and patch versions for the current major ruleset.
Application components include the application ruleset stack — this contains the rules and data types used by the
application. To version an application, you must version the application's rulesets.
The versioning methods are lock and roll and skimming. The act of using a version method begins a new release cycle.
Every major version, minor version, and patch version represents a release cycle. Both methods list the highest version, and
offers to roll the ruleset to a still-higher version by default.
Tip: The person performing the lock and roll or skim must understand the application structure.
Chose an application version method
Your choice of method depends on the type of application change. Lock and roll is best for incremental patch versions.
Skimming is better for minor and major versions.
Pre-process best practice recommends confirming the rules for the new version are checked in. You can run a search for
checked out rules from the Checked Out Rules page. An additional best practice is locking all but the highest ruleset
versions.
Check your knowledge with the following interaction.
This learning is interactive and cannot be experienced offline. Please visit [Link] to complete.
Lock and roll
You use the lock and roll method for small changes or patches. Application patches and minor updates usually involve rule
updates. When using lock and roll, you create a new empty ruleset version, then update the configuration, only copying the
necessary rules into the new ruleset version.
The rule in the higher ruleset version overrides the rule in the lower ruleset version. You specify the new version number and
whether to update the application record and access groups to reflect the ruleset version.
Note: Minor and major versions require application record and access group updates. Patches usually do not need
the updates.
If you roll 01-01-01 to 01-01-02, the rule resolution process starts at 01-01-02 and looks back to the previous patch version,
01-01-01, to find rules. As long as the rule is present in one of the versions, Pega Platform can find and resolve the rule. For
example, if you roll 01-03-05 to 01-03-06, then update some of the rules on version 01-03-06, the remaining rules that were
not updated, will still run from the 01-03-05 version.
Note: In the preceding example, the descriptions for theHRAppsInt, TGB, and TGBInt rulesets reflect a previous
version number. When using the Lock and roll wizard, review the ruleset description and update the description if
needed to avoid any potential confusion.
The following interaction illustrates how a system architect (SA) would version an application. The Lock and roll wizard
creates an empty ruleset and the SA adds the appropriate rules to configure the new version.
Check your knowledge with the following interaction.
This learning is interactive and cannot be experienced offline. Please visit [Link] to complete.
Tip: if you also deploy to a production environment it is best practice to reserve some space for hotfixes [Link]
from version 01-01-01 to 01-01-05. So version 01-01-02 - 01-01-04 can be used for hotfixes if needed.
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 and improves the performance of your application as the system filters out rules that are unavailable for rule
resolution. Skimming simplifies rule resolution and minimizes the rule data that you ship to a different version of your
application. The two types of skims are minor and major. The skim types correspond with the update types (major or
minor/patch).
During a minor skim, rules are stored in a higher minor version, and during a major skim, rules are stored in a higher major
version.
The rule availability status determines if the rule is carried forward. This table defines the rules that are carried forward during
a skim.
Skim type/Rule availability Available Not Available Final Withdrawn Blocked
Major Yes No Yes No Yes
Skim type/Rule availability Available Not Available Final Withdrawn Blocked
Minor Yes No Yes Yes Yes
Blocked rules are carried forward because a blocked rule can block rules in other rulesets. You should maintain blocking
relationships.
The key to skimming is you can start at a major version and skim all minor and patch numbers into a new version, or you can
start at some minor version and work up from there.
Pega provides a 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.
Tip: To open the skimming wizard, In the header of Dev Studio, clickConfigure > System > Refactor > Rulesets
to open the Refactor Rulesets Utilities landing page. On the Refactor Rulesets Utilities landing page, click Skim a
RuleSet to open the skimming wizard.
To learn more information on the skimming, view the Creating higher ruleset versions by skimming rules Community Article.
Note: Skimming only copies the rules in the major version you select. For example, if you skim 02-ZZ-ZZ into 03-
01-01, rules in version 01-ZZ-ZZ are ignored.
You must have the zipMoveSkim privilege to perform the 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.
Check your knowledge with the following interaction.
This learning is interactive and cannot be experienced offline. Please visit [Link] to complete.
Application versioning -- Tue, 05/04/2021 - 02:51
To get the full experience of this content, please visit Application versioning