Extension of CiviCRM for Voter Canvassing

As an extension to our implementation of CiviCRM to support my work as a state representative, we have created a voter canvassing module. It has been tested under Drupal 6.14 and Civicrm 3.01 and summarily retested under Drupal 6.15 and CiviCRM 3.03.

It is available for download at a page on my website that includes installation instructions. Please feel free to contact me at willbrownsberger at gmail.com if you would like access to my testbed to check out the application.

3.1 Beta 2 - Including the New Personal Dashboard!

The second BETA release of version 3.1 is now available for download. You can also try it out on our sandbox site. Please remember it’s a beta release and it shouldn’t be used on production sites.

This release includes several COOL new features:

  • Personal Dashboards - ** NEW in this beta release ** Each CiviCRM user can now configure their own dashboard (CiviCRM Home) to include summary data that's important to their work. Any available 'CiviReports' can be embedded in the dashboard in tabular or graphical format. Check out some examples on Kurund's recent blog post.
  • Contact Subtypes - Extend (and / or rename) the built-in contact types and create custom fields specific to a subtype (e.g. Staff vs. Volunteer custom fields). Thanks to the folks at Alpha International for sponsoring this much-requested feature (learn more...).
  • HTML Emails for Receipts, Event Confirmations and more - Templates for all system-generated emails are now stored in the database and editable by administrators. You can easily add styles, logos and more to your emails.
  • HTML layout overhaul for online contribution pages - Phase 1 in efforts to make front-end CiviCRM pages much easier to style / modify via CSS (learn more...). Thanks to Kyle Jaster and the folks at rayogram.com..
  • Usability improvements - Streamlined DATE input and list sorting widgets. Prevent users from losing work by alerting them if they try to navigate away from a form with unsaved changes.
  • Support for Price Sets in Online Contribution Pages - Provides the flexibility to incorporate more complex contribution options (e.g. "Contribute $25 more to receive our monthly magazine.").
  • Custom Data Groups Extensibility - Custom data groups can now be shared between multiple types of Activities, Events, Participant Roles etc.
  • Access Control for Reports - Access control list (ACL) based permissioning is now applied to report data.

Report Back from NYC CiviCRM Meetup - Dec. 8th, 2009

Here’s a group posting from Alice with Progressive Technology Project, and Kyle and Sacha with Rayogram:

Once again Rayogram’s staff stepped it up with hosting our NYC meetup, provided wifi access, with Sacha and Kyle taking leads in facilitating advanced user and developer hands-on break outs. I facilitated the newbies’ hands-on and demo break out, where we were able to use training sets fashioned by the Civi core team.

Introducing the New CiviCRM Dashboard for 3.1

Since the addition of the CiviReport component, we were thinking it would great if users could expose their reports on the CiviCRM Dashboard screen. Hence we decided it's time to redesign the CiviCRM Dashboard ('Home' page). Now it has a 2 column layout with the ability to add reports as 'dashlets'. We think this will be a significant usability improvement, and we've added it to upcoming v3.1 release. This feature will be available for download as part of the next v3.1 beta release.  

CiviCRM integration with Drupal Rules module

Workflow has been an important piece missing from CiviCRM. We figured that integrating with the Rules module in Drupal would address this problem. I decided to tackle it on as a weekend project :) Kudos to the rules developer, Wolfgang Zeigler for designing AND documenting an excellent module. The developer documentation is very comprehensive and along with the integration modules, i was able to write an integration module in a few hours. The source code for the module can be found in our svn repository We hope to address and answer some of the integration questions with the community, similar to how the Views Integration Module has been developed. CiviCRM has got pretty good hook support, so I suspect adding extensive rules support is very feasible, i.e. fire rules based on CiviCRM hooks. We need to answer a few other questions to help us move this integration forward in a fruitful manner:

3.0.3 Stable Release

The team has released version 3.0.3 stable today. This release includes 60+ bug fixes. We recommend that you review the list of fixes and upgrade your site as needed. New installations should definitely use 3.0.3. Kudos to folks in the community who have reported and helped diagnose / fix bugs during this release cycle! Top bug hunter / squashers for this release include: Dave Jenkins, Graham Gilchrist, Jack Aponte, Joe Murray, Nathan Kinkade, Raphael Vering, Tim Otten, Will Brownsberger, and Xavier Dutoit.

Undelete and Logging

As we’re closer and closer to the release of CiviCRM 3.1, we began thinking what to schedule in CiviCRM 3.2. As one of the features we want to add is the ability to undelete certain CiviCRM entities, we want to discuss with the community the initial approach to undelete that we came up with – along with a sketch of logging functionality that we consider for a future release.

General Remarks

Extending contact demographic information with a custom group

We are working with PTP and Dharmatech to incorporate their work on Canvass and Phonebank into CiviCRM v3.1. Initially we plan to package and release this as the civicrm_canvass drupal module As part of this work, we need to "extend" the core demographic information in a seamless manner. CiviCRM holds the gender / birth date / deceased date as core fields. However PTP also wanted to collect additional demographic information: ethnicity, primary language, secondary language and number of kids. We plan on storing this additinal demographic data as a custom group. We had to inject this custom group into the demographic section for the contact view and edit forms. We also wanted to hide the custom group showing up as a tabbed pane in the contact view screen. We accomplished all this using the all powerful and mighty hook system. We could inject a complete custom group into the edit field by implementing the buildForm hook and using some internal CiviCRM functions

Application of Civicrm to Support Office and Campaign operations of a State Legislator

I am member of the Massachusetts state legislature. I represent 40,000 people, 25,000 of whom are registered voters. I run for re-election every two years. During the non-campaign seasons, my small (one-paid staff plus volunteers) legislative office handles an average of roughly 30 email conversations and roughly 5 new constituents per day. We work on a range of constituent and legislative issues and I run an issues discussion website based on Wordpress at willbrownsberger.com.