Skip to main content

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 offer 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.

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.

Lock and roll wizard
Note: In the preceding example, the descriptions for the HRAppsInt, 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.

Tip: if you also deploy to a production environment it is best practice to reserve some space for hotfixes e.g.roll 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
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.

Skimming

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.

To open the skimming wizard, In the header of Dev Studio, click Configure > 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.

skimming

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-01-01 into 03-01-01, rules in version 01-01-01 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.

If you are having problems with your training, please review the Pega Academy Support FAQs.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice