I have a requirement to enhance an existing property(Let's say 'PropertyABC') with existing 2 dropdown values set in the property as part of the master framework class to 3 dropdown values. Its being reused for 5 different child product classes. The 3 dropdown values for 'PropertyABC' should show up for only 1 out of the 5 products. Rest of the 4 products should see only the 2 values in dropdown.
A. Should I just create a new property with same name 'PropertyABC' in Product specific class(with 3 dropdown values) as there are down stream case management logic which refer the property due to pattern inheritance?
B. Create a new Property with different name 'PropertyXYZ' with 3 dropdown values and update all the rule forms where previously 'PropertyABC' was referenced as part of downstream logic?
Question: Which is the best approach as per Pega Best Practices? Option A or B? Option A throws a warning in Designer studio stating it might degrade performance..
@Priyan_RS Its always best Practice is to use the FW property if available and it works out for the application.
One Question how is your Dropdown value sourced?
If sourced from the Data Table all ur requirement can be handled there, by parameterizing at the source control.
The optimal way to handle this kind of scenario would be.. Have a property in framework level..
Instead of having the drop-down values as local list... Have a text property and in UI field use data page as a source which would pull the needed information from organization level data table.. Have the drop-down source as parametrized data page. You could use the same data page for all drop-down fields across your application..
Have a data table in name of DropDownValues in your organization level and in this table maintain all drop down values... In data table you could have 3 columns Process Type, Standard Value and Prompt Value.. Data Page which will be used to pull information and display it in UI for that Process Type should be the input parameter.. By passing the process type system should be able to retrieve all values related to this input parameter in table .
If you are going for this approach maintenance of code would be so easy and no need to create multiple properties...