Introduction

The purpose of this wiki page is knowledge sharing on Attribute Precedence. The goal is to explain Attribute Precedence, and to provide information around attribute precedence.  We will cover:

  1. What is Attribute Precedence
  2. How to view Attribute Precedence
  3. Changing Attribute Precedence

What is attribute flow precedence?

There are 2 types of attribute flow precedence

  • Inbound attribute flow precedence: this
  • Outbound attribute flow precedence

Outbound attribute flow precedence

For more information see here: http://technet.microsoft.com/en-us/library/jj572803(v=ws.10).aspx

"Export precedence is a set of built-in rules that keep attribute values from lower-precedence connected data sources from flowing out to higher precedence connected data sources. To configure effective attribute flow, it is important to understand how export precedence is applied. Export precedence rules are applied to export attribute flows that overlap an import attribute flow. "

Inbound attribute flow precedence

Standard Attribute Precedence

Attribute Precedence is what determines which Management Agent is authoritative for updating a specific attribute. Attribute Precedence is only of concern when you have more than one Management Agent that is providing a value to the Metaverse via an Import Attribute Flow rule.

If you are not aware of which Management Agent has precedence, then you may see things like:

  1. Attribute Values getting updated with a value that should not be there
  2. Attribute Values not getting updated because of the Skipped: Not Precedent Status Message

In light of this, it is a good idea to understand which Management Agent has precedence.  

Equal Precedence

Forefront Identity Manager 2010 brought about a new feature to the Synchronization Service Engine, and Attribute Precedence. It is Equal Precedence. In short, Equal Precedence is where the last one wins on the update, where Standard Attribute Precedence the top Management Agent is precedent. If that top Management Agent does not have a value, then the second Management Agent in the Attribute Precedence list.

  • Single Valued Attributes: The Last One Wins
  • Multi-Valued Attributes: More of a merge occurs allowing for the information to remain in sync.

How to view Inbound Attribute flow precedence

Attribute Precedence is viewed in the Metaverse Designer Tab of the Synchronization Service Manager Console.  The steps below should guide you to being able to view Attribute Precedence.

  1. In the Synchronization Service Manager Console, select Metaverse Designer
  2. Select the Object Type that you are working with in your solution ( For the purpose of this wiki page, we will use the Person Object Type )
    1. In some cases, you may have more than one attribute that you may have to investigate the Attribute Precedence. An easy way to see a list of attributes to where precedence will be in question is to simply click the column name Import to set it to decending order.  Any attribute with more than 1 import flow rule will have precedence concerns.

  3. From the list of attributes at the bottom, select the attribute in question ( For the purpose of this wiki page, we will use the displayName attribute )
  4. From the Actions menu, select Configure Attribute Flow Precedence

  5. You will see the Configure Attribute Flow Precedence window appear.  In review of the Configure Attribute Flow Precedence window, you will see that My Management Agent 1 has precedence on the displayName.  This means
    1. My Management Agent 1 is authoritative for populating that attirbute.  If My Management Agent 1 does not provide a value, or My Management Agent 1 removes the value it was providing, then the Metaverse looks to My Management Agent 2 to provide the value to the Metaverse.
    2. If the attribute value is changed on the My Management Agent 2 side, when it attempts to come back to the Metaverse, it is not allowed because My Management Agent 1 is authoritative for the attribute value.

CHANGING ATTRIBUTE PRECEDENCE 

If My Management Agent 1 is not supposed to be authoritative for the attribute value, then you either need to change the order of precedence, or select Equal Precedence.  This will be based on what your business rules require.  To understand the differences, I would recommend reading the What is Attribute Precedence section of this wiki page.

Changing the order of precedence

  1. In the Configure Attribute Flow Precedence window, select one of the management agents mentioned.  Depending on which Management Agent is selected will determine if the Up Arrow or Down Arrow on the right is highlighted. 

    *NOTE: If you have more than two management agents, you may end up with both the UP and Down Arrows highlighted

  2. Here is an example:

    Before

    After

Setting Equal Precedence

  1. In the Configure Attribute Flow Precedence window, simply place a check mark beside Use equal precedence.  In this example, displayName is a Single Valued Attribute which means that the last write to the metaverse wins.

MORE INFORMATION

You can find even more information on attribute precedence in the Synchronization Service Engine Help Documentation.

ADDITIONAL INFORMATION / SEE ALSO

FIM LANDING PAGE: Resource Wiki Page Index

Forum Links:

ILM Attribute Flow Precedence Viewer

About Attribute Flow Precedence