Connector Configuration

Configuration for OpenText Content Server

Please note that certain settings affect the performance of content traversals, see the Performance section of the FAQ for details.

OpenText Content Server Connection Settings

Configuration options related to establishing connections to the source OpenText Content Server instance.

Name Property Key Description

Instance Name

raytion.connector.agent.otcs
.connection.instanceName

An identifier of the source system that is automatically added to the metadata of each document.

REST API Base URL

raytion.connector.agent.otcs
.connection.restBaseUri

Base URL of OpenText Content Server’s REST API. This URL is also used to create URLs for people to click on in search result.

Adding the /api/v1/ or /api/v2/ suffix is optional and discouraged, since it may mislead as to what REST API version is actually used. The connector currently uses both v1 and v2.

This URL can point to a different host than the other API (base) URLs, as long as all hosts represent the same OpenText Content Server.

SOAP APIs Base URL

raytion.connector.agent.otcs
.connection.soapBaseUri

Base URL of OpenText Content Server’s main SOAP APIs.

This URL must point at the base directory (usually ending in /cws) of the Content Web Services; see Content Web Services in OpenText Content Server Setup for the installation. The actual endpoints used are auto-detected, including whether .svc is needed at the end.

This URL can point to a different host than the other API (base) URLs, as long as all hosts represent the same OpenText Content Server.

Records Management URL

raytion.connector.agent.otcs
.connection.rmUri

Full URL of OpenText Content Server Records Management Security Management SOAP API. This URL is only needed if Records Management Security is used, see Records Management Security Management SOAP API in OpenText Content Server Setup for the installation.

Unlike for other SOAP APIs, no auto-detection for needed suffixes are done for this URL; this URL needs to be specified in its entirety.

This URL can point to a different host than the other API (base) URLs, as long as all hosts represent the same OpenText Content Server.

Technical User

raytion.connector.agent.otcs
.connection.username

Technical user who will be used for traversing OpenText Content Server.

See Needed Permissions and Privileges in OpenText Content Server Setup for the permissions needed by this user.

Password

raytion.connector.agent.otcs
.connection.password

Password for the technical user.

Security Cache Expiration Duration

raytion.connector.agent.otcs
.connection.cacheExpiration

Maximum time to live of cached principal- and security clearance-related values after the last update.

HTTP Timeout

raytion.connector.agent.otcs
.connection.httpTimeout

The duration after which HTTP calls (both to the OpenText Content Server REST and the OpenText Content Server SOAP APIs) time out.

Maximum number of retries for HTTP requests

raytion.connector.agent.otcs
.connection.maxRetries

The maximum number of retries in case of OpenText Content Server API timeouts.

Retry Delay

raytion.connector.agent.otcs
.connection.retryDelay

The delay after which a retry is performed in case of an OpenText Content Server timeout.

Maximum REST API calls per second

raytion.connector.agent.otcs
.connection
.requestsPerSecond

The maximum number of OpenText Content Server REST API calls made per second.

This is only an upper limit; the connector may or may not actually reach it at runtime.

OpenText Content Server Content Traversal Settings

Configuration related to what to traverse for content.

Name Property Key Description

Start node IDs

raytion.connector.agent.otcs
.content.traversal
.startNodeIds

Root nodes where traversal starts. The default is 2000 (Enterprise Workspace).

Exclude node IDs

raytion.connector.agent.otcs
.content.traversal
.excludeNodeIds

Nodes not to traverse for content. The subtrees of exclude nodes will also not be traversed unless this is overridden by specific start node IDs.

Type IDs

raytion.connector.agent.otcs
.content.traversal.typeIds

IDs of node (sub)types to convert into items for the index. The defaults are 144 (Document), 130 (Topic), 134 (Reply), 208 (News), 5574 (Wiki Page), 123470 (Forum Entry), and 123476 (FAQ Entry).

Fetch users as items

raytion.connector.agent.otcs
.content.traversal
.fetchUsersAsItems

Whether to fetch users not only as principals, but also as content items.

If this option is selected, then the user profiles are indexed as well so that the profile information becomes searchable.

OTCS-local time zone

raytion.connector.agent.otcs
.content.traversal.timeZone

The time zone the OpenText Content Server uses internally, used for some timestamp clarifications. The default value is the local time zone of the connector.

OpenText Content Server Item Settings

Optional configuration related to what data the items will contain.

Name Property Key Description

Fetch categories

raytion.connector.agent.otcs
.content.item
.fetchCategories

Whether to fetch categories attached to nodes and their data values.

Fetch classifications

raytion.connector.agent.otcs
.content.item
.fetchClassifications

Whether to fetch non-Records Management classifications attached to those nodes that can have them.

