Associations between objects

You can link objects to form a hierarchical tree view of a company's governance, risk management, and compliance structure. The tree view can extend from the business entity level down to the details of each individual risk, control, and test.

The process of linking objects is called association. Associations are relationships that exist among objects, or between objects and attached files. Associations can be created or removed without affecting the related object or file.

The IBM OpenPages® Object Model Framework contains business logic that governs the following rules:
  • The type of objects that can be associated together. For example, in the standard object model, a control object can be associated with a risk and test plan but not with a process.
  • How objects are related to one another in the hierarchy, such as parent-child.

In a parent-child hierarchical relationship, the object that initiates the association is the parent object, and the object that is the target of the association is the child object. Depending on your object model, if an object type is allowed to have multiple parent objects through association, that child object can have only one primary parent association. The parent-child relationship that exists between objects affects how the application performs certain operations, such as copy, delete, association, and locking. For example, when a user locks a parent object, all its associated child objects are also locked and cannot be modified until the lock is removed.

Depending on the object type, you might be able to link multiple parent or child objects to it. For example, a Risk object can have multiple parent objects, such as Control Objectives and Risk Assessments, child objects such as Controls and Issues, and files and links. Associations can be created or removed without affecting the related object or file.

Associations can be displayed and created in views as relationship fields. Card and grid relationship fields are similar but they look a bit different.

Your administrator defines the labels and functions of the buttons for each relationship field. For example, the label for the button that copies objects recursively might have the label Copy object and descendants or Copy Recursive. Consult your administrator if you are unsure of what the buttons do.

To work with associations, create a new object or access the object that you want to work on. In the Task View, sections and relationship fields depend on how the administrator configured the view.

The following example shows a card and a grid relationship field in a section that is used to show children of a Risk. The card relationship field is for Issues and the grid relationship field is for Controls. You can associate, or add, objects, create new objects, and copy objects recursively in both relationship fields.

Figure 1. Example of a card and a grid relationship
A section for child objects of a Risk is shown. The section contains a card relationship field and a grid relationship field. The card relationship field shows three panels, each displaying an Issue. The card relationship field includes three buttons: Add Issue, New Issue, and Copy Recursive. The grid relationship field shows three rows, each displaying a Control. The grid relationship field includes three buttons: Add Control, New Control, and Copy Recursive.

Associating a new child object

For a child relationship field, your administrator might have configured a button that creates and associates a child object. Clicking the button opens the Creation View for the object type.

Associating an existing object

For a relationship field, your administrator might have configured a button that associates an existing object. Clicking the button opens a Grid View where you can select objects.

For example, on the Task View of a Process, you can have a Grid View that displays the Risk children of the Process.

Figure 2. Example of a grid relationship that shows the Risk child objects of a Process object
A section for Risk child objects is shown. The section contains grid relationship field. The grid relationship field shows three rows, each displaying a Risk. The grid relationship field includes three buttons: New Risk, Add Risks, and Copy.
The administrator has configured the Grid View to have the following buttons:
  • A New Risk button that you click to create and associate a Risk as a child of the Process.
  • An Add Risks button that you click to associate an existing Risk as a child of the Process.
  • A Copy button that you click to make a copy of selected Risks and their descendants.

When you click Add Risks, a Grid View is displayed.

Figure 3. Example of a grid for adding Risk child objects with a public filter applied
A grid for adding Risk child objects is shown. No Risks are displayed because the Business Disruption Risk public filter applies to the grid.

In Figure 3, no Risks are displayed because the Business Disruption Risk public filter applies to the grid. If the administrator has not prohibited you from removing the public filter, you can click X to remove the filter and update the list of Risks.

Figure 4. Example of a grid for adding Risk child objects without the public filter applied
A grid for adding Risk child objects is shown. Risks are displayed because the Business Disruption Risk public filter has been disabled.

If you want to apply a filter, click Filter icon and select the filter that you want to apply.

