When I first started out working with Raisers Edge API I realised that I was reusing many routines over and over and that would it not be better to create my own tools class so that I would not reinvent the wheel. Over the years I have added items to this class that I have found useful and have developed older items in order to do more things. In this post I will share with you some of the items that I find invaluable. Continue reading Your own API Tools Class
All posts by David Zeidman
Blackbaud European Conference 2008 – Some thoughts
I have been at the Blackbaud European Conference for the past two days and had a great time. My session seemed to go well enough and I hope that those that were there found it useful. Again if you want see the slides again then look at the posting below. (Note that you can watch it full screen using the second from right icon at the bottom of the presentation).
If you don’t remember anything else about my presentation remember this: You do not need to purchase RE:API to create a plugin. You are not going to hear that from Blackbaud too often but I have been told from high up in the company that this is the case. You are able to develop your plugin against the sample database (where all the modules are unlocked) and then deploy it to your production database.
I had a good conference and learnt a great deal about BBEC (Blackbaud Enterprise CRM) and the new Infinity platform. (Thank you Ben). Watch this space for more about my experiences of that product.
Blackbaud European Conference 2008 – Presentation
Thank you to all of you who came along to my presentation at the Blackbaud European Conference. If you are coming to this site because of the conference then welcome.
As promised here is my presentation to download. Feel free to explore this blog or browse through the plugins on zeidman.info.
You need to Flash version 9 to view this. If you cannot see it then try here
Lookup by constituent system id – a new free plugin
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
Blackbaud European Conference 2008
I am really looking forward to the Blackbaud European Conference. Apart from the fact that I will be speaking there it will be great to meet a lot of the people whose posts I have read on the Blackbaud forums and on Blackbus.
If you are going to be there then come along to my session: The Raiser’s Edge Decoded – A first look at the Raiser’s Edge API. This will be a non-technical look at what can be done with the API. I will be looking at real live examples of how the API can be used to improve your organisations efficiency. The session is at 13.30 on Monday 20th October. I shall be at the conference both days and available to answer any questions you may have
Filling a .NET dropdown with code table entries
One of the good things about the CCodeTablesServer class is the ability to fill a combo with code table entries. For example if I have a custom form and want to be able to allow the user to select say, a title, I can simply call the CCodeTablesServer class method LoadCombo and my combo is filled up with titles. Well it is if I am using a COM environment such as VB6. But what do I do if I am using .NET? Continue reading Filling a .NET dropdown with code table entries
Battling on with the Batch API
I have on several occasions expressed my delight about the arrival of the Batch API. I am still enthusiastic but somewhat war weary having spent this passed week trying to solve problems that have appeared. Clearly the Batch API was not rigorously tested before it was released as otherwise the sort of errors I am getting would not have appeared. In case you have been struggling too or in case you thinking about using this functionality here is what I have been up against.
Continue reading Battling on with the Batch API
Removing from a collection
One issue I had when I first started was how do I remove a child object from a collection. For example if I want to remove one constituent code from a constituent I need to loop through them, find the one I want to remove and remove it. My fear though was that if I simply remove it whilst looping won’t I mess up the collection? This can happen in some classes.
Filtering Individual Relationships
In my endeavour of documenting the undocumented I would like to present this little nugget of an unwritten feature. I wanted to filter a constituent’s individual relationship based on a reciprocal type and on the to date not being populated i.e. the relationship was still valid. I’ll use the filter object I thought. Continue reading Filtering Individual Relationships
The Case of the Missing Tabs
Here is a strange problem that I encountered. I wanted to show the constituent form with constituent data. I also wanted to know if the user had saved and closed or just closed the form afterwards. If I had not been interested in knowing this information then I would have simply done the following: Continue reading The Case of the Missing Tabs