For some reason I had assumed that I wouldn’t be able to remove and re-add the same value to a multivalued property in the same request – but it turns out you can – and it helped me greatly simplify a script, so hooray for that!
Category: ILM
WorkflowInstance could not resolve any of the defined approvers: ‘[//WorkflowData/ApproverID];’
I’ve been trying to pass an ObjectID to the Approval activity via a WorkflowData parameter generated in the FIM PowerShell Activity but I had quite a bit of trouble getting the format right.
FIM Best Practice: Create single function Workflows
As much as possible I like to keep my Workflows simple with a minimum number of steps. When updating attributes I prefer, wherever possible, to only update a single attribute per Workflow Definition. So for example I’ll have separate Workflows for “Set DisplayName” and “Set AccountName” rather than rolling the two together in a single…
FIM Best Practice: Separate Grants Permission from Workflow MPRs
MPRs should either have “Grants Permission” ticked, or they should trigger Workflows, but preferably not both.
FIM Best Practice: Clear Run History but keep Import and Export logs
Run History should be regularly cleared to keep your database file sizes under control. There’s also not a lot of point keeping weeks (let alone months or years) worth of run history in the Sync Service. It shows when profiles ran and whether there were any errors, but click on a CS object and you…
FIM Best Practice: Sort out errors
Both in the Sync Service and the Portal there may be regular error messages that we just live with. We’ve figured out they’re “low priority” or perhaps they’re false alerts, where FIM thinks there’s an error but the end result is fine. However, as much as possible, we should aim for a system that runs…
FIM Best Practice: Handle deprovisioning with care
I have two personal rules I always follow when implementing disabling and deprovisioning: Never make decisions on an absence of data, and Never make destructive changes straight away.
FIM Best Practice: Extend within the constraints of what’s “supported”
The extensibility of FIM has always been one of its great features – allowing us to tailor it to suit the specific needs of the environment. But don’t get carried away!
Event Broker – more than just scheduling
The company I work for, Unify Solutions, has a product called Event Broker which I’ve blogged about before. However I was still pretty new to it then and treating it as a straight replacement for scheduling scripts. Now I’m starting to use it properly I can see there’s a lot more to it.
FIM Best Practice: Document Test Cases
I am not aware that anyone has has yet found a way to automate full testing of a FIM solution. I know some people unit test their extension code but that doesn’t tell you anything beyond the inputs and outputs of the code. Full testing may need to encompass data entry in the Portal or…