For a Pega application, Built on application’s rules takes precedence over component’s rules. Is it expected behaviour ? If yes, then how can we make sure that component’s rules should be resolved always ?
Scenario: We have configured Pega robot manager as Built on application. And also added Pega Robotic Automation Importer component in same application. The service responsible for deploying package from robotic studio are available in both rulesets. But always Robot manager’s rules are getting resolved.
Should we provide component’s rulesets into application’s ruleset stack to change this precedence ? or is there any other way to resolve the rules from component ruleset ?
In our ruleset stack we’ve other components. They are defined in other applications and it depends on their prerequisites where they are placed.
In general the following rule applies;
Components are put in your stack based on prerequisites
Multiple components with the same prerequisite on the same application
They are placed in that order on top of the stack
Multiple components with the same prerequisites on different applications
The higher the application in the application stack, the lower the component is placed
The last bit about multiple applications and components with the same prerequisite might be a bit confusing. Let’s say you’ve got a framework layer with Component A and an application layer with Component B. Both components have the same prerequisite and the order in which they appear will be
Component A:01-01
Component B:01-01
Pega-ProcessCommander:08-07
Pega-DeploymentDefaults:08-07
So, if the order of the ruleset is incorrect, you probably need to check the component’s prerequisites. It’s location in the application stack only influences its position relative to other components in the ruleset stack, not to other application rulesets.
Thanks a lot for clarifying ruleset hierarchy for components. My question in more for the scenario where one application’s built on application and component both are present. Same rule is available in built on application as well as component, Can we make that rule to get resolved from component instead of built on ?
That depends on the prerequisites of the component. If the prerequisite puts the component’s ruleset below the built on application’s ruleset, then only when copying the rule to your own ruleset.