DOORS

Warning:

Before importing, read the Import Limitations and Recommendations topic.

Connecting to DOORS:

The connection to DOORS only requires the ID used to identify the target DOORS database. The connection is established from the DOORS client to Polarion by running a DXL script.

Click Connect to activate the connection and run the DXL script in a DOORS client (ToolsEdit) connected to the DOORS database containing the module you want to synchronize.

Note:
  • While the script is running, the DOORS client will be locked until you close the connection.

  • Running the script from a Module can lock up the sync. (The Connector might attempt to close the DOORS module.)

If you are planning to schedule the synchronization, run the DOORS client on a workstation where the connection can be kept active.

(See Schedule Synchronization with DOORS for details.)

Creating a Sync Pair for Doors and Advanced Type Mappings

General Setup:

When synchronizing with DOORS you typically want to synchronize Live Documents in Polarion to Modules in DOORS and include the structure in the specifications. This will allow you to easily control the mapping to Polarion Work Items, since they will be in the context of the Live Document you have chosen to synchronize to.

To synchronize the structure, one sync pair must be defined per Module/Live Document pair. Make sure that you configure the sync pair so that it points to a specific Live Document in Polarion and Module in Doors. (See Configure a Synchronization Pair for details.)

There are two ways you can configure a DOORS sync pair:

  1. Use the Module ID;

    1. Open the DOORS module you want to synchronize, go to Tools Edit DXL, then insert following script and run it:

      Module m = current
      print qualifiedUniqueID(m)
    2. Put the value you get after execution of the script in the appropriate field in the Doors Sync Pair in Polarion.

  2. Use the Module URL;

    1. Choose the target module in Doors, then right-click to open the context menu and choose Properties.

    2. In the opened General tab click Copy URL beside URL.

    3. Paste the value in the appropriate field in the Doors Sync Pair in Polarion.

Tip:

Select the Use Title as Root option to sync Work Items below the first title in Polarion because it is usually a better representation of a DOORS Module’s structure. If you have additional content below the first title, depending on the synchronization pair settings, the sync operation may attempt to create objects in DOORS to synchronize this Live Doc.

You can set the Creation and Hierarchy directions in the following ways:

  • Right to Left: To replicate requirements from Doors to Polarion.

  • Left to Right: To send new Work Items from Polarion to Doors.

  • Bidirectional: To synchronize new requirements.

Type mappings

Before beginning the mapping process, spend some time determining how you want the data mapped between DOORS and Polarion. The Synchronization will not create Polarion Work Item types and fields automatically. (They should all be created before you start mapping.)

The DOORS connector will treat objects without Object Text as Headings and other objects as Requirements.

Since DOORS does not differentiate between different types of objects in a module, it’s common practice to define the attribute type in DOORS.

These types can then be mapped via the Advanced type mappings dialog box.

To access Advanced type mapping:

  1. Click next to Right Type.

  2. Select a Type Attribute from the drop-down box.

  3. All values of the selected attribute should now be available for type mapping.

Note:

Mapping to the Work Item type heading will impose some limitations on the way that the structure can be represented in Polarion.

Tip:

You can always choose to use a Work-item of type called something like Doors heading to replicate the DOORS structure verbatim inside of Polarion.

Field mappings will vary depending on your needs, but consider following DOORS-specific suggestions:

  • When syncing any rich text attributes, you should also include attachments because the rich text fields might include embedded objects.

  • VERY IMPORTANT: Avoid syncing back Object Heading for Work Item types other than the Heading type because Polarion will automatically populate the heading and returning these auto generated headings might not be desirable.

The connector will use the name of a DOORS option for Value mappings. Define Value mappings accordingly, especially when syncing an attribute to Doors. (Attempting to update an attribute with an invalid value will fail).

Link mapping

Links can be synchronized from DOORS to Polarion by defining an attribute mapping from Relations to Linked Work Items.

By default, the link created in Polarion will use the relates_to link role. It can be configured by defining a value mapping from related_to in DOORS to the link role you want to use in Polarion.

Different roles can be used per Object or Work Item type by defining the attribute mapping for links in the Type-specific Mapping section.

Limitations:

The same limitations as a DOORS Import apply.

Bidirectional synchronization of rich text can lead to loss of Polarion data because DOORS’ ability to store rich text is very limited.

Currently it is not possible to synchronize links added in Polarion to Doors.

When adding .rtf files containing OLE objects in Polarion, syncing them to Doors will result in the reversion of an attachment with an adjusted name (<Doors Attribute> <Index>.rtf)

Scheduling Synchronization with DOORS:

When configuring synchronization with DOORS as a scheduled job, you must keep the DOORS client running in the background. It must be done on a workstation that can connect to the Polarion server and the DOORS server. The DOORS server must also have the DOORS client installed on it.

The DOORS client can be executed as a scheduled job to ensure that the client is started automatically, in case the workstation is restarted, or the Doors client crashes, for example.

To add the scheduled DOORS connection:

  1. Create a folder C:\doorssync.

  2. Create a file connect.dxl, and populate it with the connection script.

  3. Open the Task Scheduler Windows application.

  4. Click Create Task.

  5. Name the task Doors Connections (for example), and set it to Run whether users is logged on or not.

  6. Click the Trigger tab, click New, select At Startup from the Begin the task drop-down menu and click OK.

  7. Click New again on the Trigger tab, select On a Schedule from the Begin the task drop-down menu, click Daily set up a time like the screenshot below and click OK.

  8. Both triggers should be listed and appear as Enabled in the Trigger tab.

  9. Click the Actions tab and click New

  10. Select Start a program in the Action drop-down box.

  11. Under Program/script: click Browse and select the cmd.exe file. (C:\Windows\System32\cmd.exe).

  12. Add the following to the Add arguments field:

    (Replacing USER and PASSWORD with the credentials of the doors user you want to use for sync.)

    cmd /c ""C:\Program Files\IBM\Rational\DOORS\9.6\bin\doors.exe" -b connect.dxl -user "USER" -password "PASSWORD" -W nowait 1> doors.out 2> doors.err

  13. Add C:\doorssync to the Start in field: