Wednesday, October 15, 2008 - 20:53
Written by

We coded / migrated / bugfixed a few drupal modules as part of CiviCamp (blog reports here and here). We also decided to ship these modules with our 2.1 release. You can get the current version of these modules here. CiviCRM v2.1.2 will include the following drupal integration modules:

  • Views2 integration. We've exposed the Contact / Email / Address / Contribution / Activity tables to Views2. We will add a few more tables over the next few releases and hope the community will step up and submit the needed code for the other tables. At some point, we hope to automate the generation of some of those files (from our xml schema definition).
  • civimember_roles. We migrated that module into two modules: civicrm_member_roles which adds/removes a role from a drupal user based on their membership status. This is a one way synchronization only, and can be used to restrict content (and other CMS data) based on a valid membership. The other modules civicrm_group_roles does something similar with static groups. A user has a role added/removed whenever the user is added/removed from a CiviCRM group. This is a 2 way sync, so changes in a user role is reflected in the CiviCRM group, and changes to a CiviCRM group is reflected in the users role.
  • civicrm_og_sync module. This module syncs the member of an OG groups with a corresponding CiviCRM group. It also has support to sync the "administrators" of an OG group with another CiviCRM group for permissioning purposes. This module was developed in 1.9 (for Democrats Abroad), but not officially supported. This is also a one way sync (from OG to CiviCRM). We will explore the possibility of adding the reverse sync in a later version

Another integration that would be nice to have is with CCK. Would be cool for someone in the community to step up and play a lead role in making this happen

Filed under


Sounds like some great stuff happened. Wish I could've been there. What sort of integration with CCK are you envisioning? The only thing that I can think of would be to mimic the user_reference field and create a contact_reference field. --
Dave Hansen-Lange
Web Developer
Advomatic LLC
Hong Kong office

but we did get a demo / explanation of CiviNode and in general the concept does seem quite powerful. I'll take a look at user_reference and see how it is done, that might gimme a few ideas :) Any chance advomatic will do this / sponsor this?


i'm building a node view inside drupal and i'm trying to pull in fields from civicrm - i've used the current civicrm integration with cck to create a reference to a civicrm contact but I can't seem to access any fields from civicrm

does the current civicrm integration with drupal views 2 tie into views 2 relationships? I'm kind of new to this so forgive me if I'm not making sense.. but it seems that by adding a cck field to a drupal node that you have a reference to the civicrm tables (like a userreference or nodereference) and therefore should be able to pull fields in from civicrm using a drupal views relationship


Sounds great :-)

Will the modules be made aviable on as projects?

:-) Bo

1. there are licensing issues (all civicrm modules are licensed under AGPL v3, Drupal CVS requires GPL).

2. since we will be supporting them, we like to keep them in our own svn repository

3. Matt Chapman has volunteered to build a CCK / Views page(s) for a directory of CiviCRM modules / version number and urls. This will happen when we upgrade to D6 (before the end of the month)

Preliminary versions of the Role sync modules already exist on If you need Roles->Groups sync, you'll need the dev versions. But continued enhancements to these modules (now in progress) will likely only appear in the versions distributed with CiviCRM.

It would be great to have this work with Smart Groups, not just static groups. That would allow one to set access permissions for a group like registered participants in an event and would be very valuable.

Thanks for the great work though. Even just having it for static groups solves quite a few problems.

code contributions for smart groups would be gladly accepted :)


This is so fantastic! Thank you!

What are the chances of having event info pages/sign-up pages exposed to Views2? Many of us who use CiviEvent have been creating separate events within the Druapal Events module and pointing to CiviEvent pages in order to display the events with Views. Exposing CiviEvent pages to views would be a HUGE enhancement and a big time/work saver.

Keep up the great work!

exposing event info seems relatively easy to do and would make a great community code submission :) Wanna step up and do it linkx? you can base it on the other tables. There is a slight complication since the info is spread across two tables (this is fixed in 2.2, where we have merged it all into one table), however you can get all the info with an inner join


Thanks for the direct challenge. I need a good solid growth spurt with my PHP, MySQL, Drupal module development before I try anything like that. If I did try this, it would be my fist PHP project, and . . . I'm not sure that this is entry level.

But I am willing to help in any way that I can.

but not seeing it in the views2 creation area.
Just wondering if there is any documentation for this.
If not then if someone can point me in the right direction to install the views2 module I can then write up how to use it?
Thanks for all the great work!

You need not move any code. Views should discover where the code is. You also need to update civicrm.module since that has a views specific hook

Could you tell me the steps necessary to setup views 2 to do this. I already have civicrm 2.1.1 and views 2 installed
wade allen

the views2 module will be part of 2.1.2 which will be released soon