Custom reporting

Over the last few weeks we have been chasing up a requirement from a customer that is proving to be an interesting challenge.

We have created an app that gathers a data set over the course of a week. This data is uploaded to server side mySQL tables as per usual. The next step is some custom chart creation. Again, all well and good. We first looked at PHP charting tools. The most developed are pChart and JpGraph, however these can’t really produce an MS Office like charting experience. The quality isn’t quite tip top.

So we looked at Google charting API. Very nice, but how long will they be supported for (remember Google Powermeter APIs etc) ? Also some charts are missing like radar.


Example radar chart with RGraph

Next stop, Javascript charts and there are LOADS of them, far more than a single person can evaluate in a week. However, after some quick tests, we settled on RGraph. Quality is very good and development / support very active. There are a couple of commercial solutions that caught our eye, HighCharts  and FusionCharts.  Both look excellent, and cost a princely sum too.

So creating charts on the fly from a mySQL/PHP is done. No problem.

That is until we introduce a new requirement, for custom chart formatting, and also custom charts. Plus a need to export to PDF.

The custom charting will probably entail modifications to RGraph.

We are still working on export to PDF. This is basically a Crystal Reports for PHP requirement, but with extra graphic design control.  Contenders currently are FPDFBIRT (Business Intelligence Reporting Tool) with PHP and SMARTY template engine.

Another option is save as PDF from WordPress, plugins include pdf24 and WP Post to PDF. Anthologize also looks interesting too. Try the PDF button at the top of this page, and see for yourself, there is still some way to go on the quality of the image rendering and text layout options.

We will update this as we learn more.