We are running IDM 3.5.1 and have an eDir to eDir driver installed
connecting eDir version (Connected System) to eDir version 8.8.2
(IDM Vault).

We have two custom classes, each with several custom attributes in the eDir
Connected System. We have successfully extended the schema on the IDVault
to reflect these classes. So, both trees have the custom classes and
attributes in the schema. I added the wanted attributes from each custom
class to the driver filters for both sides of the eDir2eDir driver, setting
the Subscriber/Publisher synch options the same as other attributes
successfully synching between the systems. These custom attributes are
associated with User objects. A user object can and often should have
values for the custom attributes (eduPersonNickname from the eduPerson class
for example). We added the class definitions to the trees using a ldif
file. We also created some sample users in the Connected System that had
values for these custom attributes using a ldif file.

So far the user objects are coming across, but none of the custom attributes
are coming across to the Identity Vault. I have added a mapping rule (added
and deployed in Designer) that explicitly maps these classes and attributes.
The custom classes/attributes were in the list of classes on the Identity
Vault for both drivers when I was first attempting to map the custom
classes. For the mappings, the custom classes/attributes were not in the
list on the eDir side (application mapping) of the driver so I added the
class and attributes manually. I did this on both eDir drivers.

When I examine a User object (using Modify Object in iManager) on the
Connected System and view the "Identity Manager" tab, I can see the custom
classes and attributes are set in the filter correctly as far as synching on
the publisher/subscriber channels. When I click on "<Identity vault value>"
for one of these custom attributes that I want to sych over to the Identity
Vault the correct value shows up. But, on that same attribute when I click
on "<Application value>" it says "No Values". So, it doesn't seem like the
eDir driver is grabbing the value from the "Identity Vault" on the connected
system. Other User class attributes (standard ones) that are successfully
flowing to the IDM Vault have the same values on the attribute for "Identity
Vault Value" and "Application Value" in "Identity Manager" tab on a User
object. In the original Connected System the User object contains both
custom classes when I check the "Object Class" value on the "Other" tab. On
the IDM Vault corresponding user, these classes do not show up in the
"Object Class" on the "Other" tab.

No errors show up in the DStrace for the custom attributes and classes.
When I change the trace level on the Connected System, I can see where I
change a custom attribute successfully:

ENG EV: Event:
type(REMOVE_VALUE)timestamp(1208875263#2)object(\T =MOCSNET-TB\O=utc\OU=Users\OU=Students\CN=lpt782:User)value (SYN_CI_STRING:eduPersonNickname:Sniker)
11:31:45 91D64180 DirXML: ENG EV: Filtered by class or attribute
11:31:45 91D64180 DirXML: ENG EV: Event:
type(ADD_VALUE)timestamp(1208878305#2)object(\T=MO CSNET-TB\O=utc\OU=Users\OU=Students\CN=lpt782:User)value (SYN_CI_STRING:eduPersonNickname:Woohoo)
11:31:45 91D64180 DirXML: ENG EV: Filtered by class or attribute

But this change doesn't attempt to flow to the IDM Vault. I see some
messages in the trace (from the Connected System) concerning the attribute:

<filter-attr attr-name="eduPersonNickname" merge-authority="default"
publisher="ignore" publisher-optimize-modify="true" subscriber="sync"/>

eDirMTB ST: Mapping attr-name 'eduPersonNickname' to 'eduPersonNickname'.

<allow-class class-name="eduPerson">
<allow-attr attr-name="eduPersonNickname"/>
<allow-attr attr-name="GUID"/>

I have found the attribute in the logs on the IDM Vault trace, but the
attribute never actually gets set on the IDM Vault User object:

<filter-attr attr-name="eduPersonNickname" merge-authority="default"
publisher="sync" publisher-optimize-modify="true" subscriber="ignore"/>

eDirVTB PT: Mapping attr-name 'eduPersonNickname' to 'eduPersonNickname'.

<allow-class class-name="eduPerson">
<allow-attr attr-name="eduPersonNickname"/>

<nds dtdversion="2.0">
<query class-name="eduPerson" event-id="0" scope="entry">
<read-attr attr-name="eduPersonNickname"/>

I'm sure some of that was confusing, but I can try to clarify if asked about
something specific. Looking for any help or something I might have missed
in order to get the values for the custom attributes to flow into the IDM