Hi,
I've been wrestling with a problem in some code I'm writing that uses distributed agents to move items around. The same block of code when run within the DA has a different outcome for permissions than when run in Builder (CS 10.0 U 2016-06). We have RecMan installed and Recman Security.
Records Mgmt is set up to force any item that is moved to inherit the permissions. When I run my move within a debug window in Builder I see that happening. What happens when I run the same code within a Dist Agent, is that the permission inheritance is happening, but immediately after, and this seems to be occurring after the node rename which is part of the move, each assigned permission is stripped off. The owner is reduced to See + See Contents (which is what the new destination has set), but the owner group which has full rights, gets completely stripped. I even created a patch to insert additional echo statements to see what was going on in Recman's CBNodeMove and CBNodeMovePost callbacks, but it appears that this stripping of permissions is happening after the RecMan Inheritance callback has run. Also, these events (all audited) don't occur when the code is run in a builder window (I build a test harness to run the Map() function).
Has anyone encountered behaviour like this with Distributed Agents interacting with Move? I cannot tell from the connect logs what is invoking the calls to strip permissions. It's starting to make me wonder if something is getting called out of sequence when run from a DA.
-Hugh Ferguson