Powered by Smartsupp


Link By Attribute Feature in IBM DOORS Next


 

Introduction

The article explains how to use the "Link by attribute" function to automatically create, update, or delete one or more links between artifacts based on values in the attributes of the artifact.

Learn the process of creating an artifact attribute, associating it with an artifact type, and creating a view with the attribute column. The article provides two scenarios to demonstrate how to link artifacts between modules using the Link by attribute function. This step-by-step guide will help you understand the process in detail. Additionally, we will explore a powerful tool - Link by foreign attribute that can create links between artifacts in selected modules by taking information from custom attributes, making it possible to use any custom IDs used by your partner, customer, or supplier.

Info: This article is part of multi-article series about links. To learn more, check out the Linking Techniques article and Link Constraints article. In scenarios we will be working with modules from one of the DOORS default templates - Automated Meter Reader, but the examples are not content-specific and you can use any modules to follow the scenarios analogously.

Overview and Use Cases

Link by attribute is a perfect way to automatically create, update or delete one or more links between one or more artifacts based on values in the attributes of the artifact. This function can be used in a module, a collection, or an artifact view. By default, there is no artifact attribute created or designated for this function, so as a very first step *we need to create an artifact attribute, where we can later type artifact IDs as a string delimited with a comma.

*Alternatively, we can use any string attribute that may be already created, associated with the artifact type, and not used. That is however not a best practice.

Creating and Associating Artifact Attribute

Step 1 - Create a new attribute called LBA

1.) Navigate to the Administration menu (gear icon) in the upper right corner, and select “Manage component properties” and then click on Manage Project Properties > Link Types. Note: If configuration management is not enabled for your project, select “Manage Project Properties”.

Manage component properties is the second option above Create component and below Manage components and configurations

1.) Select "Manage Component Properties"

2.) Select “Artifact Attributes” and choose “New attribute”. Type name for your new attribute - in our example we will use LBA and choose “String” as a data type. The description is optional. Don't forget to save your new attribute.

Artifact attributes is on the right of artifact types, String is below Status and save is on the top right corner of the window

2.) Create and save Attribute

Step 2 - Associate new artifact attribute with Artifact Type

In the following scenario, we will be working with system requirements in the AMR System Requirements Specification module. In this step, we need to associate the newly created LBA attribute with the System Requirement Artifact type.

To do this (still in the manage component properties section) navigate to the “Artifact Types”, find “System Requirement”, and click on “Add Attribute”.

System requirement is between stakeholder specification and system specification while Add attributes is in the center right part of the window

3.) Associate Attribute with Artifact Type - A

Afterward, select LBA, click OK and save the changes.

Here we can see how they are divided by name, data type and description

4.) Associate Attribute with Artifact Type - B

Step 3 - Create a view with the LBA column

Navigate back to the AMR System Requirements Specification module, click on the “Configure page settings” icon (or alternatively right-click on the grey row), and select “more”.

More is the last option, there is also Show full hierarchy, Configure columns to display, Reset to default and a Show columns section

5.) Add new Attribute to the view - A

Find and select artifact type LBA, click on “Add” and select OK.

We are adding ID, Contents, Satisfies and Artifact types columns with the width of 45, 274, 200, 102 pixels respectively

6.) Add new Attribute to the View - B

Now we have everything ready to proceed with creating links using the “Link by Attribute” function, which we will go through in the next section.

Observe the whole process in the animation below.

Viewing not required, currently Work in Progress

7.) Create and add Attribute to the view - animation

Scenario 1 - Creating Links to Base Artifacts

To make examples as simple as possible, we created some simple requirements in both modules.

Example requirements divided by: Requirements contents: Stakeholder requirements 1-5, Artifact type: Stakeholder requirement

8.) Simple Requirements Module A

Example requirements divided by: Requirements contents: System requirement 1-3, Artifact type: System requirement

9.) Simple Requirements Module B

In the first scenario, our goal is to link System requirement 1, with Stakeholder requirements 1 and 2, using the link by attribute function. To do this, insert the stakeholder requirement 1 and 2 IDs into the LBU attribute of System requirement 1.

  • Step 1 - Click on the pencil icon in the correct cell
  • Step 2 - Type IDs 78670 and 78671 delimited by a comma.
  • Step 3 - Click OK
