Skip to main content

Application versioning

Pega Platform™ provides two methods for creating new versions of an application:

  • Lock and roll
  • Skimming 

Each method preserves prior application versions. 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: Before you perform the lock and roll or skim, you need to understand how the application is structured.

Use Application versioning to differentiate current from past application configurations. To version an application, you must version the Rulesets for an application. During Rule resolution Pega Platform looks through the Rules of all minor and patch versions for the current major Ruleset. Application components include the application Ruleset stack, which contains the Rules and data types that the application uses.

Choose an application version method

Your choice of method depends on the type of application change:

  • Lock and roll is better for incremental patch versions.
  • Skimming is better for minor and major versions. 

A pre-process best practice recommends confirming that the Rules for the new version are checked in. You can run a search for checked out Rules from the Checked Out Rules page. Another best practice recommends 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 typically involve Rule updates. When using lock and roll, you create a new empty Ruleset version, and then update the configuration, copying only the appropriate Rules into the new Ruleset version.

Note: To learn more about the lock and roll method, see Using the Ruleset Stack Landing Page.

The Rule in the more recent Ruleset version overrides the Rule in the older Ruleset version. You specify the new version number and whether to update the application record and Access Groups to reflect the Ruleset version. Minor and major versions require application record and Access Group updates. Patches typically do not need the updates.

If you roll from 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 in one version, Pega Platform can find and resolve the Rule. For example, if you roll from 01-03-05 to 01-03-06, and then update some Rules on version 01-03-06, the remaining Rules that are still not updated from the version 01-03-05 will run. 

In the following example, the descriptions for the following Rulesets reflect a previous version number:

  • HRAppsInt
  • TGB
  • TGBInt
Lock and roll wizard

When using the Lock and roll wizard, review the Ruleset description and update it if necessary 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, a best practice is to reserve some space for hotfixes, for example, roll from version 01-01-01 to 01-01-05. By doing so, you can still use versions 01-01-02 through 01-01-04 for hotfixes if necessary.

Skimming

Skimming is the process of saving the most recent version of a Rule as a new version of a Ruleset. Skimming applies mainly to resolved Rules and improves the performance of your application. 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.

Major skims correspond to major patches. Minor skims correspond to minor patches. 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.

An application has a ruleset 01-01-01 that contains Rule A, B, and C. The application also has a Ruleset 01-01-02 with an updated version of Rule B. When you perform a minor skim from 01-01-01 to 01-02-01, Ruleset 01-02-01 contains Rule A (01-01-01), Rule B (01-01-02), and Rule C (01-01-01), as shown in the following image:

Skimming

The Rule availability status determines if the Rule is saved to the new Ruleset. The following table defines the Rules that are saved to the new Ruleset 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. Maintain blocking relationships.

The key to skimming is to start at a major version and skim all minor and patch numbers into a new version or start at a minor version and increment from there. 

Pega provides a Skimming wizard. For each Rule instance in a specified Ruleset, the wizard identifies the most recent version and creates a copy with the number that you specify.

Open the Skimming wizard by going to the header of Dev Studio, and then selecting 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. The Skimming wizard is displayed in the following figure:

skimming

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.

Note: 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. To learn more about skimming a Ruleset, see Rule skimming for higher Ruleset versions.

Ruleset security

Not all developers on a project will necessarily have the skillsets required to work on all parts of the application. To limit access to certain Rulesets, update the security information for a Ruleset. For example, you may want to limit the access management portion of an application to SSAs or LSAs.

In the Ruleset record for your application, configure passwords on the Security tab to prohibit any user from adding or updating Rulesets and Ruleset versions. The Security tab is displayed in the following figure:

ruleset version form
Note:  To learn more about how to complete the Security tab on the Ruleset form, see Defining the security of a Ruleset.

Check your knowledge with the following interaction:


This Topic is available in the following Module:

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