Unica Journey configuration properties

The Unica Journey has additional properties on the Configuration page that perform important functions that you must specify. See the Unica Journey User Guide to learn more about what they do and how to set them.

Setting the Link and Deliver configuration properties

Users can configure Unica Journey to connect to the Unica Link by using Link Configuration under the path Affinium|Journey|Link_Configurations in Unica Platform.

Set the following Unica Link configuration properties under the Journey > Link_Configurations category manually:

  • Link_URL: Specify Unica Link design server URL Ensure that it does not have the trailing /. Example: http://<FQDN>:<PORT>
  • Link_Data_Source_User: Specify the Platform user which stores the credentials to Unica Link design server.
  • Link_Data_Source_Name: Specify the datasource name which has the credentials information.

Also, You can configure Unica Journey to connect to theUnica Deliver by using Deliver Configuration under the path Affinium|Journey|Deliver_Configurations.

Set the following Unica Link configuration properties under the Journey > Deliver_Configurations category manually:
  • Deliver_URL: The URL cofigured for Deliver.
    Note:
    1. User needs to update the TMS URL in Journey configuration. Update the TMS url as SOAP TMS url is not supported, only REST url is supported. Navigate to Platform > Settings > Configuration > Journey > Deliver_Configurations.
    2. Add kafka information at below path:

      Platform Setting > Configuration > Deliver > serverComponentsAndLocations > Kafka > RCT.

  • Deliver_Partition: The partition in which the credentials to access the Deliver_URL is stored.
  • If Journey having any deliver touchpoint configured, User needs to pause and republish the Journey, then only audiences start processing
Note: Make sure you entered correct partition name in Deliver_Partition.

You can use the following configurations to enable Unica Link and Unica Deliver integrations:

You can navigate under Platform configuration settings:

Settings for 'Journey' (Affinium|Journey)

Link_Configured - This configuration defines whether Unica Link is integrated with Unica Journey (for email/SMS/CRM channels).

Possible values - Yes/ No

Yes - Enables Unica Link integration with Journey

Deliver_Configured - This configuration defines whether Unica Deliver is integrated with Unica Journey for email.

Possible values - Yes/ No

Yes - Enables Unica Deliver integration with Journey

You are required to restart Journey web and engine components.

Platform_Configured - This configuration defines whether Unica Platform is integrated with Unica Journey

Following Platform APIs should be disabled for integrating Journey:

Path = Configuration/Unica Platform/Security/API Management/Unica Platform
  • Authentication = Disable all
  • Datasource = Disable all
  • User details = Disable all
  • Get Configuration Property = Disable all
  • Configuration = Disable all
  • Login = Disable all
  • User roles permission = Disable all
  • User details = Disable all
  • License = Disable all
  • Get installed applications = Disable all
Note: The token validity of platform should be increased manually to 1800 seconds (30 minutes) because the default token validity of platform is 15 seconds. You will find the Path for increase token validity for platform: Platform > Settings > Configuration > General > Miscellaneous > Token lifetime

Contact_Central_Configured - For enabling the contact central for Journey the value of Contact_Central_Configured value should be set to 'Yes' from Platform.

By default, the value is set to 'No'. User can select the desired value Yes/No for Contact_Central_Configured from the path AffiniumlJourney in Platform.

