Get Started

Welcome to developer guides for Infinity SDK development. If you are new the Infinity platform you may be wondering how to use this resource to jump start your development efforts. Start by reviewing common questions and answers newcomers often ask when approaching the Infinity platform. This will help get you off and running!

Regardless of the type of customization or integration you are performing you will want to start with the following resources:

  • Where do I start?  Let's start with our Introduction to Customizations, SDK, and API

  • Where can I get my hands on an installation of Blackbaud CRM and the SDK? After your organization has bought the product, the installer for both the SDK and Blackbaud CRM can be located here. You will need a user name and password to see the downloads relevant to your organization.

  • Where are the installation instructions? The downloads page contains instructions, but you need a login. A beta version of new installation instructions is also available here.

  • How should I set up my development environment? Check out the following guide here.

  • Do you need to build new features that live within Blackbaud CRM? For example, do you need to build out a user interface screen or build a new sub application? Do you need additional data elements? A new database table, database view, user entry screen, report, or even a KPI (to name just a few) can be created by authoring a catalog item or "spec" using the Infinity SDK. A spec is an XML document based on a schema that describes a particular type of feature available on the Infinityplatform. Examples of a few features types are data forms, data lists, pages, and record operations. The Infinityplatform allows developers to load XML catalog items/specs into the platform. Once loaded into the system, these specs are typically referred to as “features”. More...

  • My organization has software that needs to pass data back and forth with Blackbaud CRM. What API’s are available to aid integration? The Infinityplatform is designed specifically to allow integration scenarios, and as part of that design, every application feature is accessible via standard web services accessible from any programming tool that utilizes XML, HTTP, and SOAP. More…

  • How can the SDK be used for other Infinity-based products such as ResearchPoint? ResearchPoint third-party developers may receive the Infinity SDK and may use the Infinity Web API to communicate with a hosted ResearchPoint instance to consume features, such as a data form or data list. However, due to the application's hosted nature, customizations are not allowed in ResearchPoint.

  • Are there any code samples on how to build a custom feature for Blackbaud CRM? You are in the right place! This documentation is full of code examples and spec samples, like the food bank source code. After you install our SDK, you will receive even more code samples. Also, one of the coolest features of the platform is the ability to surf the features within the product. This is a super useful way for a developer to get more information on a feature, review it’s usage within the product, secure permissions for the feature, and view the XML used to build the feature. Placing the ClickOnce smart client user interface shell into Design Mode system administrators will be able to see your XML spec files and the Transact-SQL code contained within the specs. More...

  • What are the guidelines for extending and customizing Blackbaud CRM? Blackbaud has established the 7 Commandments for Infinity Development as well as guidelines for project and code naming conventions. More…

  • Where can I get my hands on the data model? Our new on-line database reference contains a searchable listing of tables, view, stored procedures, and user defined functions. The database reference also contains subject area Entity Relationship Diagrams.

  • How is data imported and processed from other systems? Batches enable users to add, edit, and delete a group of rows to and from a staging area. From the staging area, users can review, validate, and then finally commit the rows to production tables such as the CONSTITUENT table or the REVENUE table. Import is the process of populating a batch with data from an external source. Import is usually used to create initial set of data. This may be conversion data from the previous system or initial data deemed useful to the organization. More…

  • Do you guys have a data warehouse? And can I extend that data warehouse with new data elements? Yes we do and yes you can! A data warehouse contains business information organized and stored in such a way that queries and reports can be run quickly with less impact on a transactional database. Blackbaud Data Warehouse (BBDW) and BBDW Online Analytical Processing (BBDW OLAP) can be installed for selected Infinity applications such as Blackbaud CRM. As for customizations, you can extend the data warehouse database, the ETL used to move the transactional data to the warehouse, and the OLAP cube. More...

  • Does Blackbaud have a way to create new data elements in the database that are calculated from other data elements? Of course! We call them smart fields because they are smart about when the calculations are performed. A smart field is used to add a piece of user-defined information to a record. What distinguishes a smart field from an ordinary attribute or custom database table is that the data for the smart field is defined in terms of a calculation that is processed on a schedule. More...

  • Is there a way to schedule data to be processed asynchronously? You bet. By authoring a business process you can build a parameter set and start the process on demand or schedule to process the data at a later time. You can even execute processes one after the other using a Queue. More... If you are interested in making changes to specific records within your database via criteria that you specify, a Global Change will do the trick. More...

  • Is there a way to programmatically define best practices and business policies for Blackbaud CRM? The answer is yes. Here at Blackbaud we call it Infinity Workflow which leverages Microsoft's .NET 4.0 WCF and WF capabilities. We enable you to define a process that involves many users with many steps over a long period of time, contains multiple decision points where the business process could be routed down different steps, and may be triggered by an event in the application. More...

  • What if I have a technical question? Where can I go for help? The Developer Discussions forum on the Blackbaud Community is used by Blackbaud technical employees and third-party developers to ask questions, receive answers and share knowledge on the Infinity platform.