Relationship Diagram Fields
A relationship diagram field is a special data type that allows users to visualize the relationships between linked records in a tree diagram. The possible uses of the Relationship Diagram field are numerous, as it can model a large range of scenarios where there are dependencies and linked relationships between organizational assets, tasks, contracts, and other items. For instance, a business might support various clients with individual configurations of hardware and software, and the relationship diagrams could enable them to keep track of these setups and the dependencies that they require. As another example, software release versioning could include various functionalities and features, breaking changes, and interdependent components - all of these could be represented in relationship diagrams for a release version number and maintained in future releases.
The example below illustrates a simple relationship diagram:
In this case, the company's Slack/Email/Calendaring system Uses a Slack Company Account, and Requires an Exchange Server to run. This Exchange Server uses another set of components, which in turn have their own dependencies. The diagram is restricted to depicting a unidirectional relationship from the selected parent record to the last child. However, if we were to view each item's diagram it would show a different set of relations, including the opposite relationship to the original field; for instance, the Slack Company Account would show Is Used By Email/Calendaring/Slack.
Some additional examples of possible scenarios where a relationship diagram could be useful include:
- An organizational chart using the Role field in the Employees table.
- Record versioning with links to prior records.
- Linked tasks, showing dependent and precedent tasks.
How to Configure Relationship Diagram Fields
You will need the following on the table where you configure the relationship diagram field:
- A linked field set or related table that identifies parent / upstream relationships.
- A linked field set or related table that identifies children / downstream relationships.
- Arrow labels – You will choose a field or enter hard-coded text used to label the arrows in the diagram.
- Item labels – You will choose a specific field to identify each item in the diagram item, typically a summary field. For example, you might use Contract Title for contracts or the Model Name/Number field for assets to label the item boxes.
To begin, navigate to the Setup Table wizard for the table where you will add a relationship diagram.
- On the Fields tab of the table wizard, select New > Relationship Diagram Field.
- General tab: name the action and enter admin notes.
- Options tab: Choose the following.
- Select the linked relationship that identifies the parent records.
- Choose the relationship that identifies children records.
- Once you choose the linked set/related table to define the parent and/or child records, you can optionally add a saved search to further limit the items included in the diagram from the related table. You must also choose a field in the table that holds the Relationship Name, or enter a hard-coded label for the arrows.
- Configure the remaining field settings, including its conditional editing and visibility.
- Permissions tab: set view and edit permissions to the field.
- Display tab: For the current item, its parent, and children, choose the field in the table that identifies the item. We recommend using a summary field like Title. Choose any additional display options such as the arrow type and the layout direction.
Note: It is important to select the fields which will be used to display the name of the diagram items. If this selection is left undone, the diagram fields may be blank or display incorrectly.
- Click Finish.
Next, add the relationship diagram to the table layout. It should ideally be placed close to the main item of the record.
You can also add the diagram field to the table view. This can allow you to gain a quick overview of table relationships without going into the record.
Defining Field Relationships
Because of the flexibility of relationship diagrams, there isn't a single default way to add field relationships. A KB could include several related tables which separately hold relationship information, enabling a very robust diagram setup that provides reporting on corporate assets. For instance, in our ITIL knowledgebase, we've set up special tables and fields to define these relationships for Configuration Items.
On the other hand, a single table may be designed to hold all of the necessary fields, and a very simple relationship diagram may be set up with a small number of fields designed for a specific purpose. The examples below illustrate how to create a relationship diagram for Contracts, depicting parent and child contracts, all within the same table.
At a minimum, field relationships should include the following:
- The items to be modeled must exist in a relationship that would be useful for diagramming. For instance, whenever a related contract is added in the Contracts table, it creates a relationship to its parent contract.
- The relationship must be modeled using a linked field or related table. For instance, the Contracts table contains a related table to the Contracts table that depicts the relationship between the current contract and its parent contract.
- There must be a field holding relationships for the arrow labels, if you are not simply using text labels. Relationship fields must be available for both parent and child fields or tables. This should be a choice field, and can be a part of the normal table setup. For example, a related Contract could use the Record Type field to label the arrows, which would produce results like Master Agreement for upstream relationships and Subcontract or Amendment for downstream contracts.