Blackbaud Enterprise CRM (eCRM or BBEC as it seems to be called interchangeably) is enormous. It is a big change to The Raiser’s Edge but then that is not surprising as it is not actually the replacement for The Raiser’s Edge 7. It is an application way beyond RE 7. Nevertheless you cannot help comparing the two as long as there is no RE8 to compare to. As a software developer it is a whole new paradigm. Of course even if you know how to develop software customisations for BBEC you still need to know how the program works from a user perspective. That is why I am not only learning a new development environment but I am learning a whole new program. Some of the concepts are very similar, some are different. As I learn I have come across some quite small changes that, for whatever reason, fill me with a “wow that’s great” feeling. These are not earth shattering improvements but just things that I am sure people will appreciate. So this post is dedicated to the small differences. Continue reading Small improvements that I like about Blackbaud Enterprise CRM
There was a post on Blackbus recently where a Raiser’s Edge user was having trouble mapping the output of a third party system to RE. The other system had the constituent system id and did not have the import id or the constituent ids so importing the data directly into RE was proving to be a problem. It would also be difficult to do any kind of lookup natively in RE unless it was done manually through a query.
I suggested that this was a straight forward solution if you were to write a plugin. In fact I felt that it was so straight forward that I would just write it. So here it is a new plugin that takes a system constituent id and outputs the constituent and import ids appending them to a copy of the input file.
Continue reading Lookup by constituent system id – a new free plugin
A while ago I wrote an article about filtering on gifts. I find myself regularly having to reference the knowledgebase link which itself links to an Access database file. Here is a snippet from that other article.
A word on the GiftTypes filter. Here you can filter on cash, pay-cash, pledge, etc. However this is not simply the text but rather an id that the type refers to. This too is not well documented. There is a link in the knowledgebase (http://www.blackbaud.com/esupport/es…r=0&id=BB17413) that gives this information or it can be derived by looking at the SQL or a query.
oFilter.GiftTypes.Add 1, "Cash" oFilter.GiftTypes.Add 2, "Pay-Cash"
I got somewhat tired of having to download that mdb file each time and some of the gift types stuck, many I forget. So here is the list (mainly for my own reference but for the benefit of anyone else who needs this list):
|Gift Types ID
||MG Pay-Stock (Sold)
||Gift In Kind
||Pay-Gift In Kind
||MG Pay-Gift In Kind
||MG Write Off
||Covenant Write Off
This is perhaps more of a rant than anything else but after being so pleased with the way Blackbaud introduced Batch into the RE:API I now found myself stuck with another piece of Raiser’s Edge functionality that I am less than pleased with.In the UK Gift Aid is big business. In the States (and possibly elsewhere) the donor can claim tax back from charitable donations. In the UK it is the charity that can claim the money back from the government for
UK tax payers so this can amount to a very large sum of money if it is handled properly. There have been several changes to Gift Aid over the past four or five versions of Raiser’s Edge. One problem that was not addressed until recently was when Gift Aid had been taken in error and then claimed back from the Inland Revenue. If a gift was given in error then the Gift must be adjusted or written off and the Gift Aid must be reversed. If the Gift Aid was claimed in error (for example the donor was not a tax payer) then the Gift Aid alone must be reversed.
Continue reading Adjust that tax claim at your peril
I normally keep up with the latest changes in the Raiser’s Edge version. I thought that the jump from 7.81 to 7.82 was not that great. I knew that there were fixes so that RE would work with Office 2007, there were some more changes to optional modules (I was only really familiar with events), there were new names for items in query and export, another change to Gift Aid and that was about it. At least that was it until I saw an item on the conference pages talking about the new Batch API code that had been made available. What?? Batch API! This is something that I have been asking for forever and it completely threw me when I just stumbled across it. Continue reading API 7.82 – The Silent Revolution
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. Continue reading Custom user defined business rules
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
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.
Continue reading Installing IDLookup
Sometimes I cannot quite get want I want from Raiser’s Edge using the API. Or if I can it is very slow to get the information. For example when you get a collection of top level records, say constituents, there are filter objects which work well, you can also use the custom where clause which works when there is not a filter parameter. However what do you do when you want a combination of different areas of The Raiser’s Edge all combined into one selection.
Continue reading Sometimes the API is just not enough
I am not sure how many people out there would even dream of using C++ together with the API but considering there really is no documentation out there for this type of project I thought that I would try to put together some notes on how it is possible. The API is COM based and there is no reason why you cannot use C++ (just possibly more of a question of why you would ever want to). This posting assumes a basic knowledge of C++.
Firstly why would you every want to use C++. Sometimes this is a necessity. You may be using old C or C++ legacy code that you want to integrate directly with the API. In which case here are a few tips to get you started.
Continue reading C++ and the API