Anyway, here are the tests that I ran, in case you're interested:
| 
Test | 
Scoping filter | 
Result | 
| 
Single-valued attribute equals | 
employeeID EQUAL 100000 | 
OK | 
| 
Multi-valued attribute contains string | 
Roles CONTAINS MyRoleName | 
FAIL 
(Not Applied) | 
| 
Attempt at multi-valued attribute contains string | 
Roles STARTSWITH MyRoleName | 
FAIL 
(Not Applied) | 
| 
Another attempt at multi-valued attribute contains string | 
Roles EQUAL MyRoleName | 
FAIL 
(Not Applied) | 
| 
Desperate attempt at multi-valued attribute contains string | 
Roles STARTSWITH %MyRoleName% | 
FAIL 
(Not Applied) | 
| 
Attempt at "Is Present" | 
employeeID NOTEQUAL NO SUCH EMPID | 
FAIL 
(Applied when employeeID is not present) | 
| 
Another attempt at "Is Present" | 
employeeID STARTSWITH % | 
FAIL 
(Not Applied) | 
| 
Desperate attempt at "Is Present" | 
employeeID GREATERTHAN 0 | 
SUCCESS 
100000: Applied 
A100000: Applied 
<empty>: Not Applied | 
And here's the explanation from Andreas on the forum:
"That is not 
        supposed to work. The scoping filter is only intended for string values. It 
        isn't documented because I didn't think of documenting it."
Joe - I can report that I am having success with an "Is present" test which looks like this: "employeeID NOTEQUAL ''", i.e. in the XML we would have this:
ReplyDelete<scope>
<csAttribute>employeeID</csAttribute>
<csOperator>NOTEQUAL</csOperator>
<csValue />
</scope>
This seems to work fine, but apart from being a tad intuitive, has one other downside to be wary of ... if you are migrating the above XML and you end up with <csValue></csValue> instead of <csValue /> your sync rule will not work at all. This is because (I expect) <csValue /> is effectively a test for null.
Hope that helps - I've actually built an entire FIM solution (9-connectors, reasonable degree of complexity) using 100% scoped declarative rules, and plan to blog about this in the near future.
Great work Bob, and thanks for the feedback!
DeleteJoe - part 1 of the promised blog series is here: https://bobbradley1967.wordpress.com/2015/06/24/fim2010-r2-scoped-sync-rules-part-1-the-vision/
ReplyDelete