New CRM Core Releases, and What to Expect

Error message

The spam filter installed on this site is currently unavailable. Per site policy, we are unable to accept new submissions until that problem is resolved. Please try resubmitting the form in a couple of minutes.

Today, Trellon released new versions of CRM Core and CRM Core Profile. Both of these modules include new features that are important for anyone looking to build modules that use CRM Core as a backend for storing contact information.

These releases are part of our Garden Party roadmap, as part of the 'Live Music' stage. They are for site builders and developers looking to build modules and features that expand upon CRM Core's basic capabilities. With them, you have some more powerful tools for working with contact records stored in your Drupal site, and they include some usability enhancements based on feedback we received as part of the 0.91 release of CRM Core.

I wanted to share a little about what you will find, and why it is important.

CRM Core - The New Stuff

CRM Core 0.93 is the second stable release of CRM Core. We received a lot of feedback from the community around the 0.91 release and tried to incorporate as much of it as possible.

This new release really gets into the issue of flexibility in CRM Core, in terms of how it can be used to support a wide variety of situations where you need to manage contact records on a Drupal website. As part of the 'force is with you' philosophy behind CRM Core, many of the new features are built in a way where people can customize the fundamental way the system works without too much effort. We are thinking about site builders and developers with this one, and how to make CRM functionality work exactly the way you want.

Usability Enhancements

There are a lot of usability enhancements that went into this release. Some of the major things you will notice right off the bat:

  • You can now create activities and relationships without first selecting a contact.
  • You can now declare primary contact fields for different contact types. This means you don't need to know the fields someone has configured for contacts in order to get in touch with them. It is meant to make it easier for module developers to work with data fields that are never static.
  • There are more action links, better breadcrumb support, better page titles, etc. It's just easier to understand what you can do with the system.

Feature Additions

This release includes several major features enhancements. You can find documentation for for each one in the project handbook on

  • CRM Core Match has been added as a tool for identifying duplicate contacts. On it's own, it does very little, it simply allows administrators to control the logical rules for how duplicates are identified through the use of matching engines. CRM Core Match controls the order in which they are processed and hands off duplicates for other modules to work with.
  • CRM Core Default Matching Engine was added. This module creates a matching engine for CRM Core Match. It includes an interface for administrators to configure the logical rules for identifying duplicates at the field level, and operates on a per-contact type basis.
  • The CRM Core Contact object was modified, and now includes a ->match method. This means, any time you load a contact, you can also load a set of duplicates. Very useful for building interfaces that allow people to find matches.

CRM Core Profile - It's a Form Builder

CRM Core Profile has gone undergone some major rework to make it more useful. What we now have is a system that can create forms for working with contact information in various situations. It is contextually aware, meaning you can create forms that preload contact information, automatically identify duplicate contacts, or just allow bulk entry without needing to do any checking.

Rather than go down the list every of feature (there are a lot of them), I am going to talk about the different screens you will find in the module.

The Profiles Screen

CRM Core Profile provides a screen that lists all the profiles configured for your website. This screen shows you the name, machine name, and some other information about each profile. It tells you whether there's a page view of the profile available, and the path for how to access it. It also includes links for editing the profile, changing the settings, cloning, exporting and deleting. All the things you would expect for a good entity!

The Edit Screen

This is where you build your form. CRM Core Profile allows you to create forms that can store contacts and activities within CRM Core. Since there can be many kinds of contacts, and many kinds of activities, we created a form builder that allows you to build the form that represents the information you are trying to capture.

With this screen, you can select the different types of contacts that are included in your CRM Core website, along with different types of activities. You can select the specific form fields to capture and configure them to work the way you wanted. If you are looking to just capture information from users, great, that's easy to do. If you are looking to hide certain fields, prepopulate values, etc, it's easy to do that as well.

The Settings Screen

Profiles are meant to capture information. The settings screen is what lets you tell CRM Core what to do with that information.

With this screen, you can select options in a number of areas. CRM Core Profile allows to to present a CRM Core Profile as a page, set submission messages, set paths to the page, and tell forms where to redirect through a simple interface. It also allows you to control how the form is prepopulated, using information from the currently logged in user or URL tokens. It also provides some controls for how to match contacts, allowing you to turn off contact matching altogether if you are looking just for a bulk entry form.

I did not want this post to get too long. Expect a video in the next few days explaining how this all fits together.