I'm seeing odd behaviour in IOM when trying to remove constituent attributes.
The documentation on how to remove constituent a constituent attribute using IOM (there's a very detailed description in User Voice) works as described if there is only one instance of that attribute category in the constituent in question.
But if that attribute category appears multiple times per constituent, IOM starts doing strange things.
Let's say I want to delete Constituent Attribute Description X in Category A. I build a profile for that.
If a constituent has only one attribute of Category A, the profile does this:
For records where the Description is X, the attribute is removed. For records where the Description is not X, the row produces an exception.
And that's fine.
But if the Constituent has TWO attributes of Category A, that's where things get weird.
If neither attribute is Description X, the row will still produce an exception.
If one of the attributes is Description X, then one of the attributes will be removed, but not necessarily the one that is Description X. It seems that the attribute that appears first will be removed, regardless of whether it matches the Description in the profile (or the import file - this behaviour is the save regardless of whether the Description is a virtual field).
This persists if I'm trying to delete multiple attributes at a time. If the profile is set to remove both Description X and Description Y, then any constituent that has EITHER of those two will see its first 2 attributes of Category A removed, possibly leaving behind one or both of X and Y. IOM might remove Description G and Description H, as long as the constituent does have Description X or Description Y.
Is this known? Does it occur in current versions?
I see a line in the patch notes for version 2.5.0 which reads "Change to attribute removal option: description and category must now match to remove an attribute". Is that a fix for this?
I'm at the point now where IOM tells me it's processing rows, and I'm not getting exceptions, but the attributes aren't getting removed. Any of them.
This forum post describes what IOM was doing with attributes previously.
Do your existing attributes have comments? If so, you'll need to include them in the file.