Deploying Unica Content Integration

Prerequisites

  • Unica Content Integration requires JRE 1.8 or higher to work.
    Note: Unica Content integration can be clean installed. For more information, see Configuring navigation settings
    Note: Unica Content Integration support clustered deployment and no additional configuration is required for clustered deployment.
    Note: To launch the installers on Windows 2019 and Windows 2022, server please set parameter - SET JAVA_TOOL_OPTIONS="-Dos.name=Windows 7" - on command prompt and then launch the Installers from the same command prompt.
  • UnicaPlatformDS JNDI resource for Platform database is required for Unica Content Integration. For more information on setting up UnicaPlatformDS data source, see Unica Platform Installation Guide.

Setting Unica Content Integration home JVM argument

  1. Add the following JVM argument to the application server, where Unica Content Integration is required to be deployed.

    -DASSET_PICKER_HOME= path_where_content_integration_is_installed

    For example: ASSET_PICKER_HOME =/opt/Platform/AssetPicker

    Point ASSET_PICKER_HOME to the directory, where Unica Content Integration is installed. It is installed within the AssetPicker directory under UNICA_PLATFORM_HOME.

  2. Provide write permissions to the logs directory already created inside ASSET_PICKER_HOME.

Setting configuration refresh interval JVM argument

Add the following JVM argument to the application server, where Unica Content Integration is required to be deployed.

-Dplatform.config.refresh-schedule = valid_cron_expression

Value of this argument must be a valid cron expression in the following format. All fields are mandatory:

<seconds> <minutes> <hours> <day of month> <month> <day of week>

  • <seconds> can have values 0-59 or the special characters , - * /
  • <minutes> can have values 0-59 or the special characters , - * /
  • <hours> can have values 0-23 or the special characters , - * /
  • <day of month> can have values 1-31 or the special characters , - * ? / L W C
  • <month> can have values 1-12, JAN-DEC or the special characters , - * /
  • <day of week> can have values 0-6, SUN-SAT or the special characters , - * ? / L C #
Special characters in the cron expression
  • * represents all values. So, if it is used in the second field, it means every second. If it is used in the day field, it means run every day.
  • ? represents no specific value and can be used in either the day of month or day of week field — where using one invalidates the other. If we specify it to trigger on the 15th day of a month, then a ? will be used in the Day of week field.
  • - represents an inclusive range of values. For example, 1-3 in the hours field means the hours 1, 2, and 3.
  • , represents additional values. For example, putting MON,WED,SUN in the day of week field means on Monday, Wednesday, and Sunday.
  • / represents increments. For example 0/15 in the seconds field triggers every 15 seconds starting from 0 (0, 15, 3,0 and 45).
  • L represents the last day of the week or month. Remember that Saturday is the end of the week in this context, so using L in the day of week field will trigger on a Saturday. This can be used in conjunction with a number in the day of month field, such as 6L to represent the last Friday of the month or an expression like L-3 denoting the third from the last day of the month. If we specify a value in the day of week field, we must use ? in the day of month field, and vice versa.
  • W represents the nearest weekday of the month. For example, 15W will trigger on the 15th day of the month if it is a weekday. Otherwise, it will run on the closest weekday. This value cannot be used in a list of day values.
  • # specifies both the day of the week and the week that the task should trigger. For example, 5#2 means the second Thursday of the month. If the day and week you specified overflows into the next month, then it will not trigger.

    Example

    0 */30 * * * * - Every 30 minutes (Default if this JVM argument is not supplied)

    0 0 15 * * ? - Every 3 PM

    0 */15 */2 * * ? - Every 15 mins every 2 hours

    0 0 0 * * * - Every midnight

    0 0 * * * * - Every hour every day

    0 0 */2 * * * - Every 2 hours every day

    0 0 0 ? * 1 - Every Sunday midnight

    0 0 0 ? * SUN - Every Sunday midnight

    0 0 0 ? * SUN,WED,FRI - Every Sunday, Wednesday & Friday midnight

