7. pure::variants Web Integration

The pure::variants Integration for DOORS NG is distributed in a WAR archive (com.ps.consul.web.ui.doorsng-x.x.x.war) and can be found in the pure::variants Windows Installer package on the pure::variants update site.

As pure::variants Integration does client requests to DOORS NG application server, the Integration's client must be configured with the trusted SSL-certificates. One way to do this is to create a keystore, add the DOORS NG SSL-certificate to it and configure Tomcat's Java-Runtime with this keystore as a trust store.

In case of Windows, please create and open [TOMCAT_INSTALL_DIR]/bin/setenv.bat file to add the following lines:

set "JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.trustAnchors=[TRUST_STORE_PATH]"
set "JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.trustStore=[TRUST_STORE_PATH]"
set "JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.trustStorePassword=[TRUST_STORE_PASSWORD]"

An example configuration could look like this:

set "JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.trustAnchors=c:\keystore.jks"
set "JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.trustStore=c:\keystore.jks"
set "JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.trustStorePassword=password"

In case of Linux, please create and open [TOMCAT_INSTALL_DIR]/bin/setenv.sh file to add the following lines:

export JAVA_OPTS=$JAVA_OPTS" -Djavax.net.ssl.trustAnchors=[TRUST_STORE_PATH]"
export JAVA_OPTS=$JAVA_OPTS" -Djavax.net.ssl.trustStore=[TRUST_STORE_PATH]"
export JAVA_OPTS=$JAVA_OPTS" -Djavax.net.ssl.trustStorePassword=[TRUST_STORE_PASSWORD]"

An example configuration could look like this:

export JAVA_OPTS=$JAVA_OPTS" -Djavax.net.ssl.trustAnchors=c:\keystore.jks"
export JAVA_OPTS=$JAVA_OPTS" -Djavax.net.ssl.trustStore=c:\keystore.jks"
export JAVA_OPTS=$JAVA_OPTS" -Djavax.net.ssl.trustStorePassword=password"

Please follow the following steps for WebSphere Liberty setup:

  1. Install the WebSphere Liberty according to the official documentation.

  2. Create a server by running the following command:

    bin\server create [SERVER_NAME]

  3. Please add the following lines into the server.config.dir/server.xml file:

    <featureManager>
      <feature>jsp-2.3</feature>
      <feature>ssl-1.0</feature> 
    </featureManager>

    Please run the following command:

    bin\installUtility install [SERVER_NAME]

As pure::variants Integration does client requests to DOORS NG application server, the Integration's client must be configured with the trusted SSL-certificates. One way to do this is to create a keystore, add the DOORS NG SSL-certificate to it and configure Liberty's Java-Runtime with this keystore as a trust store. Please create and open server.config.dir/jvm.options (see Directory locations and properties) to add the following lines:

-Djavax.net.ssl.trustAnchors=[TRUST_STORE_PATH]
-Djavax.net.ssl.trustStore=[TRUST_STORE_PATH]
-Djavax.net.ssl.trustStorePassword=[TRUST_STORE_PASSWORD]

An example configuration could look like this:

-Djavax.net.ssl.trustAnchors=c:\keystore.jks
-Djavax.net.ssl.trustStore=c:\keystore.jks
-Djavax.net.ssl.trustStorePassword=password

In order to visualize the variability, folloing settings need to be configured on the Jazz side.

As shown in Figure 60, “Adding A URL In RM Whitelist”, go to Jazz RM application administration page. Click the Whitelist (Outbound) on the left menu. In the Enter Base URL field of the Add New Whitelist URL section, enter the Base URL of the server where the pure::variants Integration for DOORS NG is installed. Click Add button and the newly added URL should be added to the Outbound URL list on the same page.


Note

On clicking the Add button, Jazz tries to access the URL being added. And if the URL is accessible only then the URL is added to the list of Outbound URL.

Browse to Jazz RM Advanced Settings page. RM Advanced Settings page can be accessed by pointing the web browser to following URL:

 https://<server>:<port>/rm/admin#action=com.ibm.team.repository.admin.configureAdvanced

