This commit is contained in:
@@ -2,23 +2,22 @@
|
|||||||
|
|
||||||
[this document under construction / pre-release]
|
[this document under construction / pre-release]
|
||||||
|
|
||||||
AyaNova report templates are HTML based template documents that are used with the [Handlebars](https://handlebarsjs.com/) templating language to generate HTML documents that are rendered to .PDF [Portable document format](https://en.wikipedia.org/wiki/PDF) files.
|
AyaNova features a built-in report template editor and reports can be created or customized directly within AyaNova.
|
||||||
|
|
||||||
HTML and Javascript along with Handlebars templates are used to customize the existing reports in AyaNova and make new ones.
|
AyaNova report templates are based upon commonly used web technology and are HTML based template documents that are used with the [Handlebars](https://handlebarsjs.com/) templating language to generate HTML documents that are rendered to .PDF [Portable document format](https://en.wikipedia.org/wiki/PDF) files.
|
||||||
|
|
||||||
AyaNova comes with a built in report template editor and reports can be created or customized directly within AyaNova.
|
|
||||||
|
|
||||||
|
[HTML](https://developer.mozilla.org/en-US/docs/Web/HTML), [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) and [Javascript](https://developer.mozilla.org/en-US/docs/Web/javascript) along with Handlebars templates are used to customize the existing reports in AyaNova and make new ones.
|
||||||
|
|
||||||
## How reports are rendered by AyaNova
|
## How reports are rendered by AyaNova
|
||||||
|
|
||||||
When a report is rendered the following steps take place behind the scenes:
|
When a report is rendered the following steps take place behind the scenes:
|
||||||
|
|
||||||
* A request is made to the server providing a report template ID, selected business object id's or a DataList name and filter / sort options.
|
* A request is made to the server providing a report template ID, selected business object id's or a DataList name and filter / sort options.
|
||||||
* The server retrieves the report template from the database, "re-hydrates" the business objects in memory and feeds the data to the report template to be processed by the Handlebars templating engine
|
* The server retrieves the report template from the database, "re-hydrates" the business objects in memory, spins up a temporary "headless" web browser to do the rendering and feeds the data, report template and related objects to the browser to be processed by the Handlebars templating engine
|
||||||
* The resulting HTML document is rendered and converted to a .PDF format document and a download URL is sent back to the user's browser to download and open the .pdf document.
|
* The resulting HTML document is rendered and converted to a .PDF format document, saved to a temporary location at the server and a download URL is sent back to the user's browser to download and open the .PDF document.
|
||||||
|
|
||||||
|
|
||||||
## Report designer template sections
|
## Report designer user interface tabs
|
||||||
|
|
||||||
### Properties
|
### Properties
|
||||||
|
|
||||||
@@ -38,8 +37,8 @@ Report generation consists of two distinct and separate processes: Processing th
|
|||||||
|
|
||||||
#### PDF settings
|
#### PDF settings
|
||||||
|
|
||||||
* `Display header & footer` if checkmarked then the header and footer templates will be inserted into the output pdf document
|
* `Display header & footer` if checkmarked then the header and footer templates will be inserted into the output PDF document
|
||||||
* `Header template` HTML template for the pdf header. Use HTML markup with following classes used to inject special values into them
|
* `Header template` HTML template for the PDF header. Use HTML markup with following classes used to inject special values into them
|
||||||
* `date` formatted print date
|
* `date` formatted print date
|
||||||
* `title` document title
|
* `title` document title
|
||||||
* `url` document location
|
* `url` document location
|
||||||
|
|||||||
Reference in New Issue
Block a user