Connector Configuration

Box Configuration

Box Connection Settings

Configuration options related to establish connection to the target Box instance.

Name Property Key Description

Impersonation account

raytion.connector.agent.box
.connection.adminMail

The user identified by this email will be used to impersonate users in order to synchronize their files. To do so, the user needs the "Manage Users" privilege, which is automatically given to all admin accounts.

JWT File

resources/box_config.json

Json Web Token that represents the credentials of the app

Box Advanced Settings

Configuration options related to fine-tuning the search metadata.

Name Property Key Description

User Defined Metadata

raytion.connector.agent.box
.metadata.userdefinedMetadata

Enable this option to add user defined properties of Box items to the document’s metadata.

Max. Content Size

raytion.connector.agent.box
.filter.maxSize

Files with a content larger than this boundary will only have their metadata indexed.

Include Bookmarks

raytion.connector.agent.box
.filter.includeBookmarks

Enable this option to add bookmarks as search targets.

Box Content Selection

Content is selected on two levels: Users and folders using include and exclude lists. In general, an empty include list is interpreted as "everything". You can either choose to include or exclude users.

[WARNING] Content is indexed based on its owner. Files that are owned by accounts outside the tenant and files that are owned by accounts that are not included will not be indexed even if they are visible to included accounts due to collaboration.

A folder path is the '/' separated list of folder names until (but excluding) the root folder 'All Files', as displayed in the breadcrumb for the folder owner.

Example

The folder from the following picture

box 18 breadcrumb

becomes the path

/HR Department/Applications/Erika Mustermann/

Name Property Key Description

User Exclude List

raytion.connector.agent.box
.filter.userExcludes

Users whose content will not be indexed.

User Include List

raytion.connector.agent.box
.filter.userIncludes[i].login

Login name of a user whose content should be indexed.

User Include Folder List

raytion.connector.agent.box
.filter.userIncludes[i].folderExcludes

Folder path in a user account that should not be indexed (including all subfolders).

User Include Folder List

raytion.connector.agent.box
.filter.userIncludes[i].folderIncludes

Folder path in a user account that should be indexed (including all non-excluded subfolders).

Exclude filter for file extensions

raytion.connector.agent.box
.filter.excludeExtensions

Files with listed file extensions will be not indexed as search targets. This filter takes precedence over the include list. The filter is applied case-insensitive.

Include filter for file extensions

raytion.connector.agent.box
.filter.includeExtensions

If this filter is filled, only files with listed file extensions will be indexed as search targets. If this list is empty, only the exclude filter will be applied. The filter is applied case-insensitive.

Synchronize file without file extensions

raytion.connector.agent.box
.filter.includeFilesNoExtension

If this setting is enabled, files without any file extension, e.g. 'README', will be indexed as search target.

Box User Alias Cache Settings

Configuration options determining how many and how long alternative user emails are cached.

Name Property Key Description

User freshness for content sync

raytion.connector.agent.box
.user.cache.maxAgeContent

The list of users will not be older than this.

User freshness for principal sync

raytion.connector.agent.box
.user.cache.maxAgeSecurity

The list of users will not be older than this.

Freshness for user email aliases

raytion.connector.agent.box
.user.cache.maxAgeEmailAliases

The list of email aliases in content and principal sync will not be older than this.

Box Change Processing Settings

Configuration options that determine how change processing works.

Name

Property Key

Description

Change Processing Cutoff

`raytion.connector.agent.box
changeprocessing.changeProcessingCutoff

The connector will stop change processing once it reaches this period before the present. Reducing the period will yield a correspondingly faster time-to-index at the cost of additional API calls as Box internally optimizes the stream of events by collapsing events of same time and target (e.g. multiple updates of the same file). The default cutoff is 30 minutes.

Apache Solr Configuration

Instance Configuration

Configuration options related to specifying the target Solr Instance and Collection including authentication/authorization settings.

Setting Description

Deployment

Deployment of the target Solr instance. Use Collection Server to feed against a standalone collection server. If your target instance is a Cloud Deployment, select the option Zookeeper.

Collection Server URL

For Standalone Collection Server, the URL to the collection server including the data path, e.g. http://localhost:8983/solr.

Zookeeper Instances

For Solr Cloud target, list of zookeeper instances including host and port.

Zookeeper Chroot

Znode Chroot of the cluster.

Collection ID

ID of the target collection.

Use Authentication

Enable this option to use Basic Authentication to authenticate against your Solr instance.

Username

Basic Authentication Username, if authentication is enabled.

Password

Basic Authentication Password, if authentication is enabled.

Use Proxy

If enabled, the connection to the Solr instance will be established through HTTP/HTTPS proxy.

Proxy Endpoint

Target proxy URL including protocol, host and port.

Proxy Authentication

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

Proxy Username

Proxy authentication username.

Proxy Password

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

ACL Prefix

A string prepended to ACE entries in ACLs.

Advanced HTTP Configuration (Optional)

Configuration options for fine-tuning the Http connection parameters.

Setting Description

Socket Timeout

Timeout value for receiving data from server.

Connection Timeout

Timeout value for establishing a connection to server.

Connection Request Timeout

Timeout value for requesting a connection from connection manager.

Max. Number of Connections

Max. number of connections maintained by the connection manager.

Max. Number Requests per Second

Max. number of requests send to the server per second.

Cultural/Language Suffix Configuration (Optional)

Specify the fields which should be appended with the cultural suffix retrieved from the language information attached to an item.

Setting Description

Standard Fields

Select any arbitrary fields to append the cultural suffix from a list of standardized fields provided by the connector. The fields are: Content, Source, Title, Item Type, Keywords, Author, and Contributors.

Include Additional Fields

Enable this option to include also additional fields not listed in the standard field list, e.g. fields generated by the pipeline.

Additional Fields

List of field names to apply the suffix to.

Fallback Language

Fallback language code in ISO 639 format to apply for items with missing language information.

Metadata Mapping Configuration (Optional)

Defines Solr Field Names for standardized metadata provided by the connector.

Setting Description

Mapping Entries

Mapping entries which will be applied to determine the field name in the Solr schema. Metadata with missing entry in this list will be processed with its default field name. The available fields are: Content, Allow Access Control List, Deny Access Control List, Source Name, Click URL, Title, Item Type, Mime Type, File Extension, Preview URL, Keywords, Languages, Author, Contributors, Created Date, Last Modified Date, Breadcrumbs, Breadcrumb URLS, or a custom field.

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