Professional Documents
Culture Documents
Composition Platform
Deployment Guide
EDCPKL220200-IGD-EN-01
OpenText™ Documentum™ xCelerated Composition Platform
Deployment Guide
EDCPKL220200-IGD-EN-01
Rev.: 2023-Jan-11
This documentation has been created for OpenText™ Documentum™ xCelerated Composition Platform CE 22.2.
It is also valid for subsequent software releases unless OpenText has made newer documentation available with the product,
on an OpenText website, or by any other means.
Tel: +1-519-888-7111
Toll Free Canada/USA: 1-800-499-6544 International: +800-4996-5440
Fax: +1-519-888-0677
Support: https://support.opentext.com
For more information, visit https://www.opentext.com
One or more patents may cover this product. For more information, please visit https://www.opentext.com/patents.
Disclaimer
Every effort has been made to ensure the accuracy of the features and techniques presented in this publication. However,
Open Text Corporation and its affiliates accept no responsibility and offer no warranty whether expressed or implied, for the
accuracy of this publication.
Table of Contents
1 Getting Started ......................................................................... 11
1.1 Deployment environments overview ................................................. 11
1.2 Deployment methods ...................................................................... 12
1.3 Managing environments .................................................................. 12
1.4 Upgrading an environment ............................................................... 12
1.5 Updated attributes for REST API properties ...................................... 13
1.6 Security configuration ...................................................................... 13
6.5 Adding BAM server Pipe Jobs to a Message Queue ........................ 206
6.6 Troubleshooting Queries with Debug Mode ..................................... 207
6.7 Connecting xCP Application through Load Balancer ........................ 208
Getting Started
– Documentum Server
– Documentum Administrator (DA)
– Documentum Business Activity Monitor (BAM)
– Documentum Process Engine
– Documentum Process Integrator
– Documentum xPlore
• Additional extended services include:
○ CTS Documents
○ CTS Audio-Video
○ CTS Media
– Documentum Document Image Services (DIS)
– xCP Viewer Services
Make sure you have the appropriate licensing for each component in order to
download, install, and use the software.
Note: When runtime components, such as BAM and xPlore components are
disabled in xCP Deployment Agent, these components appear as disabled
while deploying the application.
You can build environments only through the manual mode. You can build an xCP
physical or virtual deployment environment by manually installing Documentum
components and third-party software. Use xCP Deployment Agent (xDA) to deploy
xCP applications into the manually-built environment. “Manual provisioning”
on page 16 provides more details.
The term Documentum software components refers to the xCP programs listed in
“Deployment environments overview” on page 11.
The Migrating an application topic in the xCP Designer Help describes how to migrate
xCP applications so that they are compatible with the latest version of xCP Designer.
Now you can deploy applications to the upgraded environment. “Overview of
Deploying an xCP Application” on page 149 provides details.
Refer to the Installing the xCP Deployment Agent section for more details about
installing xDA and registering an environment in xDA. Use xCP Deployment Agent
2.1 Overview
You provision the environments manually and use xCP Deployment Agent (xDA) to
deploy xCP applications in those environments. xDA is the lightweight application
used for application deployment and endpoint resolution in a manually created
environment. The main purpose of xCP Deployment Agent (xDA) is to allow
registration of manually provisioned environment and deploy xCP applications to
that environment.
To register an environment with xDA, you use xDA Management Center or create-
environment xDA command and you can deploy the xCP applications using xCP
Designer or xDA Tools:
• xDA Management Center is a web user interface utility. The xDA Management
Center has a set of default environment templates based on module template
files, which are like the blueprint files. You can create additional environment
templates to meet your needs. The xDA catalog contains these environment
templates.
You use default or custom environment templates to register manually
provisioned environments. The xDA Management Center enables you to
configure various manually installed xCP components. xDA uses this
information to deploy xCP application to these environments.
• xDA Tools is a command-line interface (CLI). It connects to xDA to perform
validations and deploy xCP application.
After the environment has been successfully registered and synchronized, you can
deploy applications to the environment. “Overview of Deploying an xCP
Application” on page 149 provides details.
2.3 Prerequisites
The following table describes where to find information on the prerequisites for xCP
environments:
Note: CIS is required for discovered metadata and CTS is required for the
Viewer to display formats other than PDF.
• transformation.properties
• deployment.properties
• rest-api-runtime.properties
• dfc.properties
• bam-server.properties
CIS
CTS
Application server
Client Machine xCP Designer
xDA
Supported browser
Your deployment could also include Branch Office Caching Services (BOCS), which
you install on separate machine. BOCS is not represented in this deployment
scenario.
Place this file under classpath for the application server (for example, CustomConf
folder). Modify the contents of the file as required. The comments marked in the file
explain what each property controls.
# Flag to indicate whether page chunking should be enabled or not
# (Default = true)
chunking.enabled = true
# Even when chunking is enabed, it is triggered only when either file size is
# more than "filesizeMB", or total number of
# pages in the file is more than "pageCount"
# (Default = 5)
chunking.trigger.filesizeMB = 5
# (Default = 15)
chunking.trigger.pagecount = 15
# Number of pages to download in one chunk
# (Default = 5)
chunking.chunksize = 5
# Folder in repository that stores the images for image annotation
# (Default = None, no server side images will be fetched)
image.directory = /System/AdvancedViewer/Images
# Formats to be filtered inside the folder for images
# (Default = bmp,gif,jpeg,png)
image.formats = bmp,gif,jpeg,png
#Changemark Config file location
changemark.config = /System/AdvancedViewer/config/ChangemarkConfig.xml
# Search XML size threshold value in KB beyond
# which the search will be done on server side
# (Default = 512)
search.xml.filesizeKB = 512
# Flag to indicate whether all required transformation should be
# done in case of real-time renditions.
# false = only view rendition is generated
# true = view rendition, thumbnails and search XML rendition are generated
# (Default = false)
realtime.fullTransform = false
A 64-bit server servlet is required for Brava! Enterprise and must be installed prior to
running the Brava! Enterprise installer. If no servlet engine is found during the
Brava! license installation, you are prompted to install Tomcat or use a different
servlet engine.
Licensing
By default, the Brava! Enterprise product installs a 5-user 30 day evaluation key.
Once you obtain permanent keys from us, you must copy them to the installation
directories to replace the 30 day evaluation keys. These three keys are included in
the following two files, which will need to be updated after installation:
The Job Processor IGCKey.lic file (located in your installed \<install location>
\OpenText\Brava! Enterprise\JobProcessor\directory).
The Brava! Server and Brava! client keys contained in the IGCKey.lic file (located in
your \<install location>\OpenText\Brava! Enterprise\Brava! License\
directory).
Notes
• The purchase of client license seats entitles you to a single Brava! Server, Job
Processor, and License Server. Increasing the number of Brava! Servers,
License Servers, or Job Processors in your environment involves an
additional licensing fee that must be discussed with your Sales group
Account Executive.
• Starting with xCP 21.2 release, Brava! version 16.6.3 is supported.
3. Read the Brava! Enterprise End user License Agreement and select I accept... if
you have read, understand, and agree to the terms of the Licensing Agreement,
and then click Next.
4. In the Choose Destination Location screen, use the Browse button to select a
custom location for the Brava! Enterprise files or click Next to accept the default
location and continue.
5. In the Custom setup screen, select which Brava! Enterprise components you
would like to install on this machine. Install the components on different
machines, depending on your scaling requirements. Multiple Job Processor
machines increases scalability.
2. From the drop down arrow for the Brava! Server, and License Server, select
This feature will not be available. Components displaying an X will not be
installed at this time.
3. The Job Processor service components are installed by default. The CSF Writer
is a required component for use with Job Processor print publishing. If you
would not like the Job Processor to be installed as services, you can expand the
+ symbol and select your installation preference. If not installed, the service will
need to be installed and started manually or as a service before Brava! can
function.
4. In the Brava! Server URL screen, enter the fully qualified domain name and
port number of the machine where the Brava! Server is or will be installed.
5. If you have elected to install the Service, enter the account user name and
password in the Service Logon Information screen.
6. Click Install to begin the installation of the Job Processor components and
service.
7. If not detected (or incorrect version detected), the installer automatically installs
the CSF Writer, which is a required component of the Job Processor.
8. At the end of the installation, the installer starts the Brava! services. Click
Finish. The installation of the Job Processor and components and services is
complete.
2. In the Servlet Engine screen, select Use Tomcat <version> or, if you will be
using a different Application Server, simply select Use different servlet engine.
Click Next.
5. In the Brava! Server URL screen, the default servlet port 8080 is shown. This is
the default port to use for Tomcat. If your application server is not Tomcat, or if
you have configured Tomcat to use a non-default port, enter the application
server’s communication port number.
Complete the three fields provided for the Brava! Server and click Next:
6. In the Brava! License Server URL screen, enter the fully qualified domain name
for the host running the Brava! License service. The hostname shown by default
for the Brava! License Server will be the same machine entered for the machine
hosting the Brava! Server webapp.
7. In the License Server Notification Settings screen, enter the server SMTP
information for sending emails from Brava! Configuration of this screen is
optional and you can simply click Next on this screen if you do not want to
receive email notifications for the Brava! License.
8. Click Install to begin the Brava! Server, Brava! License and service, and Brava!
HTML client file installation. The Brava! HTML Client setup package is
installed and deployment instructions are provided in this document.
2. On the Documentum Server Manager dialog box, click DocBroker, select the
connection broker, and click Start.
source ./dm_set_server_env.csh
Extracting the file creates a new folder that stores the installer files. For
example, unpacking Process_Engine_win.zip creates a folder named
Process_Engine_win.
3. Browse to the new folder. For example, open the Process_Engine_win folder.
4. Depending on the operating system, run one of the following installation
programs:
a. Type the following URL into a browser to ensure JMS started successfully:
http://<host>:<port>/bpm/servlet/DoMethod
If the installation fails, view the installation error details in the setupError.log
file in the Process Engine installation folder.
2. Specify the port number and password for the application host server.
APPSERVER.SERVER_HTTP_PORT=9080
APPSERVER.SECURE.PASSWORD=jboss
\\Location of IJMS
PE.INSTALL_TARGET= C:\IJMS
PE.FQDN=
PE.DOCBASES_ADMIN_USER_NAME=username
PE.DOCBASES_ADMIN_USER_PASSWORD=password
You deploy the xCP application into the xCP application host on the application
server. Use one of the following procedures to configure the application server for
the xCP applications:
Before configuring the xCP application host, ensure that you download bam-
server.war from the OpenText MySupport (https://support.opentext.com) site. The
bam-server WAR file contains a properties file.
Note: Best Practice: When both BAM server and xCP application host refers to
the same host server, if end user wants to have separate log files for BAM and
XCP Application, it is recommended to place the log4j2.properties file into the
Classpath of each application, for example ..\WEB-INF\classes\log4j2.
properties. Do not include the jvm parameter -Dlog4j2.configurationFile
referenced in the application server configuration modifications, which
overrides the log4j2 configurations of that individual applications.
The SSL mode on these application servers is supported. For more information
about how to enable SSL mode, refer to the third-party documentation.
At times, when you deploy the xCP application into the xCP application host on the
application server, you may see an exception error instead of the login screen.
Exception:
a. Create a folder named bam in the application server home directory. For
example:
<<application_server_home>\<server_instance>\bam>
b. Copy the log4j2.properties to the bam folder.
You can extract log4j2.properties from /WEB-INF/classes/ of the bam-
server.war file.
3. Create and copy the dfc.properties file for the application to reference the
repository, as follows:
7. To configure the BAM server information for the xCP application host, perform
the following steps:
b. Revise the following lines to reflect the IP address or host name, port details,
and context name for the deployed BAM web application:
# bam.server.host=localhost
# bam.server.port=8000
# bam.server.context=bam-server
...
a. If the following parameters are available, place a comment symbol (#) before
each parameter:
#wrapper.java.additional.$$="-Xmx512M"
#wrapper.java.additional.$$="-Xss256K"
12. Open web.xml and in the JSP servlet, disable pooling by adding the
enablePooling parameter with a value of false.
For example, edit <application_server_home>\<server_instance>\conf\web.xml as
shown in the following code sample:
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>enablePooling</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
13. Create a user for the instance. xCP Designer uses this user to deploy the xCP
application.
For example, edit <application_server_home>\<server_instance>\conf\tomcat-
users.xml and add a user name and password as shown in the following code
sample:
<?xmlversion="1.0"?>
<tomcat-users>
<user name="USER_NAME" password="PASSWORD" roles="manager-script" />
</tomcat-users>
15. Install the application server instance as a service. Start the service. Check the
wrapper file in the logs folder to verify that the service is starting. Validate the
installation by opening the following URL in a browser:
http://localhost:8000/
16. If you are using tc Server Standard Edition, deploy the Application Manager to
the application server instance:
17. Verify that the Application Manager is running by opening the following URL
in a browser:
http://localhost:8000/manager/html
Log in using the user credentials you created for the application instance.
If you are using the manager.war file provided in the xda-tools.zip file for xCP
deployment, you cannot access the Tomcat manager user interface using the
preceding URL. In this case, deploy an application to verify if the Application
Manager is running correctly. Also, view the application server logs to check for
any errors. If there are no errors, the manager.war is deployed correctly.
a. Create a folder called bam in the application server home directory. For
example:
<<application_server_home>\bam>
b. Copy the log4j2.properties file to the specified location.
You can extract the log4j2.properties file from /WEB-INF/classes/ of the
bam-server.war file.
3. Create and copy the dfc.properties file for the application to reference the
repository, as follows:
7. To configure the BAM server information for the xCP application host, perform
the following steps:
10. Open web.xml and in the JSP servlet, disable pooling by adding the
enablePooling parameter with a value of false.
For example, edit <application_server_home>\conf\web.xml as shown in the
following code sample:
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>enablePooling</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
11. Create a user for the Tomcat application server. xCP Designer uses this user to
deploy the xCP application.
For example, edit <application_server_home>\conf\tomcat-users.xml and add a
user name and password as shown in the following code sample:
<?xmlversion="1.0"?>
<tomcat-users>
<user name="USER_NAME" password="PASSWORD" roles="manager-script" />
</tomcat-users>
12. Edit the <application_server_home>\conf\context.xml file and set the Context xml
node to the following:
<Context antiResourceLocking="true">
This step enables you to deploy or undeploy web applications remotely on the
application server. This also avoids redeployment issues. Open the file in a
browser to check for well-formed XML.
13. Start the Tomcat service. Validate the installation by opening the following URL
in a browser:
http://localhost:<port>/
Where <port> is the port where the Tomcat application server is running. The
default port is 8080.
14. Ensure that your application server has UTF-8 set for URI encoding. If it does
not, edit the server.xml file as follows:
15. This step is applicable only for a clustered environment with multiple Tomcat
nodes. Deploy the Application Manager to the application server:
16. For a clustered environment with multiple Tomcat nodes, repeat this procedure
on each Tomcat node.
17. For a clustered environment with multiple Tomcat nodes, modify clustering
configuration in server.xml to support FarmWarDeployer capability.
Attribute Description
tempDir Specify a temporary folder for the
system to store uploaded xCP
applications.
watchDir Specify the folder for the system to copy
the xCP war file in a cluster node.
deployDir Specify the \<application_server_home>
\webapps folder.
18. The manager.war context file allows access to Tomcat manager application only
from the configured hosts. By default, the manager.war allows incoming traffic
from the localhost. You can configure these valve properties to allow access of
traffic inflow from a remote machine (xDA in this case):
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192\.168\.2\.101|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
b. Remote Host Valve: The remote host valve, RemoteHostValve, either allows
or denies incoming requests based on the host name.
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteHostValve"
allow="APPVM|CTSVM|<your-xda-server-
name>" />
</Context>
Example:
<Valve className="org.apache.catalina.valves.RemoteHostValve"
allow="xDAVM" />
</Context>
• When using remote host valve, the Connector in the server.xml must be
enabled for DNS lookups using enableLookups as true.
• Both remote address valve and remote host valve are mutually
exclusive. Only one of them can be used at a time.
• When Tomcat is configured for SSL, the Apphost certificate must be
added to the xDA Truststore and cacerts of Java used by xDA.
a. Create a folder named, bam, in the application server home directory. For
example:
<application_server_home>\bam
b. Copy the log4j2.properties file to the bam folder.You can extract the
log4j2.properties file from /WEB-INF/classes/ of the bam-server.war
file.
2. Create and copy the dfc.properties file for the application to reference the
repository, as follows:
a. Set the classpath by adding the following line at the end of the file:
set CLASSPATH=%CLASSPATH%;<application_server_home>\customConf
to
set JAVA_PROPERTIES=-Dplatform.home=%WL_HOME% -Dwls.home=%WLS_HOME% -
Dweblogic.home=%WLS_HOME%
-Dlog4j2.configurationFile=<application_server_home>\log4j2.properties
Note: For a clustered environment with multiple WebLogic Servers, repeat this
procedure on each WebLogic server node.
<resource-root path="."/>
</resources>
</module>
g. Create the dfc.properties file for the application to reference the repository
and copy the dfc.properties file from the %Documentum%\Config folder on
the Documentum Server to the specified location.
h. (Optional) Update the dfc.properties file by adding the following key:
dfc.security.keystore.file=< location of dfc.keystore file >\dfc.keystore
a. Create a folder, bam, at the application server home directory. For example:
<application_server_home>\standalone\bam
4. To configure the BAM server information for the xCP application host, perform
the following steps:
Notes
6. WildFly defaults to an HTTP post size limit of 10 MB. To allow signing larger
files, increase the limits on the HTTP/HTTPS listeners using the max-post-size
attribute in <application_server_home>\standalone\configuration\
standalone.xml file.
<http-listener name="default" socket-binding="http" max-header-size="974247881"
redirect-socket="https" enable-http2="true" max-post-size="974247881"/>
admin, administrator}
- The password must contain at least 8 characters, 1 alphabetic character(s),
1 digit(s), 1 non-
alphanumeric symbol(s)
- The password must be different from the username
Password :
Re-enter Password :
What groups do you want this user to belong to? (Please enter a comma
separated list, or leave blank for none)
[ ]:
About to add user 'test' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'WildFly_User_Name' to file 'C:\Node2\standalone\
configuration\mgmt-users.properties'
Added user 'WildFly_User_Name' to file 'C:\Node2\domain
\configuration\mgmt-users.properties'
Added user 'WildFly_User_Name' with groups to file 'C:\Node2\
standalone\configuration\mgmt-groups.properties'
Added user 'WildFly_User_Name' with groups to file 'C:\Node2\
domain\configuration\mgmt-groups.properties'
Is this new user going to be used for one AS process to
connect to another AS process?
e.g. for a slave host controller connecting to the master or
for a Remoting connection for server to server EJB calls.
yes/no? yes
To represent the user add the following to the
server-identities definition <secret value="cGFzc3dvcmQ=" />
[dmadmin@APPVM bin]$ ./add-user.sh
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by __redirected.__SAXParserFactory
(file :C:\Node2\standalone\
configuration\jboss-modules.jar) to constructor com.sun.org.apache.xerces.
internal.jaxp.SAXParserFactoryImpl()
WARNING: Please consider reporting this to the maintainers of __
redirected.__SAXParserFactory
WARNING: Use --illegal-access=warn to enable warnings of further illegal
reflective
access operations
WARNING: All illegal access operations will be denied in a future release
admin, administrator}
- The password should contain at least 8 characters, 1 alphabetic character(s),
1 digit(s), 1 non-
alphanumeric symbol(s)
Password :
WFLYDM0101: Password should have at least 1 digit.
Are you sure you want to use the password entered yes/no? yes
Re-enter Password :
What groups do you want this user to belong to? (Please enter a comma separated
list,
where as,
<WildFly_HOSTNAME> depends on what is registered in xDA.
If xDA refers to machines with Hostnames, host names must be provided here.
This option binds the WildFly interfaces to the hostname of the machine rather
than IP address of the machine.
a. Create a folder, bam, at the application server home directory. For example:
<application_server_home>\bam
4. To configure the BAM server information for the xCP application host, perform
the following steps:
2. Set the transaction log size to 500 MB and the transaction log file to auto-
growth.
Check the size of the log file periodically. If the log files get too large, back it up
and truncate it.
4. For the BAM database user, select SQL Server authentication and create a
password.
7. The following table summarizes the initialization parameters to use for the
BAM database:
Parameter Value
Security SQL Server And Windows Authentication
Parameter Value
Connections Query Time-Out = 0 (unlimited)
Maximum Concurrent User connections =
0 (unlimited)
Attributes Close cursor on Commit = V (enable)
ANSI Warning = V (enable)
ANSI padding = V (enable)
ANSI nulls = V (enable)
Autostart policies when the operating Autostart SQL Server (enable) Autostart
system starts SQL Server Agent (enable)
Network TCP/IP
Server Collation Case-sensitive
MS SQL collation Code page To avoid loss of data, configure the BAM
database collation and the Documentum
Server database collation to be the same.
Configure the BAM database collation and
BAM database instance collation to be the
same.
By default, Microsoft SQL Server limits the size of index to 900 bytes. To optimize
the performance of an xCP application, BAM server creates index entries on the
aggregation table. For example, if HDS row contains large data, such as 4000 or
more characters, the index value may go beyond the set limit of 900 bytes. In this
case, you need to manually drop the index on each aggregation table for the
historical query in Microsoft SQL Server. Revisit the design and see if 4000
characters for an attribute is required. Recreate the index manually by skipping
attribute with such large data.
If an application is redeployed, BAM recreates the index entries and you need to
repeat the steps to drop the indexes.
4. Create a TableSpace with auto extend property enabled for BAM. For example:
CREATE TABLESPACE BAM_tablespace_name DATAFILE datafile_name SIZE tablespace_size
REUSE AUTOEXTEND ON NEXT increment_size MAXSIZE max_tablespace_size;
5. Create a user for the TableSpace created in the previous step. For example:
• Grant CONNECT
• Grant RESOURCE
• Grant CREATE VIEW
• Grant CREATE SEQUENCE
Example
Grant CONNECT, RESOURCE, CREATE VIEW, CREATE SEQUENCE to BAM_user_name;
7. Monitor the database and modify the parameters based on the amount of data
being stored.
You can deploy the BAM server to the same machine as the database server or on a
separate machine. It is recommended to deploy the BAM server on a separate
machine from the database server to increase performance. The server uses the JDBC
driver for database operations and does not require the database client for its
operations.
1. Provide access from the server to the database by way of a TCP/IP connection.
4. To connect the BAM server with the SQL Server database, edit the JDBC
connection parameters accordingly, for example:
bam.jdbc.dialect=mssql
bam.jdbc.url=jdbc:sqlserver://<IP or Hostname>:1433;databasename=<name of
database>;SELECTMETHOD=Cursor
bam.jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
bam.jdbc.userName=<$database.username>
bam.jdbc.password=<$database.password>
bam.dfc.session.repository=<$documentum.repositoryname>
bam.dfc.session.repositoryUserName=<$documentum.username>
bam.dfc.session.repositoryPassword=<$documentum.password>
bam.cluster.activateOnStartup=false
bam.cluster.ttl=1500
bam.cluster.pulse=500
Where <hostname> is the IP address of the BAM database server. If you install
the BAM database and BAM server on the same machine, you can type
localhost or the loopback IP address (127.0.0.1).
5. To connect the BAM server with the Oracle database, edit the following JDBC
connection parameters:
bam.jdbc.dialect=oracle
bam.jdbc.url=jdbc:oracle:thin:system/password@hostname:1521:orcl
#bam.jdbc.url= jdbc:oracle:thin:@hostname:1521:SID
bam.jdbc.driver= oracle.jdbc.driver.OracleDriver
bam.jdbc.userName=<$database.username>
bam.jdbc.password=<$database.password>
bam.dfc.session.repository=<$documentum.repositoryname>
bam.dfc.session.repositoryUserName=<$documentum.username>
bam.dfc.session.repositoryPassword=<$documentum.password>
bam.cluster.ttl=1500
bam.cluster.pulse=500
bam.cluster.activateOnStartup=false
Where <hostname> is the IP address of the BAM database server. If you install
the BAM database and BAM server on the same machine, you can type
localhost or the loopback IP address (127.0.0.1).
bam.jdbc.url= jdbc:oracle:thin:@<TNSName>
To connect to the BAM database using TNSName, add the following parameter
in the application server:
-Doracle.net.tns_admin=<ADMIN_folder_path>
For BAM, SID and Service Name are both set to ORCL to avoid confusion.
Type the dialect in lower case.
For example, edit bam.properties as shown in the following sample:
bam.dfc.session.repositoryPassword=password
bam.jdbc.preference.maxIdle=-1
bam.jdbc.dialect=oracle
bam.jdbc.preference.initialSize=10
bam.dfc.session.repository=xcprc3
bam.jdbc.preference.maxActive=-1
bam.jdbc.preference.deployBatchSize=2500
bam.jdbc.preference.maxRows=100
bam.jdbc.url=jdbc\:oracle\:thin\:@127.0.0.1\:1521\:ORCL
#bam.jdbc.url=jdbc\:oracle\:thin\:@DCMXo21-CR3\:1521\:ORCL (with hostname)
bam.jdbc.password=password
bam.jdbc.driver=oracle.jdbc.driver.OracleDriver
bam.jdbc.preference.dataFormatBatchSize=1000
bam.dfc.session.repositoryUserName=dmadmin
bam.jdbc.userName=system
bam.cluster.activateOnStartup=false
bam.cluster.ttl=1500
bam.cluster.pulse=500
7. To connect the BAM server with the Postgres SQL Server database, edit the
following JDBC connection parameters:
bam.jdbc.dialect=postgres
bam.jdbc.userName=<$database.username>
bam.jdbc.password=<$database.password>
bam.jdbc.url=jdbc\:postgresql\://<hostname>\:<port>/<name_of_database>
bam.jdbc.driver=org.postgresql.Driver
bam.jdbc.preference.deployBatchSize=2500
bam.jdbc.preference.maxIdle=-1
bam.jdbc.preference.initialSize=10
bam.jdbc.preference.maxActive=-1
bam.jdbc.preference.maxRows=100
bam.jdbc.preference.dataFormatBatchSize=1000
Also, make sure that you have right privilege on any of the schemas of the
search_path variable.
• If you are installing a BAM server in a Linux environment, add the location
of bam.properties as a parameter to the setenv.sh file. For example, in tc
Server, open <application_server_home>/<server_instance>/bin/
setenv.sh and add <application_server_home>/<server_instance>/
bam/bam.properties to the Dbam.properties parameter and map it to the
WRAPPER_CONF property inside the setenv.sh file.
The following code sample shows bam.properties added as a parameter:
VM_OPTS="-Xmx2048M -Xss192K"
WRAPPER_CONF="-XX:MaxPermSize=512m -XX:PermSize=192M -Xms1024M
-Dbam.properties=/home/dmadmin/APPSERVER/APPHOST/bam/bam.properties
JAVA_OPTS="$JVM_OPTS $AGENT_PATHS $JAVA_AGENTS $JAVA_LIBRARY_PATH
$WRAPPER_CONF"
CLASSPATH="/home/dmadmin/APPSERVER/APPHOST/Customconf:$CLASSPATH"
9. To modify the location of the log files, open log4j2.properties located in bam-
server\WEB-INF\classes.
10. Use log4j2 standards to modify the location of the log files.
If the log file location is unchanged, the system writes the log files to the
application server home.
• If you are installing a BAM server in a Linux environment, set the location of
log4j2.properties file to the system property log4j2.configurationFile in
the setenv.sh file. For example, in tc Server, open <application_server_
home>/<server_instance>/bin/setenv.sh and set <application_
server_home>/<server_instance>/bam/log4j2.properties to log4j2.
configurationFile system property and map it to the WRAPPER_CONF
property inside the setenv.sh file.
The following code sample shows log4j2.properties added as a parameter:
VM_OPTS="-Xmx2048M -Xss192K"
WRAPPER_CONF="-XX:MaxPermSize=512m -XX:PermSize=192M -Xms1024M
-Dlog4j2.configurationFile=/home/dmadmin/APPSERVER/APPHOST/bam/
log4j2.properties"
JAVA_OPTS="$JVM_OPTS $AGENT_PATHS $JAVA_AGENTS $JAVA_LIBRARY_PATH
$WRAPPER_CONF"
CLASSPATH="/home/dmadmin/APPSERVER/APPHOST/Customconf:$CLASSPATH"
14. Deploy bam-server.war into the application server in the following location:
<application_server_home>\<server_instance>\webapps
16. Browse to the BAM server URL to verify that the BAM server is up and
running: http://<hostname>:<port>/bam-server/admin?action=status
On starting the BAM server, the system encrypts the password automatically in
the bam.properties file and sets the bam.encrypted property to true.
When a password is encrypted, setting the bam.encrypted property to false or
removing this property, results in failure of the BAM server startup.
5. Create and copy the dfc.properties file for the application to reference the
repository, as follows:
• If you are installing a BAM server in a Linux environment, set the location of
bam.properties file as a system property in the setclasspath.sh file. For
example, in Tomcat 9.0.39, open <application_server_home>/bin/
setclasspath.sh and set <application_server_home>/bam/bam.
properties to the bam.properties system property.
9. To modify the location of the log files, open log4j2.properties located in bam-
server\WEB-INF\classes.
10. Use log4j2 standards to modify the location of the log files.
If the log file location is unchanged, the system writes the log files to the
application server home.
• If you are installing a BAM server in a Linux environment, add the location
of log4j2.properties as a parameter to the setclasspath.sh file. For example,
in Tomcat 9.0.39, open <application_server_home>/bin/setclasspath.
sh and add <application_server_home>/bam/log4j2.properties to the
Dlog4j2.configurationFile parameter.
14. To start BAM server as a service, set CLASSPATH and JVM options parameter
to the service.bat file and then execute the following command:
set "CLASSPATH=%CATALINA_HOME%\Customconf;%CATALINA_HOME%\bam;%CLASSPATH%"
bam.properties=%CATALINA_HOME%\bam\bam.properties;
-Dlog4j2.configurationFile=%CATALINA_HOME%\bam\log4j2.properties;
15. Deploy bam-server.war into the Tomcat application server in the following
location: <application_server_home>\webapps
17. Browse to the BAM server URL to verify that the BAM server is up and
running: http://<hostname>:<port>/bam-server/admin?action=status
1. Deploy the BAM server on each node in the cluster behind a single load
balancer.
Note: To know which node is processing events, you can execute the
following query:SELECT R.SERVER_NAME,R.TOUCH_TIME,R.STATUS,R.
STATE FROM BAM_SERVER_REGISTRY R. If you stop Server1, then Server2
starts processing events as configured in bam.properties file.
2. Create a folder and copy the bam.properties and log4j2.properties file in it:
a. Create a folder called bam in the application server home directory. For
example:
<application_server_home>\bam
3. Create and copy the dfc.properties file for the application to reference the
repository, as follows:
a. Set the classpath by adding the following line at the end of the file:
set CLASSPATH=%CLASSPATH%;<application_server_home>\customConf
to
set JAVA_PROPERTIES=-Dplatform.home=%WL_HOME% -Dwls.home=%WLS_HOME% -
Dweblogic.home=%WLS_HOME%
-Dbam.properties="<application_server_home>\bam\bam.properties"
-Dlog4j2.configurationFile="<application_server_home>\log4j2.properties"
10. In the left pane, select Environment under the Domain Structure section.
12. In the Settings for <AppHost_Server> page, select the Enable Tunneling
checkbox in the Protocols tab and click Save.
13. In the left pane, select Deployments under the Domain Structure section.
14. In the Control tab under the Summary of Deployments section, click Install.
15. Specify the location of the bam-server.war file in the Path text box.
17. Select the Install this deployment as an application option, and click Next.
18. Verify that the name of the deployment is bam-server and click Next.
19. In the next page, select the No, I will review the configuration later option and
click Finish.
20. In the Control tab under the Summary of Deployments section, select the bam-
server deployment.
21. From the Start drop-down list, select Servicing all requests and click Yes to
confirm. The BAM application is started.
23. Browse to the BAM server URL to verify that the BAM server is up and
running:
http://<hostname>:<port>/bam-server/
3. Browse to the BAM server URL to verify that the BAM server is up and
running:
http://<hostname>:<port>/bam-server/
c. Create the dfc.properties file for the application to reference the repository
and copy the dfc.properties file from the %Documentum%\Config folder
on the Documentum Server to the specified location.
d. (Optional) Update the dfc.properties file by adding the following key:
dfc.security.keystore.file=< location of dfc.keystore file >\dfc.keystore
a. Create a folder, bam, at the application server home directory. For example:
<application_server_home>\standalone\bam
4. Create and copy the dfc.properties file for the application to reference the
repository:
5. If you are installing a BAM server in a Windows environment, add the location
of bam.properties file as a system property in the standalone.conf file. For
example, open <application_server_home>\bin\standalone.conf and set
<application_server_home>\standalone\bam\bam.properties as the value
of the system property bam.properties.
The following code sample shows bam.properties added as a system property:
set "JAVA_OPTS=-Xms1G -Xmx1G -XX:MaxPermSize=256M
-Dbam.properties=<application_server_home>\standalone\bam\bam.properties
-Dlog4j2.configurationFile=<application_server_home>\standalone\bam
\log4j2.properties"
11. Browse to the BAM server URL to verify that the BAM server is up and
running:
http://<hostname>:<port>/bam-server/
To upgrade BAM server and xCP application from 2.0 to 2.2, perform the following
steps:
1. Remove xCP runtime libraries from the lib folder of the application server.
2. Upgrade the BAM server WAR from 2.0 to 2.2.
3. Redeploy all the existing xCP applications. This ensures that the WAR files of
the existing xCP applications are rebuilt with all the necessary JAR files and
redeployed on the application server. If you do not perform this step, existing
xCP applications may fail.
To upgrade BAM server and xCP application from 2.1, perform the following steps:
You can install and configure the bps.war file into an application server to enable
use of the delivered Process Integrator inbound messaging process activities. When
you extract the bps.war file, you find these two files available in the bps/WEB-INF/
classes folder:
• bps_template.xml
• dfc.properties
Configure the bps_template.xml and dfc.properties files to use the inbound services.
The following sections describe how to configure these files.
2. Install an application server and create an application server instance for the
supported application server. The application server documentation provides
installation instructions and information on creating an application server
instance.
3. Locate the bps.war file and extract it to a temporary folder using the following
command:
jar -xvf bps.war
<ha_enabled>FALSE</ha_enabled>
<config_properties>
<property name="mail.imap.partialfetch" value="false"/>
<property name="mail.debug" value="false"/>
</config_properties>
<connections>
<docbase-connection>
<docbase> BPM_Inbound_D6</docbase>
<user> tuser1</user>
<password> tuser1</password>
<domain/>
</docbase-connection>
</connections>
</config>
Polling_interval is the time interval (in seconds) after which the Process
Integrator framework polls for new activity endpoints (inbound listeners).
The default specified in the file is 300 seconds (5 minutes). Use a large value
such as 3600 in a production environment where new endpoints are not
created frequently.
5. Edit the dfc.properties file.
The dfc.properties file is part of the extracted bps.war file. Edit the
dfc.properties file to specify the correct connection broker information and the
correct dfc.data.dir. Add any other properties to dfc.properties.
a. Add the fully qualified hostname for the connection broker to the following
key. You can add backup hosts by incrementing the index number within
brackets.
dfc.docbroker.host[0]=<host_name>
b. If you want to use a port for the connection broker other than the default of
1489, add a port key to the dfc.properties.
dfc.docbroker.port=<port_number>
c. Add the global registry repository name to the following key:
dfc.globalregistry.repository=<repository_name>
d. Add the key for the location of DFC configuration files:
dfc.data.dir=<C\:/Documentum>
e. Add the username of the dm_bof_registry to the following key:
dfc.globalregistry.username=<dm_bof_registry_user_name>
The global registry user, who has the username of dm_bof_registry, has
read access to objects in the /System/Modules and /System/
NetworkLocations only.
f. Add an encrypted password value for the following key:
dfc.globalregistry.password=encrypted_password
Copy the username and encrypted password from the dfc.properties file on
the global registry Documentum Server host. You can also select another
global registry user and encrypt the password using the following
command from a command prompt (assumes the directory containing
javaw.exe is on the system path):
7. Remove the unmodified bps.war file from the temporary folder in Step 3 and
package bps.war using the following command:
jar -cvf bps.war *
<subsystem xmlns="urn:jboss:domain:ee:4.0">
<global-modules>
<module name=”com.bps”/>
</global-modules>
</subsystem>
Note: The keyStore folder is not created automatically, you have to create
it manually.
<featureManager>
<feature>webProfile-8.0</feature>
</featureManager>
....
....
....
....
<remoteFileAccess>
<writeDir>${server.config.dir}/dropins</writeDir>
</remoteFileAccess>
<library id="xcppropeties">
<fileset dir="${server.config.dir}/lib/global" includes="*.properties" />
</library>
<!-- Automatically expand WAR files and EAR files -->
<applicationManager autoExpand="true"/>
</server>
5. Download and deploy the WebSphere specific bps.war file by copying the
WAR file to <application_server_home>\dropins.
7. Browse to the Process Integrator Server URL to verify that the process integrator
server is up and running:
http://<hostname>:<port>/bps/lsnrs.jsp
1. After editing the bps_template.xml file to include the clear-text username and
password, save and close the file.
3. Open the encryptBPSPassword batch/shell script file and edit the properties to
set the DFC configuration directory, the Java path, and the bps_template.xml
file path.
For example:
set DFC_CONFIG_DIR=C:\Documentum\config
set JAVA=C:\Program Files\Java\jdk<version>\bin\java
set BPS_TEMPLATE_XML_FILE_PATH=C:\Tools\bps_template.xml
Protocol listeners are assigned an active Process Integrator instance with other
passive instances available, as well. When the active system fails, one of the other
instances provides services for that listener ensuring continual inbound messaging
services. The high availability feature must be enabled for each instance of Process
Integrator.
3. Specify a unique name for the instance in the bps.xml file. For example:
<instance_name>bps1<instance_name>
If you do not specify an instance name, the system creates a default name,
BPS_Instance when the Process Integrator inbound listener starts. If you are
enabling high availability, each instance needs a unique instance name.
4. Repeat steps 2 and 3 for each instance of Process Integrator on the application
server that uses high availability.
The listeners do not automatically fail back to the first server when it comes up.
There are two ways to set the preferred_instance name and run_in_all instances
(boolean) attributes in the listener table: using DQL or using a script that is provided
for Microsoft Windows systems.
For example:
update dmc_bps_listener object set
preferred_instance='bps1' where
listener_act_id='4c23cb538003f1b4'
set DFC_CONFIG_DIR=
set JAVA=
echo on
In each line of the text file, specify each inbound activity for which the preferred
instance needs to be set.
For example:
#Process1::Activity1Inbound::bps1
#Process2::Activity2Inbound::bps1::true
Only update the Preferred Instance column. The other columns are reserved for
internal use only and must not be edited.
Running the script populates the listener table for each activity with the values
specified in the file.
2. On the Inbound Details page, click the link for the appropriate page:
• System properties
• Installed product versions
• Repository information and runtime modules
1. Type the following URL into the browser after ensuring that the host_name and
port_number in the URL reference the Java Method Server and not the server
hosting the bps.war file:
http://<host_name>:<port_number>/bpm/outbound_details.jsp
If the system shows an error page rather than the Outbound Details page,
ensure that you have correctly entered the host name and port number in the
URL. If the error persists, there may be a problem with the JMS installation.
2. On the Outbound Details page, click the link for the appropriate page:
• View Versions
This page lists the details for the Java system properties on the host machine.
• View Docbases and Runtime Modules
This page lists the framework details including the names of any repositories
the host machine is listening to, the names and versions of installed
outbound runtime modules, and the BPM Servlet URI.
For self-signed certificates, the imported certificate must reside in the following
locations:
2. Use the following keytool command to import the certificate from the command
prompt:
keytool -import -noprompt -trustcacerts -alias <alias> -file <certificate-location>
-keystore <java_truststore> -storepass <password>
Where:
2. Add the HTTP proxy parameters for basic authentication or HTTP over SSL to
the JAVA_OPTIONS.
For example, add the following lines to support HTTP basic authentication:
-Dhttp.proxyHost=<proxy_host> -Dhttp.proxyPort=<port_number> -
Dhttps.nonProxyHosts="<non_proxy_hosts>"
Where:
• Install the 64-bit Java Development Kit (JDK) and set JAVA_HOME (an
operating system environment variable) to the JDK installation directory. Set
environment variable PATH to %JAVA_HOME%\bin.
• A client system or a VM for xDA Tools.
Parameter Description
xda.data.dir (Optional) Specify the path to alternate
location on the xDA machine where you
want xDA to maintain catalog information
and log files. Ensure that the directory
name does not contain spaces. The default
location is ${xda-home}.
logging.config The path of the log4j2.properties file.
Do not change the value.
server.port Specify the port where you want the xDA
application to run. Default port is 7000.
wildfly.libs.home (Optional) Specify the path to the WildFly
client directory on the xDA machine while
deploying an application in the WildFly
application server.
jboss.libs.home (Optional) Specify the path to the JBoss
client directory on the xDA machine while
deploying an application in the JBoss
application server.
websphereliberty.libs.home (Optional) Specify the path to the
WebSphere client directory on the xDA
machine while deploying an application in
the WebSphere application server.
Parameter Description
redirectToHTTPS 1 (Optional) Set this variable to true if the
LoadBalancer is configured in HTTPS and
the proxy is configure in HTTP mode.
When set to true, HTTP response is
redirected to HTTPS protocol.
redirectPort 1 (Optional) If redirectToHTTPS is enabled
Default redirection port is set to 443.
Should be changed if https is configured
on different port.
1 If xDA is not accessible when we have proxy layer between LoadBalancer and xDA
service in Cloud. Use the following properties to reteieve the protocol from
LoadBalancer and route the response using the same protocol.
3. For log4j2.properties file, set logs for various parameters to debug the
configuration.
4. Add these entries to the xda-config.properties file to enable SSL mode on xDA
as follows:
server.port=8443
server.ssl.enabled=true
server.ssl.key-store=keystore.jks
server.ssl.key-store-password=<keystore-password>
server.ssl.key-alias=<certificate-alias>
server.ssl.key-password=<key-password>
server.ssl.trust-store=truststore.jks
server.ssl.trust-store-password=<truststore-password>
5. While using strong encryption, use the appropriate java.policy and JCE JAR
along with the following properties:
server.ssl.ciphers=<ssl cipher used to create certificate>
server.ssl.protocol=<Compatible ssl protocol>
server.ssl.ciphers=TLS_RSA_WITH_AES_256_CBC_SHA
server.ssl.protocol=TLS
-Djavax.net.ssl.trustStore=<trust-store>
-Djavax.net.ssl.trustStorePassword=<trust-store-password>
Examples:
XDA_OPTS="-Xmx4096m……
……/log4j2.properties -Djava.security.egd=file:/dev/./urandom"
<host> is the host name or IP address of the machine where xDA is installed.
<port> is the port number on which xDA is listening.
Note: When you log in to xDA through GUI or xDA-Tools utility for the
first time, the system prompts you to change the default password.
9. To install xDA tools on the same machine where you have installed xCP
Deployment Agent, complete the following steps:
a. Install the 64-bit JDK on a machine that meets the requirements for xDA
Tools. Set JAVA_HOME (an operating system environment variable) to the
directory where the 64-bit JDK is installed.
b. Download and extract xda-tools_win64.zip or xda-tools_linux64.tar
to a convenient location in this machine.
c. The extracted xDA Tools folder structure is described in the following table:
Folder Contents
bin Executable files, including xda.bat/sh
and configure-xda.bat/sh.
blueprints Module-template files that describe the
structure of environment templates used
to register manually-provisioned
environments.
config Configuration files, including
xda.properties to connect to xDA.
lib Libraries needed to deploy the xCP
application and libraries required by the
xDA API plug-ins.
logs Log files.
reports Reports generated by the xDA CLI
commands.
10. To enable SSL communication between xDA Tools and xDA, append these
entries to the XDA_OPTS parameter in the xda.bat or xda.sh file located at $
{xda-tools-home}\bin:
-Djavax.net.ssl.trustStore=<path-to-xdatoolsTrustStore>
-Djavax.net.ssl.trustStorePassword=<truststore-password>
• Specify the IP address of the machine where the xDA is running and the
port number on which the xDA is listening.
• For xda-schema, specify the xDA host protocol as http or https.
These entries point xDA Tools to the running xCP Deployment Agent.
b. Set up a password for the xDA admin user and run xDA configuration
script: Double-click configure-xda.bat (for linux, run configure-xda.sh)
in ${xda-tools-home}\bin. At the prompt, type the user name and
password. If you have not changed the default xDA password, you will be
prompted to change it.
Note: If you change xDA password using xDA tool or UI, you must
reopen the xDA tool and run configure-xda command to sync the
updated password.
The system imports the following configuration information:
12. To enable SSL communication between xCP Designer and xDA, add these
entries to the xCPDesigner.ini file:
-Djavax.net.ssl.trustStore=<path-to-xcpTrustStore>
-Djavax.net.ssl.trustStorePassword=<truststore-password>
You can now use the xDA Management Center to register an environment. “Using
the xDA management center to register an environment” on page 83 provides
instructions.
Upgrading xDA
While installing any newer version of xDA or installing the xDA patch, if your $
{xda-home} path changes, the user must stop and remove the existing xDA Service.
2. Reinstall the newer xDA service by following instructions in the Installing xDA
Windows Service section.
Troubleshooting
While starting a xDA service, in case you experience any errors, check the xDA-
installer-service.err.log file located at ${xda-home}\logs.
1. On each machine that you intend to use for connection to the xDA, set up xDA
Tools. “Setting up xDA and xDA tools” on page 75 provides details.
2. On each machine where you have set up xDA Tools, edit the xda.properties
file in ${xda-tools-home}\config.
Example 2-1:
The following is an example of the xda.properties file:
xda-host = 192.0.2.0
xda-port = 8080
xda-schema = http
Property Description
xda-host The IP address or hostname of xDA.
xda-port The port of the xDA.
xda-schema Specify the protocol for access to the xDA:
• http
• https
You can point xDA Tools to a different xDA by replacing or revising the xda.
properties file.
where <host> is the host name or IP address of the machine where the xCP
Deployment Agent is running and <port> is the port number on which the xCP
Deployment Agent is listening. If this server is the same computer as the
browser, you can use:
http://localhost:<port>/xda
2. Type an xCP Deployment Agent user name and password. Click Login.
1. Start xDA and log in to xDA Management Center. “Logging In to the xDA
management center” on page 83 provides instructions.
Field Description
Description (Optional) Type a description for the
host group.
In Edit Host Group dialog box, click Done. The system saves any new
information into memory, but does not save the information to the database.
e. In the Services tab, select each service and click Edit. The Edit Service
dialog box appears. Configure each tab as follows:
• On the Properties tab, specify values for the fields described in the
following table:
Field Description
Enable Service Indicate whether you want to enable
the service for the environment
template.
Some services, such as the repository
service, are required. You cannot
disable these services.
Host Group Specify which host group you want to
associate with the service.
Click Done. The system saves any new information into memory, but does
not save the information to the database.
f. Click Finish. The system saves all information (any information in memory
and any new information) to the database.
Field Description
Environment Mode Select either Production or Development as
the mode of the environment. After creating
an environment, you can change the
environment mode only from Production to
Development. Once you change the
environment mode to Development, you
need to create an environment again with
environment mode as Production.
Environment Name Type a name for the environment, unique
within the xDA Management Center.
Description (Optional) Type a description for the
environment.
Field Description
Username Type a user name to access the relevant
systems.
Password Type the password for accessing the relevant
systems.
Domain (Optional) Type the domain for accessing the
relevant systems. For clustered
environments, the domain is required.
(Optional) In the Host Groups tab, configure each host group as a container for one
or more hosts:
1. Select the host group that you want to modify and click Edit. Type a description
for the host group and click Done. The system saves any new information into
memory, but does not save the information to the database.
2. If you want to add a host group, click Add. Type a name for the host group,
unique within the environment. After you finish creating the host group, you
cannot type a different name for this host group. Type a description for the host
group. If you want to add another host group, click Save and Add Another.
Otherwise, click Done. The system saves any new information into memory,
but does not save the information to the database.
Delete is not available for a default host group, or for a host group associated
with a service.
The system does not allow you to enter the same IP address for different host
groups. Instead, you can associate more than one service to the same host group. For
example, if you are using the same load balancer machine for two AppHost
machines and two BAM machines, you can associate all four services and all five
machines with one host group:
1. Click Add.
4. If you want to add another host, click Save and Add Another. Otherwise, click
Done. The system saves any new information into memory, but does not save
the information to the database.
5. If you want to modify the properties for a host, select the host from the list and
click Edit. When you have finished modifying the host, click Done. The system
saves any new information into memory, but does not save the information to
the database.
1. Select the service from the list and click Edit Service.
2. Specify the general properties of the service as described in the following table:
Field Description
Enable Service (Optional) If you do not need this service
in your environment, clear the checkbox to
disable the service.
The repository service is always enabled.
Host Group Select the host group on which the service
is running.
If you change the host group associated
with a service, remember to update
endpoint properties to choose one or more
hosts from that host group.
Version Type the version of the service, using the
following format:
mm.mn.xxxx.yyyy
Where:
• mm is the major version number
• mn is the minor version number
• xxxx is the update number
• yyyy is the build number
For example, the service version can be:
7.0.0001.0005
3. On the Endpoints tab for each service, configure each service endpoint.
Endpoints enable you to configure communication pathways between systems.
Select the endpoint and click Edit.
d. When you have finished configuring the service endpoint, click Done. The
system saves any new information into memory, but does not save the
information to the database.
4. When you have finished configuring the service, click Apply or Finish. The
system saves all information (any information in memory and any new
information) to the database.
<protocol>://
<host>:<port>
For WebLogic:
<protocol>://
<host>:<port>/
console
For WebSphere
Liberty:
<protocol>://
<host>:<port>
Note: Both
remote address
valve and
remote host
valve are
mutually
exclusive. Only
one of them can
be used at a
time.
AppHost (if you have WildFlyEndpoint/ WildFly/ Select either native
selected WildFly or JBossEndpoint JBossEndpoint or HTTPS as a
JBoss server) Management communication
Protocol protocol.
If Cluster Enabled is
enabled, you must
configure the
property.
AppHost (If you have weblogicEndpoint webLogic- Type the name of the
selected weblogic TargetServers target server where
server) you intend to deploy
xCP applications. If
AppHost is clustered
in your environment,
type the cluster
name.
webLogicAd- Type either http or
minProtocol https as a
communication
protocol.
clusterEnabled Type either true or
false to indicate
whether your
environment is
cluster enabled.
AppHost (If you have WebSphereLibertyEn WebSphereLiberty Type the
selected dpoint connector port WebSphereLiberty
WebSphereLiberty management port of
server) the Apphost
WebSphereLiberty.
Trust Store Path Type the path of the
truststore for the
system to use during
SSL handshake.
Note: When
Liberty is
configured for
SSL, the
Apphost
certificate must
be added to the
xDA Truststore
and cacerts of
Java used by
xDA.
http://
<host>:<port>/
bam-server
Business Activity loadBalancerEndpoin Port Type the HTTP port
Monitor Load t of the Business
Balancer Activity Monitor load
balancer.
URL Type the URL to
access the Business
Activity Monitor load
balancer. Include the
protocol, host, and
port as follows:
http://
<host>:<port>
Content Intelligence cisEndpoint Port Type the HTTP port
Service of the CIS
component.
Documentum daEndpoint Port Type the HTTP port
Administrator of the Documentum
Administrator.
http://
<host>:<port>/da
File Server dataAccess UNC Path Type the shared UNC
path.
Media mtsEndpoint Port Type the HTTP port
Transformation of the CTS Media
Services Transformation
Services component.
Process Integrator bpsEndpoint Port Type the HTTP port
of the Process
Integrator
component.
URL Type the URL to
access the Process
Integrator
component. Include
the protocol, host,
port, and default
URL prefix as
follows:
http://
<host>:<port>/
bps
Repository repositoryEndpoint Repository Name Type a unique user-
defined value to
identify the
repository.
Connection Broker Type the HTTP port
Port of the machine where
connection broker is
installed.
Note: Dsearch
and xDB admin
password
should be same
inside the
DSearch
service. Make
sure that the
same password
is configured in
the xDA
endpoint.
xPlore Server URL Type the URL to test
if the xPlore primary
instance is running.
Include the protocol,
primary host, port,
and default URL
prefix as follows:
http://<xPlore
Server primary
host>:<port>/
dsearch
xPlore Index Agent Type the port
Port number at which the
xPlore Index Agent
listens for HTTP
requests.
xPlore Index Agent Type the URL to start
URL the xPlore Index
Agent servlet.
Include the protocol,
primary host, port,
and default URL
prefix as follows:
http://<xPlore
Index Agent
primary
host>:<port>/
IndexAgent
2. In the Hosts tab, specify multiple hosts for each clustered component.
For example, if your environment has a clustered Documentum Server with two
nodes, add two hosts for the repoVM host group. When you are done adding
those two hosts, the repoVM host group appears twice in the list of hosts.
3. In the Host Groups tab, look at the number of hosts for each clustered
component.
Considering the example in the previous step, the repoVM row would have 2 in
the Number of Hosts column.
2. Select the environment that you want to update. Click Update Environment.
4. At any point, you can click Apply to save to the database any properties you
have specified so far.
2. Select the environment for which you want to view the versions of the service
components.
a. View Environment
b. Validate Environment Result
Field Description
Service Component Identifies service components that are
part of a specific service.
Service Identifies the services in the
environment.
Version Identifies the version of a specific
service component.
By default, all default versions appear
for the service components. When you
synchronize the environment, the
system fetches, saves, and displays the
actual version for service components.
In case services are not available or in
down state, the default versions are
displayed.
Field Description
Service Component Identifies core service component that is
part of a specific service.
Validation URL Details Identifies the URL of a service
component.
Status Identifies the status of the service
component—Failed or Passed.
Version Identifies the version of the core service
component.
By default, all default versions appear
for the service components. However,
when you synchronize the environment,
the system fetches and displays the
actual version for the core service
component. For example, for ADTS
service, the ADTS and JDK services are
required. On synchronization, the
system displays the actual version of the
ADTS service.
d. Click OK.
2. Select the environment that you want to synchronize. Click Maintenance. The
Maintenance dialog box for the selected environment appears.
After the environment has been successfully synchronized, you can deploy xCP
applications to the environment.
1. Start xDA and log in to the xDA Management Center.“Logging In to the xDA
management center” on page 83 provides instructions.
Prerequisites
• Ensure that xDA is installed and configured with xCP environment templates.
Installing the xCP Deployment Agent provides details about installing xDA.
3. Resolve any errors that may occur and run the command again.
On successful execution of the command, the system displays this successful
message. For example:
Environment "xyz" created successfully with "Registered" status.
• Encrypting Passwords
• “Configuring general properties” on page 101
• “Configuring accounts” on page 101
• “Configuring host groups and hosts” on page 102
• “Configuring services” on page 102
2. For each property, specify value in the field described in the following table:
Fields Description
environmentTemplate Specify the name of the environment
template. Configuring an Environment
Template provides instructions.
environmentName Type a unique name for the environment.
environmentMode Select either Production or Development
as the mode of the environment.
environmentDescription (Optional) Type a description for the
environment.
Fields Description
username Type a user name to access the relevant
systems.
password Type the password for accessing the
relevant systems.
domain (Optional) Type the domain for accessing
the relevant systems. For clustered
environments, the domain is required.
2. In the hostGroups section, configure each host group as a container for one or
more hosts:
Fields Description
name Type a name for the host group, unique
within the environment.
description (Optional) Type the description for the
host group.
3. In the hosts section, specify one or more hosts for your environment:
Fields Description
hostname Type the host name associated with a host
group.
ipaddress Type an IP address associated with a host
group.
Fields Description
serviceName Displays the name of the service. Do not
change the name of the service.
Fields Description
enabled If you do not need this service in your
environment, set this value as false to
disable the service.
version Type the version of the service, using the
following format:
mm.mn.xxxx.yyyy
Where:
• mm is the major version number
• mn is the minor version number
• xxxx is the update number
• yyyy is the build number
For example, the service version
can be:
16.7.0000.0005
5. Select one or more hosts for the service endpoint. The list of hosts depends on
the host group associated with the service endpoint.
<protocol>://
<host>:<port>
For WildFly:
<protocol>://
<host>:<port>/
console
AppHost (for wildflyEndpoint WildFlyManagement Type either native
WildFly endpoint) Protocol or https as a
communication
protocol.
WildFlyManagement Type the WildFly
Port management port of
the Apphost WildFly
server (Management
port of Domain
Controller for a
clustered WildFly).
keyStorePath (Optional) Type the
path of the keystore
for the system to use
during SSL
handshake.
keyStorePassword (Optional) Type the
password of the
keystore for the
system to use during
SSL handshake.
trustStorePath (Optional) Type the
path of the truststore
for the system to use
during SSL
handshake.
If Cluster Enabled is
set as true, you
must configure the
property.
AppHost Load loadBalancerEndpoin port Type the http port or
Balancer t https port.
protocol Type the http or http
protocol.
url Type the URL to
access the
administrative
console of the
AppHost application
server load balancer.
Include the protocol,
host, and port as
follows:
http://
<host>:<port>
Audio Video avtsEndpoint port Type the http port of
Transformation the CTS Audio Video
Services Transformation
Services component.
<protocol>://
<host>:<port>/
bam-server
Business Activity loadBalancerEndpoin port Type the http port of
Monitor Load t the Business Activity
Balancer Monitor load
balancer.
url Type the URL to
access the Business
Activity Monitor load
balancer. Include the
protocol, host, and
port as follows:
http://
<host>:<port>
Content Intelligence cisEndpoint port Type the http port of
Service the CIS component.
Documentum daEndpoint port Type the http port of
Administrator the Documentum
Administrator.
protocol Type the http or https
protocol.
<protocol>://
<host>:<port>/da
File Server dataAccess uncPath Type the shared UNC
path.
Media mtsEndpoint port Type the http port of
Transformation the CTS Media
Services Transformation
Services component.
Process Integrator bpsEndpoint port Type the http port of
(BPS) the Process Integrator
component.
url Type the URL to
access the Process
Integrator
component. Include
the protocol, host,
port, and default
URL prefix as
follows:
<protocol>://
<host>:<port>/
bps
Repository repositoryEndpoint repositoryName Type a unique user-
defined value to
identify the
repository.
docBrokerPort Type the http port of
the machine where
connection broker is
installed.
xPlore (Search) xploreEndpoint eSSPort Type the port
number on which the
xPlore primary
instance is listening.
<protocol>://
<xPlore Server
primary
host>:<port>/
dsearch
indexAgentPort Type the port
number at which the
xPlore Index Agent
listens for HTTP
requests.
indexAgentURLPrefi Type the URL to start
x the xPlore Index
Agent servlet.
Include the protocol,
primary host, port,
and default URL
prefix as follows:
<protocol>://
<xPlore Index
Agent primary
host>:<port>/
IndexAgent
The following points apply to user • The same guidelines for username and
management: password apply to all xDA users,
including the default admin user.
“Guidelines for username and password
creation” on page 109 provides details.
• You cannot delete the default admin
user.
• Only the admin user can create user,
change user password, and delete user.
• Users cannot delete themselves.
• There is no password retrieval in xDA.
• Usernames are case sensitive.
• You cannot change the username after
you finish creating an account.
The following additional points apply when • All users can access My Profile, where
you are using the xDA Management Center they can update only their own user
to manage users: account.
• Only the default admin user can access
the Users tab, to add, update, or delete
user accounts.
• Each user account requires a username,
password, first name, and last name. You
can also specify an email address.
The xDA Management Center lets admin user to add, update and delete users. All
users can access My Profile, where you can update only your own user account.
Creating a user
1. Start xDA and log in to xDA Management Center with admin user. “Logging In
to the xDA management center” on page 83 provides instructions.
2. Click Users.
3. Click Add User.
Note: You cannot change the user name after you finish creating an
account.
4. In the Add User screen, type the following details:
• Username
• Password
• Confirm password
• First name
• Last name
• (Optional) Email Id
5. Click Finish. The system saves the new user information in the database.
Updating a User
The admin user can update these items— first name, last name, email ID and change
the password.
1. Start xDA and log in to xDA Management Center with admin user. “Logging In
to the xDA management center” on page 83 provides instructions.
2. Click Users.
3. Click Update User.
4. In the Update User screen, type the following details:
• First name
• Last name
• (Optional) Email Id
5. If you intend to change the password, click the Change Password checkbox,
type the new password to change the password.
6. Click Finish. The system saves the updated user information in the database.
Deleting a user
1. Start xDA and log in to xDA Management Center with admin user. “Logging In
to the xDA management center” on page 83 provides instructions.
2. Click Users.
3. Click Delete User. You cannot delete the default admin user.
4. Click Yes to confirm the deletion of the user. The system deletes the user
information from the database.
Command Description
change-password Changes xDA user password.
create-user Creates a new xDA user.
delete-user Deletes an existing xDA user.
show-users Shows xDA users list.
Notes
• Only the admin user can create other users using this command.
• If the user provides only username, the system prompts you to enter the
password in a masked (*) format.
3. If the new user needs access to xDA from a different machine, give the new user
a copy of the xda-tools.zip file and the xda.properties file.
• Username
• The user creation date
• Name of the user who created this user
• Last modification date for the user
• Name of the user who last modified this user
• Only the admin user can change the password of other users.
• You can change your own password.
• There is no password retrieval in xDA.
Note: If the user provides only username, the system prompts you to enter
the password in a masked (*) format.
• Environment name
• Environment template used to register the environment
• Environment label (description)
• Provisioning date of the environment
• Status of the environment
• Name of the user who created the environment
Parameter Description
--report The system creates a report containing the
information shown with the show-
environments command. The default
location is ${xda-tools-home}\reports. You
cannot save reports outside the reports
folder. The report name depends on the
following:
• If you do not specify a name, the
system creates a report with the name
<yyyy-mm-dd>-show-environments.txt
and puts it in the default location.
• If you specify a name, the system
creates a report with that name and .txt
extension, and puts it in the default
location. The system converts any
spaces in the name to an underscore
(_). The system appends a .txt
extension to the name even if you
specify a different extension, for
example, report.doc becomes
report.doc.txt. The system converts
a .TXT extension to a .txt extension.
Parameter Description
--name The environment name. The system shows
basic information, including the
environment name, the environment
description, the template name, the
provisioning date of the environment, and
the mode of the environment.
Additionally, it shows a list of services,
endpoints, and xCP applications deployed
on that environment.
Parameter Description
--report The system creates a report containing the
information shown with the show-
environment-details command. The
default location is ${xda-tools-home}
\reports. You cannot save reports outside
the reports folder. The report name
depends on the following:
• If you do not specify a name, the
system creates a report with the name
<yyyy-mm-dd>-show-environment-
details.txt and puts it in the default
location.
• If you specify a name, the system
creates a report with that name and .txt
extension, and puts it in the default
location. The system converts any
spaces in the name to an underscore
(_). The system appends a .txt
extension to the name even if you
specify a different extension, for
example, report.doc becomes
report.doc.txt. The system converts
a .TXT extension to a .txt extension.
--services The system shows basic environment and
services information. Services include, for
example, VM information and IP
addresses.
--applications The system shows basic environment and
application information. Application
information includes a list of all the xCP
applications deployed on the specified
environment. For each application in the
list, the system shows the application
name, the application version, and the
deployment date of the application.
--endpoints The system shows basic environment and
endpoint information. Endpoint
information includes endpoint name,
service name and application endpoint
details, for example, host, port, protocol
and URL.
The throughput is different based on the type of processing. The xCP Designer Help
describes the processing types.
These measurements are for your information and not guaranteed. They reflect the
results of a test in specific conditions: processings were measured separately, with 1
CPU for each processing, and the number of threads was adjusted for each
processing.
Each login ticket has a scope that defines who can use the ticket and how many
times the ticket can be used. By default, login tickets may be used multiple times.
However, you can create a ticket configured for only one use. If a ticket is configured
for just one use, the ticket must be used by the issuing server or another designated
server.
The ticket logs the user in without a login screen and the user logs directly to the
home page or requested page of the application.
URL format
The URL link containing a ticketed login has the following format. Spaces must be
escaped (replaced with %20).
http://<server_name>:<port_number>/<application_name>/
?ticket=<ticket>&user=<user>
Parameter Description
server_name Specifies the host specific alias to access the
server.
application_name Specifies the Virtual name for your
application. This is used to access the
application.
Parameter Description
ticket Specifies a ticket that has been generated
within the required time frame (default 5
minutes) generated by the DFC call
getLoginTicket() or getLoginTicketEx().
user Identifies the user name to access the xCP
application.
For example, the following URL contains a login ticket (line break inserted for
display purposes only):
http://10.31.83.101:8000/xcp_229/?ticket=DM_TICKET=T0JKIE5VTEwgMAox
Mwp2ZXJzaW9uIElOVCBTIDAKMwpmbGFncyBJTlQgUyAwCjEKc2VxdW
VuY2VfbnVtIElOVCBTIDAKMTgKY3JlYXRlX3RpbWUgSU5UIFMgMAoxNDQyNTYwODg4
CmV4cGlyZV90aW1lIElOVCBTIDAKMTQ0MjU2MTE4OApkb21haW4gU1RSSU5HIFMgMAp
BIDYgY3N2bTAxCnVzZXJfbmFtZSBTVFJJTkcgUyAwCkEgNyBkbWFkbWluCnBhc3N3b3
JkIFNUUklORyBTIDAKQSAxMDggRE1fRU5DUl9URVhUX1YyPUFBQUFFSkNKSUgySXI4
QjgzRFlSaU1Tb3hjT2lSRXgyajlpYmpYS0U4cHNNbTl0aUZseUhmK294NXY3Y3JjNFV
tdlhUSys3dUNhYmhaRFVoOGZYM2gvaytTbUE9CmRvY2Jhc2VfbmFtZSBTVFJJTkcgUy
AwCkEgNyBGUElSZXBvCmhvc3RfbmFtZSBTVFJJTkcgUyAwCkEgNiBDU1ZNMDEKc2
VydmVyX25hbWUgU1RSSU5HIFMgMApBIDcgRlBJUmVwbwpzaWduYXR1cmVfbGVuIEl
OVCBTIDAKMTEyCnNpZ25hdHVyZSBTVFJJTkcgUyAwCkEgMTEyIEFBQUFFTlFPMzRzU2
JyWXhRRUpWbHZZWUxpUGhaZlp2WlRBNTBnTWttQk9EWThlSXg1YkVoTERrQUZTR1U0dl
VLZENZcUhVSWJoUmgrOWFHQmdWb1RJcXlsaGJNL0RLbkFLSlJlMEViU2
VweFN3YUEK&user=dmadmin
Note: With ticketed login, both its creation time and expiration time are
recorded as UTC time. This ensures that problems do not arise from tickets
used across time zones. When a ticket is sent to a server other than the server
that generated the ticket, the receiving server tolerates up to a three minute
difference in time to allow for minor differences in machine clock time across
host machines. System administrators must ensure that the machine clocks on
host machines on which applications and repositories reside are set as closely
as possible to the correct time.
For more information about login tickets, see OpenText Documentum DFC
Development guide and OpenText Documentum Server Fundamentals Guide.
Configure rest-api-runtime.properties
1. Download the ApphostCustomconf.zip file from the Download Center and
extract the rest-api-runtime.properties file.
2. Locate the rest-api-runtime.properties file in the application server home
directory.
3. Configure the following properties in the rest-api-runtime.properties file:
rest.security.auth.mode=ticket
rest.security.auth.mode=ticket-basic
where:
Note: Opentext recommends you to use CSP compliant user agent and
configure the required CSP settings using the
xcp.security.contentsecuritypolicy.value attribute in the rest-api-
runtime.properties file.
Non CSP compliant user agents do not support this configuration. To support
non CSP compliant user agents, set the x_cp.security.xframeoption.value
attribute to DENY to prevent unauthorized frame hosting.
For a CSP compliant user agent, CSP takes precedence over x-frame-options.
2.25 Single-Sign on
Authentication can be implemented using the following Single-Sign On (SSO)
methodologies:
• Kerberos
• Central Authentication Service (CAS)
• CA SiteMinder
• SAML
Prerequisites
Set up the domain controller and create multiple computers and users in the
corresponding active directory. If you need to run multi-domain Kerberos
authentication, set multi domains as 2-Way trusts in one forest and they must be
reachable to each other.
Example:
ktpass /pass Password123
-out c:\shared\acme01.acme.keytab
-princ http/xCPserver.acme.com@ACME.COM
-crypto RC4-HMAC-NT +DumpSalt
-ptype KRB5_NT_PRINCIPAL /mapOp set /mapUser webadmin
5. Once you have generated a keytab file, perform the following steps:
a. Log in to the Windows active directory domain.
b. Click Users and select the created service account, for example, webadmin.
c. Right-click and select <service account> Properties.
d. Click the Delegation tab.
e. Select the Trust this user for delegation to any service (Kerberos) only
option.
f. Save your changes.
6. Copy the keytab file to the machine where application is to be deployed.
JAAS Configuration
The JAAS configuration is applicable to all supported application servers. However,
you need to make custom modification for WebLogic application servers.
The JAAS configuration file entry contains JAAS specific settings such as the
<LoginContext> name (which is also the name of the configuration entry), settings
for the Kerberos login module, the application server's SPN, and the location of the
*.keytab file.
The location and format of the JAAS configuration settings might be different for
each application server. The JAAS configuration file in most application servers is
named jaas.conf.
Example:
http-xcpserver-acme-com
{
com.sun.security.auth.module.Krb5LoginModule required
debug=true
principal="HTTP/KERBCSXCPNEW.XCPNEWRC.LOCAL@XCPNEWRC.LOCAL"
refreshKrb5Config=true
useKeyTab=true
storeKey=true
doNotPrompt=true
useTicketCache=false
isInitiator=false
noTGT=true
keyTab="C:\shared\acme01.acme.keytab";
};
• Set the location of the jaas.config and krb5.ini files using a JVM argument of the
setDomainEnv script:
set JAVA_OPTIONS=%JAVA_OPTIONS% -Djava.security.auth.login.config=jaas config file
path>
SET JAVA_OPTIONS=%JAVA_OPTIONS% -Djava.security.krb5.conf=C:\Windows\krb5.ini
-Djava.security.auth.login.config=C:\krb5Login.conf
-Djavax.security.auth.useSubjectCredsOnly=false
Configure rest-api-runtime.properties
1. Download the ApphostCustomconf.zip file and extract the rest-api-runtime.properties
file.
2. Locate the rest-api-runtime.properties file in the application server home directory.
3. Configure the following properties in the rest-api-runtime.properties file:
rest.security.auth.mode=kerberos
rest.security.realm.name=<Realm or Domain name>
rest.security.kerberos.spn=<SPN>
rest.security.kerberos.jaas.conf=<JAAS-CONF-FILE-PATH>
rest.security.kerberos.nameservers=<COLON-SEPARATED-NAME-SERVERS>
rest.security.kerberos.maxpacksize=<MAX-PACK-SIZE>
where:
• <MAX-PACK-SIZE> specify the threshold (in bytes) at which we cut over from
UDP to TCP. This property can be left as empty where the actual threshold
resolves to the default value of 2000 bytes.
4. If Documentum xCP is deployed on the WebSphere Server and WebLogic
Server, Kerberos authentication requires the following configurations. Append
The OpenText Documentum Platform REST Services Development Guide provides more
information about REST API properties file.
In the rest-api-runtime.properties file, there are options to set time out (Hard,
Tolerant, or Touched). xCP does not support setting time out values for Kerberos,
whereas xCP supports setting time out values for CAS.
To configure Firefox:
7. Click OK.
8. Restart the Firefox browser to activate the configuration.
To configure Chrome:
Prerequisites
• JDK version 6.0 or later
• Enable LDAP module
• Enable SSL in CAS
• Enable SSL in the Application Server
• For clustered environment, enable SSL on the load balancer that communicates
with CAS
6. Once the Documentum Server is registered in CAS for proxy, set the
customized attribute dmCSLdapUserDN in the list of allowedAttributes. Here
is a sample of in-memory service registry setting:
<bean id="serviceRegistryDao" class="org.jasig.cas.services.
InMemoryServiceRegistryDaoImpl">
<property name="registeredServices">
<list>
<! --the following registered service is for Documentum Server, as an example -->
<property name="id" value="1" />
<property name="name" value="Content Server proxy service" />
<property name="description" value="Allows CAS Proxy for Content Server
repositories" />
<property name="serviceId" value="ContentServer" />
<property name="evaluationOrder" value="0" />
<property name="allowedAttributes">
<list><value>dmCSLdapUserDN</value><list>
</property>
</bean>
<!-- other settings, for HTTP/HTTPS, IMAP and others -->
<bean ..../>
</list>
</property>
</bean>
<list>
<! --the following registered service is for Documentum Server,
as an example -->
<property name="id" value="1" />
<property name="name" value="Content Server proxy service" />
<property name="description" value="Allows CAS Proxy for
Documentum Server repositories" />
<property name="serviceId" value="ContentServer" />
<property name="evaluationOrder" value="0" />
<property name="allowedAttributes">
<list><value>dmCSLdapUserDN</value><list>
</property>
</bean>
<!-- other settings, for HTTP/HTTPS, IMAP and others -->
<bean ..../>
</list>
</property>
</bean>
For more information about CAS RESTful API, refer to the CAS website.
Name Description
server_host Host name that resolves to the CAS.
server_port HTTPS port number for connection with
CAS server.
url_path URL path used to send HTTP request sent
to CAS server to validate proxy ticket.
service_param Service name for which the proxy ticket is
generated.
4. To verify CAS plug-in load successfully, start the docbase, and look at the
docbase log for an entry starting with
[DM_SESSION_I_AUTH_PLUGIN_LOADED]info:
[DM_SESSION_I_AUTH_PLUGIN_LOADED]info: "Loaded Authentication Plugin with code
'dm_cas' (C:\Documentum\dba\auth\dm_cas_auth.dll)."
For more information about these properties, see the instructions in the rest-
api-runtime.properties file.
3. In the rest-api-runtime.properties file, there are options to set time out values
for expiration policies in CAS:
• com.emc.documentum.rest.security.ticket.impl.HardTimeoutExpirationPolic
y
• (default)
com.emc.documentum.rest.security.ticket.impl.TolerantTimeoutExpirationP
olicy
• com.emc.documentum.rest.security.ticket.impl.TouchedTimeoutExpirationP
olicy
Name Description
server.name Enter the CAS URL providing the
complete host name. It is recommended to
use https in deployment environments.
For example, https://cas:8443
host.name Enter the host name, for example, cas.
server.prefix Enter the CAS application name, for
example, ${server.name}/cas.
Prerequisites
Set up the SiteMinder environment and configure it.
6. To verify SiteMinder plug-in load successfully, start the docbase, and look at the
docbase log.
For more information about installing and configuring the data adapter, refer to the
SiteMinder website.
For more information about installing and configuring SiteMinder Policy Server,
refer to the SiteMinder website.
For more information about installing and configuring SiteMinder Web agent, refer
to the SiteMinder website.
• xCP Application– Refer the Enabling HTTPS for Application Server section to
know about how to enable SAML on xCP components.
• Identity Provider Server— Microsoft Active Directory Federation Services (AD
FS) 2.0 is used as the Identity Provider Server. For more information about ADFS
2.0, refer the documentation provided by Microsoft.
• Documentum Server— For more information about enabling SAML on
Documentum Server, refer OpenText Documentum Server Administration and
Configuration Guide.
1. Request xCP Application resource: Usually, the repository is the first resource that
requires authentication. Since only an Identity Provider metadata file is
configured in the REST Server, this Identity Provider acts as the default
provider.
3. Authenticate the Principal: The Identity Provider communicates with the User
Agent for the credentials. The process is different for various kinds of Identity
Providers.
4. Issue SAML Response: When the input credential of the Principal is verified by
the Identity Prover, a SAML < Response> that is sent by the Identity Provider is
redirected to the xCP Application by the User Agent.
5. Validate SAML Response: xCP Application validates the assertion. Once the
validation is done, the principal name is extracted as per the the attribute name
specified in the rest-api-runtime.properties file.
6. SAML Login to Documentum Server: xCP Application sends the principal name
along with the SAML < Response> to the Documentum Server for SAML user
login.
7. Return SAML Login Session: When the principal name and the SAML <
Response> are verified, Documentum Server returns a session for the Principal.
At this point, the SAML authentication has been successfully completed.
8. Get User Login Ticket: The Documentum Ticket is used after the SAML
authentication succeeds. At this point, the xCP application requests a login
ticket for the authenticated user by using the SAML login session. The timeout
for the Documentum Ticket is as per the value provided in the rest-api-
runtime.properties file.
9. Return User Login Ticket: The Documentum Server returns a user login ticket to
the xCP Application.
10. Redirect to the Original REST Resource: Once the Documentum Ticket is available,
the xCP application redirects the user agent to the original xCP application
resource.
c. Import the certificate to the Java trust store by executing the following
command:
-import -trustcacerts -alias xcpapp -keystore <java_truststore>
-file xcpapp.cer -storepass <changeit>
where:
• <java_truststore> is the path to the Java cacerts folder,
Example:%JAVA_HOME%\jre\lib\security\cacerts\
• <changeit> is the password that you specify for the keystore file
d. Navigate for the server.xml file at the following location and open the
server.xml file in a text editor.
<application_server_home>\conf
e. The following sample shows how to enable HTTPS on the Tomcat server.
Update server.xml of the application server where xCP application is
deployed.
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_S
HA,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,
TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,
TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"
sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2,TLSv1.3"
enableLookups="true"
sslProtocol="TLS"
keystorePass="password"
keystoreFile="path-of-the-saml-cerficate-file.keystore"
clientAuth="want"
secure="true"
scheme="https"
SSLEnabled="true"
maxThreads="150"/>
For more information about enabling SSL, refer the Enabling SSL on the xCP
Application Host section.
2. Download the metadata file of the Identity Provider Server to the local path of the
xCP deployed application server installation after the Identity Provider Server is
configured. For example, the path of the metadata file is shown as path-of-
the-idp-metadata-file
#specify the alias of key entry used by the SAML Service Provider to
#sign the SAML message
rest.security.saml2.ks.entry.alias=alias
#specify the password of the key entry used by the SAML Service Provider
#to sign the SAML message
rest.security.saml2.ks.entry.password=password
#specify the HTTP method used to send SAML request to the Identity Provider
rest.security.saml2.request.binding=HTTP-Redirect
#specify the attributes used to extract principal names from the SAML response
rest.security.saml2.user.attributes=http://schemas.microsoft.com/ws/2008/06/
identity/claims/windowsaccountname
#To avoid using the SAML login for each request, xCP SAML SSO has been
#integrated with Documentum Ticket. After the SAML login succeeds, xCP
#application requires the Documentum Login Ticket from the Documentum Server
#with the SAML DFC session. All the subsequent xCP requests are based
#on Documentum ticket authentication, with the exception of the SAML login
.
rest.signon.ticket.timeout=480
9. Deploy the xCP Application to the Tomcat application server, and download
the Service provider metadata by accessing the xCP application as per the
following URL:
https://<application_server_hostname>:8443/xcpAPP/saml/metadata
2. In Select Rule Template, select the Send LDAP Attributes as Claims from the
drop-down list of Claim rule template.
3. In Configure Rule , specify the claim rule name and select the attribute store as
Active Directory from the drop-down list.
4. In Mapping of LDAP attributes to outgoing claim types, perform the
following:
5. Select Finish.
3. In Replying Party Properties page, click the Advanced tab and select SHA-1 as
secure hash algorithm.
4. Remove the default encrytion certificate under the tab Encryption and click OK.
This link redirects to the authentication page for your credentials and extracts a
new SAML ticket. Once you have provided your credentials, it logs to the xCP
application home page.
1. Create a new samlKeystore.jks file and distribute it to all the xCP nodes.
xcp.security.saml2.entity.base.url=https://<fqdn>/app_root_context>
# https://www.myxcp.com/myapp
#to provide information about front-end URL to the back-end servers
xcp.security.saml2.url.scheme=<protocol> #https
xcp.security.saml2.url.hostname=<fqdn> #www.myxcp.com
xcp.security.saml2.url.port=<port> #443
xcp.security.saml2.url.context.path=<context_path> #/myapp
Notes
# Documentum Rest
logger.documentumRest.name=com.emc.documentum.rest
logger.documentumRest.level=DEBUG
logger.documentumRest.additivity = false
logger.documentumRest.appenderRef.documentumRest.ref= documentumRest //create your own
appender
# Spring
logger.spring.name=org.springframework
logger.spring.level=DEBUG
Problem
When you have multiple xCP applications using SSO deployed on same application
server, SSO fails.
Resolution
1. Stop the Application server.
2. Move vsj-license.jar and vsj-standard-3.3.jar files from <webapps_
home>/xcpapp/WEB-INF/lib (from all xCP applications deployed on the
Application Server) to the <app_server>/lib folder.
3. Restart the Application Server.
Problem
While accessing the SSO-enabled xCP application that is configured in the rest-api-
runtime properties, you may see the login page instead of being automatically
logged to the application using SSO.
Resolution
Verify the parameters in the rest-api-runtime properties file to ensure the system
picks up the right version of the rest-api-runtime properties file from the current
location.
Problem
xCP application fails to start as it is unable to access federationmetadata.xml from
some folder location.
Resolution
To resolve the issue, put the federationmetadata.xml file inside the application
server folder location. For example: C:\tomcat\webapps\sampleapp\foldername
\federationmetadata.xml.
Problem
Due to limitation of ADFS Identity provider server, you cannot have two
applications deployed on the application server on the same machine.
Resolution
Avoid this scenario in your environment.
Problem
On the ADFS Server log, you may see The verification of the SAML message
signature failed error message.
Message issuer: abc
Exception details:
MSIS1016: Relying party trust 'abc' indicates that authentication
equests sent by this relying party will be signed but no signature present.
Resolution
To resolve the issue, execute the following commands from powershell:
Add-PSSnapin Microsoft.Adfs.PowerShell
Get-ADFSRelyingPartyTrust
set-ADFSRelyingPartyTrust -TargetName
RelyingParty Name" -SignedSamlRequestsRequired $False
API> retrieve,c,dm_server_config
API> append,c,l,app_server_name
SET> OTDSAuthentication
API> append,c,l,app_server_uri
SET> http://<DocumentumServer>:9080/OTDSAuthentication/servlet/authenticate
API> save,c,l
Note: The members from the Active Directory are synchronized into
OTDS.
10. Perform the following steps to configure Documentum Server as a resource in
OTDS:
a. Log in to otds-admin web application.
b. From the otds-admin web application, click Resources, then click Add.
c. Specify a Resource Name, and retain the rest of the information as their
default values.
Notes
Notes
c. Click Next until the Redirect URLs page appears, add https:\/\/<regular
expression for host name and port of AppHost>\/.*\/otds-signin
\.jsp as the redirect URL.
Examples:
http:\/\/10\.194\.52\.246:8000\/.*\/otds-signin\.jsp
Or,
https:\/\/appserver\.xcp\.com:8443\/.*\/otds-signin\.jsp
d. Click Save. The Client Secret is generated. Copy the Client Secret value.
e. Generate the OAuth2 access token using otdsws:
https://<otdsidp>:8443/otdsws/oauth2/auth?response_type=token
&client_id=<client_id>
&redirect_uri=<url encoded value of <app host URL>
/testapp/otds-signin.jsp>
rest.security.realm.name=com.emc.documentum.rest
//Default is 480 minutes
rest.signon.ticket.timeout=
rest.signon.logout.url=/otds-signin.jsp?logout=yes
rest.security.auth.mode=otds-basic
rest.security.realm.name=com.emc.documentum.rest
rest.security.otds.login.url=<otds-idp>/otdsws/login?
response_type=token&client_id=<client_id>&logon_appname=<app_name>rest.signon.logout
.url=/otds-signin.jsp?logout=yes
Sample configuration:
rest.security.otds.login.url=https://10.194.52.116:8080/otdsws/login?
response_type=token&client_id=xcp-client
&logon_appname=ap2801
To configure OTDS authentication for the xCP iHub widget, perform the following
steps:
1. Configure iHub resource in OTDS. For more information, refer the iHub
documentation.
2. The iHub resource configuration in OTDS must have Principal Attribute
mapped to oTExternalID3.
4. Only iHub OTDS authentication over the OAuth2 protocol is supported by the
xCP iHub widget.
Note: The same OAuth2 confidential client profile must be used by both
xCP application and iHub.
5. In the iHub system console, ensure that the following configuration settings are
set under the User Management settings of the cluster:
Note: When the iHub widget is not used over the OTDS configuration,
non–confidential OAuth2 client configuration works for xCP, and
rest.security.otds.login.url configuration in rest-api-runtime.
proeprties does not require client_secret parameter to be set.
7. Refresh the resources in OTDS and ensure that iHub resource is in Activated
state.
8. Access the xCP login page. The user is redirected to the OTDS sign in page.
rest.cors.max.age=
For more information, refer to the OpenText Documentum Platform REST Services
Development Guide. The World Wide Web Consortium (W3C) site provides more
information about Cross-Origin Resource Sharing specifications.
Best practice:
• To avoid disk space issues, clear the cache before deploying applications.
• If you access the application within 1 hour of redeployment, clear the browser
cache.
If you have developed an application using previous version of xCP, and if you
want to deploy that application to the current runtime environment, the application
requires some migration steps in the current version of xCP Designer. The Migrating
an application topic in the xCP Designer Help describes how to perform these
migration steps. Now you can deploy applications to the current runtime
environment.
– In the folder where you have installed xCP Designer, edit the xcpdesigner.ini
file. Find the following parameters:
-Dxcp.application.url.host=
-Dxcp.application.url.port=8000
When you click Run Application on the xCP Designer toolbar, the system deploys
the application to the deployment environment.
Business object instances are also deleted when the business object is deleted from
the application.
If you have test data in your environment, any of the preceding changes to your data
model causes some data to be lost. As a best practice for these situations, build
loader scripts using API, DQL or Java DFC code to load the data, and periodically
use the clean option to clean your data and then reload it.
during application upgrade, since maintain is the only supported data policy in a
Production environment.
When you deploy an application for the first time, you can enter or overwrite
endpoint and parameter values in the application configuration file. When you
redeploy the same application to an environment in Production mode, the system
deploys only new parameter or endpoint values. You can deploy an application in
secure mode as well.
The prerequisites for deploying an application using xDA Tools are listed in
“Overview of Deploying an xCP Application” on page 149.
Parameter Description
war-file Specify the path, including the file name,
to the WAR file in the application package.
For model-only deployment, specify the
path, including the file name, to the
artifact_bundle JAR file and set the
repositoryservicesonly parameter value as
true.
If the path to the file contains a space, put
double quotation marks around the path.
configuration-file Specify the path, including the file name,
to the application configuration file in the
application package. If the path to the
configuration file contains a space, put
double quotation marks around the path.
environment Specify the environment name where you
want to deploy the application.
deployment-method (Optional) Specify the deployment
method. The method can be:
• Incremental: Deploys only application
components that changed since the last
deployment or new application
components (for example, an updated
business object model or a new
application page). This is the default.
• Full: Deploys the full application.
Parameter Description
data-policy (Optional) Specify the data policy. The
data policy defines what happens to
application data in the environment when
you deploy a new version of the
application. Examples of application data
include runtime instances of business
objects, content objects, processes, and
reports. The policy can be:
• Clean: Deletes application data from
the environment.
• Minimal: Updates application data
associated with application data that
changed since the last deployment.
This is the default if you set the
environment mode to Development.
• Maintain: Preserves application data.
Deploying the updated application
does not affect existing application
data in the environment. This is the
default if you set the environment
mode to Production.
Best practice: Use Maintain when there is
an existing production deployment of the
application you are working on and you
want to change the application. Setting the
deployment to use Maintain mode
ensures you capture any data upgrade
issues before you deploy to the Production
environment. Use a representative set of
test data in your Development
environment to accurately catch any issues
that might occur in production when you
try to redeploy the upgraded application.
An environment set to Development mode
supports all the data policies. An
environment set to Production mode
supports only the Maintain policy.
If you have test data that is important,
create test loader scripts using API, DQL,
or Java DFC code to load the data. If your
data policy is set to Minimal or Clean,
you could lose the test data, in which
means that you need an automated way to
re-populate it.
Parameter Description
validateonly (Optional) Indicate whether the entire
deployment must be performed or only
the validation step. The options are:
• False: Validates the application and
deploys it if it is valid. This is the
default.
• True: Validates the application and logs
information about full-text indexing
considerations that helps you decide if
you want to skip full-text indexing
during the deployment.
xploreindexing (Optional) Indicate whether the entire
deployment must be performed or if full-
text indexing must be deferred. The
options are:
• True: Performs full-text indexing
during the application deployment.
This is the default.
• False: Skip full-text indexing during the
application deployment. In this case,
launch full-text indexing manually.
“Deploying an Application with Full-text
Indexing” on page 155 provides more
information about full-text indexing
considerations during the application
deployment.
repositoryservicesonly (Optional) Indicates whether to deploy the
complete application or only the
repository artifact bundle. The options are:
• False: The system accepts the war file
for the --war-file parameter. This is the
default.
• True: The system accepts the artifact
bundle JAR file for the --war-file
parameter.
When the repository contains over a million of objects, the indexing can take several
days. To avoid preventing the application from deploying because it is being
indexed, you can deploy the application without having it perform indexing and,
instead, launch the indexing manually as a background task using xPlore
administration tool. “Deploying an Application Deferring Full-text Indexing”
on page 156 describes how to skip the indexing during the application deployment.
During the validation step of the application, the system tests whether xPlore server
and index agent are running and provides you with the following information:
• Conflicts between attributes with the same name but of different types. These
internal conflicts stop the validation. You must fix them manually in xCP
Designer by modifying the object models.
• Potential conflicts with other applications. For example, changing the data type
of an attribute introduces the risk of a conflict with another application. You
must make sure there are no conflicts with other applications.
• The actions performed during the deployment or actions you must perform
manually if you skip the indexing:
– Clean-up of the indexes: If you skip indexing, delete the indexes manually. If
an object model is deleted from an application, the artifacts and instances are
deleted from the repository but the corresponding indexes are not removed
from xPlore. They must be deleted to avoid future conflicts, for example if
another object model is created with an attribute with the same name but of
different type.
– Rebuilding indexes: If you skip the indexing and the validation step indicates
that a rebuild of the indexes is necessary, launch the rebuild manually using
xPlore Administrator.
– Reindexing of the objects: If you skip the indexing and the validation step
indicates that a refeed objects is necessary, launch a reindexing operation
using the Index agent UI to retrieve objects from the repository.
When you launch the indexing manually, end users may be unable to find some
content objects or to see facets values until the objects are indexed. To avoid this
issue, you must perform a two-phase deployment:
1. Deploy an initial version of the application in which all the object models and
full-text query models are defined. The search pages must not use the full-text
query models. This deployment triggers the indexing of the repository content.
2. Once indexing is complete, deploy a second version of the application in which
the search pages are bound to the full-text query models. Because the models are
not modified, no re-indexing is necessary, and all the search functions are
immediately available to the end users.
If you deleted object models or attributes, run the ftintegrity tool to verify that all
content objects, ACLs, and groups from the repository have been indexed by xPlore.
The OpenText Documentum xPlore Administration and Configuration Guide describes
how to run the ftintegrity tool.
a. Review the messages logged in the xDA console and look for the messages
starting with Steps that should be run to deploy on xPlore.
b. If a message indicates Rebuild xPlore indexes, log on to xPlore
administration tool, navigate to the collection, and click Rebuild indexes.
c. If a message indicates Refeed following type(s), log on to the index
agent UI and reindex the specific object model.
The OpenText Documentum xPlore Administration and Configuration Guide
describes the ways to launch the reindexing. The section Migrating content
(reindexing) describes how to reindex everything. The section Migrating
documents by object type describes how to reindex instances of a specific
object model.
9. If you deleted object models or attributes, run the ftintegrity tool to verify that
all content objects from the repository have been indexed by xPlore.
The OpenText Documentum xPlore Administration and Configuration Guide
describes how to run the ftintegrity tool.
10. If you are using Java Method Server and have deployed into a clustered
environment, restart all Java Method Servers in the environment.
1. Configure your system so that xDA can locate the WildFly Management JAR
file:
2. Configure your system so that xDA can locate the JBoss Management JAR file:
<jboss-cli xmlns="urn:jboss:cli:3.1">
...
<default-protocol use-legacy-override="true">remote+https
</
default-protocol>
<!-- The default controller to connect to when 'connect'
command is executed w/o arguments>
<default-controller>
<protocol>remote+https</protocol>
<!-WildFly Host -->
<host>APPVM</host>
<!-JBOSS management-https port -->
<port>9993</port>
</default-controller>
</jboss-cli>
• dfc.properties
• bam-server.properties
• deployment.properties
Now you can deploy applications. “Application Deployment Using xCP Designer”
on page 149 and “Application Deployment Using xDA Tools” on page 151 provide
details.
• dfc.properties
• bam-server.properties
• deployment.properties
Note: Now you can deploy applications. For more information, see
“Application Deployment Using xCP Designer” on page 149 section and
“Application Deployment Using xDA Tools” on page 151 section.
• C:\IBM\WebSphere\Liberty\clients\restConnector.jar
• C:\IBM\WebSphere\Liberty\dev\api\ibm\com.ibm.websphere.
appserver.api.basics_1.4.47.jar
• C:\IBM\WebSphere\Liberty\dev\api\ibm\com.ibm.websphere.
appserver.api.restConnector_1.3.47.jar
– If BAM was already in a cluster with at least two nodes, when you add
another node, no changes are needed for xCP application deployment.
– If BAM was not in a cluster and you add an extra node to form a new cluster,
then deploying an application does require manual configuration.
“Completing Deployment with Multiple BAM Instances” on page 162
provides details.
When you use xDA to provision a clustered environment, xDA handles all required
configurations.
1. If you are using Tomcat, configure each xCP application host node.
“Configuring Tomcat” on page 35 provides instructions to be repeated on each
node.
2. If you are using tc Server, configure clustered load balancing and failover for
the xCP application by manually updating the primary and additional xCP
application hosts.
3. If you are deploying an application to a manually-provisioned environment,
you determine the primary node when creating the instance by giving it a
unique name.
When multiple xCP applications built using different versions of xCP are
deployed on separate repositories but in the same Documentum Server
instance, the BPM workflow fails. For example, when xCP 2.0 and xCP 2.1
Specify the IP address and port details of the load balancer for BAM.
3. If the bam-server.properties file exists in the Customconf folder, open it. Revise
the following lines to reflect the IP address and port details of the load balancer
for BAM:
bam.server.host=localhost
bam.server.port=8010
bam.server.context=bam-server
2. Use xDA Tools to deploy the application. “Deploying an Application with xDA
Tools” on page 151 provides instructions.
2. Create an application:
c. On the Attributes tab, from the Data Types palette, drag and drop a String
attribute onto the Customer business object model, and type Customer Name
for the name.
d. Drag and drop a second String attribute onto the Customer business object
model, type Customer Address for the name, and click Save All.
a. In the Data Services navigator, right-click Real-Time Query and select New
Real-Time Query.
b. In the New Real-Time Query wizard, in the Label field, type Customer
Lists, and click Finish.
c. On the Dataset tab, from the Context Data palette, drag and drop the
following Customer attributes onto the Output Columns:
• Customer Name
• Customer Address
• Object ID
• Created on
d. Click Save All.
5. Create user interface pages and a context menu for the Customer business
object:
a. In the User Interface navigator, expand Business Object UI, right-click the
Customer business object, and select New Page.
b. In the New Page wizard, select Create Customer and click Finish.
c. In the same way, create two additional pages for View Customer and Edit
Customer.
d. In the User Interface navigator, right-click the Customer business object,
and select Create Context Menu.
Field Description
Label Type Create Customer.
Link type Select Application page.
Link page Select Create Customer.
c. In the navigation menu, click Menu Item 2 and configure the fields on the
Menu Item tab in the Properties view as described in the following table:
Field Description
Label Type List Customer.
Link type Select Application page.
Link page Select List Customers.
Field Description
Hostname Type the hostname or IP address of the
system where the xDA is running. If you
type the hostname, connectivity must be
available for the end user to connect to
the xCP Deployment Agent using the
hostname.
Port number Type the port number on which xDA is
running.
Username Type the username to access xDA.
Password Type the password for xDA user.
e. Click Test Connection to get the list of environment names from xDA
catalog. Select the target environment name from the list on which you
intend to deploy the application and then click Finish.
Note: The system fetches only the environment names whose status is
provisioned in xDA, that is, the environments that are completely
registered with all endpoint details and are successfully synchronized
to be ready for application deployment.
9. Create the run configuration:
a. In the Preferences dialog box, select Run Configurations and click Add.
b. Click Apply Now.
c. In the Add Run Configuration dialog box, in the Name field, type newrun
and in the Environment field, select NewDeploy.
d. If the mode of the provisioned environment is Production, verify that
Minimal is the selection for the Data Policy field.
e. Click Finish.
f. In the Preferences dialog box, click OK.
10. Click Run Application on the main toolbar to deploy the application.
11. If the application deployment fails, check the message in the Deployment
dialog box and investigate the log files. Check the runapp.log and the xDA logs
located in ${xda-home}\logs for setup and configuration issues.
If you are able to complete these tasks, the basic deployment is successful.
Note: BOCS support is limited to the xCP Content Viewer and not the Import,
Import new version, Download or other content transfer functionality that is
performed outside of the xCP Content Viewer.
For ACS, change the CORSAllowed parameter to true in the web.xml file at the
following location:
%Documentum%\tomcat<version>\webapps\ACS\WEB-INF
For example:
<init-param>
<param-name>CORSAllowed</param-name>
<param-value>true</param-value>
</init-param>
Note: Ensure that CORSAllowed is set to true for Advanced Viewer to function
as expected.
For BOCS, change the CORSAllowed parameter to true in the web.xml file at the
following location:
%Documentum%\tomcat<version>\webapps\ACS\WEB-INF
After you update the web.xml files, restart the Java Method Server.
• \cache
• \pfile
b. Copy the mspassword.txt file from a CTS product host (located at (%CTS%
\docbases\<your_docbase>\config\pfile) and paste it to the \ctsws_config
\pfile folder.
c. Copy the aek.key file from a CTS product host (located at %CTS%\config)
and paste it to the \ctsws_config folder.
2. Open a text editor and create a preferences.xml file with the following content
and save it in the ctsws_config folder. Values that you need to verify and
update are given in bold.
<?xml version="1.0" encoding="UTF-8"?>
<ServiceConfiguration ID="CTS Web Services">
<PropertyList>
<ServerProperty Key="Cache" Description="The Temperory Cache Directory"
Value="C:/ctsws_config/cache" />
<ServerProperty Key="AllowDirectTransfer" Description="Allow Direct File
Transfer From CTS Server to Client. Set it to false if there is a
firewall restriction" Value="true" />
<ServerProperty Key="CTSWSPingInterval" Description="Interval (in seconds)
used to specify how frequent the LB should ping its CTS instances for
heart rate." Value="30" />
<ServerProperty Key="FailoverRetries" Description="Allow a number of
retries if a request fails while waiting on the HTTP response from CTS"
Value="1" />
<ServerProperty Key="FailoverWait" Description="Wait between failover
retries" Value="1"/>
<ServerProperty Key="InstanceSelector" Description="Specify an
implementation class for instance selection"
Value="com.emc.documentum.cts.lb.workers.OccupancyBasedSelector"/>
<ServerProperty Key="CTSOccupancyPollingInterval" Description="Specify
occupancy polling interval in seconds" Value="7"/>
<ServerProperty Key="ConnectionRetries" Description="Specify connection
3. To access username and password from the deployed CTS instance, perform the
following steps:
<AekFilePath>C:/ctsws_config/aek.key</AekFilePath>
<LoginContext DocbaseName="lrx64">
<ServerProperty Key="domain" Value=""/>
<ServerProperty Key="userName" Value="Administrator"/>
<ServerProperty Key="passwordFile"
Value="C:/ctsws_config/pfile/mspassword.txt"/>
<ServerProperty Key="maxConnectionRetries" Value="10"/>
4. Open a text editor and create a transformation.properties file with the following
content and save it in your classpath (in the same location as the dfc.properties
file in the application server). Values that you need to verify and update are
given in bold.
#cts ws preferences config location
CTSWSConfig=C:/ctsws_config/preferences.xml
5. To enable CTS request logging, open the log4j2.properties file of the xCP
application and add the following lines. Values that you need to verify and
update are given in bold.
Example 3-1:
appender.A1.type = RollingFile
appender.A1.name = CLIENT_APPENDER
appender.A1.fileName = C:/ctsws_config/client_log.log
appender.A1.filePattern = C:/ctsws_config/client_log-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz
appender.A1.layout.type = PatternLayout
appender.A1.layout.pattern = %d{ISO8601_OFFSET_DATE_TIME_HHMM} %l [%t] %-5level
%logger{36} - %msg%n
appender.A1.policies.type = Policies
appender.A1.policies.time.type = TimeBasedTriggeringPolicy
appender.A1.policies.time.interval = 1
appender.A1.policies.time.modulate = true
appender.A1.policies.size.type = SizeBasedTriggeringPolicy
appender.A1.policies.size.size=100MB
appender.A1.strategy.type = DefaultRolloverStrategy
appender.A1.strategy.max = 5
logger.L1.name = com.emc.documentum.cts.lb
logger.L1.level = trace
logger.L1.additivity = false
logger.L1.appenderRef.A1.ref = CLIENT_APPENDER
logger.L2.name = com.emc.documentum.cts.common
logger.L2.level = trace
logger.L2.additivity = false
logger.L2.appenderRef.A1.ref = CLIENT_APPENDER
logger.L3.name = com.documentum.services.cts.impl.transform
logger.L3.level = trace
logger.L3.additivity = false
logger.L3.appenderRef.A1.ref = CLIENT_APPENDER
1. In each of the application servers where the xCP application is deployed, open
the preferences.xml file in a text editor.
Replace CTS-1 and CTS-2 with the names of CTS instances dedicated to realtime
processing.
6. To ensure that the dedicated real-time CTS instance does not process
asynchronous requests, edit the following attributes in the
CTSServerService.xml file as follows:
<QueueProcessorContext DocbaseName="xcprepo">
<CTSServer AttributeName="queueItemName"
AttributeValue="dm_mediaserver"/>
to
<QueueProcessorContext DocbaseName="xcprepo">
<CTSServer AttributeName="queueItemName"
AttributeValue="dm_mediaserver_temp"/>
and
<QueueProcessorContext DocbaseName="xcprepo">
<CTSServer AttributeName="queueItemName"
AttributeValue="dm_autorender_win31"/>
to
<QueueProcessorContext DocbaseName="xcprepo">
<CTSServer AttributeName="queueItemName"
AttributeValue="dm_autorender_win31_temp"/>
2. See if you can view the content using the xCP Viewer.
3. If content is not consistently available, verify the connectivity to the CTS Server:
d. Click Execute.
e. Copy the CTS machine hostname and ping it from the machine (or
machines) hosting the xCP Viewer application.
f. If you do not get a response, update the hosts file on this machine with the
CTS hostname and IP address.
g. Ping the CTS machine hostname again.
4. If content is still not consistently available, check the CTS log files at the path
specified in the log4j2.properties file of the xCP application. “Configuring xCP
to Interact with CTS” on page 167 provides information on how to enable CTS
request logging.
5. Verify that CTS is set up to use Accelerated Content Services (ACS) as the
method of content transfer. The OpenText Documentum Content Transformation
Services Administration Guide provides instructions to configure CTS for Branch
Office Caching Services (BOCS) and ACS.
6. If you have issues with an ACS download, verify the connectivity to ACS:
b. Click Execute.
c. Copy the acs_base_url value and see if you can access it from the CTS
machine.
d. If the URL is not accessible, add the hostname and IP address of the ACS
machine to the hosts file on the CTS machine.
• You must enable the application server on which you installed the xCP
application as a privileged DFC client.
• Note the host name and port on which you deployed the xCP application.
After you have deployed the xCP application, the system automatically enables the
privileged DFC client. However, for any reason if it does not happen, you must
follow this procedure.
To alleviate the privilege to DFC client used by the application server host, perform
the following steps:
1. Run a browser and type the URL to enable the privileged DFC client as follows:
<protocol>://<host>:<port>/<app-name>/privilige-client
Note: To add a privileged DFC client, you must log in with superuser
credentials.
Note: On successful access, the system grants the privilege to the super
user. Otherwise, the system throws an error to enter the super user
credentials correctly.
When any xCP application relies upon Collaboration services, it is must that the
application must run in a privileged DFC client mode. You must register the client
as a privileged client through DA. The default client name is as follows:
dfc_<host>_XXXXXXXXXwhere, <host> is the host name or IP address of the
AppHost machine where xCP application is deployed.
You can also add the dfc.name property in the dfc.properties file on the AppHost
machine as follows: dfc.name = xcpAppFor this case, the client name becomes
xcpApp_<host>_XXXXXXXXX.
2. On the CTS machine, browse the CTS profile, CTSProfileService.xml file located
at %CTS%\config location.
<CTSConfig>
<CTSConfigHeader ID="CTSProfileService">
<TYPE>THREE_ZERO_CORE_SERVICE</TYPE>
<SUBTYPE>CTSSERVERPROFILE</SUBTYPE>
<CLASSNAME>com.documentum.cts.impl.services.CTSProfileServiceImpl
</CLASSNAME>
<DESCRIPTION/>
<ACTIVATION>FIRSTUSE</ACTIVATION>
</CTSConfigHeader>
<CTSHandlerList>
<CTSHandler ID="CTSProfileHandlerImpl" DEFAULT="1"
CLASSNAME="com.documentum.cts.impl.services.ctsprofile.
CTSProfileHandlerImpl">
<CTSCustomConfig>
<ProfileConfig ProfileConfigName="profileRefreshInterval"
ProfileConfigValue="5"/>
<ProfileConfig ProfileConfigName="cacheCapabilityOnStartup"
ProfileConfigValue="true"/>
<ProfileManagerContext DocbaseName="winsqlcs72">
<CTSServerProfile CTSProfileValue="C:\Documentum\CTS
\\docbases\\winsqlcs72\\config
\\profiles\
\lightWeightProfiles"
CTSProfileName="lightWeightProfile"/>
<CTSServerProfile CTSProfileValue="C:\Documentum\CTS
\\docbases\\winsqlcs72\\config
\\profiles\
\lightWeightSystemProfiles"
CTSProfileName="lightWeightSystemProfile"/>
<CTSServerProfile CTSProfileValue="C:\Documentum\CTS
\\docbases\\winsqlcs72
\\config\\profiles\
\heavyWeightProfiles"
CTSProfileName="heavyWeightProfile"/>
<CTSServerProfile CTSProfileValue="/System/Media Server/Profiles"
CTSProfileName="lightWeightProfileFolder"/>
<CTSServerProfile CTSProfileValue="/System/Media Server/
System Profiles"
CTSProfileName="lightWeightSystemProfileFolder"/>
<CTSServerProfile CTSProfileValue="/System/Media Server/
CTSProfileName="lwProfileDTD"/>
<CTSServerProfile CTSProfileValue="MP_PROPERTIES.dtd"
CTSProfileName="hwProfileDTD"/>
<ForClients>XCP_ADV</ForClients>
</ProfileManagerContext>
</CTSCustomConfig>
</CTSHandler>
</CTSHandlerList>
</CTSConfig>
See PHS - Administration Guide for detailed steps on private help installation on your
system. PHS is useful for environments with no or limited access to Internet
connectivity. To integrate private help server into xCP complete the following steps:
3. Setup the private help server (PHS) on the server. See Installing the OpenText
Private Help Server section in PHS - Administration guide. Save the PHS root URL
(http://<host-name>:<port-number>) for future reference.
4. Test the PHS configuration on the help server. See Testing a Private Help Server
installation section in PHS - Administration guide.
5. Deploy the xCP help files to the server as described in the Adding product online
help to the Private Help section in PHS - Administration guide.
Note: Use the docId for To deploy Opentext Help text field. For example,
docId for xCP Deployment guide 22.2 release is EDCPKL220200-IGD.
6. Update the xcpdesigner.ini file with the PHS root URL noted earlier. For
example:
-Doffline.help.server.url=http://host_ip:port
2. Download one or more language pack ZIP files from the OpenText MySupport
(https://support.opentext.com). Extract the contents of each language pack ZIP
file to the same folder as in Step 1.
a. Type
cd xCPDesigner
to point to the folder that has the executable file for xCP Designer.
b. Type
xcpdesigner -nl <lang>
to launch the localized xCP Designer, where <lang> is the abbreviation of
the language pack.
For example, the command xcpdesigner -nl zh launches a localized xCP
Designer which in this case is in the Chinese language interface.
The display language for xCP Designer depends on the regional setting of
the operating system. Launching xCP Designer using the command option
overrides the regional setting and displays xCP Designer in the language
you specify in the command.
For example, if you install a French language pack in an operating system
with English as the base language but with the French regional setting,
double-click xcpdesigner.exe to launch xCP Designer in French. However, if
you want to run xCP Designer in English, launch it using the command
xcpdesigner -nl en from the command prompt window.
• Deploying xCP runtime library language files. “Deploying xCP Runtime Library
Language Files” on page 178 provides details.
• Localizing xCP runtime language files for an xCP application. This includes the
following:
You must add the runtime library to the application using the Add Library option.
The xCP Designer Help describes the steps to perform this task.
4. Clear the browser cache and restart the browser or open a new tab.
Note: Ensure that you follow the Method 2 instructions after every
deployment of xCP application.
The language of the runtime user interface is based on the language selected in
the sign in page or in the user settings page.
For example, if you create an application using the German version of the xCP
Designer, the system generates the application.properties file with out-of-the-
box German labels and other labels available in the system.
2. Save the file to the same location. If the labels include non-ASCII characters,
save the file using UTF-8 encoding.
2. Save the file. If the labels include non-ASCII characters, save the file using
UTF-8 encoding.
• Configure XML file: Contains library definition XML file. The sample
configuration XML file is as follows:
<?xml version="1.0" encoding="UTF-8"?>
<library xmlns="http://documentum.emc.com/2010/UI-Model"
id="xcp_custom_message" version="1.0.0000.001">
<name>xcp_custom_message</name>
<description>Supports application custom messages</description>
<content src="content/xcp/customMessages/CustomMessages.js" type="text/
javascript" mode="runtime"/>
</library>
• Create a Library Manifest file: Create the manifest file and store it at the
META-INF/MANIFEST.MF path. This file is case sensitive by default.
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.2
Component-Bundle: customMessages
Require-Bundle: rest.xcpcore, xcpcomm.xcpcommons, xcpui.xcpui
Built-Time: 2016-12-03_11:25:09
Built-By: xxx
Bundle-Version: 1.0
EMC-XCP-ExecutionEnvironment: com.emc.executionenvironment.xcp:22.2
Bundle-Name: customMessages
Created-By: yyy
Bundle-SymbolicName: customMessages
Version: 1.0
NAMESPACE: ctml
<blank line>
3. Navigate to the created library on your file system and import it using xCP
Designer.
4. After you have imported the library, populate the localized custom messages
(success or error) using an expression editor:
getJavascriptPropertyValue ('rest.customMessages.successMessage')
Ext.namespace("rest.customMessages.fr_FR");
Ext.apply(rest.customMessages.fr_FR, {
successMessage : 'success Message localized in french',
errorMessage : 'error message localized in french'});
6. After you have imported the library for multiple locales, use the expression
editor to pick up the message depending on the end-user locale:
getJavascriptPropertyValue('rest.customMessages.'+getUserLocale()
+'.successMessage')
2. Extract the JAR file contents. There are JAR files in English locale composed of
user interface source files which you can use for translation.
a. In .js files, translate only the string values. Strings are the text that show in
the user interface. For example, in the following extract from a .js file,
translate only the text that is shown in bold font.
// UpdateAction-strings.js
Ext.namespace("rest.Strings.action.form.UpdateAction");
Ext.apply(rest.Strings.action.form.UpdateAction, {
confirmationTitle: "Update Item?",
• If the languages contain non-ASCII characters, save the .js files using
UTF-8 encoding.
• Do not use double quotes in the translation.
• Double quotes are reserved to mark the beginning and end of the strings.
If you want to use double quotes for translation, escape the double
quotes.
• Standard escape characters are allowed. For example, use \n for a new
line and \t for a tab. All the content must be in a single line and not
broken.
5. Rename the folder in each JAR and the JAR name with the same locale code
used for renaming properties files.
For example, if you want to use Finnish language, rename the folder path \
\xcp-core\locales\content\en\xcp to \\xcp-core\locales\content\fi\
xcp and the JAR file xcp-core_en.jar as xcp-core_fi.jar.
• Ext JS: These files are found in the xCPDesigner_<version>.zip file. The files to
localize are packaged in xcp-appjs-<version>.jar file. For details about
localizing Ext JS for additional languages, contact Sencha Inc.
• CK Editor: These files are found in WEB-INF\lib\xcp-core-2.2.xxxx.yyyy.
jar file of the deployed web application. For details about localizing CK Editor
for additional languages, contact CK Source.
3. Clear the browser cache and restart the browser or open a new tab. The
language of the runtime user interface is based on the language selected in the
sign in page or in the user settings page.
3. Clear the browser cache and restart the browser or open a new tab. The
language of the runtime user interface is based on the language selected in the
sign in page or in the user settings page.
• Resolve Locale: Get the locale to use on the basis of the configuration in the
applicationcontext-ui-app.xml.
• Load Language File: The system loads the properties file in the file system.
In the Resolve Locale phase, the system uses the following logical sequence:
Else if locale xx_YY passed from browser is not defined in the supportedLocales
property in the applicationcontext-ui-app.xml, but if xx is defined as supported,
resolve locale as xx.
• The locale value you configure in the fallback locale section exists in the
supported locale section.
• The locale you configure in the default locale section exists in the supported
locale section.
• Localize the application label files, runtime libraries, and validation messages
into locales that you set as fallback locale or default locale in the
applicationcontext-ui-app.xml file.
In Load Language File phase, there are three different types of behavior on the basis
of the layers in the stack.
Component Behavior
Labels in Application.properties, component If localized files for locale xx_YY exists
library files packaged in runtime library, and
third-party user interface Load xx_YY
Load xx
Else
Else
xcp-rest-core-config.jar
Validation message loaded by aspect Even if resolved locale is xx_YY, the system
always loads xx locale files.
Load xx
Else
Regardless of the application server OS locale, using these settings the locale always
falls back to en_US, before trying to get the filename.properties without any
language code for services layer and validation messages.
2. Extract the contents of the JAR file to a temporary location. You can find all
localized strings in .properties files or in .js files.
For .properties files:
• ASCII is the format of all .properties files for all languages. For encoding the
content of .properties file, use the ISO 8859-1 character encoding (also
known as Latin-1). All non-Latin-1 characters, such as Japanese, Korean,
Simplified Chinese, Arabic, and Russian characters, must be entered using
Unicode escape characters.
• When you use a single quote and curly braces in the same segment, always
precede each single quote using another single quote.
For example, replace the text Création de l’armoire ”{0}” effectuée
with Création de l”armoire ”{0}” effectuée.
• Standard escape characters are allowed.
For example, use \n for a new line and \t for a tab.
• All the content must be in a single line and not broken.
• If the languages contain non-ASCII characters, save the .js files using UTF-8
encoding.
• Do not use double quotes in the translation. Double quotes are reserved to
mark the beginning and end of the strings. If you want to use double quotes
for translation, escape the double quotes.
• Standard escape characters are allowed.
For example, use \n for a new line and \t for a tab.
• All the content must be in a single line and not broken.
5. Repackage the affected JAR file while keeping its original structure.
7. Copy the JAR file you want to update and place it in \webapps\<application_
name>\WEB-INF\lib folder on the application server.
To view the Preview mode in a localized user interface, there are 2 ways to add the
localized runtime library JAR files:
Method 1
You must add the runtime library to the application using the Add Library option.
The xCP Designer Help describes the steps to perform this task.
Method 2:
To view the Preview mode in a localized user interface, perform the following steps:
When you make changes in the xCP Designer that can trigger a clean build,
these files get deleted automatically. Then, you need to create these files again.
You do not have to uninstall data from components such as xPlore and Content
Intelligence Services (CIS). When you remove object instances from the
Documentum repository, the system automatically removes indexes from xPlore
and discovered metadata from CIS.
2. Navigate to the webapps folder and delete the application web application
archive (WAR) file and application folder.
The following example shows the path to a WAR file for an application named
Loan:
C:\tcserver\apphost\webapps\Loan.war
Note: You can retrieve the namespace of an application from Home >
Application Model > Properties view > General tab in xCP Designer.
When you remove data from the repository, you use the Documentum
Administrator DQL Editor and API Tester to run commands that retrieve and
remove the data. The OpenText Documentum Server Administration and Configuration
Guide contains more information on Documentum Administrator.
3. Repeat the command in step 2 for each library bundle for an instance until you
have retrieved the object IDs for all library bundles associated with the instance.
For example, after you run the command in step 2 with the object ID for an
application instance, the query returns library bundles 080004d180005e47 and
080004d180005e46. Run the command again using 080004d180005e47 as the
value for <$bundleobjectid> and then run the command again using
080004d180005e46 as the value for <$bundleobjectid>.
4. For a library bundle, retrieve the object IDs for the artifacts that have been
translated into repository objects.
Do not retrieve the IDs for bundles shared between applications, the xcpcore
bundle, and the xcpcommons bundle. Retrieve the IDs by running the following
command:
Select installedobjectid from xcp_artifact_bundle where r_object_
id='<$bundleobjectid>'
The remaining sections in this chapter explain how to delete data associated
with the object IDs that you retrieve in this step.
5. Repeat steps 2 through 4 for each application instance in the query results from
step 1. The resultant of this step provides object IDs for all bundle libraries.
1. Run the following command from the Documentum Administrator DQL Editor
to retrieve a list of type names and object IDs:
Select r_object_id, name from dm_type where r_object_id in (select
installedobjectid from xcp_artifact_bundle where r_object_id='<
$bundleobjectid>')
2. Identify the hierarchy of types and then remove the types starting from sub
types to super types.
3. Run the following command from the Documentum Administrator API Tester
to delete objects from the repository:
query,c,delete <name_of_type> objects
4. Run the following command from the Documentum Administrator API Tester
to remove the type definition:
query,c,drop type <name_of_type>
2. Run the following command from the Documentum Administrator DQL Editor
to retrieve the dm_relation_type object ID for the namespace:
Select r_object_id,relation_name from dm_relation_type where
relation_name like '<namespace>_%'
3. Run the following command from the Documentum Administrator API Tester
to remove the objects associated with the dm_relation_type:
destroy,c,<object_ID>
4. Run the following command from the Documentum Administrator DQL Editor
to retrieve the dm_type that corresponds to the relation:
Select r_object_id,name from dm_type where name like '%<namespace>_
%'
5. Run the following command from the Documentum Administrator API Tester
to delete dm_type objects from the repository:
query,c,delete <name_of_type> objects
6. Run the following command from the Documentum Administrator API Tester
to remove the type definition:
query,c,drop type <name_of_type>
2. Run the following command from the Documentum Administrator DQL Editor
to retrieve a list of dmc_jar objects for a dmc_module object:
Select r_object_id, object_name from dmc_jar(all) where FOLDER('/
System/Modules/<module_object_name>'
3. Run the following command from the Documentum Administrator API Tester
to unlink each dmc_jar object from the dmc_module object:
unlink,c,<<object_id>>,/System/Modules/<module_object_name>'
4. Run the following command from the Documentum Administrator API Tester
to remove each dmc_jar object from the repository:
destroy,c,<<object_id>>
2. Run the following command from the Documentum Administrator API Tester
to abort workflows for a process:
uninstall,c,<<process_id>>
3. Run the following command from the Documentum Administrator API Tester
to re-install the process with the option to abort halted workflows:
install,c,<<process_id>>,T,F
4. Run the following command from the Documentum Administrator DQL Editor
to retrieve a list of activities for the process:
5. Run the following command from the Documentum Administrator API Tester
to uninstall the process from the repository:
uinstall,c,<process_id>
6. Run the following command from the Documentum Administrator API Tester
to invalidate the process:
invalidate,c,<process_id>
7. Run the following command from the Documentum Administrator API Tester
to remove the process from the repository:
destroy,c,<process_id>
8. Run the following command from the Documentum Administrator API Tester
to uninstall each activity:
uninstall,c,<act_id>
9. Run the following command from the Documentum Administrator API Tester
to invalidate each activity:
invalidate,c,<act_id>
10. Run the following command from the Documentum Administrator API Tester
to remove each activity:
destroy,c,<act_id>
12. Remove aborted workflows and orphaned structured data type (SDT) objects by
using Documentum Administrator to run a dm_DMClean job with the
following argument:
'-clean_aborted_wf TRUE' and '-clean_wf_template TRUE'
2. Run the following command from the Documentum Administrator API Tester
to remove each group from the repository:
destroy,c,<group_id>
where <group_id> is the object ID for a group.
2. Run the following command from the Documentum Administrator API Tester
to remove all objects related to the namespace:
query,c,delete dmc_xcp_app_config objects where
namespace='<namespace>'
2. Run the following command from the Documentum Administrator API Tester
to remove each dm_acl object:
destroy,c,<acl_id>
2. Run the following command from the Documentum Administrator API Tester
to remove message queue tables:
query,c,drop type dmc_mq_<namespace>_<applicationname>
The <applicationname> must be all lowercase with any underscores removed.
1. Run the following command from the Documentum Administrator DQL Editor
to retrieve a list of dmc_aspect_type object names, object IDs and type definition
for Type Fragment:
select r_object_id, object_name,i_attr_def from dmc_aspect_type
where r_object_id in (select installedobjectid from xcp_artifact_
bundle where r_object_id=’$bundleobjectid’)
3. Run the following command from the Documentum Administrator API Tester
to remove the type definition:
query,c,drop type <i_attr_def>
4. Run the following command from the Documentum Administrator DQL Editor
to retrieve object id of defaultaspect.jar:
select r_object_id from dmc_jar where object_name='defaultaspect.
jar'
5. Run the following commands from the Documentum Administrator API Tester
to unlink defaultaspect.jar from the type fragment:
unlink,c,<object ID of defaultaspect.jar>,<object ID of dmc_aspect_
type> save,c,<object ID of defaultaspect.jar>
6. Run the following command from the Documentum Administrator API Tester
to remove each dmc_aspect_type object from the repository:
destroy,c,<object_id of dmc_aspect_type>
destroy,c,'$objectid'
Perform the “Removing Application Data” on page 194 procedure for each bundle
retrieved in step 1 and step 5 in “Retrieving a List of Application Artifact Bundles”
on page 193.
• Retrieve the endpoint object ID for the endpoint from the repository
• Retrieve the metadata for the endpoint
• Set a new property value for the endpoint
• Save your changes
number associated with the attributes. The following table shows the
property_name (grouped by endpoint) and its label in the Endpoint Editor:
where <r_object_id> is the endpoint object ID and <index> is the index number of
the property_name and of the property_value you want to update.
<value>
where <value> is the new property_value you want to enter for the
property_name attribute.
For example, for the Queue/Topic name value for the JMS endpoint, the
corresponding property_name is
JMS_DESTINATION_NAME_CONFIG_PARAM at index number 8. If you
want to change the Queue/Topic name value, in the Command field type
set,c,08001639800173a4,property_value[8]
11. After you finish updating the values for the endpoint object, in the Command
field, type
save,c,<r_object_id>
where <r_object_id> is the endpoint object ID for which you want to save the
updated value or values.
4. In the Commands text box, type the following Documentum Server internal
API script:
retrieve,c,dm_docbase_config
append,c,l,r_module_name
WF_PROCESS_PRIORITY_BASED
append,c,l,r_module_mode
1
save,c,l
5. Click Execute.
6. Click OK.
The message queue strategy determines the number of message queues the system
creates. The strategy correlates with system performance. Generally, the more
message queues the system creates the better the BAM server performs. By default,
the system uses strategy ID 4.
The system adds a BAM pipe job to each message queue it creates. You must
monitor the amount of data in each message queue. If you have a back log of data
you can add pipe jobs to a message queue as a way to improve system performance.
Use this procedure to change the message queue strategy of the system.
Where:
a. Execute the following statement against the repository to list the scheduled
pipe jobs.
SELECT SEQ_ID,NAME FROM BAM_S_JOBS WHERE SOURCE_TYPE=
'BUSINESS_EVENTS_PIPE';
4. If you are using a Microsoft SQL Server database, execute the following
command to create a pipe job:
INSERT INTO BAM_S_JOBS (NAME,LAST_RUN,SOURCE_TYPE,
STEP_SIZE,HIERARCHY,STATUS,STATUS_TIME,STATUS_DESCRIPTION,
THREAD_COUNT,TIMEOUT,SCHEDULER_PERIOD,SCHEDULER_GROUP_NAME,
APP_NAMESPACE) SELECT NAME,LAST_RUN,SOURCE_TYPE,STEP_SIZE,
HIERARCHY,STATUS,STATUS_TIME,STATUS_DESCRIPTION,THREAD_COUNT,
TIMEOUT,SCHEDULER_PERIOD,SCHEDULER_GROUP_NAME,APP_NAMESPACE
FROM BAM_S_JOBS WHERE SEQ_ID=<seq_id>;
Where <seq_id> is the SEQ_ID value of the pipe job you are replicating.
5. If you are using an Oracle database, execute the following statement to create a
pipe job:
INSERT INTO BAM_S_JOBS (SEQ_ID,NAME,LAST_RUN,SOURCE_TYPE,
STEP_SIZE,HIERARCHY,STATUS,STATUS_TIME,STATUS_DESCRIPTION,
THREAD_COUNT,TIMEOUT,SCHEDULER_PERIOD,SCHEDULER_GROUP_NAME,
APP_NAMESPACE) (select <new_seq_id>,NAME,LAST_RUN,SOURCE_TYPE,
STEP_SIZE,HIERARCHY,STATUS,STATUS_TIME,STATUS_DESCRIPTION,
THREAD_COUNT,TIMEOUT, SCHEDULER_PERIOD,SCHEDULER_GROUP_NAME,
APP_NAMESPACE from BAM_S_JOBS where SEQ_ID=<seq_id>);
Where:
6. Use a cron expression to schedule the pipe job so that all jobs do not run at the
same time.
The first statement schedules the SEQ_ID=4 job to run on the first and 32nd
second of each minute. The second statement schedules the SEQ_ID=5 job to run
on the second and 33rd second of each minute.
UPDATE BAM_S_JOBS SET SCHEDULER_PERIOD='1/31 * * ? * *' WHERE SEQ_ID=4;
UPDATE BAM_S_JOBS SET SCHEDULER_PERIOD='2/32 * * ? * *' WHERE SEQ_ID=5;
• Use a web debug tool such as Firebug, Fiddler or any built-in developer tool
that traces the network communication.
• Search in the application server logs located at:
For tc Server: <application_server_home>/<server_instance>/logs/
localhost_access_log.<date>.txt
For Tomcat: <application_server_home>/logs/localhost_access_
log.<date>.txt
2. Copy and paste the URL in the browser address bar and append the debug
parameter such as:
http://<host>:8090/<application_name>/application/documents?
_dc=1335361466590&type=ft_doc&q=active&facet_authors=David%20Miller
&page=1&start=0&limit=10&debug
The output is a text file that starts with the list of results then details the query
sent to the source.
3. If the output does not contain debug information, make sure the debug mode is
enabled. To do so, refer to the procedure for disabling the query debug mode
and verify that the property debugAllowed is set to true.
However, if there is a load balancer in between, the client forwards the request from
the client to the xCP REST service. Therefore, the requirement of xCP REST is, if
client sends the HTTP request to the xCP REST through load balancer, then load
balancer forwards it as HTTP request to xCP REST. And, if the client sends the
HTTPS request, then the load balancer forwards it as HTTPS to xCP REST. The xCP
REST listens on two different ports for both HTTP and HTTPS requests. So, the load
balancer forwards HTTP request to xCP REST HTTP port and HTTPS request to
HTTPS port respectively.
Before you perform application migration, ensure that you know how the
application and its components are structured.
The current version of xCP Designer is 22.2. This procedure describes how to
migrate an application from xCP Designer 2.x to the current version of xCP
Designer.
Note: You can now import older xCP application to xCP 22.2 version.
a. From the xCP Designer 2.x Home page, select an application and click
Export.
2. In the application exported from Step 1, locate the artifact libraries and prepare
the replacement libraries for it as follows. If the application contains any
libraries based on sub-projects, you must migrate them to the current version of
xCP.
a. Open the original application that contains the source project for the Artifact
library from the xCP Designer 2.x Home page.
b. In the Application Model editor, select the project and click Export. Do not
select Export as a library. Then, click Finish.
c. Start the current version of xCP Designer.
d. Create a new dummy application.
e. Import the project exported from Step a.
f. Select Import a copy to copy the selected project to the root folder of your
new application.
g. On Properties tab, increment the Version of the project.
Note: If the same version is used for the exported library, the system
rejects the replacement library during import of the final application to
the current version of xCP Designer.
h. Select the project and click Export.
i. Click Browse to select a folder and select Export as a library.
j. Click Finish.
Keep the exported library JAR at a separate location. Ensure that you do not
overwrite the artifact library in the source application.
Repeat these steps for every library that contains xCP artifacts. You can use
these new JAR files as a replacement library when you import an xCP 2.x
application that contains the original library.
If you see The input attributes for data actions in activity 'Initiate' are out of
date with attributes in package. Save process again to refresh the recent
changes error in the Problems tab, open the process and save it again to refresh
the recent changes. This error occurs if the libraries are not updated. You must
import the new libraries from the Designer and the error is resolved.
When you import applications with new libraries, all the old libraries are
automatically deleted.
3. In the application exported from Step 1, locate the custom component or theme
libraries and prepare the replacement libraries. Ensure that you copy the
exported library JAR to a separate location and then edit the MANIFEST.MF file
of the JAR.
e. Add a blank line at the end of the manifest file as shown in this sample
MANIFEST.MF file:
f. This step is applicable only for custom theme libraries. The current version
of xCP Designer is based on Ext JS 7.4.0.42, while the earlier versions of xCP
Designer used Ext JS 6.0.1 or Ext JS 4.x. So, the way custom themes are
structured is different. As Ext JS 7.4.0.42 uses a new technology, Fashion,
instead of SASS, ensure that the code adheres to the Fashion syntax. For
more information, refer to https://docs.sencha.com/cmd/6.x/fashion.html.
Due to the Ext JS upgrade, perform these steps to upgrade the theme
library:
These files are optional, but at least one file must be created and made
available at the required location.
Note: The sass extension files are not supported anymore. You
must convert these files to scss extension.
• For organizational purposes, you can have multiple SCSS files, and you
can use import statements to reference these files.
• The common.scss is not required anymore. If the file is included in the
theme, it must be removed including its import reference from the main
scss file.
base_folder*.uistep files in the artifacts folder, and .index file in top folder of the
application. Then, restart the xCP Designer and verify that the error is resolved.
7.1.1 Troubleshooting
Artifact Libraries Throw Errors During Runtime
The artifact libraries were not migrated to the current version of the xCP Designer.
• Migrate the artifact libraries to the current version of the xCP Designer and then
use it as a replacement library.
Limitations
The following limitations apply to the adopted data types:
• If you adopt data types inherited from another data type, the system adopts all
their super types.
• You can adopt the data types only once. The system does not list the data types
for adoption again.
1. In the Object Models navigator, click New > Adopt Data Types.
2. In the Adopt Data type(s) dialog box, select a design-time environment. The
system populates all the fields as configured in the selected design-time
environment. Click Next.
3. Specify the required business objects, content, and folder types you want to
adopt.
4. Select the name of a project to which you want to import the types from the
repository.
On successful operation, the system displays the adopted data types. Once the data
type is adopted to a specific application, the system does not allow the same type to
be adopted again.
1. In the Object Models navigator, click New > Import Types From Composer.
2. In the Import Types From Composer dialog box, specify the properties as
described in the following table:
Field Description
Composer project root Click Browse to navigate to the project
folder on your file system and click OK.
This project is created using the Composer
application.
Import Into Select the application you want to import
the Types into.
Types to Import Select the checkbox next to each Type that
you wish to import.
3. Click Next.
4. Review the Types. You can see the Name and Data Type of the selected Types.
5. Click Finish. The system imports all the Types in the Object Models navigator
under Business Objects, Content, and Folders respectively.
7.4 Interoperability
Interoperability is the ability of Documentum Clients to work with xCP.
For instance - You can design an xCP application by adopting the object types used
by 1.x Documentum Clients like Documentum Webtop, Taskspace, or DAC and test
whether xCP 16.7 applications can create, read and write data instances created
through these clients.
Refer the OpenText Documentum xCelerated Composition Platform Release Notes about
the interoperability of Documentum Clients with xCP 16.7 and Documentum
platform combinations.
Limitations
xCP 2.x does not support the data dictionary, which includes value assistance,
attribute label internationalization, and constraints.
For instance - You can design an xCP application by defining xCP object types and
test whether 1.x Documentum Clients such as DocumentumWebtop, D2, Taskspace,
or DAC can create, read and write data instances for the xCP object types created
through xCP 2.x and later applications.
Limitations
The following limitations exist with some of the 1.x Documentum Clients:
8.1 Overview
xCP Process Manager is an out-of-the-box production-ready application that you can
use to view, monitor, and manage all the tasks assigned to a user. It provides
functionality to start, view, and manage process instances and tasks. You can
customize the xCP Process Manager application based on your business
requirements and add business processes using simple steps. It also provides basic
content management capabilities.
xCP Process Manager covers the basic functional requirements for most businesses;
enabling you to deploy and extend its functionality in a seamless manner.
This application is bundled along with the xCP Designer and you can import the
application into your xCP Designer environment and leverage the basic
functionality for faster deployment. The xCP Process Manager application has the
following default tabs that provide basic functionality:
• Inbox – My Task: Lists all the tasks assigned to a user in the xCP Process
Manager.
• Process Instances: Enables you to access and manage the processes initiated in
the xCP application.
• Process Template: Lists all the processes available in the xCP Process Manager
application.
• Search: Enables you to search documents, folders, and cabinets in the
Documentum repository.
• Repository Browser: Displays all the content in hierarchical order under the root
folder in the repository.
8.2 Prerequisites
The hardware and software requirements for xCP Process Manager are same as for
xCP 20.2. xCP Process Manager requires a minimum of xCP 20.2 release build.
To import the xCP Process Manger application into the xCP Designer:
To view all the tasks assigned to a user in the Documentum repository, change the
Filter by processes option to All Documentum processes.
You can filter the task-list result in the Inbox – My Task page using the following
fields:
The Inbox – My Task page provides the following details about each task:
• Priority: Priority of a task. Valid value ranges between 0 to 5, where 0 has least
priority.
• Sender: Name of the task assigner.
• Process Name: Name of the process to which this task belongs.
• Sent Date: Date when the task was assigned to current owner.
The task details are displayed in tabular format and by default 10 tasks are
displayed on a page. You can change the default number of tasks displayed on a
page using the Page size drop-down list. If the task list spans multiple pages, you
can navigate using the page navigation bar at the bottom of the task-list page.
– Packages: You can add and remove packages from the Task Details tab. You
must select the package from the selector result list based on the type of
package.
Note: You cannot attach custom type objects that are not part of the xCP
Process Manager application. The attachments section lists all the available
objects in the repository. However, you can only add objects that are part of
the xCP Process Manager as an attachment.
• History: Provides information about all the actions performed on a task. This tab
provides the following details related to a task:
Notes
• Delegate action is available only for the tasks that are enabled for delegation.
• Reject action is available only for the tasks that are enabled for rejection.
• Rerun action is available only for failed automatic tasks.
The xCP Process Manager Task Details page is available only for processes that are
not created in xCP application. For xCP processes that are not part of xCP Process
Manager, you need to import the process into the xCP Process Manager and create
the task details page for the process. Similar requirements apply to a new process
created in the application. For more information about how to import a process and
create a task detail page for a process, see OpenText Documentum xCelerated
Composition Platform Designer Help.
• Acquire: Acquires a task in dormant state. This option is available for tasks that
are in dormant state.
• Complete Task: Changes the task status to complete. Note: If a dialog box
prompts you to confirm the password, click Finish to change the task status to
complete. Enter the password only for tasks that require signoff.
• Hold/Unhold: Toggles the state of the task between hold and unhold.
The Process Instances page provides the following fields of information for each
process:
• Start Time: Time when the process instance workflow was started.
The Process Instances page allows you to perform the different actions on a process
based on the Role.
Actions
User Change Resume Halt Workflow Terminate
Supervisor Workflow Workflow
System Y Y Y Y
Administrator or
Super User
Supervisor or Y Y Y Y
User
Notes
The Process Instances utility allows you to filter the processes based on the
following fields:
• Workflow Name
• Runtime State
• Start Time
• Process Name
• Supervisor Name
Change to
SELECT object_name ,r_runtime_state,r_start_date ,process_name ,
wf_r_object_id ,supervisor_name from (SELECT wf.object_name ,
wf.r_runtime_state,wf.r_start_date ,p.object_name as process_name,
wf.r_object_id as wf_r_object_id,wf.supervisor_name
FROM dm_workflow wf, dm_process (ALL) p, xcp_artifact_bundle a
where any a.installedobjectid = p.r_object_id
and (wf.process_id=p.r_object_id)
AND (wf.r_runtime_state!=2 AND wf.r_runtime_state!=4
AND (UPPER(wf.object_name)
LIKE $Workflow Name$
AND UPPER(wf.supervisor_name) LIKE $Supervisor Name$
AND wf.r_runtime_state = $Runtime State$
AND UPPER(p.object_name) LIKE $Process Name$))
and a.namespace in ('xcpproj','new_xcp_proj_namespace'))ORDER BY ?
You can also configure the Process Instances and Process Instance Count ARQs to
view all the process instances within the Documentum repository with sorting
enabled. The following is an example of updated Process Instance.
You can sort the result list based on the following columns:
• Process Name
• Owner
To enable sorting the result list, you need to update the ARQ for process template:
Select p.r_object_id, p.system_name, p.object_name,
p.r_version_label, p.owner_name
from dm_process (all)p, xcp_artifact_bundle a
where any a.installedobjectid = p.r_object_id
and p."r_definition_state"=2
AND UPPER(p.object_name) like $Process Name$
AND p.system_name not in ('xcpproj_terminate_workflow',
'xcpproj_resume_workflow','xcpproj_halt_workflow',
'xcpproj_checkloggedinuserrole','xcpproj_change_supervisor')
and a.namespace in ('xcpproj') Order by ?, p.system_name
change to
Select p.r_object_id, p.system_name, p.object_name,
p.r_version_label, p.owner_name
from dm_process (all)p, xcp_artifact_bundle a
where any a.installedobjectid = p.r_object_id
and p."r_definition_state"=2
AND UPPER(p.object_name) like $Process Name$
AND p.system_name not in ('xcpproj_terminate_workflow',
'xcpproj_resume_workflow', 'xcpproj_halt_workflow',
'xcpproj_checkloggedinuserrole','xcpproj_change_supervisor')
and a.namespace in ('xcpproj','new_xcp_proj_namespace')
Order by ?, p.system_name
8.10 Search
The Search utility allows you to search documents in the Documentum repository.
You can search a document using the following fields:
The results are listed in a tabular format and you can perform context-specific tasks
on a result entry based on the role.
1. Create a RTQ for the Custom Business Object created with the following details:
• Project: xCPProcessmanager
• Primary Model: Business Objects
7. Add the RTQ you created to the interactions of the page fragment.
8. Add the result list to the Fragment and bind the RTQ as data source.
9. Select the Display Record count option for the result list.
10. Select When an Input value changes and On Page Load options under Refresh
on the RTQ.
11. Go to the Search page and add a Page Fragment Container widget.
12. Map the newly created page fragment to the container widget.
13. Modify the Search for Picklist to add the custom type to the dropdown in the
search page.
14. Modify the Behavior of each page fragment container in the Properties tab, so
that the Search page shows only the selected search results.
15. Save and deploy the Application, the dropdown in the Search tab is refreshed
with the entry for the custom type and search result returns the list of the
custom type.
2. Link the full text search menu item to the static FTQ search page.
By default, not all the search attributes are configured as facets. You need to
configure a facet in the indexserverconfig.xml file(xPlore) with returning-contents
attribute set to true to make it available in the application for full text search. For
example, you can configure the following attributes for full text search:
• object_name
• owner_name
• r_modify_date
• r_creator_name
• r_creation_date
• a_content_type
• r_content_size
Note: For more information, see xPlore Administration and Development Guide.
To create FTQ for custom business objects, complete the following steps:
• Project: xCPProcessManager
• Primary Model: Business Objects
5. Configure the required facets from the Facets tab and save the settings.
7. Add the new FTQ to the interactions under the page fragment.
8. Add the result list to the fragment and bind the FTQ as the corresponding data
source.
9. Select Display Record count option for the result list.
10. Select When an Input value changes and On Page Load options under Refresh
tab on the FTQ.
11. Open the FTQ search page and add a Page Fragment Container widget.
12. Map the newly created page fragment to the container widget.
13. Modify the FTQ search for Picklist to add the entry for the new search.
14. Modify the behavior of each page fragment container in the Properties tab, so
that the FTQ search page shows only the selected search results.
15. For each custom type attribute that is used as a facet, ensure that a subpath is
configured in indexserverconfig.xml file in xPlore. For more information, see
xPlore Administration and Development Guide.
16. Save and deploy the application. The drop-down menu in the FTQ search tab is
refreshed with the custom type and search result returns the list of the custom
types.
Using xCP Designer, you can customize the xCP Process Manager application to suit
organization-specific use cases such as HR hiring operation or Financial approval
process. For more information about how to add or import a new process to xCP
Process Manager application, see Documentum xCelerated Composition Platform
Designer Help.
Using xCP Designer, you can create roles and assign role-based access to the
application and specific functionality to the users. You can also create groups to
distribute process tasks to a set of users to distribute the work. For more information
about how to create roles or groups, and add them as activity performers, see
Documentum xCelerated Composition Platform Designer Help.
To create a process and process initiate page, see OpenText Documentum xCelerated
Composition Platform Designer Help.
Note: Starting with xCP 22.2 release, the process initiate page provides
functionality to select a default alias tied to the process at the runtime.
If you import, create, or update a project, you must modify the Process Template
and Process Template Count Advanced Repository Queries (ARQs) in xCP Process
Manager application to list the process from the new or updated project. For
example, if you have imported or created a new project in the xCP Process Manager
application, update the Process Template ARQ as follows:
Select p.r_object_id, p.system_name, p.object_name,
p.r_version_label, p.owner_name
from dm_process (all)p, xcp_artifact_bundle a
where any a.installedobjectid = p.r_object_id
and p."r_definition_state"=2
AND UPPER(p.object_name) like $Process Name$
AND p.system_name not in ('xcpproj_terminate_workflow',
'xcpproj_resume_workflow','xcpproj_halt_workflow',
'xcpproj_checkloggedinuserrole','xcpproj_change_supervisor')
and a.namespace in ('xcpproj')ORDER BY p.object_name
change to
Select p.r_object_id, p.system_name, p.object_name,
p.r_version_label, p.owner_name
from dm_process (all)p, xcp_artifact_bundle a
where any a.installedobjectid = p.r_object_id
and p."r_definition_state"=2
AND UPPER(p.object_name) like $Process Name$
AND p.system_name not in ('xcpproj_terminate_workflow',
'xcpproj_resume_workflow', 'xcpproj_halt_workflow',
'xcpproj_checkloggedinuserrole','xcpproj_change_supervisor')
Note: If you are updating the xCP Process Manager project namespace, you
must update the ARQ accordingly.
change to
SELECT p.object_name AS workflow_name,
wf.r_runtime_state AS runtime_state,
wf.r_start_date AS start_time,
p.object_name AS process_name,
wf.r_object_id AS wf_r_object_id,
wf.supervisor_name AS supervisor_name
FROM dm_workflow wf, dm_process (ALL) p, xcp_artifact_bundle a
where any a.installedobjectid = p.r_object_id
and (wf.process_id=p.r_object_id)
AND (wf.r_runtime_state!=2 AND wf.r_runtime_state!=4
AND (UPPER(wf.object_name)
LIKE $Workflow Name$
AND UPPER(wf.supervisor_name) LIKE $Supervisor Name$
AND wf.r_runtime_state = $Runtime State$
AND UPPER(p.object_name) LIKE $Process Name$))
and a.namespace in ('xcpproj','new_xcp_proj_namespace')
ORDER BY wf.r_start_date desc
Note: If you are updating the xCP Process Manager project namespace, you
must update the ARQs accordingly.
You can also configure the Process Instances and Process Instance Count ARQs to
view all the process instances within the Documentum repository. The following is
an example of updated Process Instance ARQ to include the Process Instances
within the Documentum repository:
The following is an example of updated Process Instance count ARQ to include the
process instances count within the Documentum repository:
SELECT count(wf.process_id) AS row_count
FROM dm_workflow wf, dm_process (ALL) p, xcp_artifact_bundle a
where any a.installedobjectid = p.r_object_id
and (wf.process_id=p.r_object_id)
AND (wf.r_runtime_state!=2 AND wf.r_runtime_state!=4
AND (UPPER(wf.object_name) LIKE $Workflow Name$
AND UPPER(wf.supervisor_name) LIKE $Supervisor Name$
AND wf.r_runtime_state = $Runtime State$
AND UPPER(p.object_name) LIKE $Process Name$))
For more information about how to configure process instances, see Documentum
xCelerated Composition Platform Designer Help.
5. Set Behavior to Set Value for the input field and type the session parameter
name in the text-field or select the session parameter.
Note: For more information about how to create and attach session
parameters, see OpenText Documentum xCP Designer Help.
1. Validate the DQL query for the Process Instance Count and Process Template
Count ARQs, click Edit Query -> Execute -> Finish to change the Type for
row_count from integer to decimal in the Output Column.
3. Apply the floatToInt function to the expression in the Result List Properties for
the Process Instances and Process Template tabs. For example:
floatToInt(dataservices.process_instance_co.outputs[0].row_count)
3. Open the xPlore administration UI, select the domain or collection in the Data
Management tree and click Rebuild Index.
9.1 Introduction
Kubernetes is a portable, extensible open-source platform for managing
containerized workloads and services, which facilitates both declarative
configuration and automation. For more inforamation about how to set up xCP in
Kubernetes environment, see OpenText Documentum xCelerated Composition Platform
Cloud Deployment Guide.
Cause
For the enabled services in the registered environment, you have not provided all
required endpoint details.
Resolution
Examine the list of services for the environment in the xDA Management Center. For
each enabled service:
Resolution
Use the following table to resolve problems with deploying an application:
Error Description
Version mismatch (in a manual Update the versions of service components
environment) in the xDA Management Center to match
your environment. “Synchronizing a
manually provisioned environment”
on page 98 provides instructions.
Cause
The DAR Installer did not correctly install DIS.
Resolution
Verify that the DAR Installer installed the following items:
– com.documentum.pageaware.pdf.IPdfPageHandlerService
– com.documentum.pageaware.tiff.ITiffPageHandlerService
– com.documentum.services.imaging.annotationservice.IAnnotationService
– com.documentum.services.imaging.pageaccess.IPageAccess
• PageModificationModule, located in System/Modules/ImageServiceModule
Resolution
Use the following table to resolve issues associated with privileged DFC.
Error Description
[DM_SESSION_E_CLIENT_AUTHENTICAT The DFC client is not known to the server.
ION_FAILURE]error: “Could not Configure and enable the client for
authenticate the client installation for reason: privileged DFC operations.
Not applicable”.
Error Description
[DM_SESSION_E_CLIENT_AUTHENTICAT The DFC client does not match what is
ION_FAILURE]error: “Could not registered in the docbase (certificate).
authenticate the client installation for reason: Configure and enable the client for
Digital Signature verification failed”. privileged DFC operations.
[DM_SESSION_E_CLIENT_AUTHENTICAT Your DFC client does not match what is
ION_FAILURE]error: “Could not registered in the docbase (hostname).
authenticate the client installation for reason: Configure and enable the client for
Client hostname in authentication string privileged DFC operations.
doesn't match value in the registry”.
[DM_SESSION_E_CLIENT_AUTHENTICAT The client and server times are not
ION_FAILURE]error: “Could not synchronized.
authenticate the client installation for reason:
Timestamp in authentication string has
expired”.
[DM_GROUP_E_PROTECTED_ROLE_UNK The client is not privileged. Configure and
NOWN_CLIENT]error: “The requested enable the client for privileged DFC
role(role_name) is marked protected and the operations.
requesting application was either not known
in this docbase's dm_client_rights table or its
credentials did not match those in the
dm_client_rights table”.
[DM_GROUP_E_PROTECTED_ROLE_PRIV The client is not privileged. Configure and
]error: “The requesting application is not enable the client for privileged DFC
privileged to use role (role_name).”. operations.
[DM_SESSION_E_ADD_DYNAMIC_ROLE Validate that the group exists in the
]error: “Error adding dynamic role repository and that it is dynamic.
<dm_superusers_dynamic>”.
[DM_GROUP_E_NOT_DYNMAIC_MEMBE Add the user to the dm_superusers_dynamic
R]error: “User is not a potential dynamic role.
member of group role_name.”
AccessControlException The DAR Installer did not install
PageModificationModule as privileged.
Resolution
Check the repository to verify that the DAR Installer installed the following
components:
• AnnotationService SBO
• annotationconfig.xml
While running the application, the system creates and populates this
xCPApplication.log file. If the CTS configuration file transformation.properties is
missing from the classpath, the following errors are recorded in the
xCPApplication.log file:
transformation.properties or preferences.xml file is expected under
<expected_path>\transformation.properties
Failed to read the config file : transformation.properties or preferences.xml
Where <expected_path> is the path where the system expects to find the
transformation.properties file.
Cause
The xCP Viewer was not configured properly for CTS real-time calls and therefore
no real-time calls ever reached CTS. The client project cannot find
transformation.properties file or preferences.xml file in the expected path.
Resolution
If the RealTimeRenditionException error appears, implement the steps required by
CTS to enable real-time invocations. “Configuring xCP to Interact with CTS”
on page 167 provides instructions.
Cause
The most likely cause is that the Accelerated Content Services (ACS) server is not
running.
Resolution
Verify that the ACS server is running. Use a browser to access the ACS test URL:
http://<repository-host-name>:<port>/ACS/servlet/ACS
If a message appears stating that the ACS server is not running, restart the ACS
server. If restarting the ACS server does not resolve the problem, perform
Documentum Server troubleshooting. The OpenText Documentum Platform and
Platform Extensions Installation Guide provides more information on ACS.
Cause
CTS does not generate renditions for specific formats because the CTS Configurator
richmedia enables a limited number of formats out-of-the-box.
Resolution
Run a DQL command to make the additional formats rich media enabled. “Setting
the richmedia_enabled Flag” on page 242 provides instructions.
Cause
CTS is overloaded with transformation requests.
Resolution
Improve the load balancing by dedicating CTS instances for handling each type of
request, asynchronous requests and real-time requests. The OpenText Documentum
Content Transformation Services Installation Guide provides details.
3. On the Dql - Enter Query page, type the following command in the text box:
select distinct(namespace) from xcp_artifact_bundle (all)
4. Click Execute.
5. In the Results area, select to show additional items in the Show Items field to
view the complete list of namespaces.
6. Click OK.
Cause
Multiple issues can cause an incorrect URL, including the following:
• The xCP application host and the xCP Deployment Agent are not installed on the
same machine.
• The xCP application host is not set to port 8000.
Resolution
The resolution depends on the method of deployment:
1. In the folder where you have installed xCP Designer, edit the xcpdesigner.ini
file. Find the following parameters:
-Dxcp.application.url.host=
-Dxcp.application.url.port=8000
3. If the xCP application host is not installed on port 8000, then set the
xcp.application.url.port parameter to the correct port number.
If you do not do this, then you need to revise the URL address in the web browser
each time you deploy an xCP application by replacing the IP address and port
number with that of the xCP application host.
Cause
Depending on the browser settings, the content is either blocked or displayed.
Resolution
You must access the content either by loading over HTTPS or a proxy server.
Resolution
Add a custom JMS vendor-specific InitialContext. Create a standard BOF module
that contains the following:
• ClassName: SampleJMSInitialContextModule
• Primaryclass: com.documentum.bps.jms.SampleJMSInitialContexModule
• Interfaceclass: com.documentum.bps.JMSInitialContext
• ImplementationJar: The Jar containing the specified implementation and any
vendor-specific .jar files.
Example 10-1: Sample code for providing initial contexts for JMS activity
templates
/**
* Interface for providing Initial Contexts for JMS Activity Templates.
*/
public interface JMSInitialContext {
/**
* Initial Content Factory name that would be shown in the Activity template UI.
* @return InitialContext Factory Name.
*/
public String getInitialContextFactoryName();
/**
* URL hint that would be shown in the Activity template UI.
* @return Provider URL Format hint.
*/
public String getProviderURLFormat();
}
public TIBCOJMSInitialContexModule() {
Cause
If Allow selection of multiple items is selected in a Results List widget, then in any
expression where the selected row node of this Results List widget is used, the
system changes the data type of all child attributes to multi-value instead of single
value. Expressions using these child nodes show as errors in Problems tab.
Resolution
You must manually correct the errors in Problems tab.
Resolution
To enable this fix, perform following steps:
1. Go to:
<xCP_Designer_path>\maven\com\emc\xcp\xcpdatalist-impl\2.3.x
Resolution
Add the following in the dfc.properties file located at bps.war/WEB-INF/lib:dfc.
bof.classloader.enable_extension_loader_first = false
Resolution
The xCP Viewer delivers only secure content when the request is made over a secure
channel. If the application server receives a request over HTTPS for viewing the
content, only HTTPS URL from ACS is retrieved. This HTTPS ACS URL is used to
get the corresponding content and display the same on the viewer. For more
information about configuring SSL, refer the OpenText Documentum Platform and
Platform Extensions Installation Guide.