Prerequisites

User privileges
  • Create one user of DOORS System, dedicated to OpsHub Integration Manager. User should not be used to do any operations from system’s user interface.
  • User should have Read (R), Modify (M), Create(C) access rights for each module of the project that required synchronization. For more details on setting access rights, please refer How to add permissions on module in appendix.
DOORS client
  • Tested on Operating Systems (OS): Windows XP, Windows 7, Windows 8.1, Windows Server 2012, Windows 10
  • DOORS client and OpsHub Integration Manager both need to be on the same machine
Restart OpsHub Integration Manager on DOORS metadata change

If any field/project added/renamed/deleted or access rights of fields/projects are changed, then server needs to be restarted.


System Configuration

Before you continue to the integration, you must first configure DOORS system. Click System Configuration to learn the step-by-step process to configure a system. Refer the screenshot given below for reference.

To know version of DOORS, refer Find version.

If the system is deployed on HTTPS and a self-signed certificate is used, then you will have to import the SSL Certificate to be able to access the system from OpsHub Integration Manager. Click Import SSL Certificates to learn how to import SSL certificate.


Mapping Configuration

Map the fields between DOORS and the other system to be integrated to ensure that the data between both the systems synchronizes correctly. Click Mapping Configuration to learn the step-by-step process to configure mapping between the systems.


Integration Configuration

In this step, set a time to synchronize data between DOORS and the other system to be integrated. Also, define parameters and conditions, if any, for integration. Click Integration Configuration to learn the step-by-step process to configure integration between two systems.


Criteria Configuration

Set configure criteria to as per requirement of integration.

Query
  • Query in DOORS system is the valid filter query on any attribute.
    Syntax: (attribute ‘attr’ operator ‘text’) .
    Where,.
    attr: The name of the attribute .
    operator: One of ==, !=, <, <=, >, >= .
    text: attribute value .
Sample query
  • An example of criteria with one ‘Lookup field’
    (attribute ‘Status’ == ‘Active’)
  • An example of criteria with one ‘Lookup field and one Date field’
    ((attribute ‘Status’ == ‘Active’) && (attribute ‘Last Modified On’ > ’05/25/2018′))
  • An example of criteria with example with one ‘Lookup field and one User field’
    ((attribute ‘Status’ == ‘Active’) || (attribute ‘Created By’ == ‘User1’))

Learn how to create Custom Field Configuration.

Known Limitations

Given below are the list of characters that are not supported for a field or field value for Doors criteria. So, if a Doors field or field value contains any one of these characters, then doors criteria will not work.

  • \


Appendix

DOORS reserved keyword list (Do not use these names as field names)

Following names are reserved with OpsHub Integration Manager-DOORS integration, please do not use any name from following list for creating custom filed in DOORS.

  • OH_ModuleName
  • OH_eventType
  • OH_ObjectURL
  • OH_objectId
  • OH_CreateUpdateTime
  • OH_attributeName
  • OH_oldValue
  • OH_newValue
  • OH_ParentId
  • OH_OldBaseline
  • OH_NewBaseline
  • OH_discussionTitle
  • OH_discussionCreator
  • OH_discussionCreationTime
  • OH_commentBody
  • OH_commentCreator
  • OH_LAST_MODIFIED_TIME
  • OH_UpdatedBy
  • OH_Baseline
  • OH_OutLink
  • OH_InLink
Custom field configuration
  • Login into DOORS desktop client with the user who has admin access.
  • Open the module in which field should require addition.
  • Navigate to the edit menu and click on Attributes.
  • Then, click the ‘new button. Now, set attribute name (Do not use the name specified in DOORS Reserved keyword list section), select the appropriate type and if needed, set the appropriate default value.
  • Finally, click OK and save the module.
How to add permissions on module
  • Login into DOORS desktop client with the user who has admin access on that module.
  • Right click on the module in which access rights needs to be set. Then, click on Properties.
  • Navigate to Access tab and set appropriate rights.
Find version
  • Login into DOORS desktop client.
  • It will open a separate window that will show DOORS server version.
Notes on Custom Field sync
  • Custom Field that requires to be synced must have ‘Attribute scope’ as Objects or Objects & Module (Only ‘Module Scope attribute’ can’t be synced)
  • DXL Attribute can only be used for reading; such attributes can’t be written.
  • DXL Attribute doesn’t have any history, so when other fields are changed and OpsHub Integration Manager syncing those events, the value of the DXL attribute as of sync time will be sync to target.
OLE configuration
  • To sync OLE object data, you need advance configuration for the field that is mapped with OLE type field. The sample XSL for the configuration is given below:
    This is the sample XSL:

    <@description@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
        <xsl:element name="oleFieldValue">
            <xsl:value-of select="SourceXML/updatedFields/Property/@Object-space-Text@/oleFieldValue"/></xsl:element>
                <xsl:if test="SourceXML/updatedFields/Property/@Object-space-Text@/oleAttachments">
                    <oleAttachments><xsl:for-each select="SourceXML/updatedFields/Property/@Object-space-Text@/oleAttachments/OHAttachment"><xsl:element name="{concat('attachment_',position())}">
                    <filename><xsl:value-of select="fileName"/>
                    </filename>
                    <contentLength><xsl:value-of select="contentLength"/>
                    </contentLength>
                    <attachmentURI><xsl:value-of select="attachmentURI"/>
                    </attachmentURI>
                </xsl:element>
            </xsl:for-each>
            </oleAttachments>
        </xsl:if>
        <OLE.Object-space-Text>
            <OH_Embedded.OLE>true</OH_Embedded.OLE>
            <OH_Embedded.Picture>true</OH_Embedded.Picture>
            <OH_Embedded.Reference>true</OH_Embedded.Reference>
        </OLE.Object-space-Text>
    </@description@>
                        
  • Change the XSL according to your environment. In the given case, the source field is an ‘Object Text’ and the Target Field is ‘Description’. Therefore, we need to make changes in XSL according to the field mapped in the source and the target systems.
  • Content we need to replace in above XSL is highlighted in the format shown below:
    • For source field: @Object-space-Text@
    • For Target field: @description@
  • In the above XSL – OLE, picture and reference to the OLE file is configured. If we don’t want the reference or picture object to sync, you need to pass ‘false’ value. For eg: <OH_Embedded.Picture>false</OH_Embedded.Picture>.