I have a DelimText driver here for a system that needs a couple dozen
attributes. If an attribute changes from "foo" to "bar", everything is
fine, but if the attribute value is removed, the resulting CSV file just
has a blank field. While technically correct, this is indistinguishable
from an attribute that didn't change, since only deltas are sent.

One idea is to always dump a complete CSV record, regardless of what
changed. I'm currently not doing that, but I could.

Another idea is to insert something like "{Removed}" as the attribute
value in the CSV file. This is the one I'm currently investigating.

The obvious brute force approach, of one rule per attribute like:

<rule>
<description>Remove Email Address</description>
<conditions>
<and>
<if-op-attr name="Internet EMail Address" op="changing"/>
<if-op-attr mode="regex" name="Internet EMail Address" op="not-
changing-to">.+</if-op-attr>
</and>
</conditions>
<actions>
<do-add-dest-attr-value name="Internet EMail Address">
<arg-value type="string">
<token-text xml:space="preserve">{Removed}</token-text>
</arg-value>
</do-add-dest-attr-value>
</actions>
</rule>

would work, but with a couple of dozen attributes, I'm not thrilled with
this idea. It seems like there should be a more elegant way to handle
this so that if any attribute is changing, is being removed, and is not
being added, then add "{Removed}" as a value.


--
---------------------------------------------------------------------------
David Gersic dgersic_@_niu.edu
Novell Knowledge Partner http://forums.novell.com

Please post questions in the newsgroups. No support provided via email.