PacktLib: CiviCRM Cookbook

CiviCRM Cookbook



About the Author

About the Reviewers


Setting Up CiviCRM


Setting up a CiviCRM theme in Drupal

Setting up cron using cPanel

Adding items to the CiviCRM navigation menu

Refreshing the dashboard

Changing display preferences

Replacing words

Setting up geocoding

Autofiling e-mails

Creating new activities

Adding custom fields

Using Scheduled Reminders for activities

Using CiviCase to create an HR system

Installing languages and localizing CiviCRM

Organizing Data Efficiently


Adding contact types

Adding a time-limited relationship

Using tag sets to quickly organize data

Using tags and groups to segment data

Changing option lists

Creating and updating a smart group

Using Google Refine to prepare data

Importing into CiviCRM using an import script

Using external identifier deduping rules to update contacts

Using Google Refine to create a unique ID

Importing relationship data

Exporting related data

Batch updating using profiles

Using the Power of Profiles


Speeding up data entry

Using URLs to change profile displays

Creating a membership directory

Controlling the search result columns using profiles

Using the Profile Pages and Listings setting to improve usability

Setting up reCAPTCHA for user profiles

Controlling Permissions


Integrating profiles into Drupal user accounts

Restricting access to custom fields

Using CRM profile permissions correctly

Creating permissions for administrators

Managing event registrations using CiviCRM Access Control Lists

Managing Communications


Setting up a bounced e-mail account using Gmail

Creating mail templates for CiviMail

Creating mail templates for CiviMail in Drupal

Using tokens in templates

Creating custom date tokens

Scheduling CiviMail

Throttling mailings to comply with hosting restrictions

Creating newsletter subscription services using profiles

Creating newsletter subscriptions using URLs

Creating a standalone newsletter subscription form

Getting a CiviMail report

Mailing attachments in e-mails and CiviMail

Allowing users to update information without logging in

Searching and Reporting


Creating a membership mailing list using Advanced Search

Using Search Builder to create a smart group

Adding the external identifier to full-text searching

Adding custom fields to a report

Adding an extra display field to a report template

Creating a dynamic relationship report using Drupal Views

Integrating CiviCRM with Drupal


Enabling Drupal Views

Creating user accounts from contacts in CiviCRM

Mapping contact data

Using Webform CiviCRM to update relationship data

Creating user accounts on the fly with CiviCRM entities

Combining CiviCRM contacts with Drupal content using CiviCRM entities

Managing Events Effectively


Using jQuery to control form elements

Using jQuery to show and hide form elements by user choices

Using CiviDiscount with CiviEvents

Collecting data for a paid event registration with Webform CiviCRM

Using a shopping cart and Drupal views for event registration

Using Campaigns, Surveys, and Petitions Effectively


Using activities for campaign planning

Designing campaign dashboards in Drupal Views

Using surveys effectively

Recording survey results

Using get out the vote effectively

Using petitions effectively

Working with CiviMember


Creating a membership directory using Drupal Views

Updating memberships by bulk data entry

Effective membership communications using reminders

Using price sets for complex memberships

Using CiviCase for membership induction

Developing for CiviCRM


Setting up a local development environment

Finding developer resources

Exploring Drupal hooks

Exploring the CiviCRM API

Developing a CiviCRM Drupal module

Exploring CiviCRM extension development using Civix