There are two document templating and rendering engines:
- an Angular application that runs separately from the main ERP UI application, that is called by the main frontend application in order to get nice rendered documents based on Angular templates and data objects;
- a server-side document renderer based on the Liquid specification. The server uses the nuget package located here: DotLiquid. The Liquid language specifications can be found here: Liquid.
This service knows about the data models. It receives objects with values and uses a HTML template written in the ‘liquid’ templating language to generate a specific document and store it and/or send on email.
The document service should automatically update the document reference (name, path, storage location) to an entity that contains documents.
Entities that have documents will contain an array of documents.
The UI will provide an interface to browse and download the documents.