Data Lists vs. List Builders

The SDK includes two options to display lists of data in a tabular format: data lists and list builders. But while data lists and list builders both display rows of data in grids, they retrieve the data differently.

  • For data lists, the Data List Spec (SP) defines stored procedures to return data or the Data List Spec (CLR) defines server-side catalog implementations to fetch data for lists based on CLR code.

  • For list builders, the Query View Spec uses the ListBuilder element to describe how to render query output in list builder page sections.

    Note: In Blackbaud CRM, users can create user-defined data lists based on ad-hoc queries. List builders provide access to query output without using ad-hoc queries to produce data lists, which is useful when you do not want casual users to go through the steps involved with query to produce lists of data.

In addition, while data lists and list builders both use the Output element to define columns of data, list builders include additional options to manage data in the lists. You configure many of the list builder options on the page spec of the page that displays the list builder. For example, list builders can allow users to enable follow-up actions for items in the list, select which columns to display, and rearrange columns. For more information about these options, see place the list builder on a page.

The specs for data lists and list builders have some shared options, and some child elements that are available for the root DataListSpec element on data lists are also available for the root QueryViewSpec element on list builders. However, many of these child elements are not available on both data list specs and query view specs. The following table lists the child elements of the root DataListSpec and QueryViewSpec elements and indicates which elements are available on which spec types.

Element Available on data list specs? Available on query view specs (for list builders)?
AlterExistingPages Yes Yes
BusinessProcessOutput No Yes
CLRDataList Yes No
Context Yes No
DependencyList Yes No
EmailFeedAlert Yes No
ExportDefinitionAdditionalDefaultFields No Yes
ExportDefinitionParamaters No Yes
ExportDefinitionPostSaveActions No Yes
Extensibility No Yes
ImpliedSecurityList Yes No
InstalledProductList Yes No
LastUpdatedSource Yes No
ListBuilder No Yes
MetaTags Yes No
Output Yes Yes
Parameters Yes No
QueryViewHiddenCondition No Yes
RelationshipOperations No Yes
ResourceFile Yes Yes
RSSFeeed Yes Yes
SiteSecurity Yes No
SPDataList Yes No
TaskReminderAlert Yes No
TVFImplementation No Yes
ViewImplementation No Yes

For more information about the child elements of the root DataListSpec element on data lists, see DataListSpec Elements. And for more information about the child elements of the root QueryViewSpec element on list builders, see QueryViewSpec Elements.

Another important distinction between data list specs and query view specs is the Output element. On both spec types, the Output element defines columns of data, but options within the Output element are different for data lists and list builders. Within the Output element, the OutputFields element contains a series of OutputField elements to provide metadata about the columns that the specs define. The specs for data lists and list builders have some shared options within the OutputField element, but some child options are only available for data list specs or query view specs. The following table lists the child elements of the OutputField element and indicates which elements are available on which spec types.

OutputField child element Available on data list specs? Available on query view specs (for list builders)?
CurrencyField Yes Yes
Hierarchy No Yes
InstalledProductList Yes Yes
LookupInfo No Yes
Multivalue No Yes
OutputFieldHiddenCondition Yes Yes
ValueList Yes No