0
Answered

Adapter Transformation Trigger Behaviour

Daniel Walters 3 years ago updated by anonymous 3 years ago 3

Question about what triggers an adapter transformation to recalculate. Say I have a PowerShell adapter transformation that calculates the DN of a manager. Will that transformation only run again if the underlying connector is updated? If not, will an Import All on the connector trigger the adapter transformation to fire even on objects with no change in the connector?

Affected Versions:
Fixed by Version:

Answer

Answer
Answered

Hi Daniel,

All transformations run when an entity is determined to have changed, see Change Detection for details. PowerShell transformations do not participate in the change detection process. However if you are calculating a manager DN based on another attribute on the adapter entity (e.g. the manager's detnumber or name), then the change to that attribute itself would trigger a change.

If the manager's details are retrieved via a Join Transformation, then any change to the attributes in the Join Criteria of both the entity in the base connector or to any entity in the relational connector which would join to the base entity will trigger a change.

The only issue you should encounter with changes not being automatically triggered for a PowerShell transformation would be if you are actually retrieving information from an external system as part of the transformation. There is currently no way for a PowerShell transformation to monitor external systems for changes.

Please let me know if you need further clarification.

Answer
Answered

Hi Daniel,

All transformations run when an entity is determined to have changed, see Change Detection for details. PowerShell transformations do not participate in the change detection process. However if you are calculating a manager DN based on another attribute on the adapter entity (e.g. the manager's detnumber or name), then the change to that attribute itself would trigger a change.

If the manager's details are retrieved via a Join Transformation, then any change to the attributes in the Join Criteria of both the entity in the base connector or to any entity in the relational connector which would join to the base entity will trigger a change.

The only issue you should encounter with changes not being automatically triggered for a PowerShell transformation would be if you are actually retrieving information from an external system as part of the transformation. There is currently no way for a PowerShell transformation to monitor external systems for changes.

Please let me know if you need further clarification.

Thanks for the quick and detailed reply. The problem I'm facing is that in C21 the manager attribute is a position. So I will join through the position table to get the detnumber of the manager and then look that up in AD to get the DN, that part is fine. Where the problem lies is: when the person in the manager position changes. All the users will still have that position as their manager so no change = the transformation determining the manager DN for these users won't run again. 


I think maybe the link synchronisation task might be where I need to calculate this - will the synchronisation task run on all users even if they haven't changed?