14 March 2011

SugarCRM: Working with Google Maps

There was a time when if you had to show how Siebel integrates seamlessly with the world outside, it was considered cool enough to create a mash-up with Google maps. Sad to say, I feel stuck in that time warp sometimes and this post actually confirms that.  The premise is simple - integrate with Google maps as seamlessly as you can, the problem simpler - I am still on page 21 of the PHP manual. That brings us to the next best thing - JJWGoogleMaps! Again, the best screenshots had been provided by the products that charge a fee (e.g this), they simply would have to wait :).
The steps to integrate maps using this connector is simple/not simple as it is demonstrated below:
  1. You install module in the standard fashion to see a new 'Maps' module showing up in the main menu
  2. Navigate to the Maps screen and select the entity to which you want to map 
  3. Select an existing map / create a new map 
  4. If you have not already done that, click on 'Geocode Addresses' in the Maps module. This will fetch geocodes for the addresses entered in Sugar CRM
  5. Finally, see the map in Maps screen and have a blast (while you can) 
  6. The catch before you begin the party - don't forget to check the statistics and keep your requests within limit of 2500 requests/day. Though this module claims to cache the geocoded addresses to limit these requests, you cannot start testing it prior to a customer demo (to avoid effects of Murphy's 101st law)

SugarCRM: Being Social


SugarCRM is one of the few CRM companies that made all the right noises before Social CRM was known by that name. As I started looking into what the product can do, it was natural enough to have high expectations. Now that I have touched the surface, you will get a chance to sneak-peak as well.
Social CRM, as they say, is customer's territory. As the fact goes, the customer does not give a damn about your beautiful website and the associated paraphernalia. So being Social has been to a large extent providing seamless ways of integrating the product with the external websites that are in the business of getting people to socialize. If the product can achieve that without inflicting pain on its users, it is indeed a welcome development.

I can confidently say Sugar CRM does not disappoint one, although I hasten to add it will not pass in flying colours either. I would have to warn you - all my experiments are confined to  the 'community edition' version. To do justice I would have to go through the enterprise/standard editions one day, but I am not doing any implementation now and I am too lazy to follow-up for a trial version :). Here follows some tidbits:
  • LinkedIn integration stands out indisputably, to such extent that I wondered whether there is any advertising revenue involved! Accounts within Sugar CRM are easily located, and can be processed through whatever LinkedIn offers 
  • There was a lot of gaga about the Twitter integration sometime back. Was quite dismayed to see that it is only present in higher editions. However I did find something on Sugar Exchange which does exactly that, except that it just didn't do it. Well I am quite proud of writing a Twitter connector in Siebel, one of these days I should be repeating that here - with far better customization capabilities
  • As one can expect on an open forum, Sugar Exchange does offer connectors to a few of the well known 'social' platforms out there. But they seem to be nothing but 'connectors' or connecting frameworks, with all the heavy lifting yet to be done to have something that will be of some use. One of the examples I quote is the Jigsaw connector.
  • I tend to think about (& catalog) the 'social crm' part separate from the 'enterprise 2.0' part (sorry, Oracle Social CRM). Integration with Box.net tends to fall into both spaces, and it has a free connector for higher editions (what is with these guys and editions - not enough money in open source, sigh!). But the best and simple example is the Sugar Feed dashlet on the home page. It lets the user type a message and let the world (his world) see - ain't that cool? In the below screenshot you see the user feed below the blog feed.
  • There are also more than a few small players which provide enterprise 2.0 capabilities, and have provided connectors to them. For e.g Broadchoice, and Quontext, but did not interest me enough to 'actually' test them
That is it for now I am afraid, watch this space to not see anything radical happening to Sugar CRM implementation space (you didn't miss the NOT there, did you?).

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.