Plugins

Repository

Mica plugins available are:

Name

Type

Description

Depends

API

mica-search-es8

mica-search

Mica search engine based on Elasticsearch 8.x (default).
Requires an external Elasticsearch 8.16.1 server or cluster.

Elasticsearch 8.16.1+ server

Search Plugin API

mica-search-os2

mica-search

Mica search engine based on OpenSearch 2.x.
Drop-in replacement for mica-search-es8. Requires an external OpenSearch 2.x server or cluster.

OpenSearch 2.x server

Search Plugin API

mica-tables-spss

mica-tables

Read dataset dictionaries from SPSS files.
Reference implementation of the mica-tables plugin type.

No dependencies

Table Source Plugin API

mica-taxonomies-files

mica-taxonomies

Read taxonomies from local files or from a URL.
Reference implementation of the mica-taxonomies plugin type.

No dependencies

Taxonomies Plugin API

Installation

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

Manual Installation

For all other plugin types (and as an alternative for search plugins), plugins can be installed manually by downloading and extracting them. The manual installation procedure should be performed as follow:

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

  • Unzip plugin package in MICA_HOME/plugins folder. Note that the plugin folder name does not matter, Mica 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 Mica

Configuration

The MICA_HOME/plugins folder contains all the Mica 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:

MICA_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.

Switching Between Search Engines

To switch between Elasticsearch and OpenSearch (or upgrade versions), follow these steps:

  1. Update the configuration in MICA_HOME/conf/application-prod.yml:

    plugins:
      micaSearchPlugin: mica-search-os2  # or mica-search-es8
    
  2. Restart Mica - The new plugin will be automatically downloaded and installed on startup.

  3. Re-index all data - After switching search engines, you must re-publish all content to ensure the new search engine is properly populated with indexed documents.

Note

Both mica-search-es8 and mica-search-os2 are compatible drop-in replacements. You can switch between them without data loss, but re-indexing is required.

Backups

Mica assigns a data folder location to the plugin: MICA_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.