Plugins

Repository

Opal plugins available are:

Name

Type

Description

Depends

API

opal-search-es

opal-search

Opal search engine based on Elasticsearch 2.4. Can be used embedded in Opal (default)
or configured to connect to an Elasticsearch cluster.

No dependencies

Search Plugin API

jennite-vcf-store

vcf-store

Stores the genotypes in Variant Call Format (VCF) files (binary flavor, BCF, is also supported).
VCF/BCF files can be downloaded filtered by participant phenotype criteria.

htslib executables (bcftools, tabix, bgzip)

VCF Store Plugin API

opal-datasource-limesurvey

opal-datasource

Connects to a Limesurvey database to extract variables and data.

No dependencies

Datasource Plugin API

opal-datasource-redcap

opal-datasource

Connects to a REDCap server to extract variables and data.

No dependencies

Datasource Plugin API

opal-datasource-spss

opal-datasource

Java implementation of a SPSS file reader.

No dependencies

Datasource Plugin API

opal-datasource-readr

opal-datasource

R implementation of a rectangular format file reader, based on readr.

R server

Datasource Plugin API

opal-datasource-readxl

opal-datasource

R implementation of a Excel file reader/writer, based on readxl/writexl.

R server

Datasource Plugin API

opal-datasource-googlesheets4

opal-datasource

R implementation of a Google Sheets reader, based on googlesheets4.

R server

Datasource Plugin API

opal-datasource-validate

opal-analysis

R implementation of a data and mete-data validator, based on validate.

R server

Analysis Plugin API

Installation

All plugins are to be deployed as a directory at the following location: OPAL_HOME/plugins.

Automatic Installation

Because having a search engine is an absolute requirement, Opal server will check at startup that there is a plugin of type opal-search and if it’s not the case, the latest version of the opal-search-es plugin (that applies to the current Opal server version) will be automatically downloaded and installed without needing a server restart. If for any reason this plugin cannot be automatically downloaded (network issue), the Opal start-up will fail and you will need to install the plugin manually.

Manual Installation

Available plugins can be downloaded from OBiBa Plugins Repository. The manual installation procedure should be performed as follow:

  • Download the plugin of interest (zip file) from OBiBa Plugins Repository,

  • Unzip plugin package in OPAL_HOME/plugins folder. Note that the plugin folder name does not matter, Opal will discover the plugin through the plugin.properties file that is expected to be found in the plugin folder.

  • Read the installation instructions (if any) of the plugin to identify the system dependencies or any other information,

  • Restart Opal.

Configuration

The OPAL_HOME/plugins folder contains all the Opal plugins that will be inspected at startup. A plugin is enabled if it has:

  • A valid plugin.properties file,

  • In case of several versions of the same plugin are installed, the latest one is selected.

The layout of the plugin folder is as follow:

OPAL_HOME/
└── plugins
    └── <plugin-folder>
        ├── lib
        │   └── <plugin-lib>.jar
        ├── LICENSE.txt
        ├── README.md
        ├── plugin.properties
        └── site.properties

Inside the plugin’s folder, a properties file, plugin.properties, has two sections:

  • The required properties that describe the plugin (name, type, version etc.)

  • Some default properties required at runtime (path to third-party executables for instance).

Still in the plugin’s folder, a site-specific properties file, site.properties, is to be used for defining the local configuration of the plugin. Note that this file will be copied when upgrading the plugin.

Backups

Opal assigns a data folder location to the plugin: OPAL_HOME/data/<plugin-name> where plugin-name is the name defined in the plugin.properties file. This folder is then the one to be backed-up.