The pencil icon is on the right corner of the LBA cell

10.) Fill the Attribute with IDs

  • Step 4 - Click on the “Configure page settings” icon and select “Link by Attribute”.
The Link by Attribute option is between the Export Artifact and Generate report for Artifact options

11.) Select "Link By Attribute..."

  • Step 5 - Fill in the options as follows:

      • Create links for all IDs in the attribute. Don't select any other action
      • Select the attribute that contains the artifact IDs - LBA
      • Select the type of the link to use - in our example, we will use “Satisfies
  • Step 6 - Click OK
In this case you also have the options to remove that do not have a matching ID by checking the box below the one you had to check

12.) Define the rules

  • Step 7 - Now, in the satisfies column we can observe that links were created. If you do not have the “Satisfies” column in your view, please follow step 3 from the preparation section and add it analogously.
Now a Satisfies column was added to Contents, Artifact types and LBA columns, connecting system requirements with stakeholder requirements

13.) Created links

Observe the whole process in the animation below.

Animation not fully functional, Work in progress

14.) Usage of Link By Attribute - animation

Scenario 2 - Creating Links to Module Artifacts

We will continue with the results from scenario 1 and show another way to link artifacts between modules. In the second scenario we will use module ID together with artifact IDs to select requirements we would like to create links to. Afterward, we will explain the differences between options in scenarios 1 and 2.

Our goal is to create links between System requirement 2, with Stakeholder requirements 3 and 4, using the link by attribute function.

  • Step 1 - Click on the pencil icon in the correct cell
  • Step 2 - Type IDs 78293.78672 and 78293.78674 delimited by a comma, where 78293 is the ID of the AMR Stakeholder Requirements Specification module.
  • Step 3 - Click OK
The ID of the AMR Stakeholder Requirements Specification module can be seen next to its title on the left in grey color

15.) Module ID

The pencil icon is again on the right corner of the cell

16.) Fill the Attribute wIth IDs together with Module ID

Create the link the same way as in steps 4,5, and 6 in scenario 1.

Observe the whole process in the animation below.

Animation not functional, Work in progress

17.) Fill the Attribute with IDs together with Module ID - animation

  •  Step 7 - Now, in the satisfies column we can verify that additional links were created.
System requirements have been connected with stakeholder requirements in the AMR module

18.) Created links to Module Artifacts

Observe that links were successfully created regardless of the option used. From this perspective, it looks like two analogous options, however, the first difference could be seen. Next, go to the AMR Stakeholder Requirements Specification  module.

And the same applies in reverse when looking at it through the side of stakeholder requirements

19.) Base Artifacts links

Here we can see an important difference.

  • Using option from scenario 1, where only artifacts IDs were used, we created links between base artifact 78575 and base artifacts 78670, 78671. The link to the base artifact is represented by the blue arrow on the left to the artifact ID.
  • Using option from scenario 2, where we used a combination of ModuleID.ArtifactID, we created links between module artifacts.

Detailed information about differences can be found in our article Module vs Base Artifact, but to make a long story short, it is important to know that module and base artifact are two separate entries in the database and although most of the parameters are propagated between artifacts, some parameters such as links, comments, and tags are not propagated from the module artifact to the base artifact.

Is one of the options better to create links?

The simple answer is NO, as it depends on the particular use-case, however, most of the customers in most of the use-cases create links between module artifacts, so the ModuleID.ArtifactID combination is preferred unless there is a specific use-case where a link to the base artifact is needed.

Scenario 3 - Problem with Potential Consequences

Let's build upon results from scenarios 1 and 2. In this example, we will show what problem may arise when the incorrect linking option is used. We will create two comments - one for the Stakeholder requirement 1, where the link between base artifacts was created, and the second comment for the Stakeholder requirement 3, where the link between module artifacts where used.

* To add a comment column please follow step 3 from the preparation section and add it analogously.

  • Step 1 - In the AMR Stakeholder Requirements Specification module click on the comment icon and add comments for stakeholder requirement 1 and then for stakeholder requirement 3.
When adding comments you can set their Subject, content, priority and who to direct them to