API settings to access Journey in HTTPS:
  • Settings for 'Authentication' (Affinium|suite|security|apiSecurity|manager|managerAuthentication)
    • API URI - /authentication/login
    • Block API access - Disabled
    • Secure API access over HTTPS - Enabled
    • Require authentication for API access - Disabled
  • Settings for 'User' (Affinium|suite|security|apiSecurity|manager|managerUser)
    • API URI - /user/partitions/*
    • Block API access - Disabled
    • Secure API access over HTTPS - Disabled
    • Require authentication for API access - Enabled
  • Settings for 'Policy' (Affinium|suite|security|apiSecurity|manager|managerPolicy)
    • API URI - /policy/partitions/*
    • Block API access - Disabled
    • Secure API access over HTTPS - Disabled
    • Require authentication for API access - Enabled
  • Settings for 'Configuration' (Affinium|suite|security|apiSecurity|manager|Configuration)
    • API URI - /datasource/config
    • Block API access - Disabled
    • Secure API access over HTTPS - Enabled
    • Require authentication for API access - Enabled
  • Settings for 'Datasource' (Affinium|suite|security|apiSecurity|manager|Datasource)
    • API URI - /datasource
    • Block API access - Disabled
    • Secure API access over HTTPS - Enabled
    • Require authentication for API access - Disabled
  • Settings for 'Login' (Affinium|suite|security|apiSecurity|manager|Login)
    • API URI - /authentication/v1/login
    • Block API access - Disabled
    • Secure API access over HTTPS - Enabled
    • Require authentication for API access - Disabled
  • Settings for 'User roles permissions' (Affinium|suite|security|apiSecurity|manager|managerGetRolesPermission)
    • API URI - /policy/roles-permissions
    • Block API access - Disabled
    • Secure API access over HTTPS - Disabled
    • Require authentication for API access - Enabled
  • Settings for 'User details' (Affinium|suite|security|apiSecurity|manager|managerGetUserDetails)
    • API URI - /user/user-details
    • Block API access - Disabled
    • Secure API access over HTTPS - Enabled
    • Require authentication for API access - Enabled
  • Settings for 'Get configuration property' (Affinium|suite|security|apiSecurity|manager|managerGetConfigProperty)
    • API URI - /configuration/get
    • Block API access - Disabled
    • Secure API access over HTTPS - Enabled
    • Require authentication for API access - Disabled
  • Settings for 'License' (Affinium|suite|security|apiSecurity|manager|managerLicense)
    • API URI - /license/*
    • Block API access - Disabled
    • Secure API access over HTTPS - Disabled
    • Require authentication for API access - Disabled
Note: After applying these configuration changes, restart the platform application.

How to generate encrypted password

You are required to generate encrypted passwords for each plain test password. Run encryption tool multiple times to generate encrypted passwords.
  1. Navigate to <JOURNEY_WEB_HOME>/tools/.
  2. Set JAVA_HOME in JourneyEncryptionUtility .

    JAVA_HOME=<UNICA_HOME>/jre export JAVA_HOME

  3. If you are using Linux operating system, convert JourneyEncryptionUtility to Unix mode using the following command:

    dos2unix JourneyEncryptionUtility

  4. Run JourneyEncryptionUtility with the following command:

    JourneyEncryptionUtility <PASSWORD TEXT>

  5. JourneyEncryptionUtility prompts the password in encrypted mode on the console output.

    If due to any reason user changes Journey system tables or Journey Reports database user password, then they can use the password encryption utility to update these passwords in respective properties file or in case user is using tomcat then they need to generate password and add in Journey.xml

Update the Journey Web and Journey Engine application properties

Update the Journey Web and Journey Engine application properties. The following procedure provide the following steps to perform updates.

Users are required to complete the following steps to perform the updates in Journey Web application.properties.
  1. Below mentioned properties are used to start Platform and Journey parallelly. Platform must be started before Journey start; some application server takes more time than usual to start the platform. These properties are used while starting Journey, it will try to connect platform in specified retry number and time interval.
    • platform.connect.retry.number: number of retries to connect platform
    • platform.connect.retry.interval: retry interval time for connect to platform in milliseconds

      User can change the value of these properties in <Journey_Home>/Web/ Properties/application.properties. Values of these properties are different based on which application server is used. For Tomcat default values will work and for Websphere Application Server (WAS) need to increase time interval between retries.

  2. Modify JOURNEYS_HOME/Web/properties/application.properties to update "spring.entity.files.upload.defaultPath" parameter path to include double forward slash (\\) instead of single Forward slash (\).This is in case of installation of Journeys on Windows.
  3. Modify JOURNEYS_HOME/Web/properties/application.properties to update "spring.ignite.storage.path" parameter path to include double forward slash (\\) instead of single Forward slash (\).This is in case of Windows.
  4. By default, properties spring.entity.files.upload.defaultPath and spring.entity.files.upload.defaultFileReadBuffer appear in single line. User needs to bifurcate them into two different properties, like below:

    spring.entity.files.upload.defaultPath

    spring.entity.files.upload.defaultFileReadBuffer

Update Journey Engine - application.properties file

You are required to set passwords in encrypted format in Engine application.properties files(Journeys_Install_location/Engine/), This is a manual process.

The following procedure provide the following steps to perform updates.
  1. Generate encrypted password for the following properties and mention in the Engine application.properties file using the: /JourneyEncryptionUtility.sh <JOURNEYS_HOME/tools>
    • journey.datasource.password
    • journey.report.datasource.password

    Execute command as JourneyEncryptionUtility.sh (<JOURNEYS_HOME/tools>)<Journey System schema password> or <Journey Report schema password>. This generates encrypted password .

    The following is an example.

    [unica@cobra009 tools]$ ./JourneyEncryptionUtility.sh JourneySysctemschema

    Encryption Shell Script started...

    Entered String is : JourneySysctemschema

    Encrypted String is : 3CKsX5SWYtGl+psHqlYUGkjXF9EVv6+XYP6GTIMa7WQ=

  2. Modify JOURNEYS_HOME/Engine/application.properties to update "spring.entity.files.upload.defaultPath" parameter path to include double forward slash (\\) instead of single Forward slash (\).This is in case of installation of Journeys on Windows.
  3. Use generated ClientID and ClientSecret in Journey Engine application.properties:

    platform.clientId=ClientID generated in above step for Journey Web Application properties file

    platform.clientSecret= encrypted ClientSecret for in above stepJourney Web Application properties file

Note: By default, properties spring.entity.files.upload.defaultPath and spring.entity.files.upload.defaultFileReadBuffer appear in single line. User needs to bifurcate them into two different properties, like below:

spring.entity.files.upload.defaultPath

spring.entity.files.upload.defaultFileReadBuffer

Note: The above Web and Engine ignite and temp folder paths after upgrade should be same as the one before upgrade to avoid any inconsistences in data processing for Journeys created before upgrade.
Note: After upgrading journey to 12.1.4, before starting Journey Engine user needs to apply hotfix.

Hotfix URL - https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0095246

Update KafkaStandalone server.properties and zookeeper.properties file
If you are using Windows, perform the following sub-steps.
  1. Modify JOURNEY_HOME/KafkaStandalone/config/zookeeper.properties under to update "dataDir" parameter path to include double forward slash (\\) instead of single Forward slash (\).
  2. Modify JOURNEY_HOME/KafkaStandalone/config/server.properties to update "log.dirs" parameter path to include double forward slash (\\) instead of single Forward slash (\).
In Zookeeper properties files below two parameters needs to be added:
  • admin.serverPort=<SPECIFY PORT>
  • admin.enableServer=false/true

When admin.serverPort parameters not specified then it takes the default values as mentioned below, if these are conflicting to any other application then zookeeper does not get started.

admin.serverPort=<SPECIFY PORT>

Zookeeper installed by Journey installer is not getting started. There is a known issue with the zookeeper upgrade.

Reference defect on zookeeper: https://issues.apache.org/jira/browse/ZOOKEEPER-3056

Workaround mentioned on this defect for zookeeper is as below:
  1. Add below property in zookeeper.properties file, this property will skip the check. zookeeper.snapshot.trust.empty=true
  2. Start Zookeeper server after adding this property in zookeeper.properties files.
  3. Once the zookeeper is started then remove this property as this is not needed from next time.
  4. This check is important to ensure that the system is in good shape.

While starting Kafka on Windows OS, an error message is displayed saying E:\HCL\Unica1211\Journeys\KafkaStandalone\bin\windows>zookeeper-server-start.bat ..\..\config\zookeeper.properties

The input line is too long.

This error occurs because kafka-run-class.bat file performs a bunch of CLASSPATH :concat calls that make the CLASSPATH very long. Depending on your environment, too long: Windows cmd.exe environment has a limit of 8191 characters. This is a known issue with Kafka

Workaround for the mentioned defect for Kafka is as below:
  1. Change the kafka installation directory to shortest path (e.g. C:/Kafka/ OR D:/Kafka/)
  2. Edit Kafka/bin/windows/kafka-run-class.bat as below

    Replace ...

    rem Classpath addition for release

    for %%i in ("%BASE_DIR%\libs*") do (

    call :concat "%%i"

    )

    ... by this ...

    rem Classpath addition for release

    call :concat "%BASE_DIR%\libs*;"

Reference : https://stackoverflow.com/questions/48834927/the-input-line-is-too-long-when-starting-kafka