If you have a relationship field that displays the children of the current object, there might not be a button that associates an existing object. If one of the following scenarios applies, the button is not displayed:

  • Your administrator didn't configure the relationship field to have a button that associates an existing object.
  • Your administrator configured your system so that a child object type can have only one parent of the current object type. In this scenario, the button isn't displayed for that child object type because existing children might already have a parent of that type.

You can have a relationship field that displays the parents of the current object. If the field is defined with a button that associates an existing object, you can click the button to add a parent. If your administrator configured your system so that only one parent of a specified object type is allowed for the current object type, you can click the button to replace the existing parent. A warning is displayed with the selection grid to indicate that the existing association will be replaced.

When you select one or more associated objects in a relationship field, you see the following buttons:

  • A button that deletes objects is displayed.
  • If the relationship field has a button that associates existing objects, a button that removes objects is also displayed. With this button, you can disassociate objects. It does not delete objects. If the relationship field is required, all associated objects can be removed except for one.

Copying objects and their descendants

You can click a button to copy selected objects and their descendants if your administrator configured the relationship field to display that button. For example, you can click the button in a Task View for Process objects to make copies of existing Risk and Control objects. In Figure 5, the Copy object and descendants button starts this recursive copy process. When you access the Task tab of a Process, a grid relationship field displays Risk objects that are already associated as children with the open Process object and that match a Public Filter, if one is defined.

Depending on how the recursive copy button is defined, copies are made of the source object's child and descendant objects, for a specified object type relationship. Only child objects that have the source object as their primary parent are copied. For example, when a Risk object is copied, copies of all child Control objects that have the Risk as their primary parent can also be made.

Also, depending on how the recursive copy button is defined, parent associations for a source object can be replicated to newly copied objects. For example, a newly copied Control can be associated to the same non-primary parent Requirement objects as the source Control object.

For example, the Process that is named RB-01 has the children that are shown in Figure 5.

Figure 5. A grid on a Task tab that displays Risk child objects of the Process named RB-01
A grid displaying Risk child objects on a Task tab is shown. The Risks are children of the Process named RB-01.

The Risk named RB-01-Risk00189 is one of the children. Risk RB-01-Risk00189 has the child Control objects that are shown in Figure 6.

Figure 6. A grid on a Task tab that displays Control child objects of the Risk named RB-01-Risk00189
A grid displaying Control child objects on a Task tab is shown. The Controls are children of the Risk named RB-01-Risk00189.

When you click the Copy object and descendants button that is shown in Figure 5, it starts the recursive copy process. Risks that meet the Folder Filter and Filter Rules criteria are listed. The list includes Risks that are already associated with the Process and those Risks that are not.

Figure 7. The Copy objects and descendants dialog box displays the Risk child objects that can be copied.
A dialog box displaying the Risk child objects that can be copied.

When you select the Risk that is named RB-01-Risk00189 and click Done, a copy of the selected Risk object and its descendants is created. The new Risk, named RB-01_RIS_0000001, is associated to the Process that is open in the view.

Figure 8. The grid of Risk child objects displaying the copied Risk indicated by a red circle.
A dialog box displaying the new Risk object that was copied.

Copies of the child Control objects were made. In Figure 9, the children of the new Risk RB-01_RIS_0000001 are displayed.

Figure 9. The grid of Control child objects that were copied.
A dialog box displaying the new child Control objects that were copied.

Setting the Primary Parent

You can set a primary parent if the objects in the relationship field are parents and your administrator has configured a button to set a primary parent. When you click the button, you can associate a parent object or change the current primary parent. When you click the button that sets a primary parent, a Grid View opens where you can select an object. If the object does not have a primary parent, the parent object you chose is set to the primary parent. If the object has a primary parent, the parent object you chose overrides it as the primary parent, but the former primary remains as a parent.

For more information about associating primary parents, see Primary parent association.