Identifiers

An Identifier is a base-64 encoded string that identifies the source of a document in IDOL Server. When Connectors and CFS are used to index documents into IDOL Server, an identifier is added to every document (in the AUTN_IDENTIFIER document field).

The identifier can be used to extract the original file from the repository. An application might need to do this when presenting the results of a query.

The exact content of the AUTN_IDENTIFIER field depends on the connector that retrieved the document, but contains information such as:

  • The name of the fetch task that was used to retrieve the document. When a connector needs to retrieve a file, it can use the same settings by finding the fetch task in its configuration file.

  • The document reference. The document reference identifies the location of a file within a repository. For files retrieved by a File System Connector, the document reference is the path to the file. For e-mail messages retrieved by an Exchange Connector, the document reference includes the name of the message store and folder that contain the message.

Example Identifier

An example identifier appears below:

Copy
<id section="MyTask1" reference="http://myserver:4567/doc/_vxswdfguhjknbio_earycqzt_">
   <param name="SERVICEURL" value="http://myserver:4567/service"/>
   <param name="DOCID">_vxswdfguhjknbio_earycqzt_</<param>
</id>

Subfile Indexes

Documents in IDOL Server can represent subfiles. In these documents, the AUTN_IDENTIFIER field contains the identifier of the container file.

To retrieve a subfile from a repository, a connector must retrieve the container file and send it to KeyView so that the subfile can be extracted. You must also specify a subfile index, so that KeyView can extract the correct subfile.

When CFS indexes documents into IDOL Server, subfile indexes are automatically written to the SubFileIndexCSV document field. For example:

SubFileIndexCSV="1"

The subfile index in this example (1) indicates that the document represents the second file in the container (the subfiles are indexed from 0).

Container files can contain other container files (for example an e-mail message file could contain ZIP file attachments, containing further subfiles). In this case, the subfile index might include more than one level:

SubFileIndexCSV="2,6"

A subfile index of 2,6 indicates that the document represents the seventh file in the third container, in the original container file.

When an action is sent to a connector to retrieve subfiles, the subfile index must be appended to the identifier of the container. For example:

PGlkIHM9Ik15VGFzazEiIHI9Imh0dHA6Ly9teXNlcnZlcjo0NTY3L2RvYy9fdnhzd2RmZ3VoamtuYmlvX2VhcnljcXp0XyI+PHAgbj0iU0VSVklDRVVSTCIgdj0iaHR0cDovL215c2VydmVyOjQ1Njcvc2VydmljZSIvPjxwIG49IkRPQ0lEIiB2PSJfdnhzd2RmZ3VoamtuYmlvX2VhcnljcXp0XyIvPjwvaWQ+|2.6

NOTE: Where subfile indexes have multiple levels (for example SubFileIndexCSV="2,6"), the comma must be replaced by a period.

Append Subfile Indexes to the Document Identifier

You can configure CFS to automatically append subfile indexes to the document identifiers, before the documents are indexed into IDOL Server.

To do this, use the following Lua Script.

NOTE: You must run the script after KeyView has extracted subfiles, so run the script using a Post Import task.

Copy
function handler( document )
   identifier = document:getFieldValue( "AUTN_IDENTIFIER" )
      if identifier then
         indices = document:getFieldValue( "SubFileIndexCSV" )
         if indices then
            indices = string.gsub(indices, ",", ".")
            document:setFieldValue( "AUTN_IDENTIFIER", identifier .. "|" .. indices )
         end
      end
   return true
end