Document extender plug-in

The Document Extender Plug-in provides features to programmatically manipulate the normal process for adding or updating a document by looking at the meta information associated with the document. It is available as an option starting with FileHold version 16.3.

  • Prevent a document from being added or updated - Normally a document can be added or updated when the typical constraints such as required fields are met. The plug-in provides a way to add arbitrary constraints outside of the normal configuration that can block the user with an error and log the details when the constraints are not met. A common use is to prevent a document from being added when it has meta information in common with an existing document. For example, an organization's quality process requires that files of the same type are only added once to a folder. The plug-in can check to see if the filename and schema match an existing current document version with the same name, file type and schema in the folder. Since the constraints are arbitrary, many other combinations of meta information can be used for deduplication. Other scenarios include validating that related fields have the correct values such as date or number ranges crossing two or more metadata fields. 
  • Update a document's meta information when it is added or updated - A user can normally manipulate a document's name, schema and metadata fields directly or with a lookup when the document is added or edited. The plug-in makes it possible to use the information provided by the user, along with other arbitrary information, to update the document name, schema and metadata fields after the user has saved/added the document. For example, a user knows a contract start date and the duration of the contract in months. They want to use the contract end date in a document lifecycle event but they do not want to have to calculate it. If they enter the start date and duration in metadata fields, the plug-in can calculate the end date. Another common use is when a filename contains information that should be distributed to metadata fields. For example, a watched folder is setup to automatically import statements generated from a client management system. The CMS creates the statement files with a filename that contains a variety of information including the client's account number. The plug-in parses the account number from the filename and uses it to lookup the client name and account type from the CMS database then updates the account number, client name and account type metadata fields.