Skip to content
This repository has been archived by the owner on Dec 15, 2021. It is now read-only.

AdvancedConfiguration

John Lacey edited this page Nov 17, 2016 · 10 revisions

Configure the connectorInstance.xml file

This page describes the advanced configuration properties in connectorInstance.xml.

Prepare to edit connectorInstance.xml

The connector instance and the connectorInstance.xml file are interdependent. You cannot edit the connectorInstance.xml file until you create a connector instance, but you do not want to index content until you have edited the file. If you have already created a connector instance and need to edit the advanced configuration properties, then you may need to reset the connector traversal.

To create a new connector instance, edit connectorInstance.xml, and then start indexing content:

  1. In the GSA Admin Console, go to the Connectors page and add a connector instance.
  2. On the Add Connector page, you need to disable the traversal. There are two ways of doing this: * In GSA 6.2, you can select the Disable traversal check box. * In earlier versions, you can select a schedule from 1:00 AM to 1:00 AM.
  3. Click the Save Configuration button.
  4. Edit the connectorInstance.xml file in a text editor. The file is located in your Google connectors installation tree under Tomcat/webapps/connector-manager/connectors/Livelink_Enterprise_Server/connector-name.
  5. Edit the connector in the Admin Console, and enable the traversal: * In GSA 6.2, you can deselect the Disable traversal check box. * In earlier versions, you can select a schedule from 12:00 AM to 12:00 AM, or any non-empty interval.
  6. Click the Save Configuration button.

To edit connectorInstance.xml for an existing connector instance, and then reset the traversal:

  1. Edit the connectorInstance.xml file in a text editor. The file is located in your Google connectors installation tree under Tomcat/webapps/connector-manager/connectors/Livelink_Enterprise_Server/connector-name.
  2. In the GSA Admin Console, go to the Connectors page and click the Edit link for the connector instance.
  3. Click the Save Configuration button. You do not need to make any changes on the page.
  4. Click the Reset link for the connector instance, and then click OK in the popup dialog.

Default connectorInstance.xml file

The default configuration file looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
    <!-- EDIT THIS BEAN DEFINTION WITH CUSTOM PROPERTY VALUES -->
    <bean id="Livelink_Enterprise_Server"
          class="com.google.enterprise.connector.otex.LivelinkConnector"
          parent="Livelink_Enterprise_Server_Defaults" 
          dependency-check="all" scope="prototype">

        <!-- SET CUSTOM PROPERTY VALUES HERE -->

    </bean>
</beans>

Editing the file

The default values of the properties can be modified by inserting the modified value into the file below the following line:

        <!-- SET CUSTOM PROPERTY VALUES HERE -->

For example, to set the windowsDomain property to "example", you would add the following XML property element to the file:

        <!-- SET CUSTOM PROPERTY VALUES HERE -->
        <property name="windowsDomain" value="example"/>

The changes will take effect when you restart Tomcat or edit and save the connector configuration in the GSA Admin Console.

Map and list properties

In the cases where the property values are maps or lists, you can copy the default values and add or remove entries. If you only want to add new entries, it is simpler to use merge="true". For example, to add an entry to use Livelink /open URLs for documents, you can use the following:

<property name="displayPatterns">
    <map merge="true">
        <entry key="144" value="/open/{0}" />
    </map>
</property>

Configuration properties

The following table describes the configuration properties, the equivalent Livelink properties, the possible values, and the default value.

Connection Properties

connection

The database connection to use.

Livelink API: connection parameter.

If the value is empty the default database connection, as specified in the opentext.ini file, will be used.

Default value:

    <property name="connection" value=""/>

domainAndName

This property is based on the Livelink security parameter of the same name ("DomainAndName"), which has the boolean values FALSE and TRUE. The values are extended for the connector environment.

FALSE
Do no use the identity domain or the DNS-style domain.
LEGACY
Do not use the identity domain, but allow DNS-style domains in the username for authentication. This matches the previous behavior and is the default value.
AUTHENTICATION
Use the identity domain only for authentication.
TRUE
Use the identity domain for authentication and authorization.

For authentication, a DNS-style domain name in the username is preserved. For example: [email protected]. The configured windowsDomain will also be used for authentication if no domain appears in the identity or if such domains are disabled by setting this property to FALSE or LEGACY.