Fetch Records Management classifications

raytion.connector.agent.otcs
.content.item
.fetchRmClassification

Whether to fetch metadata about Records Management classifications attached to nodes.

Fetch full (Records Management) classifications paths

raytion.connector.agent.otcs
.content.item
.fetchFullClassificationPaths

Whether to also fetch the ancestors' names of all classifications and Records Management classifications.

Fetch holds

raytion.connector.agent.otcs
.content.item.fetchHolds

Whether to fetch metadata of holds applied to those nodes that can have them.

Fetch RSIs

raytion.connector.agent.otcs
.content.item.fetchRsis

Whether to fetch the record series identifiers assigned to nodes.

Fetch cross references/XRefs

raytion.connector.agent.otcs
.content.item.fetchXrefs

Whether to fetch some metadata about cross references (a.k.a XRefs) for those nodes that can have them.

Maximum content size

raytion.connector.agent.otcs
.content.item.maxSize

For items with content larger than this size, only the metadata will be indexed. If the size of the content is known to be bigger than this size in advance, the connector will not fetch it from OpenText Content Server. Setting this to zero (0) bytes is supported and will result in:

  • no documents having any content, and

  • the connector not accessing the API endpoints to fetch such content.

Metadata Cache Expiration Duration

raytion.connector.agent.otcs
.content.item
.cacheExpiration

Maximum time to live of cached metadata values after the last update.

OpenText Content Server Change Processing Settings

Configuration related to Automated Change Processing, its scope, and its data source/approach.

Name Property Key Description

Change Processing Audit LiveReport ID

raytion.connector.agent.otcs
.changeprocessing
.auditLiveReportId

Node ID of the LiveReport that queries the audit table to fetch the recent changes, which are then processed by the connector (this is the LiveReport approach to Automated Change Processing). If no LiveReport ID is provided (the default), then changes are fetched using the OTCS-internal search engine (this is the Search approach to Automated Change Processing).

The Search approach to Automated Change Processing employs the OTCS-internal search engine and does not provide all changes. Especially, deleted nodes cannot be detected via the search. See Preparations for Change Processing for details.

Calculate cascading deletions for Audit LiveReport

raytion.connector.agent.otcs
.changeprocessing
.useCascadingDeletions

The LiveReport approach to Automated Change Processing detects deletions, but in case of deleted container nodes, it does not detect that the container’s contents were also deleted. Select this option to let the connector calculate the cascading deletions of container nodes (based on information collected during previous traversals / change processing iterations).

For example, if a folder has been deleted which contained subfolders and documents, then selecting this option ensures that all the deleted sub-nodes are also deleted from the search index. If this option is deselected, then only the deleted folder node itself is removed from the index. This might be useful if you want change processing to capture single-node changes quickly, while bulk deletions shall be covered by incremental traversals.

Use separate Exclude node IDs for change processing

raytion.connector.agent.otcs
.changeprocessing
.separateExcludeNodeIds

Whether to use separate Exclude node IDs for change processing. The default is false, meaning the Exclude node IDs configured under OpenText Content Server Content Traversal Settings are used for change processing, too.

This option allows to specify Exclude nodes which differ from the Exclude nodes used for Ramp Ups and Incremental Traversals. So you can apply change processing to a different portion of the data than content traversals.

Exclude node IDs

raytion.connector.agent.otcs
.changeprocessing
.excludeNodeIds

Nodes to ignore changes for. Changes to the subtrees of exclude nodes will also be ignored unless this is overridden by specific start node IDs.

This option appears if "Use separate Exclude node IDs for change processing" is enabled.

Use separate Type IDs for change processing

raytion.connector.agent.otcs
.changeprocessing
.separateTypeIds

Whether to use separate Type IDs for change processing. The default is false, meaning the Type IDs configured under OpenText Content Server Content Traversal Settings are used for change processing, too.

This option allows to apply change processing to a different set of node types than content traversals.

Type IDs

raytion.connector.agent.otcs
.changeprocessing
.typeIds

IDs of node (sub)types to process during change processing.

This option appears if "Use separate Type IDs for change processing" is enabled.

Maximum number of retries for changed nodes

raytion.connector.agent.otcs
.changeprocessing
.maxRetries

The maximum number of retries in case of failures to process a change.

If the connector cannot fetch a node which has been changed (e.g. due to missing permissions), then it retries fetching it during subsequent change processing iterations. This option specifies the number of iterations which retry to fetch a node.

The connector always retries fetching nodes that cannot be fetched due to temporary network issues, ignoring this setting for those nodes.

OpenText Content Server Debugging Settings

Optional configuration related to debugging.

Name Property Key Description

