IBM Engineering Requirements Management DOORS Family
- Last updated
- Save as PDF
Note: The DOORS connector is not available on Planview Hub Cloud.
Overview
IBM Engineering Requirements Management DOORS Family (formerly IBM Rational DOORS) is a requirements management application popular in organizations building complex and embedded systems, as well as those doing business in heavily regulated industries.
Organizations need traceability of requirements, designs and tests. But often, software engineering teams prefer to use tools that are purpose-built for them, and use Agile methods and Agile planning tools to manage the development of requirements. Similarly, testing teams prefer to use their tools to manage the creation of test plans and test cases. Planview Hub allows them all to work in their tools of choice and still benefit from complete traceability.
For example:
- Hub can synchronize the software module requirements in DOORS to the requirements in software test management tools, such as Micro Focus ALM/QC.
- The test engineers see those requirements in QC and build their test plans, execute their tests and log defects in QC.
- The Direct Cover Status in QC can also be synchronized to DOORS, providing test result information back to the systems engineering team using DOORS.
Key Features and Benefits
- Synchronizes requirements in DOORS to Agile planning, test management and other tools, allowing information to flow freely between DOORS and other tools
- Improves team collaboration by allowing systems engineers to specify requirements in DOORS, and software engineers to receive and work on the requirements in their tool of choice
- Provides traceability of requirements across Systems Engineering and Software Engineering, removing the need for manual processes and spreadsheets
- Ensures that changes in DOORS are instantly exposed to the software team
- Ensures that requirements are up to date in all tools
Common Integration Patterns
Demo Videos
Connector Setup Details
This section describes the basic steps needed to prepare your IBM Engineering Requirements Management DOORS Family instance for use with Hub. Note that additional fields for synchronization or configuration of queries may be required depending on the requirements of your integration.
Minimal User Permissions & Hub User
We recommend that you create a new user within your external tool, to be used only for your Hub integration. This is the user information you will enter when setting up your repository connection within Planview Hub. By creating a new user, you will ensure that the correct permissions are granted, and allow for traceability of the modifications that are made by the synchronization.
In general, your user account should have sufficient permissions to create, read, and update artifacts in your repository. However, depending on the use case, your user may need different permissions. For example, if you are only interested in flowing data out of your repository, your user may not need to have full CRUD access, as the 'create' and 'update' permissions may not be needed.
Your user should have a secure password or token. Please be aware that Hub will not allow you to save a repository connection utilizing a weak password/token, such as 'tasktop.'
See instructions on how to create a custom user in IBM Engineering Requirements Management DOORS Family.
List of minimal permissions:
-
The Hub user must have Edit DXL power to create repository connections without error.
Note: We recommend disabling the Enable DXL Restrictions option if enabled. To disable this setting, navigate to the database properties window, open the DXL Security tab and deselect the Enable DXL Restrictions option.
Connecting to the IBM Engineering Requirements Management DOORS Family
Note: The DOORS connector runs only on Windows.
Before connecting, follow the instructions below:
1. Go to the Services menu in Windows.
2. Right click Tasktop and select Properties.
3. Go to the Log On tab and add the credentials used to log onto Windows. The user must have sufficient privileges to run Tasktop as a service. In general, the Administrator should have the necessary permissions.
Once these steps are completed, you can configure your repository connection in Planview Hub.
Required Fields:
- Location/Connection URL
- Example Format: doors://DOORSserver.com:36677/
-
Note: The URL for server connection requires specific formatting:
doors://<server>:<port>
(e.g., doors://localhost:36677). Note that this is slightly different from the format used by DOORS (i.e.,36677@localhost
). The default for port is36677
and can be omitted in that case.
-
- Example Format: doors://DOORSserver.com:36677/
- Path to doors.exe
- The DOORS connector requires the DOORS client to be installed. The path to the
doors.exe
file must be provided when specifying connection settings. Please consult DOORS documentation for instructions on how to install the client on your machine. - Example Path:
C:\IBM\DOORS\Family\9.5\bin\doors.exe.
This is the same executable used to launch the DOORS native client.
- The DOORS connector requires the DOORS client to be installed. The path to the
- Username
- Password
Optional Fields:
- Folder Hierarchy Filters
- This field improves performance by specifying the subset of your Doors Folder Hierarchy that you'd like available for your Planview Hub collection.
- Note: All entries should be separated by comma and start with a / and end without a / (e.g., /Project 1, /Project 2/Folder 1)
- The descendant folders and modules of the hierarchy specified will also be available.
- This field improves performance by specifying the subset of your Doors Folder Hierarchy that you'd like available for your Planview Hub collection.
Note: Please ensure that the DOORS client is configured to communicate with the DOORS server in a way that aligns with your security policy.
Learn more about how to set up your repository in Planview Hub here.
Other Configuration Settings
Object ID Field
DOORS has a field called “Object ID” that is constructed from the Module Prefix and Absolute Number field. This field functions as a unique ID for requirement objects.
If you'd like to flow the entire Object ID from DOORS, please follow the instructions below:
-
Map both the Module Prefix and the Absolute Number field on the DOORS side to the Formatted ID field on the model side:
-
Create an extension to concatenate the two fields (please review full instructions here)
var inputTypes = [‘String’, ‘Long’]; var outputTypes = ‘String’; function transform(context, input) { return input0+input1 }
- Click 'Configure' next to your field mapping and select the extension on the right (model) side.
Attachments
Attachments are supported one way out of the DOORS repository. Embedded images will be taken out of the description and synchronized as file attachments in the integration.
Learn more about how to configure attachment flow in Planview Hub here.
Full Scan
Due to third party API limitations, changes to the following fields may not trigger change detection or cause a synchronization immediately. To ensure these updates synchronize, a high fidelity full scan must occur or another qualifying change must be made to the artifact:
- Absolute Position field
Learn more about how to configure change detection and full scan intervals in Planview Hub here.
Requirements Ordering
Planview Hub: 20.3 and later
Note: Requirements Ordering is only supported for DOORS-codeBeamer integrations.
For requirements ordering to function correctly, the following fields must be mapped in your integration:
-
Absolute Position
-
Parent
-
Predecessor
-
Successor
Additionally, the field flow for the above fields must be set to always update to the target side, the conflict resolution must be set to the source side, and artifact creation flow should be one way from the source side to the target side.
Note: During integration, you may see a large number of errors with the message “Predecessor and Successor are not in the right place yet..." These exceptions should clear with sufficient retries. If not, you will need to trigger a full scan through the “Process All Artifacts” button.
Best Practices
In our 10+ years of working with customers to build and implement data integration solutions, we have identified some core best practices for designing integrations across tools that are conceptually different - built for different purposes and with distinct internal architectures. IBM Engineering Requirements Management DOORS Family is one such tool, designed for Requirements Management and architected as an organized, document-based view of objects. Agile tools such as Jira, on the other hand, follow a different structure - they contain artifacts like Epics, Stories, and Defects with many relationship types defined between artifacts. Through our years of experience, we have devised best practices and guidelines for how to best integrate data between DOORS and Agile tools.
You can learn more about common integration patterns utilizing DOORS here:
- Providing Developers with Early Visibility into Requirements
- Providing Testers with Early Visibility into Requirements
- Associating Requirements to Detailed Design
- Linking Code Changes to the Originating Feature or Defect
- Sharing Customer Feature Requests with Product
Architectural Challenges
Aligning differently architected systems is challenging, as it requires creating a common language across systems built for different purposes. For DOORS and Agile tools such as Jira, there are a few things to keep in mind when designing an integration:
While DOORS presents an organized, document-based view of objects, Agile tools, such as Jira do not have such a logical view: Jira projects are big buckets of individual artifacts (such as stories or defects) that can be managed and scheduled. While DOORS presents a logical and ordered outline-based view of requirements, an Agile tool such as Jira does not contain any intrinsic order to its artifacts. When viewing a list of stories in a Jira backlog, for example, there is no logical connection between two Jira stories listed in a row.
While the DOORS architecture allows you to have multiple objects contribute to the same logical entity (requirement), each Agile artifact is represented by one object. Trying to manipulate multiple individual DOORS objects into one Jira object can present various integration challenges:
-
Change of order or change of indention can interfere with the correct information being synchronized for requirements
-
If a requirement spans multiple items in DOORS, this cannot translate to an individual artifact-based architecture of an Agile tool
Integration Solutions
At Hub, we have worked with many customers and identified integration patterns that can alleviate some of the challenges listed above.
Below are some of the best practices we suggest to our customers based on the use cases we most often see:
One Artifact per Object in DOORS
While the DOORS architecture allows you to have multiple objects contribute to the same Requirement, our recommendation is to organize your artifacts in DOORS such that each requirement is one unique object (see image below). This will ensure that Agile tools which typically follow a 'one artifact per object' structure can accept artifacts synchronized to them from DOORS in a logical structure.
If you do have multiple objects in DOORS contributing to one individual requirement artifact, avoid integrating headings into the Agile tool.
Integration Planning
Before configuring your integration, take a step back and decide what information users in your Agile tool will truly need access to. Since Agile tools such as Jira do not allow for logical document outlines, we must think in terms of singular artifacts. For example, in a sample document below, what Jira users really care about are the two requirements at the bottom of the document.
Artifact Filtering
Consider adding a 'Type' field to use for Artifact Filtering in your integration. This will allow you to specify which items are the relevant ones for integration. In the example below, the 'Type' field is used to ensure that only objects marked as 'DevReq - Story' are synchronized to Jira as stories. You could also create a separate Epic integration that filters only for Type = Epic.
Artifact Relationships
Consider utilizing Agile/Scrum hierarchies in your integration. For example, utilizing Epic-Story relationships in your Agile tool can help you bring more logic to the bucket of items within Jira repository. This can also help visualize the requirement hierarchy better if needed.
Take advantage of in/out links in DOORS to add context and relationships between Jira items.
DOORS Summary Field
Due to the unique way that DOORS is architected, Hub has created an artificial 'Summary' field that represents the Object Heading, Object Short Text, or the first 50 characters of Object Text depending on which one is available. The field is read-only and cannot be used to update field values in DOORS. If you are flowing requirements out of DOORS, we recommend using the 'Summary' field.
If you are creating new requirements into DOORS, on the other hand, we recommend using the writable 'Object Heading' field as the summary.
Supported Features
Special Features Supported
You can learn more about special features in Planview Hub here.
Feature |
Custom Type Supported? |
Applicable Hub Versions |
Applicable Repository Versions |
Default Maximum Size in Repository |
---|---|---|---|---|
Time Worked (Worklogs) Impersonation |
|
|
|
|
Comments Impersonation Public/Private |
N/A |
Planview Hub: All |
Any supported repository version: |
N/A |
Attachments (one way out of DOORS) Impersonation |
N/A |
Planview Hub: All |
Any supported repository version: |
50MB Learn more about maximum attachment size here. |
N/A - State Transitions (IBM DOORS does not use state transitions. Status can flow out of or into IBM DOORS as a single-select.) |
|
Planview Hub: All |
Any supported repository version: |
N/A |
Person Reconciliation |
|
|
|
|
Requirements Ordering |
|
Planview Hub: 20.3 and later |
Any supported repository version: |
N/A |
Supported Artifact Types
Learn about the difference between containers and work items in Planview Hub here.
Supported Work Items
Supported Work Item Type |
Applicable Hub Versions |
Applicable Repository Versions |
Unique URL? |
---|---|---|---|
Objects:
|
Planview Hub: All |
Any supported repository version: |
Yes *as a DOORS URL (not an http) |
Supported Containers
Containers that can synchronize between repositories |
Applicable Hub Versions |
Applicable Repository Versions |
Unique URL? |
---|---|---|---|
N/A |
|
|
|
Containers used to define the boundary of a collection (When clicking 'Manage Projects' on a collection) |
|
|
|
Modules |
Planview Hub: All |
Any supported repository version: |
N/A |
Containers used for artifact routing |
|
|
|
Modules |
Planview Hub: All |
Any supported repository version: |
N/A |
Learn more about containment in Planview Hub here.
Supported Field Types
Note: If one field of a given type is supported, others that are also that type in theory should also work. However, sometimes there are instances in which this is not the case due to the repository. So, while we can claim support for fields at the type level, there is a chance that some specific fields of a given type will not synchronize properly.
Standard Field Type |
Does Hub support custom fields of this type? |
How is field type referenced in the repository? |
Sample Repository Fields Supported |
Particular Repository Fields NOT Supported |
---|---|---|---|---|
String |
|
Text |
|
|
Single Select |
|
Enumeration Created Thru |
|
|
Multi Select |
|
|
|
|
Boolean |
*Supported as a single-select |
Boolean |
|
|
Date |
|
|
|
|
Date Time |
|
Date |
|
|
Duration |
|
|
|
|
Double |
|
Real |
|
|
Long |
|
Integer |
|
|
Person |
|
User name |
|
|
Persons |
|
|
|
|
Relationship(s) Learn how to configure relationships in Planview Hub here. |
N/A |
|
|
In Links Out Links |
Rich Text |
|
|
|
|
Web Links |
|
|
|
|
Other |
|
|
|
|
Functional Limitations
Category |
Limitation |
Applicable Hub Versions |
Applicable Repository Versions |
---|---|---|---|
Configuration Requirement |
Requirements Ordering The DOORS view that Hub is configured to use for the module (i.e., Standard View) must not have a filter defined that excludes objects from the module. |
Planview Hub: 20.3 and later |
Any supported repository version: |
Configuration Requirement |
Requirements Ordering One side of the integration must dominate as the "source of truth” of the hierarchy. Any changes to object position must occur on the source side and flow one-way into the target. Note that if an item is deleted from one side of the integration, it must also be removed from the other side of the integration. |
Planview Hub: 20.3 and later |
Any supported repository version: |
Configuration Requirement |
Requirements Ordering Requirements ordering is only supported if one source project is routed to one target project. Multiple source projects cannot be routed to a single target project. |
Planview Hub: 20.3 and later |
Any supported repository version: |
Best Practice |
Requirements Ordering Requirements ordering should not be used in conjunction with artifact filtering. |
Planview Hub: 20.3 and later |
Any supported repository version: |
Third Party API Limitation |
Comments Incoming comments containing forward slashes and backslashes will have the slashes removed. |
Planview Hub: All |
9.7 |
Third Party Functional Limitation |
Ordered Lists Ordered lists in RichText are not supported. |
Planview Hub: All |
Any supported repository version: |
Known Defects |
Double Min Value The exact double min value is unknown. It is currently hard-coded to |
Planview Hub: All |
Any supported repository version: |
Third Party Functional Limitation |
Exclusive Edit Mode Exclusive Edit Mode is required. Currently, the Sodius SDK opens modules in exclusive edit mode only. This requires that the connector has exclusive access to a module for performing an operation. During that time, any DOORS client can only open a module in read-only mode. This means that the module must be closed while the synchronization is occurring. Otherwise you'll get the "cannot open the module in exclusive edit mode" error when the module is being edited at the same time. From DOORS documentation:
"When working with formal modules, you can use one of three edit modes: |
Planview Hub: All |
Any supported repository version: |
Third Party Functional Limitation |
Optimistic Locking Optimistic locking is not supported. |
Planview Hub: All |
Any supported repository version: |
Third Party Functional Limitation |
Attachments Attached OLE Objects are retrieved/synchronized over as RTF documents with embedded objects. Images are retrieved with a minor fidelity loss, as new files. |
Planview Hub: All |
Any supported repository version: |
Configuration Requirement |
Rich Text Fields Synchronizing rich text fields both ways (in and out of DOORS) is possible, but you need to be careful when updating a field with inserted OLE Objects. Syncing the field may overwrite the attached object tags, effectively removing them from DOORS. One way to work around this could be to create a separate RichText field in DOORS to keep OLE Objects or to sync RichText fields only one way (out of DOORS). |
Planview Hub: All |
Any supported repository version: |
Configuration Requirement |
Summary Field Summary is an artificial field representing Object Heading, Object Short Text or first 50 chars of Object Text depending on which one is available. The field is read-only and cannot be used to update field values in DOORS. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Layout DXL-based Columns Layout DXL columns from a DOORS view are not supported. |
Planview Hub: All |
Any supported repository version: |
Configuration Requirement |
Configuration When using DOORS in Hub, keep in mind that the doors.exe may not work when the platform service is run as the local system account. Changing the log on account makes the doors integration work. |
Planview Hub: All |
Any supported repository version: |