For authorization, the DNS-style domains are not preserved and the windowsDomain property is never used.

For ACLs and groups, in version 3.4 or later, the configured windowsDomain property may be used if this property is set to any value other than TRUE.

Default Value:

    <property name="domainAndName" value="legacy"/>

Since: 2.8

windowsDomain

The Windows domain to use for authentication and access control.

Livelink API: userName parameter.

The Windows domain is prepended to the username of search users for authentication. This value is not used for the Livelink system administrator or the traversal user. This parameter will always be used, whether authentication is done via HTTP tunneling or not.

For ACLs and groups, in version 3.4 or later, this value may be used. If this property is configured with a non-empty value, the domainAndName property is not TRUE, the user or group is external (that is, synchronized from a directory server), and the user or group name does not already contain a domain name, then the value of this property will be prepended to the user and group names in ACLs and group memberships.

Default Value:

    <property name="windowsDomain" value=""/>

HTTP Tunneling Properties

verifyServer

Specifies whether to verify the Web server's certificate when the Use HTTPS property is set to true.

Livelink API: VerifyServer attribute in config parameter.

Default Value:

    <property name="verifyServer" value="false"/>

caRootCerts

The root certificates to use when verifying the Web server's certificate.

Livelink API: CARootCerts attribute in config parameter.

This property is used only if HTTP tunneling is enabled (through the livelinkCgi property), and the https and verifyServer properties are both set to true. Each value in the list may be either a Base64 encoded X.509 format certificate or a path to a directory on the Connector Manager host which contains one or more files containing such certificates.

Default Value:

    <property name="caRootCerts">
<list></list>
</property>

Separate Authentication Properties

authenticationConnection

The database connection to use.

Livelink API: connection parameter.

If the value is empty the default database connection, as specified in the opentext.ini file, will be used.

Default Value:

    <property name="authenticationConnection" value=""/>

authenticationVerifyServer

Specifies whether to verify the Web server's certificate when the authenticationHttps property is set to true.

Livelink API: VerifyServer attribute in config parameter.

Default Value:

    <property name="authenticationVerifyServer" value="false"/>

authenticationCaRootCerts

The root certificates to use when verifying the Web server's certificate.

Livelink API: CARootCerts attribute in config parameter.

This property is used only if HTTP tunneling is enabled (through the authenticationLivelinkCgi property), and the authenticationHttps and authenticationVerifyServer properties are both set to true. Each value in the list may be either a Base64 encoded x.509 format certificate or a path to a directory on the Connector Manager host which contains one or more files containing such certificates.

Default Value:

    <property name="authenticationCaRootCerts">
<list></list>
</property>

Indexing Properties

startDate

The earliest modification date for items to be indexed.

The repository is traversed in modification date order, beginning with the earliest item. When a start date is specified, the indexing begins with items modified on or after the start date. Items with an earlier modification date will not be indexed.

Start dates may be specified as date/time values using the format "YYYY-mm-dd hh:mm:ss" or as date values using the format "YYYY-mm-dd". For example, valid startDate values are "2007-01-01 01:30:00" or "2007-01-01".

If the value is empty or cannot be parsed, all items will be indexed.

Default Value:

    <property name="startDate" value=""/>

publicContentUsername

Indexed items that are accessible by this Livelink user are marked as public documents. Public documents do not require authentication or authorization.

If the value specified for this property matches the traversal username (whether explicitly specified, or implicitly, as the system administrator), then all indexed content will be marked as public without checking permissions.

Note: This property bypasses Livelink security. Items that are made public are shown in the search results without authentication or authorization. The content of these items is available through the "Cached" and "Text Version" links. These items are not accessible within Livelink without authentication unless you have a Livelink customization that makes this possible.

Default Value:

    <property name="publicContentUsername" value=""/>

publicContentDisplayUrl

Specifies the Livelink URL which should be used in search results which link to public documents.

If the value is empty, the value of the displayUrl property will be used.

Default Value:

    <property name="publicContentDisplayUrl" value=""/>

excludedNodeTypes

Specifies the node types that you want to exclude from indexing. Excluding a node type means that no items of that type are indexed.

