Book Review: Using CiviCRM

Using CiviCRM
Authors: Joseph Murray and Brian P. Shaughnessy
Publisher: Packt Publishing

If you use the open source CiviCRM software, and integrate it with a Joomla or Drupal site, this book is for you! It's a brand new comprehensive guide to CiviCRM. Previous to this book the only formal manual on CiviCRM is the Floss manual published by the CiviCRM community and available via the Civicrm.org community Web site. This new book published by the Packt open source publishers is slated to become the definitive guide to CiviCRM.

CiviCRM is open source CRM (constituent relationship management) software that can be used by non-profit or advocacy organization groups to keep track of memberships as well as any business that wants to track clients. You can use it as stand-alone software or as a plugin module for either the Joomla or Drupal content management systems. I've used CiviCRM on a number of Drupal powered Web sites and consistently impressed with the functionality the software gives you. Out of the box you can set up events and an event registration system; integrate this registration system with payment processing so your site visitors can register and pay for events on your site; add a membership sign up form; send your site's members renewal reminders and have rolling membership renewal set up automatically. You can collect donations to your site; send e-newsletters and more. Since the software is complex in terms of the functionality it offers, it's great news that we now have a manual to using CiviCRM. The Using CiviCRM book is long overdue and anyone interested in using the CiviCRM software will benefit from reading Using CiviCRM.

The book contains 13 chapters. Chapter 1 introduces CiviCRM by defining what a CRM is and why you need one for your Web site. The chapter is lengthy in terms of introductory text content but definitely worth reading for background on CRMs and why you should choose CiviCRM - the authors argue for CiviCRM primarily due to its open source nature, cost savings to run it and its active and intense development cycle. A graph of the usage per CiviCRM version is provided to show you the overall growth of the software. Other visuals show the development life cycle in terms of patches and posts to the CiviCRM development community.

Chapter 2 gets into the details of planning out the requirements for your CiviCRM project. Lots of good background on development cycles is provided here including explanations of iterative and agile processes and methodologies. The book's case study and example site is introduced in this chapter. Chapter 2 is also lengthy in terms of text based content and background but will be helpful to developers and project managers who are actively planning and orchestrating new CiviCRM based Web site projects. This chapter also introduces the CiviCRM components defining Events, Memberships, Grant Management, Fundraising, Activities, Case Management, and Roles & Permissions.

Finally chapter 2 shows how CiviCRM integrates with popular open source CMS including Drupal and Joomla.

Chapter 3 shows you how to install and configure CiviCRM. The importance of this book cannot be stressed enough but this chapter definitely shows strengths in terms of the details provided about installing per environment - there are specific instructions on how to install on a Joomla site, Drupal site, as a stand alone and with other 3rd party applications. The authors even include a Drush install process for installing the modules on a Drupal site using the Drush commands.

Configuration is next. The authors show us how to add contacts to our database; send e-mails; setup online payment processor integration with Google Checkout, PayPal, Moneris, and many more. You'll learn how to customize your site's layouts and form templates and other components; how to sync your CiviCRM users with your CMS's users table, and set up role based permissions and access control for your member user accounts. CiviCRM Roles Sync module is described in detail and this will be helpful for any site manager who wants to keep their Drupal user accounts synced to the corresponding CiviCRM record for the user. There's a wealth of detailed information on setting up cron tasks to run - a whole 4-5 pages worth. This will help to keep your CiviCRM site updated and maintained automatically. Finally the chapter covers the upgrade process and the backup process.

Chapter 4 goes into much more detail on handling your contact records in CiviCRM. You'll learn how to set up contact types, navigate contact fields and details. Detailed screenshots are provided and clear step-by-step instructions.

Chapter 5 shows how you can extend the core CiviCRM contact fields by adding your own custom fields to collect more data for your contact records. Once you have custom fields you learn how to integrate these fields with custom profile forms on your CiviCRM site so you can collect membership, event and contribution data. The authors show you how to expose and show these custom forms on your Joomla and Drupal sites. You also learn how to import contact data into your CiviCRM contacts database via an external contact file, for example if you have existing data in an Excel CSV formatted file that you want to import.

Chapter 6 shows you how to send e-mail newsletters to your contacts with CiviCRM using the CiviMail component of the software; and how to template these newsletters so they have a specific HTML based layout. Features such as printing address labels and printing PDF versions of letters to give to contacts at your events are also covered. Again, the authors give you a wealth of information on how to manage all aspects of your mailing initiatives and strategy.

Chapter 7 covers fundraising, receiving contributions and pledges, in CiviCRM and will interest many readers and users of the CiviCRM software who want to add e-commerce and payment processing to their membership site. Configuration of payment processors and setting up a secure online transaction environment is discussed in detail. You also learn how to add a contribution widget to your site to make it easy for your users to contribute.

Chapter 8 shows you some tips and tricks on growing your CiviCRM membership database over time. Chapter 9 gives you hands on tutorials on how to configure events and online event registration.

Chapter 10 shows us one of the overlooked components of CiviCRM, case management. The chapter details case management and how to configure and manage cases in CiviCRM. Here you and your clients will learn how to set up specific cases and track events, fundraising, membership and contacts within your CiviCRM database through an entire case workflow.

Chapter 11 shows us the CiviCRM grant management tools and how to set up and track grants and grant applications and their corresponding workflow.

Finally chapter 12 will be a resource for any site administrator who needs to create detailed reports of all CiviCRM functionality explained in the earlier chapters. Here you learn how to craft detailed reports. Chapter 13 wraps up the book with a preview of future CiviCRM versions and an overall project roadmap.

I commend the authors of Using CiviCRM for putting together a treasure trove of CiviCRM documentation and training. Anyone ready to get up to speed with CiviCRM (especially Joomla and Drupal users) should add this title to his or her technical manual library. It's well worth it.

-Trevor James