Example: Infinity UI, Interaction Response
Understanding what users see in the interface that acts on the transactional database can help to understand how data is structured. For example, from Blackbaud CRM, you can see user interface items for interaction responses. Interaction responses are used in extensibility exercises throughout this BBDW documentation.
You can search the application for "Interaction."
Search results provide some leads about the functionality. Notice the help content results as well.
You can then click the Constituent Interactions Page link. The Constituent Search screen appears. You can open a constituent's interaction record this way.
The Interactions page for the constituent appears.
To add an interaction, you click Add in the Interactions section.
You can then double-click the interaction to open the record.
On the Interaction record, you can browse to the Responses tab.
Responses can be created by clicking Edit response.
If response categories and responses are not configured, you may have to do that.
So now there is an interaction response on a constituent record that you can examine. To see more about this page, click the button at the top right of the application to toggle Design Mode on. For more information about Design Mode, see Page Designer Guide.
Note: To turn Design Mode on in the ClickOnce Smart Client interface, you select Tools\Design Mode in the menu. Design options are the same in ClickOnce and Web Shell, but for releases prior to 3.0, Design Mode is only available in ClickOnce.
On the Responses tab, you can click View Xml to see more about the data and the interface.
Notice the embedded Transact-SQL in this portion of an Infinity spec. You can use that to find the underlying data structure.
create procedure dbo.[USP_DATALIST_CONSTITUENTINTERACTIONRESPONSE]
(
@INTERACTIONID uniqueidentifier
)
as
set nocount on;
select
[RC].[NAME] as [RESPONSECATEGORY],
[R].[RESPONSE],
[R].[CODE]
from dbo.[INTERACTIONRESPONSE] as [IR]
left outer join dbo.[RESPONSE] as [R] on [R].[ID] = [IR].[RESPONSEID]
left outer join dbo.[RESPONSECATEGORY] as [RC] on [RC].[ID] = [R].[RESPONSECATEGORYID]
where [IR].[INTERACTIONID] = @INTERACTIONID;
Now you are ready to move on to the database in the next example.