CRM Review Project

Based on our experiences with CiviCRM and our use cases, we identified a plan for moving forward.

The goal is to enable community-based organizations to run their own version of CiviCRM that is:

  • pre-configured to address common organizing needs
  • retains commonality so a shared skill set can be used across organizations
  • is still capable of being modified and customized for the particular organization


We've broken down the common project into following components that will be available to anyone:

  • Common configuration: We will take a default CiviCRM installation and configure it with all the database-stored settings, field list, etc. that make sense for a community organizing group. This component will include a human readable file explaining what changes were made along with a sql file that can be automatically imported into a fresh CiviCRM installation.
  • Local changes: (template, language file changes, and Drupal modules) CiviCRM provides separate directories - local to the installation - that can hold customized templates and customized internationalization files (allowing us to use more organizer-friendly lingo in the database interface). We will prepare templates and internationalization files that are customized for organizing groups, allowing a common set of changes to be used by all participating organization in a way that does not require modifications to core CiviCRM code. In addition, we will include Drupal modules for added functionality (like reports or a custom dashboard).
  • Themes: We will develop a custom Drupal theme for the project designed to meet our own design/layout needs.
  • Tutorials and training materials: CiviCRM documentation is fairly extensive, including loads of tutorials. We'll probably want to sift through what's out there and come up with a re-usable set of training materials appropriate for our audience.


In addition to the common parts of the project, there will also be individual parts that we will offer to PTP grantees who are part of our particular project

  • Hosting: The project will develop components that can be hosted on any typical, free-software hosting provider. However, we may want to consider using a dedicated virtual server for a few reasons, including: control over system resources, ability to configure custom mail options, and ensuring that we have the required versions of supporting software (like PHP, MySQL, etc). Part of getting a dedicated virtual server should include the labor to maintain, backup, and trouble-shoot problems related to the server and the installations.
  • Setup: installation the components and setting up the initial database
  • Import: importing data from existing data sources
  • Training: initial training on how to use the system
  • Ongoing support and training: answering questions and providing continued support


The project should provide a public facing web site, explaining the goals and providing links to download the components so that anyone can use it. Ideally, the configuration files and code generated should be kept in a revision control system and an issue tracker should be setup to track problems and provide for an easy method to fix problems and release new versions that can be tracked against new versions of CiviCRM.

Timeline and Costs

Only developer hours are shown, not PTP hours.

Shared components and Hosting

  1. 1 - 2 hours: Initial project infrastructure setup (simple public web site, code repository, email list, etc.).
  2. 1 - 2 hours: virtual server setup that will be used for shared hosting (plus non-labor cost: $300/month)
  3. Demo setup. The developer in close partnership with PTP will setup a demo version of our configuration that will remain up throughout the project. We will create version one of our components by creating the demo site.
    • 1 hour: Install demo Drupal/CiviCRM site.
    • 2 - 4 hours: Setting up common configuration on demo site (and keep human-readable notes). This work includes all the point and click web-based configuration. Most of this work will be done by PTP.
    • 5 - 10 hours: template customizations and language file changes. Once we've setup the local template directory and developed a system for the language changes, it should be relatively easy to make these changes. The more time consuming part will be deciding exactly which changes to make.
    • 5 - 10 hours: Custom dashboard display Drupal Module. A custom initial landing page will be created that will provide very specific statistics on how the database is being used by organizers, and will include an option to have reports emailed on a regular basis.
    • ? - ? hours: Additional custom reporting modules?
    • 5 - 10 hours: Custom drupal theme development. I'm not sure how much we want to invest in the custom theme - I think keeping it as simple as possible is the best idea since we would want to encourage people to use the same Drupal installation for the main web site - meaning they would want their own custom theme.
  4. 5 - 10 hours: Abstraction of demo project into generic, releasable files.
  5. 5 - 10 hours: Development of training materials


Below are estimates for a single group. Mileage will vary tremendously based on each group.

  1. 2 hours: initial consultation
  2. 2 - 4 hours: Gaining familiarity with the setup, develop transition plan
  3. 1 hour: Setup, installation the components and setting up the initial database
  4. 0 - 25 hours: importing data from existing data sources. Some organizations may have nothing to import, some may have simple contact lists (name, phone number, address, etc.). Those will be relatively easy given CiviCRM's import features. Others may want to import existing membership data, donation data or other related data that could get really really hairy.
  5. Initial support and training
    • 2 hours: Initial 1 hour training for advanced staff
    • 2 hours: 1 hour training for all staff
    • 2 hour: follow up training/trouble shooting
    • 5 - 10 hours: phone support 1 - 2 months following adoption
  6. Ongoing support and training: depending on group - could be 0 - 5 hours/month
Last modified 13 years ago Last modified on Oct 23, 2008, 1:49:28 PM