13 March, 2012
By jcm55

A wide variety of organizations make use of CiviCRM, especially in the areas managing contact/donor data, contact communication and receiving online donations. Performing arts organizations also have those needs, as well as some unique requirements around events (performances) and tickets. Over a series of upcoming blog posts, I hope to outline how our organization has used and adapted CiviCRM to meet our needs for those use cases.


About Our Organization


Bay Area Children's Theatre (BACT) is 501(c)3 based in the San Francisco East Bay area, founded in 2004. BACT produces main stage musicals and plays based on popular children's literature. Our productions feature adult, professional actors. Our education department offers after-school drama classes and summer camps.


Using CiviCRM


BACT began using CiviCRM in early 2008 to organize patron and donor contact data, track donations, and...

Read more
06 March, 2012
By dalin

<Cross posted from Advomatic.com The code blocks will be easier to read there.>

Sometimes after launching a new site our clients find that there are fields and features in CiviCRM that they don't use.  We are working with a client that wants to remove all fields and features that aren't useful in order to simplify their user interface and make it easier to use.  This includes things like SMS features, email signatures, and demographics.  There are also several fields that they wanted renamed to be more consistent with the legacy system that they migrated from.  To fulfill this requirement I used a combination of template overrides, and CiviCRM's translation system.  

First up I should point out that if you do want to go down this path you need to make clear to the client that this will take a fair amount of effort up front (hopefully less...

Read more
11 February, 2012
By xavier


So as every consultant, there is a bit of new projects, maintenance, stuff you do for free for the community, new ideas, meetings, pre-sales, funky developments & the dreaded admin part (invoicing/timesheet).


As any consultants, we are trying to get an overview on what are the issues, where we spend the time, who's involved and what has to be invoiced. For what I've seen for the past 20 years, the choice seems to be between separate tools that work well but don't talk to each other and one big ERP that tries to do everything but does it badly and that no one uses without cursing.


As all our contacts are in civi and that it also can track activities, was wondering if some of you are already using it as part of that combination and hopefully not turned it into a clunky 'ERP'?


We have started with Andreas, Tamsin, Julian & Cristel with some civi/drupal tools and Civi, but are in the...

Read more
09 February, 2012

Okay, I'm double-posting today in case you don't find this buried in the forum.  My forum posting contains all of the details regarding a custom hack written for a client to automate 7 renewal email reminders based on expire date.


I do hope you find this useful.  http://forum.civicrm.org/index.php/topic,6176.msg98034.html#msg98034


- Annalee

09 February, 2012

Hey gang sorry it's taken me so long to get back to you but we've been busy slogging through a few outstanding issues.  For those of you who are currently in the throes of your data conversion here are a few quick words of advice.

1. Set up a local site for your data conversion so you don't run into any restrictions on how many records you can import at one time on your server, otherwise, you will spend a lot of time creating many, many small text files.

2. Learn as much as you can about the database tables and how many tables make up a single transaction. You will not be able to import all of your transaction data through the admin interface alone.  I will explain about this in detail further.

3. In order to convert past events you must create separate event records for every event. There is no way to get around this that I can see. We tried to avoid this when we converted to Kintera only to be faced with it again upon converting to CiviCRM.  We did the...

Read more
29 December, 2011

Recently we noticed the Make-It-Happen on CiviCRM.org which proposed to integrate CiviCRM with Clickatell and other SMS gateways. I approached dlobo on IRC and asked if he would be interested in seeing the code we had developed that would do some of what the MIH proposed. He asked why we hadn't mentioned it before and my sheepish response was that, even though it worked, it felt like it was a duct tape solution not ready for public consumption. However, at his request, I offer it up for your collective use.

The Problem:

A year or two ago a client approached us and asked if we could integrate SMS into his CiviCRM site. He was working with college bound teenagers who, apparently, don't read email anymore. (Kids these days...) What he needed was a way to communicate with them over SMS with the following features:

  1. All inbound and outbound messages must be tracked
  2. "Real" SMS should be used as opposed to utilizing the...
Read more
25 December, 2011
By fen

Similar to @annaleevk's story (Tales from a Blackbaud Kintera Conversion) earlier this year I was tasked with migrating a 60K contact Kintera database to CiviCRM.  To make matters more "interesting", the client had a home-grown database with mixed information, some defining new contacts and some adding information to the Kintera contacts.  I will not talk about this second database merge issue any further (perhaps I just want to put it all behind me).

After project definition and kick-off, 50% of our time was spent creating data dictionaries and mappings between the incoming tables and CiviCRM, while the other 50% was spent on script creation and data import.  Oh, and then there was the 50% spent on data cleaning and another 25% on re-mapping and merging that was not planned for to that extent at the beginning of the project.  Fortunately, as it became evident...

Read more
23 December, 2011

This time of year I would normally be entring data from hundreds of sheets of paper, struggling to read people's sloppy handwriting and feeling like I was a slave to our database. But instead, I'm viewing reports on phone calls, pledges and donations, generating reminders and thank-yous -- with no data entry required!

The old way

For years our school has had the tradition of holding a "phonathon" to raise funds. We'd gather about 30 volunteers for a festive night of making calls, eating cookies, and coming together to support the important work we all do for peace, justice and sustainability education. This is how we used to do it:

  • The name, phone number, address and giving history for each donor were printed on call sheets - 1 per page. This was done by exporting a spreadsheet of contacts, then mail-merging it into a Word document.
  • Each volunteer would take a stack of these...
Read more
16 December, 2011
By akasman

This case study was originally posted on  the CiviCRM Forums.


Kehilat Hadar is an independent prayer community on Manhattan's Upper West Side in New York City.  The organization has an annual budget of over $170,000, an email list subscription of over 3,000 and is almost entirely volunteer run.

CiviCRM has played a key role in enabling the transformation of operations at Kehilat Hadar over the past few years.

  • In 2008, the organization's IT systems consisted of a range of disparate components which did not communicate well with one another. For example, the web content was managed through manually edited and uploaded HTML code. A standalone open source application was used for dispatching community mail messages. Applications to accept donations or event registrations were programmed in PHP without use of a framework and required IT support...
Read more
21 November, 2011
By adshill

Having just had to import data that included a membership number for a client, rather than make a new field for the number it made sense to use the Contact ID, given that this is already a consecutive number and unique to each contact. The problem was that over the years there were big gaps in the consecutive numbers.


While the following is pretty straightforward, I've seen this issue brought up a number of times on the forum so I've written up what we did so that others may find their solution here! I hope its useful: