Is there a well-defined evaluation order for evaluating criteria from one set to another?
The technet article for best practices for FIM 2010 has a section about modeling custom entitlements with Set Transition MPRs. It recommends avoiding the same entitlement with different transition sets, and my question has to do with following that best practice.
I have several criteria-based sets that get various combinations of entitlements, but let me simplify to illustrate my question. Let's say I have three sets:
- Set A, based on criteria coming from my HR system. Set A has a Transition Out MPR with a custom workflow activity that sets a date attribute D some days into the future.
- Set B is a temporal set based on D.
- Set E is the set of all users whose "Resource ID is in A" or "Resource ID is in B." The Transition In and Out MPRs that implement the entitlement are associated with Set E.
The idea is that when the user enters A, she also enters E and gets the entitlement. When she leaves A she enters B, remaining in E; and when she leaves B she also leaves E and loses the entitlement. This all works if the criteria and workflows and such are evaluated in the order A, B then E, or if the criteria for A and B are re-evaluated when it checks to see if the user is in A (or B). It could fall apart dramatically with a different order of evaluation.
I am running FIM 2010 R2. Is FIM smart enough to order the evaluations correctly (or re-evaluate as necessary)? I think the alternatives are:
- Adding the entitlement TMPRs to each of the sets like A and B, going against the recommendations.
- Replicating the criteria for A and B into each entitlement set. Eventually I'll have around a half dozen sets like A or B and a dozen or more entitlement sets, and it will cause a lot of work if the criteria ever are changed.
Thanks in advance, -Les