Source reference

Originally posted at: FIM2010: Outbound System Scoping Filter Syntax @ IS4U Blog

 


Intro

FIM 2010 R2 was the first version that brings outbound system scoping filters into the synchronization rule. This feature was used during a migration from FIM 2010 to eliminate some worfklows, sets, and policy rules. This would reduce complexity and make the synchronization configuration more comprehensible.

scopingFilter

Instead of searching for the workflow that adds the sync rule, the MPR that triggers the workflow and then goes to the set definition of the target population of the MPR, you can just examine the outbound scoping filter of the sync rule itself.


Methodology

I used following flow:

  1. Check if set membership is a logical AND of conditions
  2. If yes, configure set conditions on outbound scoping filter of the synchronization rule and delete the wf-set-mpr triplet
  3. If no, leave config as is

Problem

While this methodology proved to be effective for most sync rules, one was causing problems. It was not being applied to the entries it should have been. We transferred the original set condition to the sync rule:

scopingFilter2

But the sync rule status was "not applied".

scopingFilter3

 


Solution

After some Googling, the origin of the problem was found in a blog post. The syntax of the outbound system scoping filter is different from the syntax used in set conditions. The correct way to configure this is by using "not-equal" the empty string:

scopingFilter4

After submitting this change, you need to manually correct the syntax because it will throw an error if you try to import it into the metaverse. Open the sync rule once again, go to the Advanced View, and into the Extended Attributes tab:

scopingFilter5

Edit the scoping filter attribute by converting

<scoping>
  <scope>
    <csAttribute>accountName</csAttribute>
    <csOperator>NOTEQUAL</csOperator>
    <csValue></csValue>
  </scope>
</scoping>

into

<scoping>
  <scope>
    <csAttribute>accountName</csAttribute>
    <csOperator>NOTEQUAL</csOperator>
    <csValue/>
  </scope>
</scoping>

 


Resources