For some time now I have been looking for a flexible reporting solution.
The thing was – I had a couple of SQL queries ready, and everytime somebody asked, I copy/pasted them into phpMyAdmin and copy/pasted the resulting tables back. Easy yes, quick sort of, elegant – certainly not.
At first, I tested a couple of charting libraries – JFreeChart, Google Charts, XML/SWF Charts, Open Flash Chart. (Note – if you like Google Charts but do not want to send your data to Google, take a look at Eastwood Charts. It implements the Google Chart API, but on your own server.)
All of them are fine and can produce some stunning results – but ideally, at least for this scenario, I do not want to bother translating the SQL resultset into the data format the charting library expects, write some server code to run the query, render and present the charts, add some user authentication and the option to parametrize some of the queries, … etc.
Then I thought, maybe a complete reporting framework would do the trick. I came across this excellent list of open source charting and reporting tools. JasperReports seemed like the defacto industry standard, with many other frameworks (like iReport or OpenReports) building upon it and extending it’s functionality and usability.
But as I’m not a reporting pro, I did not want to waddle through hundreds of PDF manual pages before I understand how to produce a simple bar or pie chart.
Enter ART – Art Reporting Tool. (Yes, recursive acronyms still seem “in” to some. Hey, if it’s good enough for VISA = Visa International Service Association…). From their website:
ART is a lightweight, multiplatform web based query tool and reporting environment. SQL queries can be published in a few minutes. It supports tabular, crosstab, charts, scheduling, email alerts. Results are exportable to spreadsheet, pdf or can be embedded in a portal-like page to create a simple but effective Business Intelligence solution.
And that’s simply the case, period.
I deployed the ART webapp to a local Tomcat, set up the DB connections, and used my existing SQL queries to create some charts, some of them with parameters, some static. The charts are certainly not the best looking ones, but they definitely do their job, including value details via mouseover-tooltip.
Same goes for the admin GUI – it looks and feels pretty outdated for today’s standards, but once you accept that, it gets the job done – and in the end, that’s what counts.
I had set up some portlet page, showing 5 charts, each of them refreshing in a different interval (to have the more expensive queries updated less frequently than the cheaper, quicker ones).
I then set up some user account, granting it access to view the portal page – worked perfectly.
So, for the time being – and my investment of around an hour from first stumbling across ART, having it downloaded, installed and configured, and defining the queries, charting details, user account and privileges and portlet page – it seems I will stick with this package.
(I will have to research some more, how to schedule the contents of the portal page to be exported as PDF and emailed regularly, though. Not sure if that’s possible.)