Some weeks ago I wrote about an workaround to prevent TDI from deleting the touchpoint status in HCL Connections .
During some research on TDI I found Mapping fields manually in the HCL Connections documentations. This document describes how to add additional fields to the TDI synchronisation. On point 11 I found something new for me. You can add additional fields and then add the content with an Javascript function for example.
Then TDI does not make an LDAP call to get the attribute from there, instead it uses the function. So an additional workaround for the Touchpoint state problem is to add the five fields defined in conf/LotusConnections-conf/tdi-profiles-config.xml
to map_dbrepos_from_source.properties
and set it to null. Setting attributes to null does not delete the content in the database, but just does nothing (no update, no creation).
Example: add this to the end of your map_dbrepos_from_source.properties
extattr.recommendedTags=null
extattr.departmentKey=null
extattr.privacyAndGuidelines=null
extattr.touchpointState=null
extattr.touchpointSession=null
That’s way easier than commenting out the field definitions and if you ever need to set the fields, you can just add the attribute or function to map_dbrepos_from_source.properties
.
Have a look at the update from 17.08.2022 some lines below, this will fix the issue with only small adjustments.
## Update 10.05.2021
I’m really sorry, but this workaround seems not to work as expected.
So the best way, that the touchpointState is not overwritten on each TDI run is to comment out the fields in tdisol/conf/LotusConnections-config/profiles-types.xml
and tdisol/conf/LotusConnections-config/TDI-LotusConnections-config.xml
!
Update 17.08.2022
With Connections 7.0 CFix.70.2206 the issue is still not fixed! So each time when sync_all_dns.sh
is running and a user has touchpointState set in EMPINST.PROFILE_EXTENSIONS
it gets deleted. I have no environment, where the touchpointState is written or read from LDAP.
As I wrote in the original article you can uncomment the lines in conf/LotusConnections-config/tdi-profiles-config.xml
, but then you need to remove the field definition in conf/LotusConnections-config/profiles-types.xml
too.
From my point of view the fastest fix for this is to remove the sourceKey from tdi-profiles-config.xml
:
Original definition:
|
|
Change to:
|
|
This allows the field in profiles, but does not read the state from LDAP. As I have node of the five attributes in LDAP, I removed the sourceKey from all attribute definitions.