How do I troubleshoot an inconsistency between environments affecting rule resolution?
We have a process in our application that dynamically calls an activity based on the class given by the calling process (which isn't necessarily the class of the activity we need to call). It goes something like:
-something calls this activity, lets say it's in Class
-this activity takes the target class as a param, and creates a page based on that class
-then calls an activity with the same name in Class-SubClass-Target, using that page as a step page to provide context
Normally, this successfully calls Class-SubClass-Target.Activity, but after moving to a stage environment, now it's calling Class.Activity in a loop, and fails the process.
They're in different rulesets, but the ruleset stack is the same between environments. Since we're in the middle of a decently large refactoring, these are new environments that have the same and only the refactored rules between QA and Stage (we've frozen moves to QA now that Stage isn't working). Access is the same. We've done clean reboots and cleared every cache we could find, but the problem persists.
As near as I can tell, rule resolution is coming to at least 2 rules that can be used, but in QA Class-SubClass-Target.Activity is top ranked on the list, and in stage it's Class.Activity. This would seem to be supported by the fact that the process works correctly when I have private checkouts of both rules in my personal ruleset, which is at the top of the ruleset stack.
I'm at the end of my rope. Anyone have any suggestions as to what I can look for to determine the difference?
Parameter value is the correct class (in this case 'Class-SubClass-Target').
The class is being applied correctly to the page via Page-New with New Class set to the param
I tested to see if this was problematic by defining the page under P&C as $Any, &None, and Class-SubClass-Target (in the system as it is, it starts out defined as Class)
I removed the definition at one point and tested using Page-New with class $None, to Page-Change-Class to the target class
(also tested with a Page-New with the Class, without the definition)
I've also made an explicit reference (Call Class-SubClass-Target.Activity), I shouldn't have been able to save the rule if it couldn't access the activity I think, but even here, it ignores the explicit call, and uses Class.Activity
PRPC is 7.1.7
I've also used the Rulebase Compare utility to see if we missed anything via the product rules, but this is how I determined that they're in sync in having all and only the relevant rules.