Skip to main content

Versioning and reuse

Application versioning in support of reuse

The New Application Wizard automatically adds two Org layer rulesets to new applications (Org and OrgInt). By default these rulesets are set to use Ruleset validation. As you create additional applications and add rules to the Org layer you may need to add additional rulesets to the Org layer. Eventually a large number of specialized rulesets in the Org layer is possible. To avoid having to maintain ruleset dependencies within the Org layer you can set the Org layer rulesets to use Application validation. This raises the possibility that multiple applications reference the same Application-based rulesets, and this generates a warning. Packaging the Org layer rulesets as a built-on application helps eliminate these issues.

At the same time that rule management is simplified from an intra-component perspective, complexity increases from a component client perspective when components are versioned.

For example, if you make major changes to rules within a built-on application, that built-on application may no longer be consistent with the application which were built-on it. For example, an updated validation rule in a built-on application might enforce that added properties have values. This could be problematic to applications built-on it. In this example, you should consider updating the built-on application's version before deploying the changes.

Reasons to version an application

These are reasons to version an application:

  • The application is using upgraded built-on application versions.
  • Rulesets in the application ruleset list have been versioned, added, or removed.

When versioning an application, you can control:

  • The patch levels of the ruleset versions that the application specifies
  • The versions of the application's built-on applications

You can also lock the application to prevent unauthorized updates.

Tip: Detailed documentation of application dependencies between applications benefits maintenance. Part of a Center of Excellence's (COE) role is to keep track of application dependencies.

Reasons not to version an application

There are valid reasons for not increasing an application version. A change could entail adding rules that are not used by the parent application. For example, adding properties that are not validated or Rule-File-Binary rules do not impact a parent application.

Utility code consists of reusable functions and data transforms. Placing reusable utility code, such as functions and data transform, in a specialized ruleset can be added to a built-on application. Parent applications at any version then have access to that utility code.


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