RE-Decoded

A technical look at the Raiser's Edge API from Blackbaud


Feeds:

The challenges of developing generic solutions for The Raiser’s Edge

November 8th, 2011 by David Zeidman

We develop a number of different types of solutions that connect The Raiser’s Edge with third party applications. When this is done for one organisation the hardest challenge is getting the requirements to match the end user’s as closely as possible. However we also develop a lot for third party applications directly. Most recently we released Chimpegration but there have been many others that integrate many different areas of the application. With these clients the important point is not so much as to match one set of requirements exactly but to match as many requirements exactly!

I have yet to come across two organisations that have set up RE the same way. Sometimes the differences are small but sometimes they are very large. One recurring theme is that of phone/email types. The Raiser’s Edge seems to be relatively unique in its setup of these values. Not only are phones and emails stored in the same location but you can store them according to address type too. How does this match up with a third party web application that uses email address as a primary key? They may have one field for home phone, one for mobile and possibly one other. How do you get that tie in with the possibility of any combination of phone and email types? I have seen a whole plethora of regular phone types e.g.

Home
Business
Preferred
Home 1
Home 2
(etc)
Primary
Work
Company

Those are just the ones I can think of as I write this. And of course each of these could have a number after them.

Then of course there is the proliferation of email (or is it e-mail, etc) addresses.

What techniques do we use to overcome these issues? When we are working with a third party developer directly it is often in their interest to develop the configuration piece. This saves them a lot of development cost. This means that we simply say to them if you want us to update a phone number you need to tell us which type it is. This is then supplied in the file/webservice. Likewise when we supply that piece of data, we also send the phone type too.

Another solution is to build a configuration part to the application. This is what we did with Chimpegration. We allow the end user to map the fields that they want to synchronise so that they specify which fields on MailChimp map to the fields on The Raiser’s Edge.

The last solution is the least desirable. It is possible to simply say that the home phone number should be called “Home” and email address should be called “Email” – end of story. This is clearly the simplest and cheapest but unless you have a lot of sway over the organisations that you are selling to it is unlikely that you are going to get many buyers.

Phone and email types are perhaps the most obvious but what other issues can arise?

Where you are collecting business details, should these be added to an organisation or to a business address on the constituent record? Should you create a new constituent for the organisation? How can you be sure that it does not already exist in the system but under a slightly different name. One solution is to allow the end user to review the matches that have been made but this again adds to the development cost. It could also be prohibitive if the volume of data you are bringing in is large.

What about fields that do not have an obvious place in The Raiser’s Edge. One application that we worked with had an anniversary date. There is no such field in RE. We gave the end user the option to ignore the field, store it has the spouse relationship from date or store it as an attribute.

What happens if one organisation makes a field mandatory? When I work with an organisation directly I will ask them what mandatory fields they have set up on their system. If, as part of the process, I have to create a new constituent then I will ask them to give me a default value for that field. For a generic solution this has to be worked into the application configuration.

You can see much of this in action in Chimpegration where we account for mandatory fields and different combinations of phone types and emails. Check out the synchronisation screencast for a glimpse of this in action.

So all said and done is this type of solution to be avoided? Absolutely not! It is not cheap because of the extra work involved in making the application work for all types of organisations. When people complain about NetCommunity or Patron Edge integrating badly with The Raiser’s Edge hopefully this article will have given you some insight as to the skills required by Blackbaud in getting the integration to work well. (Update 15th Dec 2011: I should clarify that given the difficulty in developing generic solutions I actually believe that Blackbaud have done a good job with these integrations)

If you are a third party application wondering how to integrate with The Raiser’s Edge then speak so us. We are skilled at doing this and have done it a lot. We can either do it for your or we can share the development. When done well it is a great asset to your company and will bring Raiser’s Edge users to your application.

Posted in Not Code | No Comments »

Chimpegration – An integration between MailChimp and The Raiser’s Edge

September 29th, 2011 by David Zeidman

It is finally here – Chimpegration. Integration between The Raiser’s Edge and MailChimp. With our free customisation you can export your email addresses directly from The Raiser’s Edge into your MailChimp lists, populating your merge variables in one automated process. Raiser’s Edge users have always been used to creating Word mail merges so that they can create sophisticated merge documents. Now they can do the same with email. Once the email campaign has been sent you can manage any bounces or unsubscribes directly from The Raiser’s Edge. Not only that, you can also add an action, appeal or attribute to any constituent with an email that was sent the campaign.

All that for free!

If you want more then we also offer a (paid for) Professional version appropriately called “Chimpegration Professional”. This allows you to synchronise activity between the two systems. This means that you can make use of MailChimp’s own forms to allow you users to update their own information. It then feeds back into The Raiser’s Edge. Equally any information you update in RE will feed back into MailChimp. Don’t worry, the review screen gives you complete control over which information is moved where. Also with this version you are able to see each constituent’s activity directly from the constituent record. See when they were sent the email, when they opened it and what they clicked on.

I was very pleased to have won a MailChimp integration fund award to integrate The Raiser’s Edge with MailChimp. It is such a great product and the possibilities for integration were enormous. The Raiser’s Edge manages donors really well but it never really made it into the world of email marketing. Of course there is integration with Outlook but that is not good enough when you need to send out thousands of newsletters. NetMail was a good start but their template design functionality was so limited. NetCommunity was better still but even with that product there are too many compromises (and it costs too). There are a lot of different email marketing applications out there but I have been using MailChimp for a while myself as part of my website newsletter. It has great functionality but I would never have used it if it had not been for two things; it is free for smaller volume users and it has a great API. Things could have been so different. Before looking at MailChimp I applied to get a developer licence at ConstantContact. I had to fill out a form and justify my use of it. I did that but they never even got back to me.

Chimpegration – Free

MailChimp – Free

Email marketing – now Free!

Posted in Not Code | No Comments »

Bank Checking Software Compared

May 19th, 2011 by David Zeidman

I have been working with different bank checking software. Blackbaud Europe have written a plug-in for The Raiser’s Edge to update the bank record data such as the name and branch of the bank as well as the address based on the sort code. We recently developed a plug-in that processed the direct debit returns and unpaids from BACS and update the recurring gifts accordingly. In some cases a new bank would need to be created. I was asked to integrate the plug-in with their Blackbaud written plug-in.

Read the rest of this entry »

Posted in Not Code | No Comments »

How many unique IDs should a Raiser’s Edge Consituent have?

February 9th, 2010 by David Zeidman

Normally when we look up at a Raiser’s Edge constituent we use a variety of identifiers to find the specific record we are looking for. It may be that we are using biographical data such as surname, first name and parts of their address. To find a one unique record we need to search by unique identifier. The most obvious that we think of is the constituent Id. This is the most common unique Id available to us on the constituent search screen. Of course there is the national insurance number (also known as social security number in the US), and the membership Id (for those with the optional Membership module).

Read the rest of this entry »

Posted in Beginner | 4 Comments »

Replacing Excel

September 5th, 2009 by David Zeidman

Most of the Raiser’s Edge users that I speak to complain that Blackbaud only offers CSV and tab delimited files as a way of importing data. They say that this is very limiting, that CSV can be unwieldy to work with outside of The Raiser’s Edge. They are also very pleased to hear that any customisation that I write allows them to import from Excel and also writes reports to Excel too. Excel offers so much functionality to prepare your data. However there are problems working with the Excel object model from within the API Read the rest of this entry »

Posted in Not Code | No Comments »

Switch to our mobile site