Guide

Installation

Zip Content

/library Contains the entry point document to be imported in the Spotfire Library
/web The gadget application to be deployed on the LiveDesign server
Discngine.DataSource.LiveDesign.spk The LiveDesign Connector Spotfire extensions for the DataSource, for Analyst
Discngine.DataSource.LiveDesign.Web.spk The LiveDesign Connector Web Player extensions, for Web Player
Discngine.LiveDesign.Connector.sdn The Spotfire Distribution package that simplifies the deployment of both extensions

This package is available here.

  • Spotfire
    • Version 11.4+ or 12+
    • Administrator group membership and remote access to the Spotfire server
  • LiveDesign
    • Version 8+, 9+, 2022+ or 2023+
    • Administrator role and SSH access to the LiveDesign server

1 - Deploy the sdn file OR deploy all .spk to your area using the Spotfire administration tool

At the end you must have these extensions activated:

Area after Deployment Core spks

If the Discngine Spotfire Connector for BIOVIA® Pipeline Pilot is already installed on the area, its version must be 5.6 or higher.

Fill Spotfire preferences as indicated here.

2 - Update the corresponding web player services to install the webplayer tool

See Spotfire official documentation for more information

3 - Update the webplayer configuration:

To import data from LiveDesign to Spotfire, the webplayer worker service will needs to write temporary files on the server's %TEMP% directory.

To get the temporary folder of the Spotfire nodemanager service:

  • if the account used is Local Service, Local System, or Network services, or any service account, the default temporary folder is usually %WINDOWS%\temp
  • if the account used is a generic account, please contact your System administrator to get the information

Once the temporary folder path is known, open the Spotfire Server directory (not the node manager) to export the service configuration.

Open a shell with elevated rights ("run as administrator")

a. Export the current directory for your webworker service area:

%SPOTFIRE_HOME%\tomcat\spotfire-bin> config export-service-config --deployment-area="<Your Area>" --force --capability=WEB_PLAYER

This will create a config directory under the spotfire-bin config:

b. With a text editor using elevated rights, edit the file config\root\Spotfire.Dxp.Worker.Host.exe.config. In it, search and modify the following section, adding a string element containing the path to the temporary directory you retrieved eariler:

Configuration Section To Modify

Save the file, and import the config with a new name:

%SPOTFIRE_HOME%\tomcat\spotfire-bin> config import-service-config --config-name="<New Configuration Name>"

c. Go to the Spotfire administration website, and select the webplayer service for the corresponding area, then click the Edit button:

Select service screen

d. Change the configuration using the new one you have just imported and click save. Spotfire will restart the webplayer node:

Change configuration

4 - LiveDesign Connector license activation and preferences

In Spotfire analyst, go to Tools > Administration Manager, and open the Groups and Licenses tab. Activate the following licenses for the final users or groups to who you want to provide access to the LiveDesign Connector tool:

Spotfire licenses;

In Spotfire analyst, go to Tools > Administration Manager, and open the Preferences tab. In here, fill the preferences:

