Don't Do it with Drupal
I'm sure most of you who are reading this are in love with Drupal and so am I. But I'm about to share with you one of the hard learned lessons about Drupal. That is, sometimes not doing it in Drupal is a better idea.
Now for a web CMS, Drupal is hands down, bar none, without a doubt the best out there. If you are going to build a website I'd almost always recommend Drupal. That doesn't mean it is the best solution for everything though. I've seen too many times where we try and do every aspect of a website in Drupal without realizing that another service or tool exists that is a much better fit.
A great example of this is analytics. Drupal core even comes with a Statistics module which performs analytics of some sort and there have been efforts to build complex analytics packages as Drupal modules. The problem is, Google Analytics is a fantastic, free, and very flexible analytics package with great integration into Drupal. In fact, I'd bet Google has spent millions, if not billions, perfecting their analytics platform.
This is a theme that seems to keep turning up. Why not leverage a company that has spent years and millions of dollars to expand the functionality of your site instead of trying to recreate the same functionality with a couple of developers in a couple of months. The fact is that while they may be able to create a decent version, it is never going to have the fit and polish of the dedicated systems. Not only that but once you've built something yourself, you've got to maintain and support it!
I've been very guilty of this in the past, having implemented massive systems in Drupal including help build out a custom CRM system. We would have been much better off just NOT doing it in Drupal but using an integration with a great platform that did the same thing.
In that theme, here are several systems that you probably SHOULDN'T do in Drupal but should integrate with an existing system.
- Analytics. Don't use the statistics module unless you need view counts for some reason. Go ahead and use Google Analytics.
- Comments. Unless you wan't to get schooled in spam prevention, captcha, approval lists, rel=nolink and the like, just go with Disqus.com.
- CRM. While you can build some basics of CRM in Drupal, there are such excellent free or affordable solutions it just isn't worth it. Try CiviCRM, SugarCRM, or Salesforce.com
- Newsletters. Again there are lots of modules that try and implement this like simplenews and messaging and notificaitons. If getting your emails delivered to your clients is important, go with a service that integrates well with Drupal like Mailchimp
- Ticket Sales. This can get complicated in a hurry with SSL Certificates, Merchant Accounts, PCI compliants and much, much more. Linking to EventBrite or Wepay is by far the easier way to go.
- Surveys. Yes you can build a survey with webform but you get so much more for very little money with Surveymonkey.
Now this is not to say that people shouldn't try and implement these things in Drupal. Just realize that each of these companies have spent significant amounts of time and resources figuring out all the very difficult problems in each of these spaces. It can't be duplicated in Drupal quickly. If someone want to spend the time and resources to really create a great solution in Drupal, by all means do so. I hope they don't think that it is going to be quick, easy and cheap to get a better solution than these.
Do any of you have other services or tools that you use instead of trying to implement something in Drupal?