Doc Manager

Introduction

Doc Manager is a stateless micro-service used by Nintex Process Discovery to generate CSV, BPMN, and Word documents for existing processes. It can be deployed at multi-instance/machine deployments where Load Balancers are running.

Nintex Services Watchdog is responsible for loading, monitoring, and restarting Doc Manager. All methods that update the database and cache are queued using RabbitMQ.

Doc Manager now supports a Linux environment.

Environment Variables

For the nodejs service to operate correctly, the following environment variables should be set:

Environment Variable

Description

NODE_ENV=prod

Node environment - supported values - prod, dev, test, docker

CONFIG_DIR=<Root>/Kryon/Server/config

The full path to the root config directory

SEQ_URL=http://localhost:5341

The URL to reach Seq central logging server

PORT=3000

The port that the service will bind

If the above variables are not set, you need to create them.

You need to be an administrator to create or modify Environment Variables.

To create Environment Variables in Windows:

  1. Search for the System Properties from the Windows taskbar.

  2. Select the Advanced tab and click Environment Variables...

  3. Click New from the System variables.

  4. Add the variables listed above and click OK.

Doc Manager Output

The generated documents are a Base64 string. This can result in very large DOCX and BPMN files (16MB to over 100MB). Therefore, the Base64 file is encrypted and saved in MongoDB as approximately 10MB per chunk.

In MongoDB, every generated document will be accompanied by a getCollection with a metadata document containing the request details and the number of chunks created. Along with the metadata will be encrypted data chunks with a chunk index and the encrypted Base64 string.

Example:

Fields that are to be replaced with an XML should always start with an sign.

In the Nintex Process Discovery document, the fields are:

  • «@VariantsTableOfContents»

  • «@VariantsStartField»

There is currently a hard limit of 512MB per generated document.

The first time a document is generated, you will be prompted to "update the table of contents".

Document Statuses

The generated document statuses are as follows:

  • New - A document generation message has been added to the queue and the service will start processing it when it is available.

  • InProgress - A document generation is in progress.

  • Completed - A document generation has been completed and saved to the DB.

  • Failed - A document generation has failed (error logs are saved to the logger).

  • When a document status is Failed, the entry will be removed in Redis, therefore, the entire process needs to restart to obtain a status update.