Skip to main content

Update on the Touchpoint workaround (Updated)

·429 words·3 mins
Table of Contents

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.

Note

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:

38
39
40
41
42
<simpleAttribute extensionId="recommendedTags" length="256" sourceKey="recommendedTags" />
<simpleAttribute extensionId="departmentKey" length="256" sourceKey="departmentKey" />
<simpleAttribute extensionId="privacyAndGuidelines" length="256" sourceKey="privacyAndGuidelines" />
<simpleAttribute extensionId="touchpointState" length="256" sourceKey="touchpointState" />
<richtextAttribute extensionId="touchpointSession" maxBytes="1000000" sourceKey="touchpointSession" />

Change to:

35
36
37
38
39
40
41
42
<!-- 
        These extension attributes are required by the 'Touchpoint' component
-->
<simpleAttribute extensionId="recommendedTags" length="256" />
<simpleAttribute extensionId="departmentKey" length="256" />
<simpleAttribute extensionId="privacyAndGuidelines" length="256" />
<simpleAttribute extensionId="touchpointState" length="256" />
<richtextAttribute extensionId="touchpointSession" maxBytes="1000000" />

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.

Christoph Stoettner
Author
Christoph Stoettner
I work at Vegard IT GmbH as a senior consultant, focusing on collaboration software, Kubernetes, security, and automation. I primarily work with HCL Connections, WebSphere Application Server, Kubernetes, Ansible, Terraform, and Linux. My daily work occasionally leads to technical talks and blog articles, which I share here more or less regularly.

Related

Touchpoint in HCL Connections 6.5CR1

·481 words·3 mins
HCL included some additional apps with HCL Connections 6.5CR1. One of them is Touchpoint, which can be used to present users the “Terms and Conditions” (or Privacy and Guidelines) of the environment and some help creating their profile, network and become member of their first communities. Touchpoint writes some profile extension entries in the PEOPLEDB database in the table PROFILE_EXTENSIONS, most important: