Touchpoint in HCL Connections 6.5CR1

Created:
Last Update:

Author: Christoph Stoettner
Read in about 3 min · 476 words

Fountain pen and a notebook

Photo by Aaron Burden | Unsplash

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:

  • touchpointState: stores the information if a user has completed Touchpoint and the timestamp of completion

  • privacyAndGuidelines: Version number of accepted Privacy Guidelines

Example

"PROF_KEY""PROF_PROPERTY_ID""PROF_VALUE"

"94caae68-8eb7-42fd-ac76-e04d4c0ab6bf"

touchpointState

"{""state"":""complete"",""timestamp"":1599817448000}"

"94caae68-8eb7-42fd-ac76-e04d4c0ab6bf"

privacyAndGuidelines

"2.1"

To activate touchpoint itself, you have to edit touchpoint-config.xml in the LotusConnections-config folder of your Websphere deployment.

Activate and Configure Touchpoint

<config id="touchpoint" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="touchpoint-config.xsd">
    <uiEnabled>true</uiEnabled>     
    <steps>
        <paths>
            <defaultPath>welcome,editProfile,profileTags,findColleagues,followCommunities</defaultPath>
            <icExternalPath>welcome,editProfile,profileTags</icExternalPath>
            <pagStandalone>pagStandalone</pagStandalone>
        </paths>
        <order>welcome,editProfile,profileTags,findColleagues,followCommunities</order>
        <welcome>
            <templateFile>templates/welcome.html</templateFile>
        </welcome>
    </steps>
    <privacyAndGuidelines>
        <enabled>true</enabled>     
        <version>2.1</version>      
        <externalLink>https://stoeps.de</externalLink>
        <internalLink>https://stoeps.de</internalLink>
    </privacyAndGuidelines>
    <maxPromotedExperts>3</maxPromotedExperts>
    <promotedExperts/>
    <maxPromotedCommunities>3</maxPromotedCommunities>
    <promotedCommunities/>
    <welcomeVideoUrl/>
    <contentDirectory>/opt/nfs/touchpoint/</contentDirectory>
    <orientMe>
        <enabled>false</enabled>
        <socialCtxRoot>/social</socialCtxRoot>
        <itmCtxRoot>/itm</itmCtxRoot>
    </orientMe>
</config>
  • Set to true to enable Touchpoint

  • Set to true to enable Privacy and Guidelines

  • Version number, increase to display the guidelines again

When you increase the PAG version and restart Touchpoint, the users get the PAG screen when they refresh or open a Connections page, or on the next login.

Touchpoint and Privacy and Guidelines (PAG) can be activated independently. So just Touchpoint, PAG standalone or both.

Within paths you can configure the shown pages for internal users, external users and PAG.

All configuration options in the official documentation: https://help.hcltechsw.com/connections/v65/admin/install/tp_r_touchpoint_config_properties.html

TDI caveats

The default TDI Assemblyline (tdisol-path/TDI/conf/LotusConnections-config/tdi-profiles-config.xml) has following entries since the touchpoint integration:

<simpleAttribute extensionId="privacyAndGuidelines" length="256" sourceKey="privacyAndGuidelines" />
<simpleAttribute extensionId="touchpointState" length="256" sourceKey="touchpointState" />
<richtextAttribute extensionId="touchpointSession" maxBytes="1000000" sourceKey="touchpointSession" />

What does this mean?

Everytime when you run sync_all_dns.sh|bat and a user profile is changed, the database extension entries (privacyAndGuidlines,touchpointState and touchpointSession) of all changed users will be overwritten and Touchpoint/PAG will be presented to these users over and over again, WHEN the LDAP doesn’t contain this attributes (and I bet it doesn’t).

As long as you just want to use PAG or Touchpoint, comment out these three lines to prevent getting Touchpoint over and over again.

Just comment out (all five lines of touchpoint extensions)

<!--
<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" />
-->

So these values are handled by Touchpoint and no longer set or overwritten by TDI.

Update

I forgot to mention, when you disable the fields in tdi-profiles-config.xml, you have to comment out the same fields in conf/LotusConnections-config/profiles-types.xml:

<!--
<property>
    <ref>recommendedTags</ref>
    <updatability>readwrite</updatability>
    <hidden>true</hidden>
    <fullTextIndexed>false</fullTextIndexed>
</property>
<property>
    <ref>departmentKey</ref>
    <updatability>read</updatability>
    <hidden>true</hidden>
    <fullTextIndexed>true</fullTextIndexed>
</property>
<property>
    <ref>privacyAndGuidelines</ref>
    <updatability>readwrite</updatability>
    <hidden>true</hidden>
    <fullTextIndexed>false</fullTextIndexed>
</property>
<property>
    <ref>touchpointState</ref>
    <updatability>readwrite</updatability>
    <hidden>true</hidden>
    <fullTextIndexed>false</fullTextIndexed>
</property>
<property>
    <ref>touchpointSession</ref>
    <updatability>readwrite</updatability>
    <hidden>true</hidden>
    <fullTextIndexed>false</fullTextIndexed>
</property>
-->

Thanks to Vincent Gicquel , for remembering me.

Update 2

Another possible workaround to prevent TDI from deleting the touchpoint state is described in this article.

Author
Suggested Reading
Aaron Burden: Fountain pen and a notebook

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.

Created:
Last Update:
Read in about 3 min
Card image cap

I showed, in several slides and sessions, how you can use the search-admin role in the search application of HCL Connections for troubleshooting and reviewing some key configurations.

In several environments, my user or other administrative users have this role, just to access the link to /search/serverStatus for example.

Created: Read in about 3 min
Card image cap

Last week I played around with the HCL Connections documentation to backup Elasticsearch in the article Backup Elasticsearch Indices in Component Pack .

In the end I found that I couldn’t get the snapshot restored and that I have to run a command outside of my Kubernetes cluster to get a snapshot on a daily basis. That’s not what I want.

Created: Read in about 4 min