A comma-separated list of subtype numbers, optionally enclosed by braces. This value may be copied from the ExcludedNodeTypes parameter in the [LivelinkExtractor] section of the opentext.ini file.

Default Value:

    <property name="excludedNodeTypes"
value="137,142,143,148,150,154,161,162,201,203,209,210,211,345,346,361,374,431,441,3030004,3030201"/>

excludedVolumeTypes

Specifies the volume types that you want to exclude from indexing. Excluding a volume type means that no volumes of that type or any of the items that the volumes contain are indexed.

This property is not hierarchical. Only items whose OwnerID matches a volume of the excluded type will be excluded. Items in non-excluded subvolumes will be indexed. To exclude entire hierarchies, specify the items to be excluded by object ID rather than type, using the excludedLocationNodes property.

By default, the Undelete workspace (subtype 402) is not excluded. If the Undelete workspace is excluded, either here or by object ID in excludedLocationNodes, then previously indexed documents now in the Undelete workspace will be excluded by the authorization checks.

A comma-separated list of volume type numbers, optionally enclosed by braces. If this property is not specified, no volume types are excluded from indexing. This value may be copied from the ExcludedVolumeTypes parameter in the [LivelinkExtractor] section of the opentext.ini file.

Default Value:

    <property name="excludedVolumeTypes" value="148,161,162"/>

excludedLocationNodes

Specifies the IDs of the nodes that you want to exclude from indexing. Excluding a node means that it is not indexed, and if it is a container, none of the items it contains are indexed.

Excluding nodes requires the use of the DTreeAncestors table in Livelink, which in turn requires that the Livelink Recommender agent be enabled. The latest monthly Livelink patches are recommended.

A comma-separated list of object IDs, optionally enclosed by braces.

Default Value:

    <property name="excludedLocationNodes" value=""/>

includedExtendedData

A map of the ExtendedData attributes that are indexed and used to construct the HTML content. Each subtype can have different attributes indexed.

The map contains keys that consist of comma-separated subtype integers. The special string "default" is not supported. These are mapped to a comma-separate list of attribute names, which should appear in the ExtendedData field of the given subtypes.

Default Value:

    <property name="includedExtendedData">
<map>
<entry key="130,134" value="Content" />
<entry key="202" value="Mission,Goals,Objectives,Initiatives" />
<entry key="206" value="Instructions,Comments" />
<entry key="208" value="Headline,Story" />
<entry key="218" value="Instruction,Questions" />
</map>
</property>

includedObjectInfo

The object info attributes that you want to index.

A comma-separated list of attribute names. For a list of object info attributes, see "ObjectInfo Attributes" in the Livelink API Developer's Reference Guide from Open Text.

Default Value:

    <property name="includedObjectInfo" value="" />

includedVersionInfo

The version info attributes that you want to index.

A comma-separated list of attribute names. For a list of version info attributes, see "VersionInfo Attributes" in the Livelink API Developer's Reference Guide from Open Text.

Default Value:

    <property name="includedVersionInfo" value="" />

includedCategories

The IDs of the categories that you want to index. Including a category means that when that category is applied to an item, the attributes are indexed as metadata for that item.

A comma-separated list of object IDs for categories, and/or one of the following special strings:

all
All categories that are applied to the item are indexed.
searchable
Only attributes that have the Show in Search parameter enabled, from each of the categories that are applied to the item, are indexed. Otherwise, all attributes of the categories are indexed.
name
The category name will be indexed as the value of a "Category" property.
none
No attributes from any of the categories that are applied to the item are indexed. This value turns off the indexing of categories.

Specifying an empty string is the same as "all".

Default Value:

    <property name="includedCategories" value="all,searchable" />

excludedCategories

The IDs of the categories that you do not want to index. Excluding a category means that when that category is applied to an item, the attributes are not indexed as metadata for that item.

A comma-separated list of object IDs for categories, or one of the following special strings:

all
All attributes from each of the categories that are applied to the item are excluded. This value turns off the indexing of categories.
none
No attributes from any of the categories that are applied to the item are excluded.

Specifying an empty string is the same as "none".

Default Value:

    <property name="excludedCategories" value="" />

includedSelectExpressions

