During a recent engagement, I was looking to add the “Filter” attribute to a custom object in the FIM Service. I used the “Filter” attribute because of the recommendation provided by the “Resource Control Display Configuration XML Reference” for the UocFilterBuilder control.
When the control was added, I kept getting errors that the request had “Failed”. The event viewer had a cryptic error about a “FOREIGN KEY constraint” that had occurred in the FIM Service database.
Turns out that another blog post pointed me in the right direction. In this post, the “Domain” attribute was added to a custom object and a failure and error message was generated. The root cause was that the “DomainConfiguration” was not also bound to the object because the Domain attribute and DomainConfiguration attributes are paired together in the underlying data structure and you can’t have one without the other apparently.
Turns out for that a “Filter” attribute will require that you add the “Temporal” attribute to the object. I also added ComputedMember as well for good measure and everything started to work normally.
I did not test whether or not pushing the filter builder control output to another text attribute would remove the dependency issue.