Beyond the built-in features of CiviCRM, there are various projects available for extending its features and more tightly integrating CiviCRM and Drupal.
Note that CiviCRM now maintains an official Modules and Extensions Directory which includes platform-independent options as well as Drupal-specific modules.
Many integrations formerly handled by contributed modules have now been integrated into or bundled with CiviCRM, including exposing CiviCRM fields to Views, matching users and roles, and synchronizing Organic Groups.
Modules that provide additional functionality not provided by CiviCRM natively include the following:
- CiviCRM activities iCalendar feed - Allows users to get their CiviCRM-assigned activities into Google Calendar or similar calendaring applications, by providing a feed of each user's assigned activities in iCalendar format
- CiviCRM Clear Cached CCs - Protects against a data caching issue which causes billing information to be retained in CiviCRM's civicrm_cache table.
- CiviCRM Count Block - Creates blocks for displaying civicrm group count information.
- CiviCRM Error Handler - Sends a detailed email when a CiviCRM fatal error occurs.
- CiviCRM Events Calendar - Pulls and displays CiviCRM events in a calendar using the Jquery Plugin fullcalendar
- CiviCRM Private Report - Allows users to create their own private copies of CiviCRM reports
- CiviCRM Solr Integration - Makes CiviCRM contacts searchable with Apache Solr.
- CiviCRM Theme - Extends the Drupal admin theme page options (admin/settings/admin) to allow settings of custom CiviCRM user and admin themes.
- CiviEvent Discount - Allows you to create discount codes and assign them to events and membership.
- Petition - A means of conducting online petitions and collecting signatory names in CiviCRM.
Synchronizing Drupal and CiviCRM Data
Modules which focus on synchronizing users, roles, and other analogous concepts between Drupal and CiviCRM tables include the following:
- CiviCRM Content Type Groups - Allows for content types in Drupal to be mirrored with groups in CiviCRM.
- CiviCRM Taxonomy Groups - Allows for taxonomy vocabularies and terms in Drupal to be mirrored with groups in CiviCRM.
- CiviMember PLUS Roles Sync - Adds the option to require a contact be in one or several groups in CiviCRM in addition to the contact's membership status before a record is synchronized.
Integrating Drupal and CiviCRM Data
Modules which leverage Drupal and one or more contributed modules to enhance CiviCRM, or vice versa.
- Webform CiviCRM Integration - Leverages Webform, Drupal and CiviCRM to create a smart form builder and processor that can work with a wide variety of CRM data. CiviCRM Webforms can create and update information about contacts, relationships, cases, activities, event participants, group subscriptions, tags, and custom data.
- CiviCRM Contact Form Integration - Records submissions from the core Contact module in CiviCRM.
- CiviCRM Migrate - Provides CiviCRM entity destinations for Migrate 2.
- CiviCRM Multi-Day Event - When completed, will allow displaying CiviCRM Events using Calendar or FullCalendar, automatically adding contacts to a CiviCRM group when a class is completed, and tracking participant status per session.
- CiviCRM Realname - Implements hook_username_alter() so that, if available and non-empty, the CiviCRM "Display name" is shown in place of the Drupal login name for username displays.
- CiviRelate - Creates a CiviCRM relationship between the acting user and a CiviCRM contact created by the acting user through the submission of a designated CiviCRM profile form
- CiviCRM User Reference - Allows you to look up a user by their contact information, but store the uid for the Drupal user instead of the cid of the contact.
- Commerce CiviCRM - Integrates Drupal Commerce and CiviCRM
- Hosting CiviCRM Cron - Provides the ability to trigger CiviCRM cron jobs on sites hosted on the Aegir Hosting System.
- ThemeKey CiviCRM - Provides additional CiviCRM-related properties for use with the ThemeKey module.
- Time Map - A basic timesheet module.
- Ubercart modules
- UC CiviCRM - Integrates Ubercart and CiviCRM by updating CiviCRM records when items are purchased in Ubercart
- Ubercart CiviCRM Product - Exposes CiviCRM components as Ubercart product features.
- UC / CiviCRM Profile Pane - allows an administrator to choose any number of CiviCRM profiles to be displayed during Ubercart check-out as a check-out pane.
Integrating Drupal-based CiviCRM and Third-party Services
- CiviCRM Constant Contact Integration - Imports contacts from CiviCRM to Constant Contact, synchronizes groups, and records Constant Contact opt-outs in CiviCRM.
- CiviCRM Democracy in Action - Pushes updates and records from CiviCRM to Democracy in Action
- CiviCRM GoToWebinar - Allows CiviEvent sign-ups for webinars to also sign-up the registrant on the GoToWebinar web site.
- MERCI CiviCRM Integration - Synchronizes MERCI Reservations to CiviCRM Activities
- CiviCRM 2.0+ Compatibility - attempts to provide a compatibility layer between the old CiviCRM 1.0 API and the new CiviCRM 2.0/3.0 API.
- Provision CiviCRM - Drush module to automatically setup Drupal instances with CiviCRM, specifically aimed towards the Aegir project.
- CiviRegister - Redirects from Drupal's registration form to a designated CiviCRM Profile instead, ensuring use of CiviCRM's contact matching functions.
- CiviCRM Subscribe - Provides special pages and blocks for subscription to particular groups; largely replaced by Webform CiviCRM Integration.
CiviCluster - provides duplicate detection and merging functionality to CiviCRM. Obsolesced by CiviCRM 1.8. CiviConference Creates an e-commerce product type "Conference Ticket" which allows attendees to register for related events in CiviEvent during the checkout process CiviMap - Aims to integrate CiviCRM and the Gmap module. CiviNode - Exposed CiviCRM contacts, groups, and other CiviCRM object types to other Drupal modules. Obsolesced by CiviCRM's integration with Views 2. CiviCRM Active User - Adds a CiviCRM contact to a group following a successful Drupal login. CiviCRM Group Gmap - Allows you to create pages that display Google maps of your CiviCRM groups. CiviCRM Localize - Enables the localization of CiviCRM profiles by passing CiviCRM labels on user register and edit forms through t(). CiviCRM OG Sync synchronized Organic Groups with CiviCRM's groups and ACL system. Obsolesced by CiviCRM 1.9. CiviRoles Sync - Synchronizes CiviCRM Contacts that have CiviMember Membership Types to a specified Drupal Role. Organic Groups CiviCRM - Integrates CiviCRM and Organic Groups. Phone Lookup - Implements an automatic lookup of a phone number from one of several public sources; stores results in CiviCRM.