The additional SQL SELECT expressions that you want to index. The expressions are added to the main traversal query against the WebNodes view and the resulting values are indexed under the given property name. If the property exists, a new value will be added to it.

A map from property names to SQL SELECT expressions.

This is similar to adding a property with a document filter, except that the values here can be based on data from the database. In the query, the WebNodes view is given a range variable, or table correlation, of "a". For example, to index a count of the siblings of each document, you could include the following entry in the map:

    <entry key="siblingCount"
value="(select count(*)-1 from DTree d where d.ParentID = a.ParentID)" />

Default Value:

    <property name="includedSelectExpressions">
<map></map>
</property>

Since: 2.8

showHiddenItems

Specifies whether hidden items, or their children, are shown in the search results. This property is used for authorization, and not for indexing.

Excluding hidden items, by setting this property to false, requires the use of the DTreeAncestors table in Livelink, which in turn requires that the Livelink Recommender agent be enabled. The latest monthly Livelink patches are recommended. Setting useDTreeAncestors to false is not supported with this configuration.

One of the following values:

{} or false
Do not show hidden items.
{'ALL'} or true
Show all hidden items.

This value may be copied from the ShowHiddenItems parameter in the [Explorer] section or in the [Atlas] section of the opentext.ini file.

Subtype numbers in the list are silently accepted, but ignored.

Default Value:

    <property name="showHiddenItems" value="true" />

sqlWhereCondition

The additional SQL WHERE conditions that you want to use to restrict the items to be indexed. The conditions are added to the main traversal query against the WebNodes view and may reference any searchable columns in that view. In the query, the WebNodes view is given a range variable, or table correlation, of "a".

A SQL predicate.

Default Value:

    <property name="sqlWhereCondition" value="" />

Since: 2.8.4

pushAcls

