Tag Archives: Relationships

Audit Trail Cloud doubles the areas tracked

Today we released a new version of Audit Trail Cloud and what a release it is!

New Tracked Areas

We have doubled the number of areas tracked. As well as constituent, gift, address, email, phones, online presence, prospect and solicit codes, you can now also track actions, relationships (both individual and organisational), constituent codes and constituent custom fields.

We said that as soon as Blackbaud released new webhooks we would release new areas to track additions, changes and deletions and that is exactly what we have done.

To complement the new areas, we have also added two new tiles. When looking at a specific action page or a specific gift page in the Raiser’s Edge web view, we now include a tile that shows the history of changes for that action or gift respectively. (You only see this if it has been turned on for your login in Tile Security under the Configuration area of the Audit Trail Viewer)

And More Too!…

A while back Blackbaud added the functionality to see who made a change to the record. This was a much sought after addition but it was not available for all records. The changed by id only comes through for constituents, gifts and addresses. This meant that for all the other areas, we were forced to simply write “Not Available”.

As part of this release, if a user has made a change to, say, a constituent and then to an email address, we will infer the changed by user from the constituent change by data. This is not an exact science as, in theory there are several possibilities. It could be that one person is changing the constituent and, unlikely as though it may seem, another goes and changes their email address. Alternatively the same person changes the email address before the constituent record. (Or the change is made so close together that the webhook for the email is fired before the webhook for the constituent even though the constituent is changed first). In this case we will still write “Not Available”

To make it clear, for inferred changes, the changed by user is given in italics and hovering over it will show the tooltip that the value is inferred.

Upgrade (or Purchase) Now!

If you are an existing user, you will be prompted to upgrade the next time you go into the Viewer. Just go into ZeidZone to download the latest configuration version.

If you are not an existing user then what are you waiting for?! Get in touch now

Adding an Education Record to a Non-Constituent Individual






I have been struggling to find a way to a an education record to a non-constituent individual relationship. There is a Blackbaud knowledgebase article here that outlines how you add an education relationship but it takes a lot for granted. Here is the gist of it:

Dim oEdu As CEducation2
Set oEdu = New CEducation2
oEdu.Init REApplication.SessionContext
With oEdu
   .Fields(EDUCATION2_fld_RECORD_ID) = 678   'Selects the record to add the Education record to
   .Fields(EDUCATION2_fld_SCHOOL_ID) = "Berry College"
   .Save
End With

However where does the 678 come from? For a constituent this is simple. It would be the constituent system id found under the Records_fld_Id field.

However what would it be for a non-constituent individual relationship. After all they can also have education relationship records.

I tried the field Individual2_fld_Id but the error I got back told me that I could not add an education to an organization record! Not very helpful.

In the end, with a bit of trial and error I worked out that you need to put the field Individual2_fld_Relation_id.

This is the id for the corresponding entry in the Records table which consists of both constituents and non-constituents.

Hope this helps somebody.






Custom where clause with Relationships






Custom where clauses are  a great way of filtering the results of all the top object collections (where the method exists). However there are some pitfalls. One such pitfall can be found when you try to write sub selects to link to other tables. For example, say you want to find all the individual relation records that have the surname “Zeidman” and are spouses. You would write a sub select in the custom where clause as shown below:

 Continue reading Custom where clause with Relationships