TDI Sync Connections Pictures to domino
Some weeks ago, a customer asked me if it is possible to synchronize pictures that have been uploaded to IBM Connections back to their domino LDAP server. New employees would change their pictures in IBM Connections directly, but there was no possibility to upload the same pictures into the Domino LDAP. Only administrative users were able to do this – but hey, what an overhead that would produce. All other attached systems would then miss those photos.
For sure this is possible… let`s make some money out of it 😉
First of all I thought of the rather painful TDI sync for attributes from Connections to LDAP where you need to setup a DSML server … But this is not mandatory for the picture, as thoses are not stored in any draft table but directly updated.
My colleague Konstantin created a very simple assembly line that should do the job.
The iterator reads a photos from IBM Connections profiles database together with each user key.
Here I have to admit, that we perhaps did that more complicated than needed (getting the users key and make another Profiles lookup for the DN) but the PhotoConnector did not deliver the UID as it should (maybe a bug).
Then we write the image into the domino LDAP server without any other magic or transformation with help of the LDAPConnector.
Now new employees simply change their photo in IBM Connections, that gets synced every 3 hours between IBM Connections and Domino LDAP.
Here is the assembly line:
You need to import it into your workspace with your tdisol configuration. Have a look at the LDAP connector attributes… You might change the properties configuration there (this was used by us):
Also note, that your LDAP user “source_ldap_user_login” needs write access to the LDAP directory in order to perform these changes.
My customer was happy about this smart solution and all of the employees maintain their photo now regularly in IBM Connections.
This processing might only be valid for smaller, not that restrictive environments. Always have a backup in place in case anything goes wrong. Synchronising large numbers of users might take a long time using this assembly line, because no change detection is in place!