Development, packaging and rendering of the RosaeNLG templates
As RosaeNLG is primarly a node.js library, the easiest setup is just to use it in a simple node.js app: see Quick Start.
Still, there are multiple other possible ways to use RosaeNLG. A pipeline has 3 steps:
- 
develop NLG templates 
- 
package the templates - which can be optional depending how you will run them 
- 
render the templates to generate production texts 
| Situation | Develop | Package | Render | 
|---|---|---|---|
| if you like node.js | one single node.js project using RosaeNLG npm library, and containing the templates | ||
| if you need to have Java for production | node.js project to develop the templates | use Gulp Helper to package them | RosaeNLG Java Server to render them | 
| if you don’t like node.js neither Java (but ok with Docker) | use Docker CLI for RosaeNLG to develop, test and package your templates | dockerized version of RosaeNLG Java Server to render them through an API | |
| if you want to develop simple templates | directly in the link:browser IDE | use "Package" button in the browser IDE | use the RosaeNLG API on Rapid API | 
Develop RosaeNLG templates
- 
Just create a node.js project and use RosaeNLG npm library. You can use the RosaeNLG node.js boilerplate project as a starting point for your NLG project. 
- 
Alternatively, you can use Docker CLI for RosaeNLG to test and render your templates. Just use VSCode (or whatever editor) to edit your templates, and test them using the Docker CLI. 
- 
For very small projects, you could the browser IDE. 
Package RosaeNLG templates
Most of the time you don’t have to package anything: templates can directly be rendered server side. Pug’s integrated cache system is very efficient, compile will occur only once automatically.
- 
Use Gulp Helper: - 
to compile templates for client side rendering with compileTemplates
- 
to package templates in a JSON file, to use in RosaeNLG Java Server, with packageTemplateJson
 
- 
- 
Alternatively you can use Docker CLI for RosaeNLG to package templates in a single JSON file. 
- 
You might use Java Wrapper to compile templates, for browser rendering typically. 
The browser IDE also allows to bundle a JSON package.
Render RosaeNLG templates
- 
Create a node.js app (server, batch, whatever) using RosaeNLG npm library and use renderFileto render your templates.
- 
Render your templates directly in a browser, client-side, after having compiled them in the packaging process. 
- 
Create a java application and use the RosaeNLG Java Wrapper to render your templates. 
- 
Run a RosaeNLG Java Server (standalone server or in Tomcat) and use the API to load JSON packaged templates and render them. 
- 
Use the dockerized version of RosaeNLG Java Server to do exactly the same. 
- 
Use the RosaeNLG API on Rapid API