Data Structure

Understand the hierarchy of organization, request, contact, payment, and requirement data in a GivingData site and the implications for features such as document templates.

Understanding the way that data is connected within your GivingData site helps you maximize your use of the site's features. In GivingData, organizations, requests, contacts, payments, and requirements are often referred to as objects. Another way to think of the site's data structure is as an object hierarchy. Understanding where each object fits in relation to another is key to understanding how you will interact with your data and build tools such as document templates and super search criteria. The image below provides a visual of the data structure or object hierarchy within GivingData. 

data structure visual

  • Organizations - Organizations are at the top of the hierarchy, because almost all other data in the site relates back to an organization. 
  • Requests - Each request is directly tied to one organization. There can be multiple requests associated with an organization.
  • Payments - A request can have multiple payments tied to it. 
  • Requirements - A requirement can be tied generally to a request or to a specific payment.
  • Contacts - Contacts can be connected to data at all levels of the structure.

Document templates within GivingData are one of the features where object hierarchy is most relevant. When creating a document template, you must first select an object as the template type. The object selected will be what is referenced for adding new merge fields to a document template. Only fields that live at or above the selected object in the object hierarchy are available to insert in the document.

Consider a document template with the Request template type selected. Only merge fields related to the request or the organization are available. This is because the organization is above the request in the object hierarchy. The system understands which organization is tied to the request, and the applicable data can then be populated into those merge fields. However, merge fields associated with specific payments, such as their scheduled dates and amounts, for example, are not available. Payments are below the request in the object hierarchy. The system would not know which payment to reference if a payment merge field was inserted in a request document template.

Creating and Using Document Templates with the GivingData Add-In for Microsoft Word contains instructions on building document templates, but considering this object hierarchy helps with understanding why certain merge fields are or are not available for each template type. In addition, it can help as a starting point to troubleshoot instances where data does not populate a merge field as expected.