Adding new requirement types to PRPC

In a previous post I lamented the limited list of default requirement types that PRPC provides. However, there is a way to extend that list.

A few months ago I was working as a Pega Business Architect and I asked a Pega Certified Lead Systems Architect (a former Pega employee, in fact) if he knew a way around this limitation. He was not aware of one, but promised to look into it and after some experimentation, his solution was as follows:

  1. Create a Ruleset call [Organisation]-AppDefinition
  2. Set Pega-AppDefinition as a pre-requisite to this new ruleset
  3. Create a field value property called pyCategory within the Class Rule-Application-Requirement in the rule set [Organisation]-AppDefinition
  4. Set the “Field Value” of the new property to whatever new requirement category you want (e.g.: “Data Validation”) and save the new property
  5. Set the “Description” and “Localized Label” also to the same new requirement category (e.g., “Data Validation”) and save your changes
  6. Repeat steps 3 to 5 for each new requirement category you need

Any time you add a new field value this way, the value is added to the “Category” drop-down of any new or existing Requirement Rules.

The LSA explained to me that steps 1 and 2 above effectively create a requirements framework, which you can re-use across applications by including the [Organisation]-AppDefinition ruleset in each application.

More recently, in preparation for Pega’s Certified Methodology Black Belt exam, I discovered in a training manual that Pega had already documented a similar approach (although it does not seem to be in the PDN). Pega’s approach is essentially the same as above, except it leaves out the first two steps. In other words, you would have to add your new requirement types to each application separately.

If you do try either approach, please do send some feedback here via the comments.

Kind regards,

Declan Chellar

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>