Integration between CMS, CiviCRM and SIS (Student Information System)

I have two kids who started school late last year in San Francisco. I've been getting more involved with the school and their education and have been noticing the lack of open source software in most of the school operations. In the great open source tradition of scratching your own itch, this summer i'm looking at building a few modules. These seem applicable to a lot of schools and figured it might make more sense to do some research into whats available out there. To clarify some terminology:

2.2.6 Release

The team has released version 2.2.6 with approximately 35 bug fixes and improvements. Notable fixes and improvements include:
  • More CiviCRM - Views2 integration/fixes
  • Renew Membership fixes ( CRM-4555,CRM-4556 )
You can review a complete list of 2.2.6 changes on the issue tracker.  


You can download CiviCRM 2.2.6 at our download page. Select from the civicrm-stable section. The filenames include the 2.2.6 label: civicrm-2.2.…. Be sure and download the correct version for your CMS (Drupal / Joomla! / Standalone).  

CiviCRM Multi-org: Piggybacking on Multi-site and connecting groups and organization contacts

In my last blog post about multi-org, I made the case for merging groups and relationships as an elegant solution to the multi-organization data modeling requirements. My thinking boiled down to:
  1. Groups represent a relationship between "you" (i.e. one of the owner organizations of that Civi instance) and a contact (i.e. a member, newsletter subscriber, media contact, alumni, etc.).
  2. Relationships represent a relationship between 2 external contacts.
So, under multi-org there would be more than one "you" for the first scenario above, and I thought well, let's just piggyback on the existing many-to-many data model we have for relationships. However, this proved too drastic a change to make it into 2.3, so we (I and the core dev team) went back to the drawing board.

CiviCRM 2.3: Introducing New CiviEvent Features

As mentioned previously, we’re introducing quite a few new CiviEvent features in CiviCRM 2.3. Most of them are still undergoing our internal CiviCRM QA cycle, but do check them out at our CiviCRM 2.3 sandbox if you’re interested (there is still time for some minor fixes to accommodate your use-cases!). Waitlisting

Support desk blog: Using CiviCRM hooks and API to accomplish certain tasks ...

Over the past few releases we've been drinking a fair amount of the hook kool-aid. This has proven to be super effective and gets around the problem of hacking the core files, but still allow a developer to extend the functionality of the system in minor/major ways. We've used hooks also to implement event discounts and contribution/event tracking. This week on IRC we had a few more questions which were effectively solved using hooks.

How do you delete a contact when a drupal user is deleted

Tom ( wanted to delete the civicrm contact if the drupal user was deleted. The solution was to implement hook_user that gets called before civicrm's hook_user (you can do this by ensuring that your module has a lower weight than civicrm.module). Use the api call civicrm_uf_id_get to get the contact id for a given drupal user id. This is followed by an api call to civicrm_contact_delete to delete the contact.

Community Advisory Group Reviews 2.3 Usability Improvements

This month's Community Advisory Group phone conference focused on the usability improvements which are being implemented for the 2.3 release. The advisory group was responsible for making usability the top priority for this next release, and they've been quite involved throughout the 2.3 release cycle - identifying pain points, suggesting new approaches, and helping to prioritize the issues. I had asked group members to review the key change areas and if possible also gather end-user feedback from users inside their organization or clients. Overall the feedback was quite positive - and we also got some excellent suggestions. You can check out the meeting agenda here - including a list of areas we reviewed. I've also added a section listing some of the recommended changes from the group. We'll be posting detailed blogs on most of the key changes in the coming weeks. This ongoing dialog with a consistent and committed group of users and consultants has been enormously helpful for the project.

CiviCRM Planet Blog Feed Aggregator: What's Your Feed URL

I'm working on setting up a "CiviCRM Planet" feed aggregator similar to that which exists for drupal at Please post a link to your blog's feed of CiviCRM related posts in the comments here. If you do not yet have a civicrm specific feed, I recommend creating a tag or taxonomy term specifically for items you which to appear on CiviCRM planet. Might I suggest "CiviCRM Planet" or just "CiviCRM".

Report from the June New York City Meetup

On Thursday, June 4 2009 we had a CiviCRM meetup in NY. We set up this event via CiviEvent a couple of weeks prior to the event. Cynthia T managed to get us a room at the American Friends Service Committee building near Union Square. We filled up the 28 open slots for the event fairly quickly. We had a pretty good mixture of people. From experienced users to a folks who were just getting started with CiviCRM and wanted to learn more.

Let's Make CiviPledge More Useful!

As cap10morgan noted in a recent blog, non-profits and open source solutions are a natural partnership. CiviCRM has been a fabulous gift to the organization that I lead, Trinity Episcopal Church. It allowed us to move from a FileMaker database accessible only to our office staff to a robust solution accessible to most of our membership.