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)


  • Value: “” or “DYNAMIC”

  • Saved Temporary Image


  • Value: “SAVE”

  • Embedded Image


  • 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