JSON dump base path

raytion.connector.agent.otcs
.content.debug.dumpBasePath

The directory to dump the raw JSON received from the REST API to. If the directory does not exist, it will be created.

If the value is unset (this is the default), no JSON will be dumped.

JSON dump filter

raytion.connector.agent.otcs
.content.debug
.jsonDumpFilter

Specifies which REST API responses are dumped into the JSON dump base path. You can choose between two options:

  • Basic metadata of unknown types only (dumps information about items of a type which is not supported by the connector, i.e., which is not listed in Content Types)

  • All REST API responses (except successful authentication)

Microsoft Search Configuration

Connector Product Settings

Configuration Options related to specifying the product which is going to connect to the Microsoft Search.

Name Property Key Description

Connection ID

raytion.connector.backend.microsoft-search.product.connectionId

Connection ID of the connector product which is registered with Microsoft Search.

Microsoft Services Authentication Settings

Configuration Options related to authentication for the Microsoft Search.

Name Property Key Description

OAuth2.0 client ID

raytion.connector.backend.microsoft-search.authentication.clientId

OAuth2.0 client ID for the Microsoft Search Authentication.

Tenant ID

raytion.connector.backend.microsoft-search.authentication.tenantId

Tenant ID of OAuth2.0 Token URI for the Microsoft Search Authentication.

Authentication Method

raytion.connector.backend.microsoft-search.authentication.authMethod

How to authenticate against Microsoft search. Available is authentication via client secret, java keystore, or certificate file.

OAuth2.0 client secret

raytion.connector.backend.microsoft-search.authentication.clientSecret

OAuth2.0 client secret for the Microsoft Search Authentication.

Certificate Keystore Alias

raytion.connector.backend.microsoft-search.authentication.certificateKeystore.certificateKeystoreAlias

The alias under which the certificate is stored in the keystore.

Certificate Keystore Password

raytion.connector.backend.microsoft-search.authentication.certificateKeystore.certificateKeystorePassword

The password to access the keystore.

Client Certificate Password

raytion.connector.backend.microsoft-search.authentication.clientCertificate.clientCertificatePassword

The password to access the certificate.

Microsoft Search Connection Settings

Configuration Options related to establish a connection and sending requests to Microsoft Search.

Name Property Key Description

API endpoint

raytion.connector.backend.microsoft-search.connection.endpoint

Microsoft Search API endpoint including version specifier.

Requests per Second

raytion.connector.backend.microsoft-search.connection.requestsPerSecond

Maximum number of requests per second.

Connect Timeout

raytion.connector.backend.microsoft-search.connection.connectTimeout

Determines the timeout in milliseconds until a connection is established. A timeout value of zero is interpreted as an infinite timeout. A negative value is interpreted as undefined (system default if applicable).

Socket Timeout

raytion.connector.backend.microsoft-search.connection.socketTimeout

Defines the socket timeout in milliseconds, which is the timeout for waiting for data or, put differently, a maximum period inactivity between two consecutive data packets. A timeout value of zero is interpreted as an infinite timeout. A negative value is interpreted as undefined (system default if applicable).

Use Poxy

raytion.connector.backend.microsoft-search.connection.useProxy

If enabled, the connection to Microsoft Graph API will be established through a HTTP/HTTPS proxy.

Proxy Endpoint

raytion.connector.backend.microsoft-search.connection.proxy.uri

Target proxy URL including protocol, host and port.

Proxy Authentication

raytion.connector.backend.microsoft-search.connection.proxy.authentication

If enabled, the connector uses the specified credentials to authenticate towards proxy.

Proxy Username

raytion.connector.backend.microsoft-search.connection.proxy.username

Proxy authentication username.

Proxy Password

raytion.connector.backend.microsoft-search.connection.proxy.password

Proxy authentication password. The value will be stored encrypted by the connector.

Microsoft Search Principal Mapping Settings

Configuration Options related to mapping source system principals to Microsoft Search AzureAD users.

Name Property Key Description

Principal ID Attributes

raytion.connector.backend.microsoft-search.principal-mapping.principalIdProperties

AzureAD attributes to match principal ids against. Maps a principal id to all AzureAD user objects where one of the specified attributes values matches the principal id.

General Configuration

Database Configuration

Name Property Key Description

URL

spring.datasource.url

JDBC URL for the target database. Out of the box, the connector will use H2 file database. For productive usage, use PostgreSQL specifying the URL in format: jdbc:postgresql:<host>:<port>/<database>

Username

spring.datasource.username

Database Username to read and write to database.

Password

spring.datasource.password

Database Password for the specified user

Traversal Configuration

Name Property Key Description

Traversal History Length

