As of April 17, 2018, this site is now in read-only mode. To start new Blackbaud Developer’s discussions, you will find Developer Discussions in the Blackbaud CRM Community.

To post or respond to Blackbaud Community discussions, you will have to login using a login. Learn how to login here. If you have questions or need assistance, please email

Blackbaud CRM

Ad Hoc Query Performance Best Practices

By: Enterprise Singularity Team

Posted on: October 12, 2017

Optimizing performance in Ad Hoc Query can be challenging. The optimizer does well with simple queries, but struggles with larger datasets pulled from multiple tables. This is because the optimizer does not have time to examine every option and must use a simplified approach. Essentially, it looks for a few good first steps, then a few good second steps, and keeps working until it has a good plan or it runs out of time. With complex queries, it might run out of time before it can find the best approach. Given that we cannot always avoid complex queries, how do we ensure good performance? Queri... Read More

Adding Address Validation to a custom form

By: christi

Posted on: March 29, 2016

NOTE: You need to have Address Validation turned on before beginning. To see if Address Validation is enabled, open the Address Add Form 2, set the country to a country with Address Validation enabled, and ensure that the Validate button shows. At a minimum, your data form must have the following fields (though they can be named differently and can be hidden, they do need to exist in your form): COUNTRYID, ADDRESSBLOCK, CITY, STATEID, POSTCODE. In your form, add the UIAction that will trigger the validation: <UIAction ActionID="VALIDATEADDRESSACTION" Caption="Validate" Description="Perform... Read More
Categories: ,

bbcon2013 content

By: Ben Lambert

Posted on: October 17, 2013

For the benefit of my session attendees as well as folks who were unable to attend #bbcon this year, here are the slides, source code, and deployables from my session! Here are the slides: bbcon2013.InfinitySDK contains the source code (VB.NET) for the Gamification demo, which uses gaming techniques to drive user behavior in the application (for example, to incentivize fundraisers to file contact reports or complete prospect plan steps). This zip contains the Catalog, UIModel, Workflow, and Mobile projects: contains the files to depl... Read More
Categories: ,

Writing Efficient Search Lists

By: Enterprise Singularity Team

Posted on: September 4, 2013

When you create a search list with the Infinity SDK, it is important to write an efficient SQL stored procedure so that the search list returns results as quickly as possible. To do so, you must adhere to a set of performance principles: Choose highly selective filters Use covering indexes to retrieve results Return only the columns that you absolutely need Limit the number of tables referenced by a query Additionally, consider the following advice when writing search lists: Avoid “or” statements – If you use an OR statement to link filters from different tables, the optimizer cannot use index... Read More

The "Numbers" table

By: TripOtt

Posted on: September 5, 2012

I recently overheard the question at Blackbaud the other day, “What is the “Numbers” table used for?.  We’ll let me try to relay an answer to you good people.  The numbers table can be a pretty powerful thing to use.  Often times in SQL, you find yourself needing to generate numbers or finding gaps in numbered sequences.  You can use it to order things sequentially when querying for data.  For example, you can use them to help generate date/time in your queries: DECLARE @STARTDATE as DATETIME = '1/1/2012' DECLARE @ENDDATE as DATETIME  = '12/31/2012' select DATEADD(d,NUM,@STARTDATE) from NUMBER... Read More
Categories: , ,

InsertGuid Macro

By: TripOtt

Posted on: September 5, 2012

This macro will allow you generate and insert a new guid value with a single keystroke or button press.  This is an extremely useful macro because you will be creating a lot of new guid values when you begin writing your xml specs. In Visual Studio, go to “Tools > Macros > Macro Explorer”. Right-click on the “Macros” node and choose “Load Macro Project…” Assuming you have installed the Blackbaud CRM SDK, browse to “<Your local install location>\SDK\Macros” and open the “BlackbaudEnterprise.vsmacros” file. In the Visual Studio keyboard options you can map the macro to your favorite... Read More

2.94 SDK What’s New

By: TripOtt

Posted on: August 29, 2012

So What’s New?  Want to learn more about the Kitchen Sink, Page Display Zones, List Builders, Batch Import Handlers, Batch Parameter Sets, displaying data mart  info within a data lists?  Check out the What's New Guide for Blackbaud CRM SDK v2.94. Read More

Privacy Policy | Sitemap | © 2011 Blackbaud, Inc. All Rights Reserved

Digital Ocean