FIM2010: “True” Equal Precedence – Part 1 (FIM Portal)

Hi everybody,

Happy New year 2015!

Well, if you are looking for TRUE equal precedence, remember that is not really possible. I prefer to speak about “Last contributor” win.

Like you know, using the feature “equal precedence” in FIM Sync can be really difficult:

It’s work perfectly with delta synchronization, but in full synchronization, last executed connector wins. You will have no problem if you export the change in the referential, the last value will be kept.

But, what if you can’t export value change in one of the connectors? You will have chose the winner during the Full Synchronization, too bad…

The first solution consisting in using FIM Portal and Wf capabilities. I will take the example of the employee end date, with two MA contributors: FIM and HR system.

  1. Create a new metaverse attribute “HREndDate” (string)
  2. Create a new FIM portal attribute “HREndDate” (datetime)
  3. On your FIM MA,
    1. Create an export attribute flow between “HREndDate” (mv) and “HREndDate” (portal)
    2. Create an import attribute flow between “employeeEndDate” (mv) and “EmployeeEndDate” (portal)
  4. On your HR MA, create an extended attribute flow between “HREndDate” (mv) and the employee end date of the HR MA (You need to set the date in the FIM format: yyyy-MM-ddThh:mm:ss)
  5. Create an action Wf to copy HREndDate to EmployeeEndDate (You will need to use T4F Function Evaluator)
  6. Create a request MPR with the following parameters:
    1. Requestor Set: Synchronization Engine
    2. Request action: Modify
    3. Grants permission: unchecked
    4. Set Before : All people
    5. Set After : All people
    6. Parameter Action: Choose “HREndDate”
    7. Wf actions: add the previous Wf

That’s all!

Now, what’s happen?

When a change occurs in the HR system, HREndDate is updated in the metaverse and then, when the change is exported to FIM, the Wf copy HREndDate to EmployeeEndDate. After that, when you do an import from FIM MA, employeeEndDate in the metaverse will be equal to HREndDate. Try to change the date directly from the user editing form, employeeEndDate in the metaverse will be equal to the EmployeeEndDate in FIM but not to HREndDate! Do a Full Synchronization cycle, nothing change!