Content Integration Framework periodically looks for configuration changes as per the schedule specified in the platform.config.refresh-schedule JVM argument. If you have not set a value for this JVM argument, by default, Content Integration Framework looks for configuration changes every 30 minutes. Thus, changes in all configurations including user data sources, except Kafka settings are detected and applied at runtime without having to restart the application. All the added and removed partitions are identified and configured accordingly. For changes to reflect in the Kafka configuration, restart the application.

Note: If the JVM argument UNICA_PLATFORM_CACHE_ENABLED is set to TRUE, it might require up to an hour or more for detecting and applying the configuration changes. Expiry of user data source cache can be separately controlled using cif.userDataSources cache configuration provided in ASSET_PICKER_HOME/conf/caching/cif_ehcache.xml.

Setting JVM argument for Ehcache configuration

Unica Content Integration supports caching for content mapping & auto synchronization features for the sake of improved performance. It can be turned ON by setting UNICA_PLATFORM_CACHE_ENABLED JVM argument to true. By default, Content Integration uses the Ehcache configuration file placed at ASSET_PICKER_HOME/conf/caching/cif_ehcache.xml.

For clustered deployments of Unica Content Integration, wherein same ASSET_PICKER_HOME directory is shared by all the nodes, if cif_ehcache.xml file must be separated for each node, then copies of cif_ehcache.xml can be made inside same directory and cif.ehcache.config.file JVM argument can be supplied to specify the filename for each node.

For example,

-Dcif.ehcache.config.file=node1_cif_ehcache.xml

Setting JVM argument to turn background services off

Unica Content Integration makes use of background services for certain features such as processing of events received via Webhooks as well as from Kafka. Such background processing can occupy significant amount of CPU & memory if large volume of events is received by Unica Content Integration. This can occasionally degrade the experience of users accessing Content Integration features from UI. To address this situation, background services can be totally turned off for the instance(s) serving user requests. Supply following JVM argument to do so –

-Dcif.background.services=false

Having said that, if background services is also desired, then separate instance without above mentioned JVM argument must be dedicated for it. Sending user requests to event processing instance is not advisable if it is expected to process high volume of events.
Note: Setting this JVM argument is not required if heavy background processing is not expected.

Setting JVM argument for cache (Ehcache) configuration

Unica Content Integration supports caching for content mapping & auto synchronization features for the sake of improved performance. It can be turned ON by setting UNICA_PLATFORM_CACHE_ENABLED JVM argument to true. By default, Content Integration uses the Ehcache configuration file placed at ASSET_PICKER_HOME/conf/caching/cif_ehcache.xml.

For clustered deployments of Unica Content Integration, wherein same ASSET_PICKER_HOME directory is shared by all the nodes, if cif_ehcache.xml file must be separated for each node, then copies of cif_ehcache.xml can be made inside same directory and cif.ehcache.config.file JVM argument can be supplied to specify the filename for each node.

Example

-Dcif.ehcache.config.file=node1_cif_ehcache.xml.

Setting JVM argument to turn background services off

Unica Content Integration makes use of background services for certain features such as processing of events received via Webhooks as well as from Kafka. Such background processing can occupy significant amount of CPU & memory if large volume of events is received by Unica Content Integration. This can occasionally degrade the experience of users accessing Content Integration features from UI. To address this situation, background services can be totally turned off for the instance(s) serving user requests. Supply following JVM argument to do so -

-Dcif.background.services=false

Having said that, if background services is also desired, then separate instance without above mentioned JVM argument must be dedicated for it. Sending user requests to event processing instance is not advisable if it is expected to process high volume of events.

Note that setting this JVM argument is not required if heavy background processing is not expected.

Deployment procedure

