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.