Kinh nghiệm: CRM Core vs. Redhen pt. 1 - Differences in Philosophy

The keystone of digital experience management is a good CRM. While Drupal integrates with many 3rd-party systems, there has been a movement in the community for some time to build a native CRM that integrates seamlessly into the content management system. The native projects that seem to be leading the pack at this time are CRM Core and Redhen, created by Trellon and Thinkshout respectively.

>> Part 2: Phân tích similarities và differences trong module handles contact management

Over the past two weeks, I have spent a fair amount of time configuring demo websites with each CRM module as I evaluated them for a project I am currently working on. These two modules are as similar as they are different. The modules take a similar approach to implementing contacts through custom entities rather than using nodes or users. Each integrates with external modules to allow site-builders to create ways for users to engage with your website and collect information about those users within the CRM. These modules also take a "framework" approach to implementing CRM functionality, giving site-builders the tools they need to develop CRM solutions that meet their needs.

When I pulled myself out of the weeds of doing feature comparisons between the two modules, I realized the the major difference between the modules doesn’t lie in their features, but in the philosophy behind how each was built. Below are my thoughts on the major areas where these philosophies differ:

Market influence

The develop of CRM Core by Trellon and Redhen by Thinkshout has been influenced by their extensive work with nonprofit organizations. Each module has a number of features that can be downloaded from for adding donation, event registration, and even advocacy functionality to your website. Though, each module be has seemingly influenced by different verticals within the nonprofit sector.

The features and modules available for CRM Core seem to be tailored mostly to the needs of advocacy organizations. Most CRM systems that cater to these types of organizations structure their CRM’s to handle contacts as individuals, organizations, and households. These are the three contact types that come pre-packaged with CRM Core. Also, the features released by Trellon allow users to run petitions, sign up volunteers, and collect donations - all features available within the leading CRM’s offered to advocacy groups. Their distribution, AbleOrganizer, brings together this collection of feature into a distro targeted towards organizations running online advocacy campaigns.

Redhen has been influenced more heavily by the needs of the association world. There are a number of submodules that allow contacts to be grouped into organizations and allow for a fairly flexible membership structure to be setup. Redhen relies on external modules to implement much of the functionality CRM Core has packaged as features for advocacy (Webforms) and donations (Drupal Commerce).

How much frame a CRM framework should provide

CRM Core and Redhen are both platforms for developing CRM solutions, not full-blown CRM’s themselves. Unlike CiviCRM, you cannot install these modules and be up and running after configuring a few settings. While each is a framework, each provides different levels of customization out-of-the-box.

CRM Core relies fully on contributed modules for the implementation of fields for managing data on contact records. While it offers core features for tracking contact information, keeping records of interactions, and creating relationships between contacts, it offers less than Redhen in the way of tracking memberships and grouping contacts together based on organization structure and programs. Depending on your use case, it may require more time to set up than Redhen, but it’s reliance on contributed modules to handle any functionality outside of that core CRM functionality may give you more flexibility.

Redhen makes a few assumptions about how potential users want to manage their data and setup their CRM. It provides some core fields - for name and email address - within the module. As stated above, it also comes packaged with more functionality for contact organization, offering features for membership management,  organizing contacts into groups, and associating notes with contact records.  Redhen provides a more standardized approach to solving some some common use cases, while CRM Core gives you the freedom to figure out solutions on your own.

You also see these different approaches play out when you look at the ecosystem of contributed modules that extend the functionality of either CRM. Modules for CRM Core tend to be feature modules that create some bit of functionality by tying together other framework-like modules, such as tying together CRM Core and Entity Registration to create an event registration feature. Many of the modules available for Redhen now seek to meet more specific use cases, like providing direct integration with the Mailchimp API module to allow users of your website to signup for your Mailchimp-managed email list.

CRM Core is more the plumbing to your CRM, while Redhen seeks to provide more drop-in solutions to common use cases.

Level of dependency on entities

Drupal is moving in the direction of leveraging entities for everything within core - nodes, users, taxonomies, menus, etc. The advantage to this is you have a common approach to handling data across different data types within the system. There are advantages and disadvantages to heavy usage of entities, and it has an impact on how that data is managed and manipulated within Drupal.

CRM Core leans heavily on entities for everything, from contact records to the way you build forms using CRM Core Profile. Redhen provides integration with modules that do not use entities, such as Mailchimp and Webforms, which poses some limitations to how this data is managed, but gives users more full-featured solutions to common needs.

Keeping everything stored as an entity gives site-builders more options for field types and formatters, reusing/pre-populating data across forms, and manipulating the display of data via Views. Though, not every organization needs to do this within Drupal, and would be better served passing this information via a module like Webforms to a 3rd-party service where you have better tools for managing  data and communicating with constituents.

The role of native CRM in Drupal

The last difference in philosophy I see is in each modules assumption on the role of native CRM in Drupal - should you build a CRM within core or integrate your website with a third-party system?

CRM Core and Redhen are both advertised as lightweight systems for managing contacts in Drupal,  but Redhen is also described as the “...ideal integration point to enterprise CRM solutions like Salesforce and Blackbaud.” There are no modules that integrate CRM Core with external CRM systems at this time, while Redhen integrates with Salesforce via contributed modules developed by Thinkshout. The fact that Trellon has not developed any integration between CRM Core and third-party CRM systems may suggest that they hope CRM Core will be used as the primary CRM for an organization, while Thinkshout may see Redhen as a tool to provide just the glue needed to better integrate Drupal with eternal CRMs.

Neither module's philosophy is right or wrong, there are advantages and disadvantages to using both. It is important to properly evaluate each module's feature set before determining which solution to use. I will outline in future articles in this series the more granular differences between CRM Core and Redhen.

What are your thoughts on the philosophical differences between the two modules?