November 9th, 2007 by
David Zeidman
The idea of creating user defined business rules has been discussed in various threads at Blackbus and on the Blackbaud Raiser’s Edge forums (see User Defined Business Rules for example). The whole functionality is really useful but there are clearly limitations.
One really good use of VBA is to perform this very task. For those not familiar with the build in version it allows you to select a query (constituent, gift or action) and for a all or a limited number of security groups it allows you to display a message on opening the record. This same functionality can be repeated using VBA. Of course you are able to query on a lot more, or perform more than simply display a message. Read the rest of this entry »
Posted in Beginner |
No Comments »
October 29th, 2007 by
David Zeidman
You may be interested in knowing how to install a plugin because you have just downloaded one and want to install it or you have just developed a plugin and want to deploy it. This article covers both.
Read the rest of this entry »
Posted in Beginner, Not Code |
1 Comment »
October 15th, 2007 by
David Zeidman
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. Read the rest of this entry »
Posted in Beginner, Not Code |
No Comments »
August 28th, 2007 by
David Zeidman
If only we could change Raiser’s Edge in the same way that we can change other applications such as our favourite music players etc.
Well unfortunately I cannot show you a way to do exactly that but there are a few things that can be changed. Read the rest of this entry »
Posted in Beginner |
1 Comment »
August 20th, 2007 by
David Zeidman
There are a lot of misconceptions about what the Raiser’s Edge API is and what it can be used for. A lot of organisations are put off by the fact that the API is expensive to purchase on top of the fact that they may have to cover the cost of development too.
Read the rest of this entry »
Posted in Beginner, Not Code |
No Comments »
August 2nd, 2007 by
David Zeidman
There has been some discussion on the Blackbaud forums and on the Blackbus forum about using a second non-production database. This article will highlight some ways of doing this.
Before I begin I want to categorically state that if you believe what I am writing in this post breaks your Blackbaud contract then do not do it. A long time ago I was told by Blackbaud that it was perfectly acceptable and I hold by that but I know that others who have been told otherwise (including various support people at Blackbaud who will give you a different ruling depending on who you speak to!) Just to reiterate I am in no way encouraging you to break the law!
Read the rest of this entry »
Posted in Beginner, Not Code |
2 Comments »
July 10th, 2007 by
David Zeidman
When I first saw Shaun Sullivan’s code to create a .NET plugin in Raiser’s Edge I was a bit concerned. I tried out the code and after a bit of fiddling with it I managed to get it to work. Although I thought and still think that having an extra HTML page with the plugin as a user control was a bit of a hassle.
A much easier solution that I have done several times is to simply create a .NET class library with a form. When you start your plugin the form is shown directly in a new window.
Read the rest of this entry »
Posted in Beginner |
2 Comments »
June 29th, 2007 by
David Zeidman
One of the basic principles that you need to learn when you start programming the API is that for top level object (constituents, gifts, funds, participants, etc) whenever you initialize the object you need to close it down. This is not too difficult to remember to do and you are swiftly reminded when you close the plug-in or the application (it crashes).
However there are some exceptions to this. When you loop a collection of top level records e.g. CGifts, using the for each construct you also have to close down the individual item. This goes against the above logic as you did not initialize it.
Read the rest of this entry »
Posted in Beginner |
4 Comments »
February 2nd, 2007 by
David Zeidman
One thing that can make the API confusing is its inconsistencies. Take for example the task of referencing the constituent object’s system id from another data object. The constituent system ID is used uniformally throughout to connect a constituent to its child objects such as, gifts, actions, aliases, solicit codes, etc. The naming convention however is not uniform. The objects have fields which are referenced in the following format:
OBJECTNAME_fld_FIELDNAME
so that an action references the constituent that is tied to it by the following:
oAction.Fields(ACTION_fld_RECORDS_ID)
Read the rest of this entry »
Posted in Beginner |
2 Comments »
January 31st, 2007 by
David Zeidman
Every so often you discover something useful from the vault of information that is the API/VBA help file. The help file is a reference guide for the whole API but in order to really make use of it you have to study the various classes carefully. This is generally not something I enjoy doing.
I stumbled across a useful solution to a problem that could easily have been solved another way. I had been manipulating address objects (CConstitAddress) but did not have the name and constituent id of the constituent that the address referred to. Read the rest of this entry »
Posted in Beginner |
No Comments »