Drupal/CiviCRM/RoundCube

RoundCube + DrupalI’m finally starting to wade into the land of all things Drupal/CiviCRM at “the job” and also for some side projects (one which I hope we’ll have ready soon!). For those not in the know, Drupal is a platform on which to build community and other highly interactive web sites (blogs, portals, directories, forums, email tools, etc. all bundled together). CiviCRM is a “constituent relationship management” system designed for use by non-profits and advocacy organizations; it’s essentially a giant, super-powerful shared rolodex for organizations. It also happens to integrate in some convenient ways with Drupal.

I wasn’t terribly excited about the webmail client we’re providing for our staff (SquirrelMail, which is solid, but incredibly basic). In a search for an alternative, I found the sexy RoundCube client and also discovered a Drupal module that integrates RoundCube. Cool! I also noticed it includes CiviCRM in to RoundCube. Extra cool!

It’s in a very “alpha” state right now, but has promise. The module stores a users IMAP user name, mail server and password with their Drupal profile, so they need not log in twice. It loads RoundCube in an iframe. Not exactly “tight” integration, but it works well and keeps the applications pretty separate.

What really blew me away was the CiviCRM-integration patch. It removes the default RoundCube addressbook and uses CiviCRM as the addressbook store instead. This has LOADS of potential. One of the biggest problems for organizations is getting staff and volunteers to keep their contact lists synced with the organization contact database. If they’re using RoundCube in Drupal w/ CiviCRM, by simply maintaining their own email addressbook, they’ll be keeping the organization’s email database up to date. Very cool.

There are some attractive features planned for the future, including tracking emails sent as CiviCRM “activities” (so when you look at a contact in the database you can see the entire email history of mail the organization has sent to them).

Like I said, this software is very alpha. Right now, it requires downloading and patching RoundCube as part of the installation process, and the patches assume that your Drupal tables are named with the defaults. It also assumes CiviCRM lives in the same database as Drupal. I’ve nearly finished hacking it to work in our environment (which doesn’t follow those assumptions) and I’m thinking about a way to generalize this (and I’m waiting to hear back from the developer to hear his thoughts on how to proceed). (I should also point out that it seems to hit the CiviCRM database directly rather than attempting to use the API, which is not ideal but was probably easier to implement).

Leave a Reply