I had the following problem with external users in Connections 5. The customer used a function for the "displayName" instead of a LDAP property value like "cn" resulting in the following lines in "map_dbrepos_from_source.properties":

decorateVisitorDisplayName= - External User

The function "func_map_ext" is a self-written function which just returns "external" so that all imported users will be handled as external ones.

While running a sync or populate job to import external users, the TDI job threw the following error message:

2015-02-12 18:02:22,244 ERROR [com.ibm.di.log.FileRollerAppender.5b5e0f8c-90a4-4b5f-a19e-0d3c6cc7777a] - CLFRN0104E: Failure during evaluation of mapping function for displayName. Exception is: Error while parsing script of eval() method, text func_map_ext}("displayName");

It took some time to realize that function "func_decorate_displayName_if_visitor" in "profile_functions.js" is buggy.

In this function there was a mixup between the evaluation of the function for the "displayName attribute" and the function specified by the "mode" attribute. To fix that bug you need to change the following lines in "profile_functions.js":


if ((displayNameLdapAttrVal.length >= 3) && (modeVal.charAt(0) == "{"))
    var dispFunctionName = modeVal.substring( 1, displayNameLdapAttrVal.length - 1);



if ((displayNameLdapAttrVal.length >= 3) && (displayNameLdapAttrVal.charAt(0) == "{"))
   var dispFunctionName = displayNameLdapAttrVal.substring( 1, displayNameLdapAttrVal.length - 1);

If you change these lines then you also can use a function for"displayNameLdapAttr".

IBM Connections with external Users: Bug in profiles_functions.js
Tagged on:         

One thought on “IBM Connections with external Users: Bug in profiles_functions.js

Leave a Reply

Your email address will not be published. Required fields are marked *