This was a full site development project for a tool which evaluates a company’s sustainability reporting effectiveness. Prospective customers can complete a questionnaire, the results of which are plotted on a dynamic spider graph. The analysis report can also be downloaded and shared as a PDF.
Dynamic Graph Creation
An important consideration for this project was that an interactive version of the graph was required for the web and a static image version for the pdf document. Since Google has deprecated its static charts api, and because the layout of the chart I needed was fairly simple I decided to generate the graph graphic manually.
I used the GD graphic processing library which is pre-compiled with PHP to manually plot the graph axis, labels and polygons. This gave me maximum control of how the graph should look and I was able to precisely match the required design.
I then embedded the image on the page and overlaid popup hints using jQuery to introduce a dynamic and interactive element to the chart.
I used the fPdf library to create the PDF version of the report. This included the embedded graphical version of the graph, along with formatted text and company branding. A more full-featured pdf library is pdfLib, however this requires a license and for basic documentation generation, fPdf is quite sufficient.
Because the generation of dynamic graphs and PDF documents takes a short amount of processing time, I introduced a layer of caching so that reports and images which are accessed frequently are not re-generated each time. This speeds up page execution while also giving the client full control over the duration and volume of the server cache.