How I would improve the API

If I have often wondered if I were in charge of the API at Blackbaud how I would change it. Well unfortunately I don’t wield that kind of power and secondly I am not sure that a major overhaul is required. It is clearly not a modern API being COM based but for the main it works well. However there are still quite a few areas that I would improve upon. I don’t suppose that these will ever happen. Changing the API is no doubt lower on Blackbaud’s list of priorities. With the imminent arrival of the Infinity platform (and, yes, its name does seem to have influenced the pace at which it is being released) , the ability to develop any interface into the system seems a real possibility. RE API by comparison appears somewhat staid and limited. I would imagine it no longer commands the attention at Blackbaud those of us using it would like.

That being said I would love to be proven wrong so Blackbaud if you are listening here are the areas that I would change: Continue reading How I would improve the API

Blackbaud Labs RE7 code sample

I just noticed Blackbaud have added a code sample to their Blackbaud Labs site. This appears to be the same code sample as was released on CodePlex but it will no doubt get a larger audience here.

My initial thought about this code are that it is unnecessarily complicated. Creating an embedded HTML resource, creating a specific control, putting in the correct GUID into to the HTML page and then getting it all to work seems to be somewhat of a long winded approach. Continue reading Blackbaud Labs RE7 code sample

Opening a custom Crystal Report from code

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. Continue reading Opening a custom Crystal Report from code

Changing Raiser’s Edge skin part 2

When you are supplied all the dlls that an application uses and these are all COM object it is possible to discover things about the application that you would otherwise not normally be able to do. Some people may call this “hacking” but others like myself would prefer the less confrontational description of “investigating”

Continue reading Changing Raiser’s Edge skin part 2

Static, Dynamic and User-defined code table entries

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.

Continue reading Static, Dynamic and User-defined code table entries

Installing IDLookup

Update: IDLookup is a legacy application that is no longer available for download. Almost all of the functionality has been incorporated into Importacular and we recommend that product instead.

In this post I hope to offer some help in installing IDLookup. Many people have downloaded it but it may not be so straight forward to install. Note that these instructions can also be used for installing Query Manager.

If you do not know what IDLookup is here is a brief outline. IDLookup is  a plugin that I have created to lookup records in Raiser’s Edge given a list of constituents and their address details. This is useful where you have a third party list given that does not contain your constituent ids (such as many giving sites e.g. JustGiving, FirstGiving, CharityWeb, etc)  or cold lists that you want to ensure really are cold. The application can be found on Zeidman Development ->IDLookup. This is a demo version that is tied to the sample database.

When you download IDLookup from Zeidman Development you receive a zipped up file consisting of one installation file. After extracting the installation file (IDLookup Setup.msi) double click on it and follow the guide that will install all the files in their correct location. In the plugins directory you will then see a link for IDLookup. However we are not ready to start just yet.

Continue reading Installing IDLookup

Is the API really that expensive?

I get a lot of questions asking me if a certain change to The Raiser’s Edge can be done. Here is a typical (if somewhat abbreviated conversation)

Them: “We would like to add an attribute every time a constituent is saved. Then we want to synchronize our online giving application with Raisers Edge. Lastly we want to validate fields when entering gifts into Batch.”

Continue reading Is the API really that expensive?