Configure upstream traceability columns

Modified on Wed, 3 Sep at 12:44 PM

Risksheet supports displaying upstream traceability data, allowing you to visualize and manage links between Risk items and their related higher-level work items—such as system requirements, software requirements, or hazards.


By default, the first column in the Risksheet displays these upstream items. However, this behavior is fully configurable.


By default, the first column shows the items linked to the Risk items.




TABLE OF CONTENTS


Configuration

The upstream / parent column is a table column with the following parameters


  1. set "type" of the column to "itemLink"
  2. set "typeProperties"in a way that
    1. "linkRole" points to a work item link role connecting risk item to parent item
    2. "linkTypes" points to a work item types that shall be considered as parent items
"columns": [
    {
      "headerGroup":"Potential risks",
      "header": "Item/Func",
      "type": "itemLink",
      "width": 150,
      "filterable":true,
      "level": 1,
      "typeProperties":  {  
          "linkRole": "assesses",
          "linkTypes": "systemrequirement,softwarerequirement"
          }
    },



The upstream links can also be backlinks. Even though technically this is not upstream, this can help to have other traceability columns. You can use the property "backLink": true


  {
      "headerGroup":"Potential risks",
      "headerGroupCss": "headPotentialRisks",
      "headerCss": "headPotentialRisks",
      "header": "Causes",
      "type": "multiItemLink",
      "width": 250,
      "filterable": true,
      "level":2,
      "id":"causes",
      "canCreate":true,
      "typeProperties": {
        "linkRole": "effect",
        "linkTypes": "risk",
        "backLink":true,
        "createInCurrentDocument":true        
      }
    },



Where to load data from?


Document/Project/Query

You can use any combination of query, project, and document to load the items. It is not required to use all three options.


You must use the full document path to use the document parameter.

In this example "Risks" is the folder name and "harms" is the name of the document.

....
      "typeProperties": {
        "linkRole": "assessedHarm",
        "linkTypes": "harm",
        "document":"Risks/harms" ,
        "project":"med_library",
        "query":"status:released"
      }
...


Suggest items based on other column values

You may want to suggest items (open picker) based on other columns, e.g., load situations that are linked with events.

The queryFactory can be used as an extension to any previous config options

 

{
...
    "queryFactories":{
      "situationsQuery":"function(info){return 'linkedWorkItems:'+info.item['assessedSequence']}"
    },
  "formulas": ...   
 ...
  "columns": [
   ...
    {
      "headerGroup": "Hazards and Harms",
      "headerGroupCss": "headPotentialRisks",
      "headerCss": "headPotentialRisks",
      "header": "Hazardous Situation",
      "type": "itemLink",
      "width": 150,
      "filterable": true,
      "level": 3,
      "id": "assessedHazardousSituation",
      "bindings": "assessedHazardousSituation.description",
      "typeProperties": {
        "linkRole": "assessedHazardousSituation",
        "linkTypes": "hazardousSituation",
        "queryFactory":"situationsQuery",
        "createInCurrentDocument":true,
        "document":"Risks/hazardSituations"
      }
    },
  
   ...
}



Where to create new items?



Disable "Create New" upstream object


If no item is found, the system suggests creating a new upstream object.


You can disable this behaviour by placing "canCreate":false into the column (not to type properties).

    {
      "headerGroup": "Hazards and Harms",
      "headerGroupCss": "headPotentialRisks",
      "headerCss": "headPotentialRisks",
      "header": "Harm",
      "type": "itemLink",
      "width": 150,
      "filterable": true,
      "level": 4,
      "id": "assessedHarm",
      "bindings": "assessedHarm.title",
      "canCreate": false,
      "typeProperties": {
        "linkRole": "assessedHarm",
        "linkTypes": "harm",
        "document":"Risks/harms" ,
        "query":"status:released"
      }
    },


Create a new object in the current document

By default, the new items are created in the same place where they are loaded from (see above). You can force the system to create new items in the current "Risksheet" document using "createInCurrentDocument":true

...
      "typeProperties": {
        "linkRole": "assessedHazardousSituation",
        "linkTypes": "hazardousSituation",
        "queryFactory":"situationsQuery",
        "createInCurrentDocument":true,
        "document":"Risks/hazardSituations"
      }
    },


Create a new object in any document

Starting with version 24.8.1, you can specify a target document for new items with the flexibility to load items from any location using the property "createInDocument": "document path".

...
      "typeProperties": {
        "linkRole": "assessedHazardousSituation",
        "linkTypes": "hazardousSituation",
        "queryFactory":"situationsQuery",
        "project":"med_library",
        "createInDocument": "Risks/hazardSituations"
      }
    },

You may even load work items from documents that are in different projects.



Additional configurations

Check the following articles to learn about more flexible configurations.


Click on the title to open the full article in a new tab.


Configure upstream columns to show multiple linked work items

In some risk management scenarios, a single upstream item is not enough. You may need to link and display multiple upstream work items — such as several system requirements or software requirements — to a single Risk item on the Risksheet.




Enable editing of read-only upstream columns

By default, the upstream sub-columns, i.e., the columns showing linked item properties, are marked as read-only.


Why is it a default behavior?

  • The linked objects are used in other places
  • Users may not realize that changing the values impacts other places as well



Enable linking upstream items to the Risk based on a specific condition

In some workflows, you may want to control whether an upstream item (e.g., a Hazard) can be linked to a Risk, based on the value of a custom field in the Risk item.


Using the cellDecorators feature in the Risksheet configuration, you can dynamically enable or disable linking based on logic tied to field values.



For any assistance, please don’t hesitate to reach out by submitting a ticket here.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article