I’m trying to specify the criteria for a (non temporal) set that can’t be achieved by the GUI options so am having a look at XPath filters instead.
To cut a long story short I’ve been trying various combinations of filters and not having any joy at all, so I’m going back to basics and I’ve been looking at this MS site which gives a few examples :
http://msdn.microsoft.com/en-us/library/windows/desktop/ff393652(v=vs.100).aspx
In particular the group example about a third of the way down the page (where Owner is null) is very similar to the filter I’m looking for (along the lines of show me objects where a specified multivalue reference attribute is null).
So the example is this :
/Group[Type = 'Security' and not(Owner = /Person)]
I’m going into the Advanced properties of the set and into Extended attributes, then I'm replacing the content of the “Filter” attribute with this :
<Filter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Dialect="http://schemas.microsoft.com/2006/11/XPathFilterDialect" xmlns="http://schemas.xmlsoap.org/ws/2004/09/enumeration">/Group[Type = 'Security' and not(Owner = /Person)]</Filter>
When I try and commit the change I get a “Processing Error, reason: unspecified, Request could not be dispatched”. It doesn’t seem to matter if I copy & paste the whole filter, or just manually overtype the criteria manually (I wondered if it might be a carriage return character in notepad or something like that) but no joy whichever way I try.
I’m guessing this should be working (as it is an example from microsoft’s own website, no guarantee I suppose but why publish it if it doesn’t work) but I can’t seem to get it to take for some reason, am I missing something ? (I’ve checked that the “Owner” attribute is in the admin filter permission BTW).
I know that FIM Xpath queries are restricted in some ways, from this blog :
http://blog.msresource.net/2011/10/06/set-and-group-criteria-filters/
These two aren’t allowed by the looks of it
- /Group[Owner != /Person]
- Contains()
This is somewhat similar to the above example but not quite the same. Is “not” allowed but “!=” isn’t maybe ? also in the GUI if you try and build a filter it uses the word “Contains” but the XPath under the covers doesn’t so I don’t know if that is an issue.
So I’m a bit stumped, I thought originally it was just that I was using an unsupported filter, but the fact that I can’t get the published MS example to work either suggests that it may be something else I’m missing. The same thing happens on more than one FIM environment. We’re running FIM 2010 R2 SP1 (4.1.3508.0)
Any pointers gratefully received.