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 settingsNote: 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
- 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_installedFor 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 underUNICA_PLATFORM_HOME
. - 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 #
- * 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.
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
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 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.
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 toSun (JAVA_VENDOR=Sun)
. If theJAVA_VENDOR
variable is set toJAVA_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.
- Edit the
setDomainEnv
script in the bin directory under your WebLogic domain directory to add-Dfile.encoding=UTF-8
. - In the WebLogic console, click the Domain link on the home page.
- In the Web Applications tab, select the Archived Real Path Enabled check box.
- Restart WebLogic.
- Deploy and start the asset-viewer.war file.
- Edit the
- If deploying in a production environment, set the JVM memory heap size
parameters to
1024
by adding the following line to thesetDomainEnv script: Set MEM_ARGS=-Xms1024m -Xmx1024m -XX:MaxPermSize=256m
Guidelines for deploying Unica Content Integration on WebSphere®
- Specify the following custom property in the server:
- Name:
com.ibm.ws.webcontainer.invokefilterscompatibility
- Value:
true
- Name:
- 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:
- In the form, select the WAR file, select Show me all installation options and parameters so the Select Installation Options wizard runs.
- In step 3 of the Select Installation Options wizard,
ensure that the JDK Source Level is set to
18
for SDK1.8
. - 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.
- In step 10 of the Select Installation Options wizard,
the context root must be set to
/asset-viewer
( all lower case).
- 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. - 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.
- 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.
- Stop WebSphere.
- Download the Time Zone Update Utility for Java (JTZU).
- Follow the steps provided by the IBM (JTZU) to update the time zone data in your JVM.
- Restart WebSphere.
- In Websphere Enterprise Applications, select your Application > Manage Modules > Your Application > Class Loader Order > Classes loaded with local class loader first (parent last).
- 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.
- In WebSphere Enterprise Applications, select Servers > WebSphere application servers > server1 > Server Infrastructure > Java and Process Management > Process definition > Java Virtual Machine.
- Set the initial heap size to
512m
. - 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:
- 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.
- 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 toJAVA_VENDOR
.-Dfile.encoding=UTF-8
-Dclient.encoding.override=UTF-8
-Djboss.as.management.blocking.timeout=3600
- Edit the following
- Restart the JBOSS server.
Guidelines for deploying Unica Content Integration on Apache Tomcat®
- 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.
- 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
. - Restart Tomcat.
- Edit the setenv.sh file for the respective
product instances script in the bin directory under your tomcat
instances directory to add
- 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
- 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>