Virtual property of type "object reference" is not updated

Hello !

In one of our sync project we used a virtual property of type "Object reference", with the following route: "UID_Person.CCC_JobCategory.Ident_Org".

We have created a mapping rule between our virtual property and the property of the LDAP target system where we want to push the value.

When we change the value of the CCC_JobCategory attribute of a Person who has an LDAPAccount (i.e. there is an entry in LDAPAccount with UID_Person set), no update is triggerred on the LDAPAccount.

If we manually trigger an update on the LDAPAccount object (by modifying an attribute like "street" for example), the LDAP_LDAPAccount_Update/(De)Activate process is triggered and updates the "street" attribute, but the LDAP attribute mapped to our virtualproperty is not set or changed if it was wrong.

It looks like our virtual property is doing nothing, and I'm afraid we may have misunderstood the way this type of virtual property worked.

Can someone please details the way it works, and when?

Thanks in advance for your help!

I'd love to post some screenshots but that seems to be impossible without an external hosting service...

  • Hi Robin,

    the virtual attributes are calculated during the execution of the synchronization or ad-hoc projection by the synchronization engine and only by the synchronization engine.

    In your use-case, you need to instruct the system that it should trigger such an ad-hoc projection to the target system.

    I propose two options:

    • Option A: You create a process that triggers in the UPDATE event on the Person table with the gen.condition $CCC_JobCategory[c]$ = True (only when this property has changed) that then fires the UPDATE event on the assigned LDAPAccount object. That should trigger the process LDP_Account_Update/(De-)Activate.
    • Option B: You use a custom column at the LDAPAccount and fill this column by a template from $UID_Person.CCC_JobCategory.Ident_Org$