Configuration Key Required Default Description
DefaultDocumentPathOrId df7b5c3b-935c-4dde-b102-54f44b3b6a6b When set, specify the spotfire template that will be opened as an empty document in the LiveDesign Connector.
DefaultExportDataTableName LiveReport Data When set, define the default name of the datatable where the LiveReport Data is exported from the import assistant, gadget, livedesign connector.
DefaultLibraryPath When set, only the templates in the specified folder and its children will be available in the Gadget.
DefaultPageTitle "[Default]" The page that will be opened with light Spotfire interface during automated opening Spotfire template in gadget
ExportInMemory True This defineif the LiveDesign export is done in process or out of process, change it if you encountered issues related to RDKit. Beware, out of process is less performant than in process export : it may needs to increase export timeout
ExportTimeoutInSeconds 360 The timeout for the first export phase (export from LD to SDF file) in seconds or the run of the load livereports library assistant
ImportInChi false When true, a "Structure <InChi>" column containing the InChi of the compound will be generated during export. Default to false.
ImportLiveReportImage false When true, a "Structure <LiveReport Image>" column containing the Image of the compound in the LiveReport will be generated during export. Default to false.
ImportMolFile false When true, a "Structure <MOLFILE>" column containing the MOLFILE of the compound will be generated during export. Default to false.
ImportPNG false When true, a "Structure <PNG>" column containing the PNG of the compound will be generated during export. Default to false.
ImportSmiles false When true, a "Structure <Smiles>" column containing the SMILES of the compound will be generated during export. Default to false.
LicenseKey The license key provided by Discngine.
LiveDesignServerUrl The default LiveDesign server URL which will be used to prefill the Data Source connexion screen.
LiveDesignVersion 8.9 Specify the version of LiveDesign api to use. See compatibility sheet. Needed if the UsePython is set to true
PeriodBeforeExpiration The number of days you want to be warned before the license expires.
PythonVersion 3.9 Specifies the version of the python runtime to use. 3.9 (default) and 2.7 are supported.
TempFolder If set to a fullpath value, will defined the tempfolder used during the export process to generate intermediate. See Below for how to use this preference
UsePython false If set to true it activates the oldest way to talk with LiveDesign, meaning using the python API. You need to set the right LiveDesignVersion flag if you do so

Example of filled preferences :

Spotfire Preferences

By default the DefaultLibraryPath value must be "LDConnector", but if you change this folder's place, it must be its new path.

The LiveDesignServerUrl value is specific to each environment and must be the URL of the LiveDesign server that should be connected with Spotfire.

What is the TempFolder preference ?

By default, the LiveDesign Spotfire connector does some operation by writing temporary files in the standard temp folder of the account that is running Spotfire:

  • if in analyst, it uses the %TMP% folder define for the user profile
  • if in web player, it will use the standard temp folder for the service account

Sometimes, you may want to or need to override this default behavior, because :

  • you do not want to use the system temp volume
  • you are using kerberos + impersonation and needs to set up a custom folder where your users will have write access

If you need to do so, you will have to :

  • set up a network shared folder that will be available from your users workstations and windows account AND your webplayer server and service account
  • ensure that webplayer service account and all of spotfire users account that use the LiveDesign connector has Read/write/modify access
  • set up the full path in the tempfolder preference.
  • Restart both spotfire analyst and concerned webplayer service instance

Nb: multiple messages are raised in webplayer and analyst logs to help you diagnose if any issue occurs

5 - Deploy Entry point document in Spotfire Library

Copy the LDConnector.part0.zip file to your Spotfire server shared folder (by default <Spotfire Root>\tss\<version>\tomcat\application-data\library).

Spotfire Library Shared Folder

In Spotfire analyst, go to Tools > Library Administration

Spotfire Library Admin tool Menu

Click on import and browse to select the LDConnector.part0.zip file:

Spotfire Library Admin tool Import modal

Spotfire Library File Selection

Click on Ok. Check in library but you may have now this file available for Everyone:

Spotfire Library Entry Point Document

Set up access rights on the imported library folder based on following indications :

  • All users of the LiveDesign Connector need to have at least Browse + Access rights on the LDConnector folder
  • Template designers need to have Browse + Access + Modify rights on the LDConnector folder (later if you need to be more restrictive you can apply these rights on specific Projects folders)

6 - FOR ADMIN ONLY : Troubleshooting and diagnostic tool Configuration

Prerequisite:

  • having the spotfire database connection string or at least :
    • Spotfire database server name
    • Spotfire database name and type (SQL or Oracle)
    • Spotfire server database read account and password

a. Install the Spotfire configuration tool on your workstation

Go to Spotfire admin web portal > ServerTool section and follow the instructions

Spotfire Server Tool Icon

Spotfire Server Tool Section

After unzipping the jar file you will have a folder with this content :