Specifies whether ACLs and group memberships are sent to the GSA for secure items. ACLs are part of the indexed documents. Group memberships are fed separately to the GSA, and the schedule for group feeds is controlled by the [groupFeedSchedule](#groupfeedschedule) property.

One of the following values:

false
Do not send ACLs and group memberships. Secure items require late binding authZ.
true
Send ACLs and group memberships. Secure items use early binding.

Default Value:

    <property name="pushAcls" value="true" />

Since: 3.4

groupFeedSchedule

Specifies a cron schedule for group membership feeds. The [pushAcls](pushacls) property must be set to `true` for group feeds to be sent.

The schedule value uses the cron format minute hour dayOfMonth month dayOfWeek. For example, the default value of 0 0 * * * feeds groups daily at midnight.

Default Value:

    <property name="groupFeedSchedule" value="0 0 * * *" />

Since: 3.4

trackDeletedItems

Specifies whether to track items that have been deleted from the Livelink repository, so that those items may also be deleted from the Google search index.

For optimal performance tracking deleted items, the useIndexedDeleteQuery property should be set to true. This property was added in version 3.4. With earlier versions of the connector, the Livelink system administrator should add a database index for the AuditID, AuditDate, and EventID columns of the DAuditNew table of the Livelink backend database.

Deleting documents from a connector instance that only indexes a small portion of the repository is inefficient. To reasonably manage GSA licensing limits, you might consider disabling GSA deletes for those instances, while leaving them enabled for a connector instance that indexes the entire repository.

One of the following values:

false
Do not track deleted items.
true
Track deleted items, sending delete notifications to the Google Search Appliance.

Default Value:

    <property name="trackDeletedItems" value="true" />

useIndexedDeleteQuery

Specifies that the connector should use a query optimized for the default indexes of Livelink when checking for deletes.

To use this optimization with Oracle, a view needs to be added to the white list. See the Release Notes for details about the white list.

    (select b.*,
TO_CHAR(AuditDate, 'YYYY-MM-DD HH24:MI:SS') as GoogleAuditDate
from DAuditNew b)

For optimal performance tracking deleted items when this property is false, which is the default value, the Livelink system administrator should add a database index for the AuditID, AuditDate, and EventID columns of the DAuditNew table of the Livelink backend database.

One of the following values:

false
Use the legacy query, which requires a custom index for optimal performance.
true
Use an improved query, which uses the default indexes.

Default Value:

    <property name="useIndexedDeleteQuery" value="false" />

Since: 3.4

displayPatterns

A map of the relative display URLs used in search results. Each subtype can have a different relative URL. This URL suffix is combined with the value of the displayUrl property to form a complete URL for each item in the search results.

The map contains keys that consist of comma-separated subtype integers, or the special string "default". These are mapped to a java.text.MessageFormat pattern. There are four parameters that can be used in each pattern, delimited by braces:

0
The object ID.
1
The volume ID.
2
The subtype.
3
The display action, which varies by subtype and is configured by the displayActions property.
4
The filename with extension, based on the name of the item and the version filename extension. Intended for use with doc.Fetch URLs (see the example below).

To fetch documents directly from the search results, instead of linking to the Overview or Properties page, add one of the following entries to the map:

    <entry key="144" value="/open/{0}" />

or

    <entry key="144" value="/{0}/{4}?func=doc.Fetch&amp;nodeid={0}&amp;viewType=1" />

Default Value:

    <property name="displayPatterns">
<map>
<entry key="141" value="?func=llworkspace" />
<entry key="142"
value="?func=ll&amp;objtype=142&amp;objAction=browse" />
<entry key="default"
value="?func=ll&amp;objId={0}&amp;objAction={3}" />
</map>
</property>

displayActions

A map of the display actions used in search results. Each subtype can have a different action.

The map contains keys that consist of comma-separated subtype integers, or the special string "default". These are mapped to Livelink action names, such as "browse" or "overview". If the map contains an entry mapping "144" (documents) to "overview", and the Livelink server is version 9.5 or earlier, the "properties" action is used instead.

Default Value:

    <property name="displayActions">
<map>
<entry key="0,136,202,402" value="browse" />
<entry key="1" value="open" />
<entry key="130,134,215" value="view" />
<entry key="144" value="overview" />
<entry key="204" value="BrowseTaskList" />
<entry key="206" value="BrowseTask" />
<entry key="207" value="ViewChannel" />
<entry key="208" value="ViewNews" />
<entry key="218" value="OpenPoll" />
<entry key="default" value="properties" />
</map>
</property>

useDTreeAncestors

Specifies whether to use the DTreeAncestors table to get hierarchy information. Using the database table is faster, but the table may be empty or incomplete.

Due to performance issues, Open Text has sometimes recommended turning off the Recommender agent. There have also been a number of bugs that led to missing entries. Many of the performance issues and other bugs have been fixed in the latest monthly patches, but it would be nice not to rely on DTreeAncestors since many deployments have incomplete or missing data.

If the use of DTreeAncestors is disabled, then a Genealogist implementation class will be used to get hierarchy information.

One of the following values:

false
Use multiple, separate database queries to get information about the hierarchy.
true
Use the DTreeAncestors table.

Default Value:

    <property name="useDTreeAncestors" value="true" />

Since: 2.6.10

useDTreeAncestorsFirst

Specifies whether to perform a join with DTreeAncestors to get hierarchy information. The join may be faster or slower than getting the hierarchy information separately. It is most beneficial when only a small portion of a large repository is being indexed.

You must also set the useDTreeAncestors property to true (the default) to use this optimization. It is not compatible with the genealogists.

To use this optimization with Oracle, a view needs to be added to the white list. See the Release Notes for details about the white list.

    (select * from DTree join DTreeAncestors using (DataID)
order by ModifyDate, DataID)

One of the following values:

false
Use one or more separate database queries to get information about the hierarchy.
true
Use a join with the DTreeAncestors table.

Default Value:

    <property name="useDTreeAncestorsFirst" value="false" />

Since: 3.4

Other Properties

authenticationManager

The AuthenticationManager instance to use when authenticating before providing access to content.

There are three AuthenticationManager implementations in the com.google.enterprise.connector.otex package:

LivelinkAuthenticationManager
This implementation authenticates by using the provided credentials to log in to Livelink.
NoOpAuthenticationManager
Note: This value bypasses Livelink security. This implementation authenticates all users. An optional "sharedPassword" property may be configured containing a password which must be present in the credentials.
LdapAuthenticationManager
This implementation uses the provided credentials to authenticate against an LDAP server. Two properties are required:
providerUrl
The LDAP or LDAPS URL for the directory server.
securityPrincipalPattern
The DN to use for authentication. A single java.text.MessageFormat parameter should be supplied;
the provided username will be substituted there. For example:
uid={0},ou=people,dc=example,dc=com

Default Value:

    <property name="authenticationManager">
<bean class="com.google.enterprise.connector.otex.LivelinkAuthenticationManager"/>
</property>

In versions prior to 2.6.10, a custom authentication manager was assigned by editing the authenticationManager bean definition in connectorInstance.xml.

authorizationManager

The AuthorizationManager instance to use when authoring specific documents for specific users.

There is a single AuthorizationManager in the connector, but custom implementations can be used.

Default Value:

    <property name="authorizationManager">
<bean class="com.google.enterprise.connector.otex.LivelinkAuthorizationManager"/>
</property>

Since: 2.6.10

publicContentAuthorizationManager

The AuthorizationManager instance to use when assigning public access to documents that are accessible by the [publicContentUsername](#publiccontentusername) user. Unlike the [authorizationManager](#authorizationmanager), this bean must be an instance of LivelinkAuthorizationManager.

There is a single AuthorizationManager in the connector, but custom implementations can be used.

Default Value:

    <property name="publicContentAuthorizationManager">
<bean class="com.google.enterprise.connector.otex.LivelinkAuthorizationManager"/>
</property>

Since: 2.6.10

tryLowercaseUsernames

A hack to try using a lowercase version of the supplied username for authorizations. If true, the lowercase form of the username will be tried first, and if authorization fails, the original form of the username will be tried. If false, only the original form of the username will be tried.

Default Value:

    <property name="tryLowercaseUsernames" value="false"/>

contentHandler

The name of the ContentHandler implementation class to use when retrieving document content for indexing.

There are four ContentHandler implementations in the com.google.enterprise.connector.otex package:

ByteArrayContentHandler
The fastest implementation, but not a very scalable one because it maintains the entire content in a byte array.
FileContentHandler
Stores the content in a temporary file, but performs very badly for files larger than 10 MB.
HttpURLContentHandler
Retrieves the content directly from the Livelink server using an HttpURLConnection. Performance is inexplicably disappointing, in line with but consistently 1-1/2 to 3 times slower than the others.
PipedContentHandler
DO NOT USE: This implementation has several bugs that prevent its use, including a potential for deadlock and failures in exception handling that can lead to infinite loops during traversal.

Starting in version 2.8.4, the property value can also be a bean, in addition to the class name strings. The HttpURLContentHandler supports properties of its own:

urlBase
The URL prefix used to retrieve the document. The default value is the value of the Livelink URL field in the connector configuration page.
urlPath
The URL path used to retrieve the document. The default value is "?func=ll&objAction=download&objId=".
connectTimeout
The connect timeout in seconds. The default timeout is zero, which means timeouts are disabled. Since: 3.2.2
readTimeout
The read timeout in seconds. The default timeout is zero, which means timeouts are disabled. Since: 3.2.2

For example:

    <property name="contentHandler">
<bean class="com.google.enterprise.connector.otex.HttpURLContentHandler">
<property name="urlPath" value="?func=myfunc&objid="/>
<property name="readTimeout" value="60"/>
</bean>
</property>

Default Value:

    <property name="contentHandler"
value="com.google.enterprise.connector.otex.FileContentHandler"/>

servtype

The database server type.

Valid values begin with "MSSQL" or "Oracle". Sybase is not supported. This value may be copied from the servtype parameter in the [dbconnection:connection_name] section of the opentext.ini file. If the value is empty the database type will be determined automatically.

Default Value:

    <property name="servtype" value=""/>

genealogist

The name of the Genealogist implementation class to use to lookup folder hierarchy information when [useDTreeAncestors](#usedtreeancestors) is false.

There are three Genealogist implementations in the com.google.enterprise.connector.otex package:

Genealogist
The basic implementation, which uses one query for each item in a batch for each level of the hierarchy.
HybridGenealogist
Uses a single query to get the parents of all items in a batch, and then uses one query for each item for each additional level of the hierarchy.
BatchGenealogist
Uses one query for each level of the hierarchy.

Default Value:

    <property name="genealogist"
value="com.google.enterprise.connector.otex.BatchGenealogist"/>

Since: 2.6.10