It was a pretty productive thanksgiving weekend :) Learnt way more about reporting, how complex an issue it is and the number of companies that are built on reporting (or to use a more trendy phrase, Business Intelligence). So here are some conclusions:
- PHP does not have a decent open (or closed) source reporting tool.
- Reporting is too complex an application and fairly well addressed by other open source projects. We should use one of those applications rather than doing it ourselves
- All the reporting open source projects use Java / Tomcat. CiviCRM users will need both java and php tools if we adopt this route
- I dont think we really have a choice with regard to this.
I continued my adventures with BIRT and read the IBM tutorial (registration required) and learnt a fair bit more. The BIRT examples were also quite helpful and I have a fairly good idea of how we could potentially link CiviCRM and the reporting application. There is also some fairly decent documentation on integrating BIRT with PHP
The current requirements to run BIRT (v2.1.0) for CiviCRM reporting include
- Java v1.5
- Eclipse SDK 3.2 and a bunch of other eclipse components
- Tomcat web server (running on port 8080)
- MySQL JDBC Connector
Installing most of the above is not a big deal using a decent packaging system (I used MacPorts and it worked quite nicely). We are inclined to go down this path for CiviReport unless we hear otherwise from the community :) Please feel free to ask comments and questions on the mailing list or on the blog