6. 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 ease up or limitate the setup for end-user.

Please see chaper Section 6.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, you can pre-define the settings for the end-user, e.g. to connect to the WebHub immediately. Thus, the user must not be aware of the WebHub URL and can use the Widget out-of-the-box.

Therefore, a JSON structure must be created as described in the following:

{
     "PV_HUB": "webhub",
     "PV_HUB_URL": "https://webhub.server/pv",
     "PV_HUB_EDITABLE": true,
     "PV_HUB_URL_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_URL property defines the URL for the WebHub.

The PV_HUB_EDITABLE property defines if the hub should be still editible by the user. If not defined, the hub is still editable by user in widget.

The PV_HUB_URL_EDITABLE property defines if the webhub URL should be still editible by the user. If not defined, the webhub URL is still editable by user in widget.