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 |