raytion.connector.agent.traversal
.store.historyLength

Max. number of traversals to store in the history. Once the limit is exceeded, the connector will automatically remove oldest entries in the history. (default: 100)

Number of Traversal Workers

raytion.connector.agent.traversal
.workers.worker

Number of workers to execute the traversal in parallel. Increasing this value might improve the performance, but will footprint higher memory consumption. It is recommended to keep the default value. (default: 10)

Traversal Job Poll Interval

raytion.connector.agent.traversal
.workers.jobPollInterval

Interval between the workers to be triggered to fetch and process the next tasks. (default: 10ms)

Completion Timeout

raytion.connector.agent.traversal
.workers.completionTimeout

If the search engine indexes the items asynchronously, there might be some processing still in-flight during the completion process of a traversal. This value specifies the timeout value until all asynchronous callbacks are expected to return before completing the traversal. (default: 10m)

Principal Aliaser Configuration

Principal Aliasing is applied on user information as part of Content ACL processing during Content Synchronization and Principal processing during Principal Synchronization. It’s purpose is to map external source system user to the corresponding user in search engines domain. You can configure a list of aliasers in the connector which will be applied in sequence and in order on user ACEs and user principals. The Connector supports following custom aliasing mechanism.

Custom Aliaser Disabled

If the Custom Aliaser checkbox is not selected, the connector will process user information on ACE and user principals unchanged to Search Engine. If all relevant users in the source system can be found with the same identifier in the search engine, this setup is sufficient to reflect the same secure search experience in the search engine as defined by the policy in the source system. The connector uses this option as default to process user information.

Custom Aliaser Enabled

If custom aliasing is enable then there are four types of aliaser avaialble:

Simple XML Table Aliaser

Static mapping table which can be uploaded as XML file. The connector uses the uploaded file as lookup table to map a user in the source system to a user in the search engine. Users missing a record in the file will be dropped from the ACE and during Principal Synchronization. This option is only recommended for environment with a manageable amount of users as for each user the corresponding mapping entry needs to be specified in the file.

Name Description

XML Mapping File

Browse and upload or drag and drop.

Sample XML mapping file:

<?xml version="1.0" encoding="UTF-8"?>
<storeddata>
    <entry keyValue="user1">user1@raytion.com</entry>
    <entry keyValue="user2">user2@raytion.com</entry>
    <entry keyValue="user3">user3@raytion.com</entry>
</storeddata>
Regex Replacer Aliaser

Regex Replacer Aliaser computes aliases based on a regular expression. Principals that match the regular expression are replaced by the Substitution String.

Name Property Key Description

Pattern

raytion.connector.aliaser.aliasers[*]
.replacer.pattern

The regular expression to match, this is the part that will be replaced. If braces (…​) are used in the pattern then the matched value can be retrieved using $1

Substitute String

raytion.connector.aliaser.aliasers[*]
.replacer.substituteString

String to replace the matching part of the find string. Matched value is accessed by employing $1

Regex Extractor Aliaser

Regex Extractor Aliaser computes aliases based on a regular expression. Principals that match the regular expression are inserted into the Insert-Into String.

Name PropertyKey Description

Pattern

raytion.connector.aliaser.aliasers[*]
.extractor.pattern

The regular expression to match, this is the part that will be inserted into the new value. If braces (…​) are used in the pattern then the matched value can be retrieved using $$

Insert-Into String

raytion.connector.aliaser.aliasers[*]
.extractor.insertIntoString

String to replace the matching part of the pattern. Matched value is accessed by employing $$

LDAP Aliaser

Ldap Aliaser searches for an LDAP entry with the requested name in the input value and returns the specified output attribute.

Name Property Key Description

Host

raytion.connector.aliaser.aliasers[*]
.ldap.host

Fully Qualified Domain Name of an LDAP server

Port

raytion.connector.aliaser.aliasers[*]
.ldap.port

Port to use for LDAP connection, defaults are 389/636 or (recommended) 3268/3269 for simple/SSL

AccountDN

raytion.connector.aliaser.aliasers[*]
.ldap.bindAccountDN

AccountDN for bind to LDAP

Password

raytion.connector.aliaser.aliasers[*]
.ldap.password

Password part of credentials

Input Field

raytion.connector.aliaser.aliasers[*]
.ldap.inputField

The Active Directory attribute name for this equality filter

Search Root DN

raytion.connector.aliaser.aliasers[*]
.ldap.baseDN

Distinguished Name of the subtree which is searched. The smaller the subtree the better the performance but the higher the chance of encountering principals which are not part of this subtree

Output Field

raytion.connector.aliaser.aliasers[*]
.ldap.outputField

Attribute that should be returned in result entries