Types of Data Forms

Three Types

Separating data forms into features for adding, editing, and viewing records enables additional granularity for permissions. For example a user can be granted permissions to view records but not to edit or add records.

Add Data Forms are used to insert data. Edit Data Forms are used to update data. View Data Forms are used to read data.

Add Data Forms

Add Data Forms are used to insert data. Edit Data Forms are used to update data. View Data Forms are used to read data.

Add Data Forms have a save implementation, code to save data to the Blackbaud Infinity application database. Add Data Forms may have a load implementation, code for processing before the user enters data and saves the form. Add Data Forms are defined with an Add Data Form Template Spec.

An Add Data Form may be provided a context record ID to indicate a parent record for the record to be added. For example when adding an address record, a context record ID must be provided for the constituent that the address is added to.

Edit Data Forms

Edit Data Forms have a save implementation and a load implementation. The load implementation loads existing data into the data form. Edit Data Forms are defined with an Edit Data Form Template Spec.

View Data Forms

View Data Forms are used to read data for display such as with a summary section on a page. View Data Forms are defined with a View Data Form Template Spec.

Ways to Implement Data Forms

Data forms are primarily implemented with Transact-SQL stored procedures defined in the Data Form Spec or CLR code referenced by the Data Form Spec. Additionally data forms can reuse other data form's stored procedures (Wrapped SP).

Stored Procedure (SP)

Stored Procedure (SP) data forms define Transact-SQL CREATE PROCEDURE statements that are used by the platform to load stored procedures to retrieve and save information from and to the database. These stored procedures are defined in data form specs as Transact-SQL inline within the spec XML. For Add Data Forms and Edit Data Forms, a load and a save implementation are defined in separate stored procedures. The load implementation is optional for Add Data Forms. View Data Forms only have one implementation to read the form data for a given record.

Common Language Runtime (CLR)

Common Language Runtime (CLR) data forms define implementations to read, insert, and update data with .NET code that accompanies the XML portion of the spec. The advantage of CLR implementations is the ability to read and write to a Blackbaud Infinity database through libraries such as SqlClient in addition to the ability to access external data sources through other .NET APIs.

Wrapped SP

Wrapped Stored Procedure (Wrapped SP) data forms reuse stored procedures from other data forms. However Wrapped SP data forms only reuse the implementations. The wizards stub out form meta data from the existing data form into a new spec, copying rather than referencing the form meta data. But when there is a UI Model for the wrapped form, nothing about it is conveyed to the new form. For other kinds of data form extensibility, see Extensibility.

Custom UI Model

Custom UI Model features are similar to UI Model features on the presentation side. But Custom UI Model forms do not read and write to a Blackbaud Infinity database through load and save implementations.