You must follow a set of guidelines, when you deploy Unica Content Integration on your web application server. There is a different set of guidelines for deploying Unica Content Integration on WebLogic and on WebSphere. When you ran the suite installer, you completed the following action:
  • You created the WAR file of Unica Content Integration (asset-viewer.war) inside UNICA_PLATFORM_HOME/AssetPicker directory. UNICA_PLATFORM_HOME refers to the Unica Platform installation location.
Note: It is assumed that you possess information on how to work with your web application server. For more information, see the web application server documentation.

Guidelines for deploying Unica Content Integration on WebLogic

You must follow a set of guidelines when you deploy Unica Content Integration on the WebLogic application. Use the following guidelines when you deploy Unica Content Integration on any supported version of WebLogic:

  • Unica products customize the Java virtual machine (JVM) that is used by WebLogic. If you encounter errors related to JVM, you can create a WebLogic instance that is dedicated to Unica products.
  • Open the startWebLogic.cmd file and verify that the SDK that is selected for the WebLogic domain that you are using is the Sun SDK for the JAVA_VENDOR variable.
  • The JAVA_VENDOR variable must be set to Sun (JAVA_VENDOR=Sun). If the JAVA_VENDOR variable is set to JAVA_VENDOR, it means that JRockit is selected. You must change the selected SDK, as JRockit is not supported. See the BEA WebLogic documentation to change the selected SDK.
  • Deploy Unica Content Integration as a web application.
  • If you are configuring WebLogic to use the IIS plug-in, review the BEA WebLogic documentation.
  • Complete the following tasks for your installation to support non-ASCII characters, for example for Portuguese or for locales that require multi-byte characters.
    1. Edit the setDomainEnv script in the bin directory under your WebLogic domain directory to add -Dfile.encoding=UTF-8.
    2. In the WebLogic console, click the Domain link on the home page.
    3. In the Web Applications tab, select the Archived Real Path Enabled check box.
    4. Restart WebLogic.
    5. Deploy and start the asset-viewer.war file.
  • If deploying in a production environment, set the JVM memory heap size parameters to 1024 by adding the following line to the setDomainEnv script: Set MEM_ARGS=-Xms1024m -Xmx1024m -XX:MaxPermSize=256m

Guidelines for deploying Unica Content Integration on WebSphere®

You must follow a set of guidelines when you deploy Unica Content Integration on WebSphere. Ensure that the version of WebSphere meets the requirements that are described in the Recommended Software Environments and Minimum System Requirements document, including any required fix packs. Use the following guidelines when deploying Unica Content Integration on WebSphere:
  1. Specify the following custom property in the server:
    • Name: com.ibm.ws.webcontainer.invokefilterscompatibility
    • Value: true
  2. Deploy the asset-viewer.war file as an enterprise application. When you deploy the asset-viewer.war file, ensure that the JDK source level is set to 18 for SDK 1.8:
    1. In the form, select the WAR file, select Show me all installation options and parameters so the Select Installation Options wizard runs.
    2. In step 3 of the Select Installation Options wizard, ensure that the JDK Source Level is set to 18 for SDK 1.8.
    3. In step 8 of the Select Installation Options wizard, select UnicaPlatformDS as the matching Target Resource. UnicaPlatformDS JNDI resource must be present for Content Integration. For more information on setting up UnicaPlatformDS data source, see Unica Platform Installation Guide.
    4. In step 10 of the Select Installation Options wizard, the context root must be set to /asset-viewer( all lower case).
  3. For your installation to support non-ASCII characters, for example for Portuguese or for locales that require multi-byte characters, add the following arguments to Generic JVM Arguments at the server level.
    • -Dfile.encoding=UTF-8
    • -Dclient.encoding.override=UTF-8
    Note: Navigation tip: Select Servers > Application Servers > Java and Process Management > Process Definition > Java Virtual Machine > Generic JVM Arguments. See the WebSphere documentation for additional details.
  4. In the Applications > Enterprise Applications section of the server, select the WAR file that you deployed, then select Class loading and update detection and specify the following properties.
    • For Class loader order, select Classes loaded with local class loader first (parent last).
    • For WAR class loader policy, select Single class loader for application.
  5. Start your deployment. If your instance of WebSphere is configured to use a JVM version 1.7 or higher, complete the following steps to work around an issue with the time zone database.
    1. Stop WebSphere.
    2. Download the Time Zone Update Utility for Java (JTZU).
    3. Follow the steps provided by the IBM (JTZU) to update the time zone data in your JVM.
    4. Restart WebSphere.
  6. In Websphere Enterprise Applications, select your Application > Manage Modules > Your Application > Class Loader Order > Classes loaded with local class loader first (parent last).
  7. The recommended minimum heap size for the basic functioning of the application is 512 MB and the recommended maximum heap size is 1024 MB. Complete the following tasks to specify the heap size.
    1. In WebSphere Enterprise Applications, select Servers > WebSphere application servers > server1 > Server Infrastructure > Java and Process Management > Process definition > Java Virtual Machine.
    2. Set the initial heap size to 512m.
    3. Set the maximum heap size to 1024m.
      Note: See the WebSphere documentation for more information about sizing.

