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:
-
Search for the System Properties from the Windows taskbar.
-
Select the Advanced tab and click Environment Variables...
-
Click New from the System variables.
-
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.