Galia Guide 1.0

Plugins

Plugins are distributed separately from the Galia core application and extend its functionality. Using plugins, you can add support for new:

Packaging

Plugins are packaged as folders. The root level contains a README and other documentation, and there is a lib subfolder containing the plugin code, and any required dependencies, packed into JAR files. Plugins physically reside inside the core application's plugins folder.

Versioning

Plugins are developed against a particular version of the Galia API, referred to as the specification version. This is different from the application version. When the tools described below (e.g. bin/install_plugin.sh) are used to install or update a plugin, they will try to obtain the latest version of the plugin that has a compatible specification version, which may not be the latest available version of the plugin, if the core version is not current.

The bin/version.sh script can be used to print the application's specification version.

Specification versions are compared semantically, where major version advances break compatibility, and minor version advances only add functionality without breaking compatibility. For example:

Application specification version Plugin specification version Compatible?
1.0 1.0
1.0 1.1 ×
1.1 1.0
2.0 1.1 ×

Available plugins

The plugins page lists all available first-party plugins.

Installing plugins

There are two ways to install a plugin:

  1. First-party plugins only: Use the bin/install_plugin.sh script, supplying the plugin name as an argument, e.g. bin/install_plugin.sh galia-plugin-example.
  2. Decompress its release zip file and move it into the plugins folder.

To verify that the plugin has been installed, run bin/list_plugins.sh.

Afterwards, restart the application.

Updating plugins

There are two ways to update a plugin:

  1. First-party plugins only: Use the bin/update_plugin.sh script, supplying the plugin name as an argument, e.g. bin/update_plugin.sh galia-plugin-example.
  2. Remove the current plugin and then install the new one.

To verify that the plugin has been installed, run bin/list_plugins.sh.

Afterwards, restart the application.

Removing plugins

There are two ways to remove a plugin:

  1. Use the bin/remove_plugin.sh script, supplying the plugin name as an argument, e.g. bin/remove_plugin.sh galia-plugin-example.
    • This will not actually delete the plugin. It will be backed up with a unique suffix appended to its containing folder name, and the application will no longer use it.
  2. Delete its enclosing folder within the plugins folder.

Afterwards, restart the application.

Developer guide

See the documentation for the is.galia.plugin package in the Javadoc for development information. Also, it may be helpful to review the source code of some of the existing plugins.