20.) Add comments to Requirements

  • Step 2 - Navigate to the AMR System Requirements Specification module, find system requirement 1 and click on the link to artifact 78672: Stakeholder Requirement 1
The link will be highlighted by blue and will be next to IDs

21.) Click on the linked Artifact

  • Step 3 - Clicking on the link brought us to module artifact #78672 and we can see our comment on the right.
The comment will be under different aspects of the requirement, like when it was created, modified, its type, format and such

22.) Comment in the linked Artifact

  • Step 4 - Navigate back to the AMR System Requirements Specification module, find system requirement 1 and click on the link to artifact 78670: Stakeholder Requirement 1

It will be below the Stakeholder requirement 2

23.) Click on another link

  • Step 5 - Clicking on the link brought us to the base artifact #78670. The important thing to notice is that although we created a very important comment in the module artifact, it is not displayed here.

This is an expected result, because comments created for module artifacts are not propagated to the base artifacts, however, it can have serious consequences if we did not expect this behavior.

There are no visible comments in the comment section on the right

24.) Comment missing

Scenario 4 - Using Views for Link By Attribute

In this scenario we will show another way how to create multiple links between multiple artifacts at the same time. In case you are following these scenarios in your environment, please delete the links we created so far.

Goal - In the following example, we will show how it is possible to create links between any number of artifacts with a few clicks.

We will create a satisfaction link from artifact #78675 to artifacts 78670, 78671, and at the same time, we will create a satisfaction link from artifact #78676 to artifacts 78672, 78673, and 78674. As an artifact ID, you can use both representations - ArtifactID as well as ModuleID.ArtifactID. In our example, we will be using the second one and thus creating module artifact-to-module artifact linking.

  • Step 1 - Type artifacts IDs to the LBA column for both system requirement artifacts.
There is no optimal order that they should be typed in, so do as you wish

25.) Fill the Attribute with IDs

  • Step 2. A - One of the options may be to select both artifacts, click on the artifact properties icon, and select “Link by attribute for 2 Artifacts”.

It is between the Export 2 artifacts and Generate report for 2 artifacts options

26.) Select "Link by Attribute for 2 Artifacts..."

The process afterward would be exactly the same as Steps 4,5 and 6 in scenario 1. For our demonstration, however, we will use a more advanced method.

  • Step 2. B - Step 2.A. is a great alternative with a limited number of artifacts that are easy to find and select. In this step, we will demonstrate how to easily find any number of artifacts regardless of project complexity.
    To find all artifacts that need to be linked, we will create a filter and save it as a new view.
    To do this navigate to the filter icon, and find the LBA attribute. Next, choose the value “Exists”. This way all artifacts that have any value in the LBA attribute will be shown.
When creating a filter we need to set an attribute, values and summary of conditions

27.) Creating filter for the Attribute

  • Step 3 - Save the current filter as a new view by clicking on the “save as new view” icon and providing any name.

Create a view is the second option to the right of the search bar, we can set its name, type and where to show it

28.) Creating a view

  • Step 4 - Click on the “View options” icon next to your new view, select the link by attribute and continue as in previous scenarios.

View options is on the right side, link by attribute is between Edit Attributes and Delete View

29.) Use Link By Attribute and define the rules

  • Step 5 - Review the changes

    We can verify changes by looking at the “Satisfies” column in the AMR Systems Requirements Specification module and the “Satisfied by” column in the AMR Stakeholder Requirements Specification module.

It is next to the LBA collumn, on its right side

30.) Created out links to the Artifacts in the Module

Now Stakeholder requirements are connected with system requirements

31.) Created in links for the Artifacts in the Module

This scenario demonstrated that it is quick and easy to connect any number of artifacts using the Link by Attribute functionality.

 

Observe the whole process in the animation below.

Animation not fully functional, Work in progress

32.) Link By Attribute - creating links to Module Artifacts (animation)

Scenario 5 - Using Link By Attribute for Removing the Links

As you might see, link by attribute functionality provides more actions than just the ability to create links. It can also be used to delete links or to update links. In the next example, we will show how to delete links using the link by attribute functionality. Our starting point is the final state from scenario 4.

Objective -

  1. Delete all links from System requirement 1
  2. Modify link for System requirement 2 - leave only one Base Attribute a link to artifact #78673

