This is more of a personal preference than really a best practice, but it’s something I think deciding up front could save you some time down the road.

When you are setting up advanced attribute flow rules, MIIS will auto populate a FlowRuleName based upon the MV and CS attributes you have chosen to involve in the rule.

For example if you wanted to flow in the department value from the CS into the department attribute in the MV via an advanced import attribute flow rule, it would autoname it like this:


FIM-ILM-MIIS Default FlowRule Name
FIM-ILM-MIIS Default FlowRule Name

Which, at a glance tells you that you are taking the Connected Data source’s department value of the person object, and importing it into the Metaverse department attribute of the person object type.

It’s all very descriptive, but kind of unwieldy when writing extension rules since it’s easy to mess up when calling the rule.  There were countless times I would transpose a letter, or mis-represent the case of the string, which would cause the rule not to fire properly.

So in the end I opted to use a simpler method for naming my flow rules.

In the above example I would simply use “IAF_department” to represent the Import Attribute Flow rule for department in the Metaverse.   The type of rule is identified by the “IAF” prefix, and the attribute I am importing towards is the “department”.


FIM-ILM-MIIS Abbreviated FlowRule Name
FIM-ILM-MIIS Abbreviated FlowRule Name

It also breaks down quite rapidly when you are flowing in multiple CD attributes to a central MV attribute.


So now if I have multiple value to a single attribute it becomes:


This works for Export Attribute Flow rules as well, but I use the CD’s attribute name in the rule name to determine where I am exporting towards.  If I wanted to export the MV’s employeeStatus value toward the CD’s “status” value I would use “EAF_status” as the rule name.

cd.Person:status<-mv.person:employeeStatus becomes EAF_status

While the new name may not be as descriptive, it is much more user friendly and easier to remember when coding.  Since the purpose and actions of the rule should be described in your extension code itself, trying to stuff all of that in the actual rule name itself is impossible.

So, for me I use these formatting guidelines for rules:

  • MapAttributesForJoin rule:
    • MAFJ_<MetaVerse Join Attribute>
    • ex: MAFJ_SSN
  • MapAttributesForImport rule:
    • IAF_<Metaverse attribute imported toward>
    • ex: IAF_department
  • MapAttributesForExport rules:
    • EAF_<CD attribute to be exported toward>
    • ex: EAF_displayName

tags: MIIS, Microsoft+Identity+Integration+Server, Extension