For DB2, set progressiveStreaming = 2 in WebSphere console at following path: JDBC >Data sources > UnicaPlatformDS > Custom properties.

Guidelines for deploying Unica Content Integration on JBOSS

You must follow a set of guidelines when you deploy Unica Content Integration on JBoss. Ensure that the version of JBoss meets the requirements that are described in the Recommended Software Environments and Minimum System Requirements document. Use the following guidelines when you deploy Unica Content Integration on JBOSS:

Use the following guidelines when you deploy Unica Content Integration product on any supported version of JBOSS:
  1. Deploy the asset-viewer.war file as an enterprise application. See https://docs.jboss.org/jbossweb/3.0.x/deployer-howto.html for instructions on Deploying Web Server Application in JBoss.
  2. Complete the following task if your installation must support non-ASCII characters, for example for Portuguese or for locales that require multi-byte characters.
    • Edit the following standalone.conf script in the bin directory under your JBOSS /bin directory to add to JAVA_VENDOR.
      • -Dfile.encoding=UTF-8
      • -Dclient.encoding.override=UTF-8
      • -Djboss.as.management.blocking.timeout=3600
  3. Restart the JBOSS server.

Guidelines for deploying Unica Content Integration on Apache Tomcat®

You must follow a set of guidelines when you deploy Unica Content Integration on Apache Tomcat. Ensure that the version of Apache Tomcat meets the requirements that are described in the Recommended Software Environments and Minimum System Requirements document. Use the following guidelines when you deploy Unica Content Integration on Apache Tomcat.
  1. Deploy the HCL asset-viewer.war file as an enterprise application on Tomcat Apache server. Complete the following tasks if your installation must support non-ASCII characters, for example for Portuguese or for locales that require multi-byte characters.
    1. Edit the setenv.sh file for the respective product instances script in the bin directory under your tomcat instances directory to add -Dfile.encoding=UTF-8 Dclient.encoding.override=UTF-8.
    2. Restart Tomcat.
  2. If deploying in a production environment, you can add JVM heap setting for that Tomcat instance in app-one/bin/setenv.sh file respectively for all the instances.

Unica Content Integration | User Role Creation

The procedure included in this section is not required for the following scenarios:
  • It is a fresh installation. The installation process creates this role under default partition (partition1).
  • It is an upgrade and only one partition exists in the current system.

In case, it is an upgrade and system contains more than one partition, you must execute the following command manually for each partition, except partition1. The command exists under <PLATFORM_HOME>\tools\bin directory inside your Platform installation directory. This creates a Content Integration user role under each partition.

On Windows

populateDb.bat -n AssetPicker -p <partition_name>

On Unix

populateDb.sh -n AssetPicker -p <partition_name>