11 October, 2013
By peterh

We've started to look into changing how objects get persisted in CiviCRM and what can we do to make things easier for people extending CiviCRM. Part of our approach is to try and integrate Doctrine into CiviCRM.


We get a lot of requests for customization and feel that the current CiviCRM customization infrastructure doesn’t meet most of our customization needs. We get a lot of requests to customize event checkouts and one of the things we frequently want to do is modify what happens at the end of the checkout process. A recent example is a subscription system where subscribers get a number of free passes to an event. We did this by manipulating some of the internal form variables to not do the payment part of checkout. The main problem with this approach is that we don’t really expect it to survive updates over a long period because it uses some internal mechanisms.


We’d like to fix this situation by separating...

Read more
27 September, 2013

One of our clients was wrestling with getting WordPress events to display within their event calendar, and I finally had enough.  We really just needed a simple WordPress widget that displays upcoming CiviCRM events.

[screenshot of the widget]

A couple hours later, voila: the CiviEvent Widget plugin.  It's really straightforward, but you can generate as many widgets as you like, control the title and number of events for each, and choose among two basic appearance options or theme it yourself.

Please let me know what you think, ideas for improving it, and any bugs or limitations you find.

If you're in the Mid-Atlantic and using CiviEvent and/or WordPress, you might consider coming to the...

Read more
06 September, 2013

There is a new native extension available for allowing parents to register their children for events within CiviEvent.  Tired of using custom data fields on a child to collect information about their parents and emergency contacts?    Would you like the information collected during the event registration to create ( or update ) the various contact records needed in the back-office?  Then this is the extension for you.  It creates a contact record for each child, each parent, each emergency contact, the household contact, and also builds the appropriate relationships between each contact. 

Pogstone (http://pogstone.com - Now a founding partner of CiviCRM) is happy to be able to sponsor and develop this extension for the CiviCRM community. We had help along the way from others: Thanks to Joe Murray and WebAccess for their contributions to making this extension happen.

To download the extension,...

Read more
15 August, 2013


Mónica Tapia-Alvarez and Isobel Platts-Dunn

Alternativas y Capacidades


In 2009, with Common Cause International technical assistance and while developing a new citizen advocacy model for educational reform, we assessed the importance of IT solutions for managing members, petitions and donations from a large number of citizens. The IT solutions that US-based organizations used were discarded because their license was extremely expensive for Latin American organizations (Convio annual license cost is around US$50,000) and had in-built US representatives and media that was useless for Latin American contexts.

Through searching for different tools (a search suggested by...

Read more
25 July, 2013

Well this is my first post on the CivCRM Blog and I am very honoured to have been given the privilege by David Greenberg. We are a CRM consulting company - meaning that we provide consulting and advice to companies who require a CRM system or who have a CRM system in place but want to know how to use it to its full capacity.

We received a grant from the Western Australian Department of Commerce to work in partnership with the Fremantle Chamber of Commerce.  The funding was to provide educational workshops to West Australian businesses about what CRM is and how it can benefit your business.  As part of the funding we were also to carry out two pilot CRM implementations.  One of which was to be for the Chamber to manage these workshops as well as their other events and memberships.

The Fremantle Chamber were actually the ones who suggested that CiviCRM would be a good fit for them as it was open source and seemed to meet their requirements.  After some research and...

Read more
03 July, 2013

I'm currently undertaking a vast overhaul of how our site (greenrenters.org) displays and handles events as they are our main interaction point with the public. I'll document what I learn in a series of blog posts and here's the first.

Some say that showing what's left to people motivates them more to take action and do something, wethere or not you think that's true is a completely different story, but here's some code to add (probably in a locally overriden 'CRM/Event/Page/EventInfo.tpl' file). For teh below to work, you need to have maximum participants on an event enabled.

{crmAPI var="ParticipantS" entity="Participant" action="https://civicrm.org/get" sequential="1" event_id=$event.id }
// Gets the current particiapnst registered for the event

{* $x=$event.max_participants, $y=$ParticipantS.count *}
// Assigns our variables for the calculation below

Remaining - {math equation="x - y" x=$event....
Read more
19 June, 2013
By aheath

Tonight found Giant Rabbit hosting the local CiviMeetup in Berkeley, CA, where we talked Drupal Webform Tips and Tricks (and if you want to support CiviCRM payment integration in Drupal webforms, you might consider giving a few dollars to our Make It Happen Campaign) and a few basic data how to's.

We had a good mix of WordPress, Joomla, and Drupal users, and Civi users old a new - and a good mix of cocktails to ease us out of the workday.

Oh, and then there was the CiviCRM Trailer. That happened.

21 May, 2013
Filed under CiviEvent, CiviMember, Training

I started out with CiviCRM as an end user who installed it for organization where I used to work.  My colleagues and I were self-taught through trial and error, and after a little while, we understood the concepts and day-to-day contact management fairly well.  However, we lacked the opportunity to fully explore functionality before diving in and using it.

At my firm, AGH Strategies, we've been providing trainings for CiviCRM clients since the first one over five years ago.  While the training is customized to each client's needs, training is most effective when we can focus on a single process, start to finish.  Meanwhile, most public CiviCRM trainings are general, soup-to-nuts treatments of everything that require the commitment of one or two entire days.

As an alternative, we're offering two targeted, two-hour "Start to Finish" training sessions in the next couple of weeks in Washington, DC.


Read more
18 February, 2013
By jcm55

One of the most common phone calls we receive at Bay Area Children's Theatre is "Are tickets still available for performance xyz?"  That call is especially common on show days, when most of our staff is at the performance venue and not in the office to answer the phone.

BACT already uses Asterisk to provide our virtual PBX and I wanted to see if there was a way to automatically give callers a list of sold-out performances based on CiviCRM event data.  I discovered an Asterisk AGI script called GoogleTTS that uses Google's text-to-speach API to read arbitrary text to callers:


The only thing that was left was to come up with a little php to get the list of sold-out events from CiviCRM and pass it to GoogleTTS to read it to callers.  The php is pretty straightforward -- it uses the CiviCRM API to fetch the list of events with start_date > today.  Two small...

Read more
13 October, 2012
Filed under CiviEvent, CiviCRM

Training courses, youth groups, sports classes, drama clubs… events like this form the bedrock of many non-profit organisations. As CiviCRM can’t yet handle such complex ‘recurring’ events, a new Make It Happen campaign aims to change that.

Perhaps your training course runs for six weeks twice a year, your sports class runs every week or your drama club runs during term-time only. Whatever your scenario, the new Recurring Events functionality will help. And for those with relatively simple requirements, it will allow the recording of attendance for Civi groups so that you can track growth and decline – a key indicator of engagement.

The term ‘recurring event’ covers various scenarios:

1. Events with multiple sessions - An event such as a training course with several sessions and a defined start and finish date. It may last for 10 weeks but a participant registers once (...

Read more