Attribute Flow is silently ignored when using two Equal Precedence flows within one MA
-
Friday, November 23, 2012 4:23 PM
Hi All,
I have a FIM Service MA configured with a number of inbound attribute flows, among them:
FIMAttributeA-> MVAttributeA
FIMAttributeB -> MVAttributeA
The two flows are configured for equal precedence. All three attributes involved are multivalued reference attributes.
The result I would like to see is that after running Full Sync or Delta Sync, is that MVAttributeA should contain all entries from FIMAttributeA and FIMAttributeB.
What actually happens is that only either the entries from FIMAttributeA or from FIMAttribute B are written to MVAttributeA, depending on whether I configured the FIMAttributeA flow or the FIMAttributeB flow first.
When previewing sync, the second flow doesn't show up at all; the first flow is listed as "Applied".
Also, the "Configure Attribute Flow Precedence" dialog only lists one of the attribute flows (which one again depends on the order in which I created the attribute flows).
In the the Attributes table in Metaverse Designer though, two flows are correctly listed (first row).
I first assumed that this kind of scenario (equal precedence within one MA) wasn't supported, but then I saw this quote in the context help for the Precedence Dialog: "In Metaverse Designer, you can specify attribute precedence for only those attributes that have two or more attribute flow rules specified in one or more management agents."
Then I thought this might be a UI bug and checked the database, but what I found looked like the setting I intended:
<import-flows mv-attribute="MVAttributeA" type="equal"> <import-flow src-ma="{7E62C3AF-DCF3-4240-AB90-5C6CD97AA023}" cd-object-type="SomeType" id="{CC1B75E3-0668-4C69-A84A-83F34511C8C5}"> <direct-mapping> <src-attribute>FIMAttibuteA</src-attribute> </direct-mapping> </import-flow> <import-flow src-ma="{7E62C3AF-DCF3-4240-AB90-5C6CD97AA023}" cd-object-type="SomeType" id="{B442D270-05B6-4B1D-9F6E-99D13E96CE92}"> <direct-mapping> <src-attribute>FIMAttributeB</src-attribute> </direct-mapping> </import-flow> </import-flows>
I'm pretty much stuck at this point. Any suggestions are very welcome.
Thanks and best regards
Nils
- Edited by Nils Loeber, kruegernetwork GmbH Friday, November 23, 2012 4:28 PM
All Replies
-
Saturday, November 24, 2012 11:16 AM
I forgot to mention one thing: Once I split up the two attribute flows between two FIM Service MAs, everything works as expected, i.e. when I create a second FIM Service MA containing only FIMAttributeB -> MVAttributeA, two flows show up in the Configure Attribute Precedence dialog and values from both FIMAttributeA and FIMAttribute are combined into MVAttributeA.
I would like to dispense with this workaround though, since having a second FIM Service MA around just for this one attribute flow feels hacky to me - is it even supported to have two FIM Service MAs?
Thanks and best regards
Nils Loeber
-
Tuesday, November 27, 2012 2:08 AMOwner
Nils,
in FIM, attribute flow precedence is scoped on providers (MAs).
This means, to configure flow precedence, you need more than one MA that contributes to a MV attribute.
You don't have this.Having more than one FIM MA is not only "hacky" - it is not supported.
The simple answer to your question is that what you see is "by design" - or not supported.
I will update the documentation to cover your scenario.
Cheers,
Markus
Markus Vilcinskas, Knowledge Engineer, Microsoft Corporation
- Edited by Markus VilcinskasMicrosoft Employee, Owner Tuesday, November 27, 2012 2:09 AM
- Marked As Answer by Nils Loeber, kruegernetwork GmbH Tuesday, November 27, 2012 10:38 AM
-
Tuesday, November 27, 2012 10:38 AM
Hi Markus,
thanks for clarifying. Then I will probably implement some form of temporary MA (TempMA) and configure the following flows:
FIMServiceMA:FIMAttributeA -> MVAttributeA
FIMServiceMA:FIMAttributeB -> MVAttributeBTempMA:FIMAttributeB <- MVAttributeB
TempMA:FIMAttributeB -> MVAttributeAIn a nutshell, I'd flow one of the attributes to the TempMA in order to be able to flow it back with equal precedence.
Do you have any comments on this idea?
Thanks and best regards
Nils Loeber -
Tuesday, November 27, 2012 2:17 PMOwner
Hmmmmm - the question is what it is you are trying to accomplish (on a scenario level - not feature level).
In FIM, the MV functions as mirror of the data in the FIM service.
This is why things like conditional flows are not supported.Your temp MA has the potential to bring the MV and the FIM service out of sync...
Cheers,
MarkusMarkus Vilcinskas, Knowledge Engineer, Microsoft Corporation

