Monday, October 25, 2010

Custom Workflow for looking up a value

Just finished my custom workflow for looking up a value in the FIM portal. I find this workflow interesting because you often have to populate values on users based on some other attribute. This workflow has many interesting features, i.e. you could lookup a OU for the user based on the department and have the list of OU's be maintained in the FIM Portal it self - or as the example shows below, you could have a list of "pretty names" for your cost centers and populate the CostCenter attribute based on a CostCenterId flowed from i.e. the HR system.



Parameters are -

XPathFilter: The Lookup filter for getting the value, i.e. /Person[starts-with(AccountName, 'D')]; if your query returns more than one result, the value from the first result will be used
Attribute Name: The name of the attribute that you want to get the value from (for now only single-value attributes is supported (and tested); go ahead and try with multi values if you dare...
Destination: This is where you want to put the found/extracted value

How do I get the software? If you want to be a beta tester, please let me know (send me an email) and I'll get the workflow software to you.

Please let me know, if you have any problems with the workflow or any feature request.

Well-known GUIDS in FIM 2010

Writing custom workflows and doing other stuff in FIM 2010, you will at some point need one or more of the well-know GUIDS that is part in FIM 2010. Luckily, Brad Turner, did at short and to the point post with these.

I've put these in my FIM library and use them extensively (see below)

public static Guid BuiltInSynchronizationAccount = new Guid("fb89aefa-5ea1-47f1-8890-abe7797d6497");
public static Guid FIMServiceAccount = new Guid("e05d1f1b-3d5e-4014-baa6-94dee7d68c89");
public static Guid Anonymous = new Guid("b0b36673-d43b-4cfa-a7a2-aff14fd90522");

Sunday, October 3, 2010

Who did what when?

Just for my own reference - Joe Zamora did a great post on using the FIM Query Tool; see the details here