Posted: 1 Feb 2018 16:06 EST Last activity: 6 Feb 2018 8:15 EST
How to delegate a property ?
I am using Pega 7.3.1 and get an option to delegate a property (Actions -> Delegate). I understand that the feature of rule delegation to business users is available for rules such as decision table, decision tree, map value and so on and I assume the feature to delegate a property is something that might have been introduced in 7.3.
I am assuming that if a property can be delegated, the business users can add/remove the local lists defined on the property. And this can save me from creating a decision table or any other addition rule that usually gets delegated. I would like to understand how can I leverage this new feature.
I have a text type property with "pxDropdown" as UI Control and table type specified as "PromptList" with sample values specified as standard and prompt value. When I try to delegate the property, it throws an error "This Property cannot be delegated because no selectable options are available for this configuration.".
I tried several options like using local list, prompt list to specify a list a values that could be selected, or by altering the UI control from text input to dropdown, on property types of text or page but ended up with the same error.
I am unable to figure out what does "selectable options" mean here.
This error is set by the OOTB activity "pzGetValidEditingExperiences" in step 11 (when the value of pyIsEnabled is not true) and the pyIsEnabled property is set using local variable "enabled" in step 7.4. The value of the local variable "enabled" is determined in the java step 7.3 probably through evaluation of a when rule "pyBlockName". But I don't find a when rule by that name, there are two identifier type properties with name "pyBlockName" of classes Rule-Obj-When and Rule-Access-When.
if (frame != null) ((PegaAPI)tools).popStackFrame(frame, false);
I would need help to understand how a property should be defined so that it can be delegated. Help page for property rule doesn't talk about the delegation feature (probably because it is not part of the property rule form, however this should have been captured somewhere in the help, like in the more part of the property help page).
Right now I am achieving the desired feature using a decision table and a clipboard page, but will prefer to avoid creating extra rules if that is possible.
I get an option to delegate the rule even for an ootb property.
I searched on mesh as well, but couldn't find any information for it. Neither does the Pega Help mention about it. This seems to be a new feature as I don't get this option for any property in lower versions.
I am looking for some details or a document on this feature. If this is not a desired behaviour for the property rule, then I think the visibility condition for the "Delegate" option through actions needs to be reviewed.
Please open an SR to have this investigated further as I don't think the Delegate option should be displayed for those properties.
The display of the Delegate action is determined in step 12 of WBToolBarDDSettings.
When opening the rule, WBToolBarDDSettings executes and sets .pyToolBarSettings.pyDelegates if the user has the pxCanDelegateRules privilege and the rule is not in "Pega-" ruleset. This explains why the action does not appear for some of the properties.
When looking at the Rule-Obj-DelegationConfiguration instances, it looks like the Rule-Obj-Property delegation is only configured for the Decision Manager functionality though.
The current application includes UI Kit ruleset as well and I see the option to delegate. I flipped to PegaRules application that doesn't include the UI ruleset and I still see the same option.
And the option to delegate is available for some properties and not for few others. For eg. it is available for the property Value of @baseclass, but not for the property pyText of @baseclass, irrespective of the presence of UI kit ruleset.