Integrating with Drupal¶
Of all the three CMS that integrate with CiviCRM, Drupal has received the most attention and offers the most integration options. This is in part because the Drupal community is largely a developer community.
When thinking about website integration with Drupal, it is important to understand Drupal modules. A module provides a particular function: for example, the calendar module lets you display calendars on your website. The Drupal distribution of CiviCRM comes with modules that integrate CiviCRM with Drupal in different ways.
Drupal roles and permissions¶
When you create a new Drupal site User and CiviCRM is installed, a corresponding CiviCRM Contact is also created. Users and contacts have separate identification or index numbers.
See also the permissions and access control chapter in initial set up for a general discussion of access control.
Your Drupal website lets you create Roles. A website administrator assigns roles to site users and grants each role permission to perform tasks—such as viewing, editing, deleting, and administering contacts—or to access information such as CiviCRM Contacts, CiviMail, CiviEvents, Drupal Users, and specific content types.
For more information on Drupal Roles, see the Drupal.org documentation:
Drupal permission settings determine which tasks a Role can perform and which information it can access. Permissions determine how much access a type of user has to configure modules or to view, create, edit, or change content, users, or CiviCRM Contact information.
For more information on Drupal Permission settings, see the Drupal.org documentation:
- User: Access and management settings
- Assigning permissions and users to roles
- Adjusting permissions after adding modules
- Permissions reference
- Views module permissions
Drupal roles are global and override relevant access controls set up in CiviCRM (see chapter Initial Setup> Permissions and Access Control). For example, you can set up Access Control in CiviCRM to restrict access to contacts, but if the Drupal permission 'Access All Contacts' is set, anyone with that role can see all contacts regardless.
Drupal taxonomies, content access, and other role-based user access modules¶
Several Drupal modules determine which types of website content Drupal Roles can access. Access can be based on Drupal taxonomies, specific nodes, settings on specific views, pages or panels, or contexts or rules. Common modules for controlling content access, or offering options based on Drupal Roles, include: