07 March 2011

SugarCRM: Reporting

One big thing for any CRM application (or any enterprise application - sooner or later) will be the reporting capabilities of a given application. This is where custom applications often suffer, while packaged applications exhibit a hue of colours denoting their respective capabilities. Siebel (there we go again!) was heavily invested into Actuate reporting capabilities for online transactional (a.k.a OLTP) reporting. More recently we have BI Publisher replacing Actuate, the pain & pleasure to implement that is a story for another day. Siebel Analytics (alias Oracle Business Intelligence - OBI) has been the defacto application for analytical reporting (a.k.a OLAP reporting). Both Actuate (now BIP) and OBI are tightly integrated with the Siebel CRM application, which provides a strategic advantage to get started with reports that make sense quickly.
But, we are here to discuss more about how reporting plays a role in SugarCRM. Sugar does offer a reporting module, but that is limited to professional/enterprise versions, so it doesn't exist as far as I am concerned. When I started looking out for what can be done about the problem, I realized once more the open-source advantage. Almost nothing (barring my technical competence or lack thereof) will bar me from getting any BI suite with decent enough APIs to integrate with the Sugar CRM application. The whole problem can now be percolated to two major steps:
  1. First, an application that can enhance/provide good reporting capabilities, and hooks/libraries to integrate. Since it makes obvious sense to first check out free (freer as in you get the code) software, the list is not bad at all.
    1. Jasper reports - transactional/analytical
    2. Eclipse BIRT - carried forward in association with Actuate, transactiona/analytical reporting
    3. Spago BI - if not anything, the website is quite well done. Again, provides transactional and analytical reporting capabilities
    4. Rapid Miner
    5. Pentaho
  2. Next, apply the criteria of integration with SugarCRM, which is a PHP based application.
Now, for the actual decisions to address these two problems. As far as I am concerned, any BI suite will do if it lets me do things easily and produces beautiful reports. Due to my limited background in BI, it is a no-brainer - I have to give a bigger weightage to the next point.
The second problem about integration was supposedly big now. Almost all reporting applications are java-based, and integration can pose a problem due to the steep learning curve required. But, again here comes to rescue another most big aspect nowadays - 'third-party app development'. There are more than few components on SugarExchange that provide utilities/connectors to some of the BI suites mentioned above. After some searching around I selected one of the third party components  called Zucker Reports, for the obvious reason that it was available for development. This module deals with SugarCRM and Jasper reporting tool, so Jasper it is.
As simple as that, and without a line of code actually written, a bridge was established between SugarCRM and Jasper. Now, for some initial exploration:
  1. ZuckerReports provides the ability to generate On Demand reports or schedule them at your own convenience
  2. Reports designed and directly implemented in Jasper server can also be made available in the CRM application
  3. Parameterized reports can be generated as well (though I might add, the functionality is largely limited)
  4. Generated reports can be stored against a account/opportunity or some such record, and emailed to anyone interested
Below are two screen shots that demonstrate what it actually translates to in the application.





Yes, I understand this is no reporting nirvana. But there were one too many times I stifled 'a wow' when things fall into place almost automatically. Capabilities listed in other tools, and integration challenges certainly look promising to me and that is something I have to address sometime in the near future.

    No comments:

    Post a Comment