civicrm_engage is dead, long live civicrm_engage!

Long, long ago, before we had indoor plumbing, penicillin or `civix generate:module`, a humble drupal module was born.

It tried its best to be helpful by employing an (at the time) cutting edge technique known as CRM_Utils_Migrate_Import to dump a motley collection of custom fields, profiles and options into your CiviCRM database.

Along with other cutting edge techniques (such as lobotomies), the process of automatically adding custom fields, profiles and options has been improved and now can be done with managed entities and our lovely api.

Display CiviCRM forms on any web site anywhere

Powerbase (the Progressive Technology Project's hosted CiviCRM program) provides a Drupal site for your CiviCRM database, but, even though it's in Drupal, you can't use it for your web site. Your web site must be hosted elsewhere. This approach is becoming increasingly popular as organizations move from Drupal, Wordpress and Joomla to new web site platforms, or simply don't want their web site vulnerabilities to lead to a compromise of their database.

CiviCRM: Going Mobile

Anyone who has tried to login to their CiviCRM database via their phone knows the feeling: utter helplessness. You would even be forgiven for thinking CiviCRM is actively hostile to the small screen.

This initial experience of the un-initiated CiviCRM user on the phone will probably remain until the eventual adoption of the Bootstrap framework (a CSS framework with built-in mobile/responsive elements).

Foreign keys aren't optional

We recently had one of our groups report that merging data was resulting in data loss. Specifically, when they merged two records, they noticed that the contribution records on the record that was deleted were not carried over to the record that remained.

I investigated and found the culprit: we were missing a foreign key constraint between the contribution table and the contact table. In fact, we were missing a lot of foreign key constraints in this database.

Send your petitions to the right elected official

The ability to create petitions in CiviCRM was a tremendous move forward for people using CiviCRM for political organizing. The petitions feature took another step forward with the Petition Email extension, that allows copies of your petition to be automatically sent by email to a given target. However, the holy grail of e-advocacy was still just out of reach: automatically sending your petition to the petition signer's elected official.

Now, CiviCRM will have it.

Choose location when sending mail through CiviMail

When generating mailing labels, CiviCRM users have the option of choosing the address to be used (e.g. you can select "Primary," "Home" or "Work") depending on where you want to reach your contacts.

CiviMail, however, does not provide this option. Instead, CiviMail automatically chooses the address for each contact - a process we can only control on a contact-by-contact basis by setting the "Bulk Mail" or "Primary" flags for each individual contact.

Database Health Report available

Have you ever completed a training a wondered whether usage of your CiviCRM database changed as a result? Have you ever wondered who were the major database users in your organization and who might need more prodding?

The Progressive Technology Project is please to announce that now, with the Database Health Report, you can find out.

Progressive Technology Project Release Summary Fields Extension

PTP's first official contribution to the extensions repository is out: Summary Fields!

PTP folks and friends have been working hard to enhance the fundraising aspects of CiviCRM. We have big plans, and expect to release the bits and pieces as they are completed.

Summary Fields is the first to make it out. We've been testing it for a month or two now and, while it has a few quirks (particularly with large data sets), it's fairly stable.

Sending an email to a target when signing a Petition

With the 4.3 upgrade, the Progressive Technology Project has made a number of important steps toward breaking out our work into pieces that others can use on their sites. This blog will begin a series of (hopefully) weekly blogs outlining new functionality that others can use.

Our first blog features the civicrm_petition_email Drupal module. Thanks to the hard work of agh1, a Drupal 6 version of the module is available ( We just finished porting it to Drupal 7.

Automatically setting school and legislative information for your contacts using Cicero

Progressive Technology Project has released a new Drupal module called CiviCRM Cicero that integrates with the Cicero service from Azavea. If you are using CiviCRM with Drupal, you can now add legislative district and more information to your database.