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 completionprivacyAndGuidelines
: 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 TouchpointSet to
true
to enable Privacy and GuidelinesVersion 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.