04 February, 2011

The webform module is a great way to collect info from your contacts, perfect for things like application forms, surveys, contact forms, feedback forms, etc. The hard part is getting those form submissions to actually link to your CiviCRM contacts... until now.

Until now, getting your webforms to work with CiviCRM was a little like Groundhog Day. You wake up in the morning, create the usual form (First Name, Last Name, Address, City, State, Zip, Phone Number, Email, etc.). An hour later, you're done with the easy part. Now you have to write a custom PHP script to intercept those form submissions, call up the Civi APIs (go A team!), and start trying to match up field keys to API $params. It's kind of tedious, and doesn't always work the first time (was it supposed to be 'prefix_id' or 'individual_prefix' or 'individual_prefix_id'?). But a few hours and a few dozen test submissions later you've got it all working. Now...

Read more
21 November, 2010
Filed under CiviCRM, Extensions

Since Target Integration released CiviSync - CiviCRM Outlook Synchronization Addon in April this year, I have seen a lot of people asking about it and thanks to those who tested it and provided their feedback. Initial CiviSync was developed for CiviCRM version 2.2 and Outlook 2003/2007.

Based on your feedbacks and the updated requirement from our clients it is time that we need to update the component again but as we all know that CiviCRM has changed big time since version 2.2. The REST API has matured very well and is now very much available to test and use which will ensure that we don't need to put/include nuSOAP in the latest version. Also, Outlook 2010 has been released as well. Outlook 2003 and 2007 development was based around Visual Studio Tools for Office (VSTO) Version...

Read more
25 October, 2010
Filed under Drupal, Extensions

Check out the PowerPoint presentation for a review of Drupal modules for CiviCRM http://wiki.civicrm.org/confluence/download/attachments/33129543/Drupal+Modules+for+CiviCRM+Drupal+Camp+Toronto+2010.ppt?version=1&modificationDate=1288060322608.

I covered the ones in the tarball as well the ones on drupal.org that have stable releases for Drupal 6 and reasonable usage figures. A video of the presentation was recorded along with the rest of the main sessions at the conference. When they are processed and it is put up somewhere I'll update this post with the link.

As background, Drupal Camp Toronto 2010 was a successful two day Drupal camp with over 250 attendees (last one had less than 160) and over 15 sponsors. Keynote speakers included Dries Buytaert from Acquia, Jeff Eaton from...

Read more
24 October, 2010
A few months ago as our organization was just starting to use CiviCRM, Dave Greenberg recommended that we look at CiviCase as a solution for our admissions team to keep track of prospective students. As a collection of activities associated with a client, CiviCase looked like a great way to record our interactions with potential students as we made initial contact, followed up, received communication from them, sent more info, and then accepted their applications. From a DB point of view, yes, it is a nearly perfect way to store that information. But from a UI point of view, we had a long way to go before our admissions team would be able to painlessly get the data in, work with and update it once it was there, and then be able to get it back out in the form of reports. Here's what we did to make that happen (and more!):

Getting the Data In

Creating a case for a new prospective student is simple: just log in to... Read more
03 October, 2010

Today at the Bristol Code sprint a few of us made a concerted effort on getting making Giftaid 'plug and play' for Civi.

Our starting point is code written by Millertech and our aim is to get it into a state that we can package it as a Drupal module.  Once we've done that, we're hopeful that we'll be able to package it for Joomla also.

We're having to make a few improvements to Civi's hooks, and some modifications to the existing functionality to enable us to package it up, but the benefits are obvious: much easier installation and thus wider uptake of the module, and thus higher CiviCRM adpotion in the UK :)

We spent most of the morning familiarising ourselves with the code and discussing the necessary changes we would need to make.  This threw up some difficult problems (I'll spare you the details) but the result was this outline of...

Read more
24 September, 2010
By michal
Filed under v3.3, Extensions

Slight change in plans - I was promising the recipe on packaging payment processors, but we'll do custom reports first. They are second in the hierarchy of complexity after custom searches, and they smoothly introduce small new concept that will be described below.

 

Again, you need the very custom report first - a php class, as it is handled right now. Usual custom report is made of PHP class and the template. Once we have it, we can go ahead and package it.

 

In order not to repeat the information which was already described on packaging custom searches, here's quick summary:


  •  prepare the info file (see the sample file at the end of this blog post). The key that we'll choose is: org.civicrm.report.grant

  • ...
Read more
21 September, 2010
By michal
Filed under v3.3, Extensions

Continuing the series, let's look at packaging payment processors. Before digging in the text below, make sure you're up to date with previous blog posts: on info file format and on packaging custom search.

 

We'll start as previously, by creating a directory named exactly the same as unique key that we're choosing for our extension. Let's use example of Google Checkout payment processor - both the key and the name of directory will be org.civicrm.googlecheckout.

 

Now, we need to create the info.xml file. Since this process has been described in detail before, going straight to final effect:

... Read more
21 September, 2010
By michal
Filed under v3.3, Extensions

As promised previously, here is the first recipe for creating your own CiviCRM extension. We'll start with the easy one - let's create an extension providing a custom search.

 

First, you obviously need to create your custom search, as described in documentation. Once you have the PHP class and the template, you can start packaging it. Let's say you will be doing an activity search. You need to prepare the info file as per description in previous blog post. Please note some details around info file has changed a bit since it was originally published - that's caused by integrating some of the feedback from blog comments. The info file structure shown...

Read more
09 September, 2010
By michal
Filed under v3.3, Architecture, Extensions

This blog post is outdated. For latest information about how to create extension, please refer to Extensions Wiki Page.

 

It had to happen sooner or later - CiviCRM is growing with with variety of functionality, where people can plug in their own, custom pieces and make CiviCRM more tailored to their needs. Most prominent examples at the moment include payment processors, custom searches and custom reports. Don't confuse it with "larger scale" customisation, like writing Drupal modules which - using API and hooks - modify CiviCRM behaviour. We're talking about well defined, self-contained pieces of code which throw in some useful functionality into your existing installation. As of now, it's a bit of a hassle to install them - you need to put files in proper places, register them using administrator section and so on: nothing...

Read more