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:
<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.
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