All posts by David Zeidman

New website coming soon

Our new website is coming soon. Over on the main Zeidman Development site there are big changes going on behind the scenes. I like the look of our existing site. It is clean and simple. However it does look a bit early 2000s so we felt it was time for a freshen up.

We looked into a CMS but we are far too hardcore for that so we just went and built everything from scratch. Almost everything you will see on the website is down to our coding skills (hopefully I am doing ourselves justice here).

I was never very satisfied with the way in which you always had to “register” each time you wanted to download a plug-in. Well now you will only have to register once and can log into your account to download instead. What is more you will be able to see your download history, and see if you have the latest version of a plug-in or if there is a new one to be downloaded. If you have purchased a licence for a product then you will see your licence and maintenance details.

Everyone who has previously registered on the site has an account. You will need to reset your password in order to log in for the first time.

Don’t rush over as we are not going live until we are satisfied that everything is ready! (hopefully towards the beginning of next week).

Customizations, SDKs and API’s, Oh RE

If you recognise the title of this post then I was inspired by a BlackbaudKnowHow article of a similar name. In that article the author describes the differences between the three terms and how they relate to Blackbaud Enterprise CRM. This is a good overview and works well for Blackbaud Enterprise CRM. However it breaks down when talking about The Raiser’s Edge 7.

Continue reading Customizations, SDKs and API’s, Oh RE

Bank Checking Software Compared

I have been working with different bank checking software. Blackbaud Europe have written a plug-in for The Raiser’s Edge to update the bank record data such as the name and branch of the bank as well as the address based on the sort code. We recently developed a plug-in that processed the direct debit returns and unpaids from BACS and update the recurring gifts accordingly. In some cases a new bank would need to be created. I was asked to integrate the plug-in with their Blackbaud written plug-in.

Continue reading Bank Checking Software Compared

Audit Trail on the Infinity platform versus The Raiser’s Edge 7

I was prompted to write this after seeing a tweet highlighting Altru’s history function. The tweet pointed to the Blackbaud Know How article about how you can see who changed what and when on a record. For those of you unfamiliar with Altru, it is one of the more recent applications released on the Infinity platform.

Continue reading Audit Trail on the Infinity platform versus The Raiser’s Edge 7

Google Calendar Integration with The Raiser’s Edge and Blackbaud Enterprise CRM

I mentioned in a previous post how a service I was using to record screencast, ScreenToaster, dissappeared. When they dissappeared so did many of my screencasts. Well I am pleased to bring back to life Google Calendar Integration with The Raiser’s Edge and with Enterprise CRM.

Continue reading Google Calendar Integration with The Raiser’s Edge and Blackbaud Enterprise CRM

Collections in The Raiser’s Edge API

The Raiser’s Edge API is somewhat of an antiquated beast. It is very powerful in as much that it allows you to do almost anything that you can do in the application itself. However it is old and uses an old technology (COM). One area where this is shown clearly is its use of collections. Almost all modern languages and frameworks (.NET, Java, php, etc) are zero indexed. This means that if you have an array the first element is accessed at the zero position.

Continue reading Collections in The Raiser’s Edge API

The Demise of ScreenToaster but a new IDLookup Demo

Recently I was looking through the Zeidman Development website. I followed a link back to this blog. IDLookup was our first product and at the time the a hot new technology had sprung onto the internet. Without a decent screencast recording application (I now use CamStudio), I decided to work with this simple yet very effective web application called ScreenToaster. Despite the funky name it was straight forward to use and did a great job of putting together the demo.

When I checked the other day my IDLookup demo was nowhere to be found. I immediately headed over to ScreenToaster only to find that the site had indeed disappeared. What is more they had taken my screencast with them. Well it was anyway time for an update to show off the latest and greatest functionality so it is back. This time I hope I have chosen a site that will be around a bit longer…

http://www.zeidman.info/downloads/idlookup.php

Checking Constituents for a NetCommunity Login

I have been developing some updates for The Mergician. There are some nice additions coming soon including clean up of duplicate attributes and appeals following the merge. However one item that has been added is the request to select a record as the primary constituent if it has a NetCommunity Login associated with it. Continue reading Checking Constituents for a NetCommunity Login

Valid date to cannot be less than Valid date from when saving a Raiser’s Edge Membership record

Valid date to cannot be less than Valid date from

I got this error message the other day when developing with the membership module. In my opinion the membership module is the most complicated module to develop code for. Possibly because of this (and the fact that it is an optional module) there appears to be the least documentation about it. When I searched the knowledgebase for this error I did get a hit. It referred to NetSolutions. It suggested that the membership record did not have an expiry date.

This was not the case in my data. I had an activity date and an expiry date as required.

I worked out what the problem was. The issues happened when adding a membership card. I share this code between new memberships and a case where you may want to add a new membership card to an existing transaction. For a new membership card I was setting the card date as the same as the transaction date. The expiry date, by default was being set to the same as the membership’s expiry date. This worked fine for new memberships.

When I went to add a membership card to, say, a lapsed membership, (why this would happen in reality is uncertain but it was happening in my case), the start date was set to the transaction date i.e. today but the expiry date was in the past so the card’s expiry date was also in the past.

I checked for this scenario and set the membership card’s start date to one day before the expiry date if the expiry date was not after the start date.