Scroll to User Extension Catalog URL as shown in figure Figure 61, “RM User Catalog Configuration”.


Considering that the context path of the pure::variants Integration is pvwidget, enter the Catalog URL as https://<server>:<port>/pvwidget/catalog.xml and Save the settings.

Jazz RM allows configuration of only one Catalog URL. If you already have a Catalog URL configured in RM Advanced Properties. Then the pure::variants Integration for DOORS NG can be added to the existing catalog document. Lets consider that pure::variants Integration for DOORS NG is deployed on a web server and accessbile via a URL like this:

https://server.local.com:8443/pvwidget/catalog.xml

Open the catalog xml document that is already configured in the RM Advanced Properties. Add the following ju:catalog-entry in the list of existing ju:catalog-entry nodes.

<ju:catalog-entry>
	<dc:title>pure::variants Integration</dc:title>
	<dc:description>Enables adding variability information to requirements in a DOORS NG module. Enables editing of Restrictions and Calculations. Also provides the functionality of creating a Variability Preview.</dc:description>
	<ju:gadget rdf:resource="https://server.local.com:8443/pvwidget/pvscl.xml"/>
	<ju:icon rdf:resource="https://server.local.com:8443/pvwidget/pv.png"/>
	<ju:preview rdf:resource="https://server.local.com:8443/pvwidget/preview.png"/>
	<ju:thumbnail rdf:resource="https://server.local.com:8443/pvwidget/thumbnail.png"/>
	<ju:category>pure::variants</ju:category> 
	<ju:category>Requirements</ju:category> 
</ju:catalog-entry>

The following list contains all necessary steps to be have taken to make successful deployment of the DOORS NG integration along with the DOORS NG application:

The Web Integration for DOORS NG allows you to pre-define specific settings to simplify or limit the setup for end-user.

Please see chapter Section 7.2, “Pre-defined settings for Web Integration” for detailed explanations, which settings are available and how they are configured.

To use these pre-defined settings for DOORS NG Integration, you need to write the configuration (in JSON format) into a file called settings.json and put this into the deployment directory.

If your Web Application Server (like Tomcat or WebSphere Libterty) extracts the war-archive automatically, please add the settings.json file into the war-archive (called "com.ps.consul.web.ui.doorsng.*.war"

If your Web Application Server (like Tomcat or WebSphere Libterty) does not extract the war-archive automatically and you extract it manually, please add the settings.json into the deployment directory of the Integration.

Finally, the deployment directory should have located the settings.json next to the pvscl.xml, as follows:

|-META-INF
|-WEB-INF
|-pvscl.xml
|-settings.json
|-... (other files) 

As administrator, one can pre-define the settings for the end-user, e.g. to connect to the WebHub immediately. Thus, the user does not need to be aware of the connection configuration and can use the Widget out-of-the-box.

Therefore, a JSON structure must be created as described in the following for WebHub and DesktopHub, respectively, and deployed:

{
     "PV_HUB": "webhub",
     "PV_HUB_URL": "https://webhub.server/pv",
     "PV_HUB_EDITABLE": true,
     "PV_HUB_URL_EDITABLE": true
}
{
     "PV_HUB": "desktophub",
     "PV_HUB_PORT": "4773",
     "PV_HUB_EDITABLE": true
}

The PV_HUB property defines the hub to be used, which can be either the WebHub (webhub) or DesktopHub (desktophub).

The PV_HUB_PORT property defines the port number for the DesktopHub. It can be configured as either a string or a number

The PV_HUB_URL property defines the URL for the WebHub.

The PV_HUB_EDITABLE property defines, if the hub should be editable by the user. If it is undefined, the hub is editable by the user in the widget's settings.

The PV_HUB_URL_EDITABLE property defines, if the webhub URL should be editable by the user. If it is undefined, the webhub URL is editable by the user in the widget's settings.

You need to add pure::variants Web Components as a Friend to Jazz Team Server (JTS) in order to enable JTS to access the pure::variants web components data. Jazz Official Documentation can be visited for details.

Note

After finishing the pure::variants web components setup and before starting the friend setup in JTS, it is a must that the web server hosting the pure::variants web components must be restarted.