RE-Decoded

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

The Obsolete API

March 26th, 2008 by David Zeidman

Inspired by a posting on Wired (which in turn was taken from a Wiki on obsolete technologies) I wanted to give you a list of the top five obsolete areas of the RE:API.

  1. Read the rest of this entry »

Posted in Intermediate | 2 Comments »

Reflecting on the Meta world

March 14th, 2008 by David Zeidman

One aspect of the API that is really well thought out is the whole Meta data structure. Back when RE7 was written, there was no reflection built into VB6. Java had it and there was some libraries that could do it but nothing was built in. Reflection (in coding terminology) is the ability to be aware of the classes and methods that are available to the code during run time.

Read the rest of this entry »

Posted in Intermediate | No Comments »

Filtering and Sorting Participants - Just not Together

February 1st, 2008 by David Zeidman

This is being written in response to two hours of trying to get some code to work only to conclude that there was a bug in the API. I am not overly convinced it will be documented any time soon so let it be documented here!

I wanted to create a collection of participant registrations for a particular constituent. I also wanted to only really look at the most recent three registrations so I needed to both filter and sort. Sounds quite simple really until of course it did not work.

Read the rest of this entry »

Posted in Intermediate | 1 Comment »

In a .NET plugin “deleting makes Raiser’s Edge go backwards”

January 4th, 2008 by David Zeidman

OK so the title can be interpreted in many different ways but what is says in essential the truth.

 I had a complaint from a client who was testing a plugin that I had created. She said that “deleting makes Raiser’s Edge go backwards and that the arrow keys were broken too”. Of course it took some probing for me to work out what she really meant but here is it is.

  Read the rest of this entry »

Posted in Intermediate, Not Code | No Comments »

Fund Missing (Found in an Unexpected Place)

December 21st, 2007 by David Zeidman

I had an error that bugged me for a while when I could not work out what the problem was.

I had a list of gifts that I wanted to create on different constituents. I had the constituent id, the date, amount, fund, appeal, campaign, everything that I thought was required.

I got the following error message when trying to save the newly created gift:

Required Field Missing: Fund

Read the rest of this entry »

Posted in Intermediate | No Comments »

VBA in Imports

November 26th, 2007 by David Zeidman

At one time I was very keen on working with VBA on import. I now steer clear of this wherever possible! There are many reasons.

Read the rest of this entry »

Posted in Intermediate | No Comments »

Opening a custom Crystal Report from code

October 8th, 2007 by David Zeidman

Have you ever wanted to call your own Crystal Report from a custom user form? Here is how… 

In this example I have a UserForm, a button, a text field for the constituent id and a Crystal Report Control. You will need to go to the control toolbox and add this control before it can be added to your form. All of the constants (variables in upper case) have been previously defined somewhere in the code. Read the rest of this entry »

Posted in Intermediate | No Comments »

If you are not a constituent Do Not Call

October 1st, 2007 by David Zeidman

I always thought that CConstitAddress and IBBConstitAddress and CConstitAddressPhone and IBBPhone were more or less interchangeable. Or at least from the perspective of the constituent. If I have just jumped over too many steps in one sentence then let me start again.

Read the rest of this entry »

Posted in Intermediate | No Comments »

Static, Dynamic and User-defined code table entries

September 17th, 2007 by David Zeidman

I regularly use the API help file and the code examples it contains. After all why reinvent the wheel There is a good example of how to retrieve values from a code table (search for “Code Tables Server” and select the entry with the same name). The example shows you how to create a code table server, load a combo box with certain entries or see if a certain value is in the table.

A while back I was looking to validate the gift pay method. I would retrieve the data from a CSV file and before applying it to the field in the gift I wanted to make sure it was a valid value. This way I could control the error message myself. This help file example was just what I needed.

Read the rest of this entry »

Posted in Intermediate | No Comments »

Working with Attributes

August 13th, 2007 by David Zeidman

Attributes are a common tool within The Raiser’s Edge. I know of no organisation that does not have any constituent attributes. Yet the API treats them rather peculiarly. Unlike an import where you specify the category and description the Attribute record doesn’t store the category in plain text. This would be OK if you regularly referred to attributes with their code table id but you do not. They are referred to using the category text.

Read the rest of this entry »

Posted in Intermediate | No Comments »

« Previous Entries Next Entries »