30 May, 2013
By pdelbar

Imagine you're a non-profit employee or volunteer, responsible for managing donations. You get into the office, pick up the first coffee on the way to your desk, to find a HUGE bank statement for you to process today. Good news for your employer, not for you, because even at the rate of roughly two payments per minute, you'll be spending 19.5 hours processing them. Yay !

Wouldn't it be nice if CiviCRM would load the bank statement files and turn them into contributions, membership renewals, new contacts, people who have moved and so on ? Yes, of course.

Why can't we just import it as contributions ? Well, think about what the human operator does. For starters, it about identifying who the donor is, and either locating the contact or creating a new one. Next, it's about looking at the context that knowledge provides : perhaps this is the payment of an already existing pay-later contribution, or a pending...

Read more
24 May, 2013
By totten
Filed under API, Architecture, Extensions

CiviCRM configuration is largely driven through the web interface and the database: if an administrator wants to add a new "report" or new "relationship type", he can accomplish this with a few clicks of the web interface. The new item is inserted into the database and immediately becomes live. This is great for web-based administration, but it's inconvenient for developers: if a developer writes a module or extension that registers something in the database, then he needs to write an installation routine to insert the item (and an uninstallation routine to delete the item). CiviCRM 4.2+ includes a better way: use the API and hook_civicrm_managed. This technique is already used in "civix" based extensions, but it also works with Drupal modules, Joomla plugins, etc.

Example Use-Case

As an example, suppose we are creating a module/extension called "fancyreports" which defines three new report classes. Each of these classes...

Read more
01 April, 2013
By Stoob
Filed under Extensions

Proper GRM tools can make all the difference in the success or failure of your herd. As many developers have found, working with a proprietary goat resource management system can seem simple in the beginning, but customizing it to your herd's specific needs can feel like eating brambles. With the new CiviCRM extensions framework and easily digestible API 3.0, developers can dig in and produce at an unprecedented rate.

CiviGoat Alpha, the world's preeminent GRM, has just launched onto the fertile open-source landscape. Let's get right to the questions.

What's a GRM?
That stands for Goat Resource Management.

Does it integrate with the equine and/or bovine retinal scanner I already use at my ranch?
Not yet, but community contributions are encouraged. Find us on IRC.

Does it scale well?

Read more
03 March, 2013
Filed under CiviCRM, Extensions

Hey all!

We're really pleased to release a little extension which adds a contact calendar to the contact record.

The calendar shows activities where contact is assignee or a target contact in a Day / week / month view and is useful for helping to schedule future activites for your contacts.

It's currently in Alpha - so please let us know if you have any issues or comments!

For more details of the extension see:


and the source code is kept at Compucorp's github page:


We're hoping to add a few features to this in the future...

Read more
06 December, 2012
By KarinG
Filed under Extensions

This module produces CRA compliant Tax Receipts. It's currently housed in the Drupal Sandbox: http://drupal.org/sandbox/semperit/1289724 - lots of development on its way to include more features and to bring it up to the level of a full Drupal project with stable releases for both D6/D7 and a variety of CiviCRM versions. After these releases future development will focus on making this into a CiviCRM extension.

The module was developed in close cooperation with a senior accountant (partner at a major firm) who consulted CRA (supervisors) on a number of occasions - though we are confident that the module is meeting CRA's current guidelines for Tax Receipts re: Charitable Donations, all users of this module should remain dilligent about keeping informed on CRA's guidelines as they may change in future.

The module puts an Issue Tax Receipt button in the View Contribution Screen (see below). Upon clicking the button...

Read more
06 December, 2012
By bgm
Filed under CiviContribute, Extensions

An organisation I work with wishes to extend the Personal Campaign Page (PCP) to allow teams to raise money either using their group PCP page, or individual PCP pages of each team member. In other words, the team organiser creates a PCP page and sets a team objective. The organiser then invites members to join its group. By doing so, the team member creates its own PCP page with a personnal objective.

In terms of functionality:

  • Donors can donate either to the team member's page, to the team page, or to the general contribution page.
  • The team PCP page should list the members of the team, and how much money they have raised.
  • The team PCP page objective should also include the total amount raised by the team (e.g. donations to the group + to team member pages)

This is similar in many ways to the FPWR Fundraising Platform (...

Read more
29 November, 2012
Filed under Extensions


Since our first blog post on CiviVolunteer, we've been on the lookout for user stories that differ from our own, as well as input from other CiviCRM users about what they'd like CiviVolunteer to be. We received quite a bit of feedback at a users group meeting in DC and have gotten a lot of input from other development shops and well as interested nonprofits.


Several use cases that were brought to us – managing a speakers' bureau and mentoring at risk youth, to name a few – are already pretty easily handled with existing tools in CiviCRM. With help from Tim Otten, we identified three categories that cover all of the currently unmet volunteer management use cases:
  • Event management
  • Volunteer matching or "brokering"
  • Skill building

Event Management

More than any other category,...
Read more
23 November, 2012

For the past few months we have been working with Future First, who have an ambitious mission of 'creating an alumni network for every state school in the UK'. A key part of this work is the ability to track and engage with recent school leavers and we've spent a fair amount of time building tools that allow them to do this. One of these is an extension that allows them to hold scripted SMS conversations with their contacts in CIviCRM.  We've just piloted this functionality with them and the results look quite promising.

The background

Over the summer Future First signed up over 25,000 school leavers to their alumni networks. They did this in two ways. Approx. 50% filled in their details just before they left school using an online form that we built with webform_civicrm. The form collected their name, email, mobile number and optionally facebook details. The other half filled in paper forms that were later electronicified...

Read more
22 November, 2012
By Eileen
Filed under CiviReport, Extensions

I seem to spend a large amount of time helping people to get data back out of CiviCRM. I'm a big fan of the reports framework and up until 4.2  I made a number of improvements to the core reports for my customers. However, from 4.2 I switched to doing reports in an extension. I have been doing almost all my reports in the extended reports extension and have been playing with a few ideas in that extension. Some of them are well developed, others are in the early stages.


I'm just going to show a few of the problems I have been tackling for customers and how the reports look. These reports are all available from manage extensions - but many need some understanding to configure and some things here I'm currently working on. However, I wanted to just put out there a smattering of possibilities so people can ask more about the ones that interest them.



1) "I want to see how people's most important...

Read more
07 November, 2012
Filed under Extensions

If you are using CiviCRM Webform Integration with Drupal 7, there has been a security release to fix potential permissions problems - you should upgrade the module as soon as possible.


One feature of Webform CiviCRM integration is that it allows you to expose contact data via webforms. Depending on what fields you have exposed in your form, this may include personal information such as birthdate, phone number, email address, etc. Proper permission settings are important to keep this information from prying eyes.
Each "existing contact" on a webform has a setting to enforce CiviCRM permissions -- this setting should rarely be disabled, and only done so by admins who know what they're doing. Unfortunately some circumstances may have led this setting to be erroniously disabled by the admin:

  • In version 3.0 - 3.1 of this module, "...
Read more