KBI 310980 New Feature: Options For Handling Argent Reports Graphs
Version
Argent Reports 3.0A-1407-A or above
Date
Tuesday, 24 June 2014
Summary
Argent Reports provides new options for handling Argent Reports Graphs
These options are controlled in the XML\ARGSOFT_INTERNAL_SETTINGS.XML file, under the XML Node “GRAPH_MODE“:
- Dynamic Generation (Default)
- Saved Temporary Image
- Embedded Image
Value: “” or “DYNAMIC”
Value: “SAVE”
Value: “EMBED”
Technical Background
Dynamic Generation (Default)
When Argent Reports displays a graph, the graph is dynamically generated through graphing software that outputs a GIF image
All calculations and processing is done on-the-fly when the browser or PDF generator loads the HTML page and discovers this synthetic image
If a customer has dozens or hundreds or graphs, the dynamic generation happens in parallel, leading to high resource usage and slow generation of graphs
In extreme cases, a few graphs may fail to load completely
Saved Temporary Image
This option calculates the graph before the initial HTML is generated, which means the calculations are done serially – resulting in less resource spikes
The image is saved physically to disk (in the Argent Reports TEMP\GRAPHS folder)
These physical images make PDF generation very fast, as no dynamic calculations or waiting is needed
Argent Reports cleans up temporary images older than two hours automatically, every time any graph is invoked
Embedded Image
This option calculates the graph when the initial HTML is generated, and returns the image as a base-64 string (supported in all browsers from IE 8 onwards, Firefox, Chrome, etc)
The Embedded Image generates a larger HTML file size, but significantly reduces spiked resource usage during PDF generation, as all images have already been calculated and composed, and the PDF generator is simply doing a straight HTML-to-PDF conversion
However, it is recommended that customers using this option set the ‘Response Buffering Limit’ in IIS from the default of 4MB to, say, 64MB – failure for customers with large reports to increase the limit may cause reports to fail with an exception error (due to the response buffer overflowing, which IIS handles exceptionally poorly)
Resolution
Upgrade to Argent Reports 3.0A-1407-A or above