Run a Lua Script after Ingestion

You can configure the connector to run a Lua script after batches of documents are successfully sent to the ingestion server. This can be useful if you need to log information about documents that were processed, for monitoring and reporting purposes.

To configure the file name of the Lua script to run, set the IngestBatchActions configuration parameter in the connector's configuration file.

For example:


For more information about this parameter, refer to the Enovia Connector Reference.

The Lua script must have the following structure:

function batchhandler(documents, ingesttype)

The batchhandler function is called after each batch of documents is sent to the ingestion server. The function is passed the following arguments:

Argument Description

A table of document objects, where each object represents a document that was sent to the ingestion server.

A document object is an internal representation of a document. You can modify the document object and this changes the document. However, as the script runs after the documents are sent to the ingestion server, any changes you make are not sent to CFS or IDOL.

ingesttype A string that contains the ingest type for the documents. The batchhandler function is called multiple times if different document types are sent.

For example, the following script prints the ingest type (ADD, DELETE, or UPDATE) and the reference for all successfully processed documents to stdout:

function batchhandler(documents, ingesttype) 
     for i,document in ipairs(documents) do 
         local ref = document:getReference() 
         print(ingesttype..": "..ref)