Package content
The Discngine LiveDesign Connector for Pipeline Pilot package contains:
- ldconn: the Pipeline Pilot collection developed to interact with LiveDesign into Pipeline Pilot protocol,
Prerequisite
- A BIOVIA® Pipeline Pilot server 2018 or above.
- A Schrodinger® LiveDesign server 8.9, 8.10, 8.11 or 9.0.
You will also need to have:
- ssh access to the Schrodinger® LiveDesign server, with rights to edit the nginx conf and restart nginx server,
- access to BIOVIA® Pipeline Pilot server and rights to install packages on it and restart Apache server.
Installing Pipeline Pilot Package
-
On the Pipeline Pilot server, place the ldconn folder of the package in
<PP Installation>\PPS\apps\discngine\. -
Open the command line prompt as an administrator from the windows start menu (Right click > execute as administrator) and change the directory to
[scitegic_root]\bin(or[scitegic_root]/linux_binif you are on a Linux server). -
Install the Discngine LiveDesign Connector collection executing the following command:
.\pkgutil.exe -i discngine/ldconn -
Restart the Apache server:
- open the Pipeline Pilot server administration page
- navigate to Setup > Manage Server in the left pane
- press the "Restart Apache" button
-
The Package components and the application need some information about your LiveDesign environment. You can set the values directly into the parameters of the component, but we highly recommend to set the global properties declared for the package. To do so:
- open the Pipeline Pilot server administration page
- navigate to Setup > Global Property in the left pane
- Here is the list of properties:
| Property | Description | Required | Default Value |
|---|---|---|---|
| LiveDesignServerUrl | URL of your Live Design server, e.g. https://ldserver.yourcompany.com. | Yes | |
| LiveDesignVersion | The version of your Live Design server (values available are listed in compatibility documentation). | Yes | 8.11 |
| Delimiter | String delimiter used internally. Do not change it unless you have issues. | Yes | !!_!! |
| LicenseKey | Your Licence key for the Pipeline Pilot Gadget. | Yes | |
| VerifySSL | Whether you want want to check SSL certificate when using Pipeline Pilot Components. Set to False if you use a self-signed certificate or if you are not using SSL. | Yes | |
| DefaultProjectName | Name of the LiveDesign project that will be used by components by default (only used by deprecated components). | No | Global |
| DefaultProjectID | ID of the LiveDesign project that will be used by components by default. | Yes | 0 |
| GadgetMenuPath | Path of the file that will be used as Gadget menu. | Yes | $(SharedPublicDir)/Discngine/composer/menu.json |
Declaring the Gadget in Live Design
First make sure you can access your LiveDesign server via ssh.
- ssh to the server then create a ldconn.conf file in nginx's endpoints.d folder
cd /etc/nginx/endpoints.d
touch ldconn.conf
- Paste the following in the ldconn.conf file (replace the placeholders with the url of your Pipeline Pilot server):
location /discngine/ldconn/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass https://<server-url>:<port>/discngine/ldconn/;
proxy_read_timeout 600;
}
# we use this location so that we can empty out POST requests before passing
# them on to LD's "about" endpoint.
# This is used to control the validity of the Session Token
location /livedesign/ppproxy_auth/ {
internal;
proxy_pass $scheme://localhost/livedesign/api/about;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
}
location /livedesign/ppproxy/ {
set $authorization $http_authorization;
set $basic_auth $http_authorization;
set $delimiter "";
set $ldsession "";
# first we check that the user has a valid LiveDesign Session Token
# This step is optional and you can skip it if you don't want to perform the check.
auth_request /livedesign/ppproxy_auth/;
# $is_args will be truthy if request has query args.
# In this case we want to append our config
if ($is_args) {
set $delimiter "&";
}
# Extract ld_session token which will be needed on PP side to authenticate user
# on LiveDesign.
if ( $http_cookie ~ "JSESSIONID=([^;]*)" ) {
set $ldsession $1;
set $args "${args}${delimiter}ldsession=${ldsession}";
}
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Authorization $authorization;
# Enable these options if you want to prevent persistent PP sessions on LiveDesign
#proxy_hide_header Set-Cookie;
#proxy_ignore_headers Set-Cookie;
proxy_pass https://<server-url>:<port>/;
proxy_read_timeout 600;
}
- Restart nginx:
sudo service nginx restart
- In the LiveDesign Admin Panel, under FEATURE CONFIGURATION, go to Properties. In the CUSTOM_GADGETS section, add an entry for the Discngine Gadget:
{
// ... other gadgets
"BIOVIA Pipeline Pilot Gadget by Discngine": "/discngine/ldconn/"
}
Gadget Permissions
To allow a fine control of the actions a user can perform, the Gadget uses a system of permission. Theses permissions are set on Pipeline Pilot end. To control these permissions, on the Pipeline Pilot Administration server, go to Security > Permissions. Three different permissions exist: LDCONN_ADD, LDCONN_EDIT, LDCONN_DELETE. Alternatively, a group Discngine/LiveDesin Connector/Administrators is available and encompasses all above permissions. To control which users belong to this group, on the Pipeline Pilot Administration server, go to Security > Groups.
| Permission Name | Description |
|---|---|
| LDCONN_ADD | Ability to register new protocols in the Gadget |
| LDCONN_EDIT | Ability to edit protocols already registered in the Gadget |
| LDCONN_DELETE | Ability to remove protocols previously registered in the Gadget |
If you plan on using the Gadget and register new protocols, make sure you have the correct permissions set for you.