DOORS Connector Configuration

The DOORS connector connects to the DOORS database through an instance of the DOORS client that acts as a bridge between Systems Traceability Dashboarding and the DOORS database. This bridge must run on a Windows server.

This page discusses:

See Also
About the Main Configuration File
About Connectors

Environment: On premises only

Install a DOORS Bridge

The DOORS bridge is an instance of doors.exe that acts as a client of the DOORS database server and as a server for Systems Traceability Dashboarding. This doors.exe executes a .dxl program that implements the server logic.

  1. To get the smm_doors_accessor.dxl and the Start.bat scripts:
    1. In your 3DEXPERIENCE installation, open webapps/3DSpace/WEB-INF/lib.
    2. Open the CATSmmCntrDoors.jar file using a zip archive tool (for example, .7zip).
    3. Open com\dassault_systemes\system_cockpit\connector\doors\accessor.
    4. Extract here the two files:
      • smm_doors_accessor.dxl
      • Start.bat
  2. Install these files in a chosen folder, for example: C:\SmmDoors\smm_doors_accessor.dxl.
  3. Locate the executable for the DOORS client, for example C:\Program Files\Doors\bin\doors.exe.
  4. Configure the bridge, by editing the .bat script. This .bat contains a line that starts a doors.exe command.

    Example with the paths described above:

    start "Title" /WAIT "C:\Program Files\Doors\bin\doors.exe" -d 36677@doorsplouzlnx -u Richard -P pass2015 -b C:\SmmDoors\smm_doors_accessor.dxl
    

    This DOORS client instance uses a unique DOORS user account for all the requests, identified by the -u and -P options. It connects to the DOORS database identified by the -d option.

    Notes:
    • The Title parameter specifies the title of the window to be open (if it is not defined, the doors.exe string is used for the title).
    • This script contains a loop that enables you to restart the doors.exe client in case of DOORS crash.

Customize the Main Configuration File

The next step is to declare a new DOORS repository in Systems Traceability Dashboarding. For this, insert the following section in the CATSmmConfig.json configuration file:

{
      "id": "/Doors",
      "title": "DOORS",
      "typeUri":  "http://www.3ds.com/vocabularies/syc/type/Doors",
      "address":  "Orion:5093",
      "loginInfo": ["8gFS1wF2CK"], 
      "parameters": {
            	"userControl": "single"   
      }
      "description": "DOORS database"
}

Parameter Description
id To build an internal Systems Traceability Dashboarding identifier for each DOORS element.
title This parameter can be customized.
typeUri This parameter cannot be customized.

The value must be: http://www.3ds.com/vocabularies/syc/type/Doors.

address Specifies the name and port of the machine running the DOORS bridge. For more information, see Install a DOORS Bridge above. The port can be customized, but its value must match the value in the Start.bat script.

Example: DOORS_PORT=5093

loginInfo Is a security token that protects the communication with the DOORS bridge.

This parameter can be customized, but its value must match the value defined in the smm_doors_accessor.dxl script.

parameters Specifies access rights for users, based on classes. For more information, see Configuring the DOORS Source Access for Users below.
description This parameter can be customized.

Install a DOORS Bridge with Windows User Authentication

From DOORS 9.3.0.1, you can configure DOORS for the users to log on with their Windows user authentication, instead of a specific user name and password.

For more information about the procedure, see IBM Knowledge Center: Configuring Windows user authentication:Configuring Windows user authentication.

Once activated on the DOORS server, you can use this feature in the DOORS bridge by replacing the -u and -P options with the -osUser option.

Example:

start "Title" /WAIT "C:\Program Files\Doors\bin\doors.exe" -d 36677@doorsplouzlnx -osUser -b C:\SmmDoors\smm_doors_accessor.dxl

For more information, see Basic Authentication: External Server Configuration.

Configuring the DOORS Source Access for Users

You can configure the user access rights to DOORS data by using several instances of DOORS clients as bridges. You must partition all the users into classes (or groups) and associate one DOORS user for each class.

When a user attempts to connect to a DOORS data source, the following algorithm is executed:

  1. The class the user belongs to is inferred: For this, in the DOORS configuration section of the CATSmmConfig.json file, you must declare another data source as userManager. The class name is then obtained by fetching the value of the predicate declared in userClassPredicate of the configuration.
  2. This class name is used as a key in the class to doors user table declared in the DOORS configuration, resulting in a DOORS user name.
    Note: If the class to doors user table does not contain such an entry, the class name itself is used as the DOORS user name.
  3. This DOORS user is used to infer the port number of a DOORS client used as a bridge to access the DOORS data.

Configuration Parameters
In the DOORS configuration section of the CATSmmConfig.json file:
  1. In the field address, specify the name of the server running the bridges, and the ports on which these bridges read connections. The server name and ports must be separated with a colon, and the port numbers are separated with a comma.

    Example:

    "address":
                "vgscesardevdsy:5093,5094"
    

    Tip: To specify several servers in the address field, separate them with a semicolon (;).
    "address":
                "vgscesardevdsy:5093,5094;vgsartemisdevdsy:5090"
  2. Set the "userControl" parameter to "class"
  3. Set the "userManager" parameter to the resource identifier of the user manager (that is, an ENOVIA data source).

    Example: "userManager": "/vdevpril299dsy"

  4. Set the "userClassPredicate" parameter to the URI of the predicate used to obtain the class name.

    Example:

    "userClassPredicate":
          "http://www.3ds.com/vocabularies/syc/employerName"

  5. Add class name to DOORS user mappings as parameters. In these mappings, the class name must be prefixed with userMap/ to avoid name collisions.

    Example:"userMap/MyCompany": "tom"

  6. For the "userClassPredicate" parameter, use any property exposed by the Person type. This table describes the most useful properties:
    Property URL Definition Example
    href="http://www.3ds.com/vocabularies/syc/people/employerName" User's company MyCompany
    href="http://www.3ds.com/vocabularies/syc/enovia/contextRole" Current security context of the user ctx::VPLMProjectLeader.MyCompany.3DS Collab Space
    href="http://www.3ds.com/vocabularies/syc/people/Country" Country name France
    href="http://www.3ds.com/vocabularies/syc/people/Address" User's address BREST-1-005
    href="http://www.3ds.com/vocabularies/syc/people/Login%20Type" User’s login type Standard
  7. With the "bridgeSelection" parameter, specify how a DOORS bridge is selected when several bridges are configured to serve a given DOORS user. This allows load balancing between several DOORS bridges.

    Possible values of this parameter are:

    • "constant" for a given 3DEXPERIENCE user, the same DOORS bridge is always used. By default, this value is defined.
    • "circular" a different bridge is selected for each request, in a circular manner.

Configuration Example
        {
            "id": "/Doors",
            "title": "DOORS Database",
            "typeUri":  "http://www.3ds.com/vocabularies/syc/type/Doors",
            "address":  "vgscesardevdsy:5093,5094,5095,5096",
            "loginInfo": ["8gFS1wF2CK"],
            "parameters": {
            	"userControl": "class",
	"bridgeSelection": "circular",
            	"userManager": "/vdevpril299dsy",
	"userClassPredicate":
	     "http://www.3ds.com/vocabularies/syc/people/employerName",
            	"userMap/ACME": "tom",
            	"userMap/Globex Corporation": "harry"
            }
     },