Is there a way to prevent saveas of a rule in XX-XX-99 ruleset version ?
sometimes in order to test a feature for some pega servicess, we save as the rules to the highest patch RSV which is XX-XX-99. Unfortunately, these get migrated to higher environments as some developers unknowingly copy this to next minor version.
So, is there a way to prevent a saveas of a rule that has the patch version as 99 ?
I observed that the saveas button in rule forms are final and hence cannot be modified to hide it. Is there a OOTB way to do this ?
PreKeyValidate is an extension activity in which you can check the pxMoveOriginalRuleSetVersion property for XX-XX-99 and set an error message on pyRuleSetVersion to prevent people from doing this. You may also be able to achieve this using access deny.
If you put xx-xx-98 in the user's rule-application, then they won't see any xx-xx-99 rules. That will prevent them from unknowingly copying any xx-xx-99 rules to somewhere else.
Of course that means they won't be able to USE any of the xx-xx-99 rules for testing.
if you need to let them USE the xx-xx-99 rules for testing but not COPY the xx-xx-99 rules, perhaps you could have two different access groups, one for doing TESTING chores and one for doing COPYing. The one for doing COPYing chores would refer to a rule-application that has xx-xx-98 listed.
A problem with all of this is that if you do TESTING chores to conclude that "everything works ok", it may no longer "work ok" if you then exclude the xx-xx-99 rules from the COPY.
So the safest is to do final testing WITHOUT any xx-xx-99 rules so that what you finally COPY is what you actually TESTED with. /Eric