We can do this in any ways described in this article - one by one, multiple at once using selection, or multiple at once using view. For this example, we will show the last option.

  • Step 1 - Modify the attribute values in the LBA column.
    • Delete all values for artifact #78675
      • Deleting all IDs from the LBA artifact would remove it from the view, as the view filters all artifacts that have any value in the LBA attribute. For the artifact to stay in view, it needs to have any string - in our example, we will use “view holder”
    • For artifact #78676 delete values 78293.78670 and 78293.78672
    • To change the link relationship from the module artifact link to the base link, delete the module ID number.
In this example we replaced the ID with

33.) Create not IDs values for the Attribute

  • Step 2 - Click on the “View options” icon next to your new view, select link by attribute, choose “Create links for all IDs in the attribute”, and also tick the checkbox for “Remove links that don't have a matching ID”.

View options is on the right side, link by attribute is between Edit Attributes and Delete View, check the box under Create links

34.) Using Link By Attribute for removing the links

  • Step 3 - Review the changes
    As you can see in the pictures below, the changes were successful. Using just a few clicks we were able to delete links and update links from the module to the base artifact at the same time.
Now the Satisfies cell should be empty

35.) Removed out link

The Satisfied by cell should also be empty

36.) Removed in link

Observe the whole process in the animation below.

Animation not fully functional, Work in progress

37.) Using Link By Attribute for removing the links - animation

Softacus Services

We, in Softacus, are experts when it comes to consulting and service delivery of IBM software products and solutions in your business. We help our clients to improve visibility and transparency when licensing and managing commercial software, providing measurable value while increasing efficiency and accountability and we are providing services in different areas (see Softacus Services).
IBM ELM extensions developed by Softacus are free of charge for the customers who ordered IBM ELM licenses via Softacus or for the customers who ordered any of our services. If you are interested in any of our IBM ELM extensions, you found a bug or you have any enhancement request, please let us know at info@softacus.com.

Related and Referenced Topics

Blog Articles:

Basics of Links and Link Types in IBM DOORS Next Generation - learn the basics about the linking and link types in IBM DOORS Next.

Linking Techniques in IBM DOORS Next - article explaining basic concepts and showing multiple ways of creation of links between artifacts. 

Link Constraints in IBM DOORS Next - learn how to create link constraints in requirements management to ensure coherence and consistency in your project and how to prevent user errors and inconsistencies when creating links between requirements.

Softacus Widgets:

Link Switcher -  widget developed by Softacus, that converts the context of artifacts links in a very short time. 

Module Link Statistics -  extension that provides users with a quick overview of the amount of the links in specific link types in a module.

Link Type Change-  extension developed by Softacus designed to enhance the functionality of DOORS Next Generation by allowing users to manipulate the direction of a link or convert it to another type of link. 

Links Builder- extension that allows the users to create a link between two artifacts in DOORS Next Generation according to the certain rules. 

Link by Foreign Attribute -  this extension allows users to create links between artifacts in the selected module(s), based on the attributes values. 

Show Attributes of Linked Artifacts -  this extension shows the attributes and links of the artifact that is currently selected. 

Image

Softacus AG

Löwenstrasse 20
8001 Zürich
Switzerland
E-Mail: info@softacus.com
Tel.: +41 43 5087081
Fax: +41 43 344 6075 

VAT: CHE-108.817.809 MWST
D-U-N-S® Number 486800618

Image

Softacus GmbH

Westendstrasse 28
60325 Frankfurt am Main
Germany
E-Mail: info@softacus.com
Tel.: +49 69 34876544
Fax: +49 69 5830 35709

VAT: DE301903892
D-U-N-S® Number 313482703

Image

Softacus s.r.o.

Křídlovická 351/47A
603 00 Brno
Czech Republic
E-Mail: info@softacus.com
Tel.: +420 530333482
Fax: +41 43 344 6075

VAT: CZ07286333
D-U-N-S® Number 496165108

Image

Softacus s.r.o.

Tatranské nám. 3
058 01 Poprad
Slovakia
E-Mail: info@softacus.com
Tel: +421 911 083 612
Fax: +41 43 344 6075

VAT: SK2121388148
D-U-N-S® Number  2121388148

Offcanvas

Cookie Policy