Spotfire Config tool Content

b. Configure the tool to connect to your spotfire installation

In the config tool folder, launch the configui.bat, and click on "create new bootstrap file"

Spotfire Config tool Bootstrap configuration

Fill the correct information in the edit bootstrap section (check the file name, database server connection information) :

Spotfire Config tool bootstrap configuration database

Fill tool's password (mandatory) and save the bootstrap file :

Spotfire Config tool password

Close the ui.

c. Configure the tool in Spotfire

Launch Spotfire, click on the "LiveDesign Connector Diagnostic Tool"

Spotfire Diagnostic Tool Menu

Double click in the "Config tool directory" textbox and select the folder where the config tool has been unzipped :

Spotfire Diagnostic Tool Directory Selection

Spotfire Diagnostic Tool Directory Selection

Double click in the "Bootstrap file" textbox and select the bootstrap file you have just saved

Spotfire Bootstrap File Selection

Spotfire Bootstrap File Selection

Finally fill in the tool password

Spotfire Tool password

Close the tool window and relaunch spotfire.

You can now use the diagnostic tool to have information if the LiveDesign connector doesn't work correctly

As many LiveDesign gadgets, the Spotfire Gadget by Discngine is a web appplication. The current installation procedure is based on a standard LiveDesign installation using nginx as application server.

For the following steps, we assume you have SSH access to your LiveDesign server.

  1. Copy the content of the web folder from the LiveDesign Connector package to the server, under seurat/custom_gagdets directory:
scp -r /path/to/web <user>@<ld_server_url>:/home/seurat/custom_gadgets/ldconnector
  1. Edit the config file

Use your favourite editor to open the file /home/seurat/custom_gadgets/ldconnector/config/config.json

{
  "visualizer": {
    "url": "<your Spotfire url>"
    "entryPointDocumentIdOrPath": "df7b5c3b-935c-4dde-b102-54f44b3b6a6b"
  },
  "data": {
    "liveDesignServerUrl": "<your LiveDesign url>"
  }
}
  • Set your Spotfire server url in the > visualizer > url, e.g. "https://spotfire.mycompany.com"
  • Set the id of the entry point document in > visualizer > entryPointDocumentIdOrPath (see below for details)
  • Set the LiveDesign url in > data > liveDesignServerUrl, e.g. 'https://livedesign.mycompany.com"

The parameter entryPointDocumentIdOrPath should be the id of the default document that will be used to check the connexion to Spotfire.

We strongly suggest to use the empty document provided in the LDConnector.part0.zip file.

To get the id of the Entry point document:

  • Go to the Spotfire Library / LDConnector and click copy link:

Display Copy Link Menu

  • Take the id of the document from the link and use it as entryPointDocumentIdOrPath:

Select the id of the document

  1. Check that the ownership and access rights are correct
sudo chown seurat:seurat -R /home/seurat/custom_gadgets/ldconnector/
# if required:
sudo chmod 755 -R /home/seurat/custom_gadgets/ldconnector/
  1. Create/Edit the nginx configuration for exposing two location:

Go to the nginx config folder:

cd /etc/nginx/endpoints.d

Create a new config file for the Discngine configuration and open it with your favourite editor:

touch discngine.conf
vi discngine.conf

Then paste the following

location = /livedesign/session {
    default_type text/plain;

    if ( $http_cookie ~ "JSESSIONID=(?<token>[^;]*)" ) {
        return 200 $1;
    }
    return 401;
}

location /livedesign/spo {
    alias /home/seurat/custom_gadgets/ldconnector/;
    index index.html;
}

Save your file and restart nginx:

sudo systemctl restart nginx
  1. Configure gadget in LiveDesign admin tool

Finally, go to LiveDesign admin tools > Properties > Custom Gadget and declare the gadget

{
  // ... other gadgets
  "Spotfire Gadget by Discngine": "/livedesign/spo"
}

Custom Gadget Declaration