All versions of this manual
X
 

Plugins

What is a plugin?

A plugin is an extension that adds functionality to Linkurious Enterprise.

Customers and third party developers can easily create their own plugins using our detailed Plugins Development Guide.

What are the official Linkurious Enterprise plugins?

Official plugins are plugins built and maintained by the Linkurious team. They are distributed with Linkurious Enterprise by default.

  • Configuration Migration (config-migration): Migrate settings (e.g. queries, alerts, etc.) from one Linkurious Enterprise instance to another. Ideal to synchronize a pre-production and production instance.
  • Data Table (data-table): Display graph-query results as a table.
  • Query AI (query-ai): Translate natural language questions into Cypher graph queries tailored for your graph.
  • Third-Party Data (third-party-data): Enrich companies and people in your graph using data from external data-vendor APIs.
  • Webhook Manager (webhook-manager): Add, delete, and test webhooks in Linkurious Enterprise.

Additionnally, the following legacy plugins are distributed with Linkurious Enterprise. They are deprecated and will be removed in future versions of Linkurious Enterprise. Please use the corresponding built-in functionality instead.

  • CSV Importer (csv-importer): Import data into your graph quickly from a CSV file.
  • Plugin Manager (plugin-manager): Install and manage plugins in Linkurious Enterprise.

How do I automatically install official plugins?

If you want the system to automatically install official plugins, you can set the LKE_PLUGINS environment variable as an array of strings for every plugin to be deployed. The valid strings are available in the list of official plugins.

If you are using Docker, the environment variable needs to be set for the container.

The version of each plugin that will be installed depends on your Linkurious Enterprise version. Be sure to keep the system up to date to have the latest version of the plugins installed.

How do I install plugins?

First obtain the .lke file of the plugin you need to install. You can download official plugins from the "Releases" section of the plugin page.

The plugin may be installed throught the Linkurious Enterprise user interface:

  1. As this is a sensitive operation, it is disabled by default. To enable it, set the LKE_PLUGINS_ENABLE_UPLOAD environment variable to true
  2. From the Linkurious Enterprise dashboard, go to Admin -> Plugins manager. This page is restricted to admin accounts
  3. Click the Upload your own plugin banner at the top of the page and select the .lke file.

In case you need to perform a manual installation, you can proceed as follows:

Make sure to have write access to the Linkurious Enterprise installation folder as well as an application admin account.

  1. Copy the .lke file to the following path <linkurious>/data/plugins
  2. From the Linkurious Enterprise dashboard, go to Admin -> Global configuration
  3. Scroll to the Plugins settings field
  4. Add a space at the end of the Plugins settings section
  5. Click "Save". This will restart all the plugins to apply the new configurations.

How do I configure plugins?

  1. From the Linkurious Enterprise dashboard, go to Admin -> Plugins manager
  2. Scroll to the plugin you want to configure and select Configure plugin
  3. Add the relevant configurations. For official plugins, you can find details in the Plugin page
  4. Click "Save". This will restart the plugin and apply the new configuration.

You can configure multiple instances of a single plugin by adding a new JSON object to the plugin's array.

Configuration keys supported by all the plugins:

Key Type Description Example      
basePath string (optional) A base path on which the plugin will be mounted. Defaults to the plugin name defined in the manifest. "my-path"
debugPort number (optional) A debug port on which to attach a debugger for the plugin NodeJS process. If not specified, the plugin won't be started in debug mode. 9230

The following example will deploy:

  • An instance of my-plugin that will be accessible by its default path /plugins/my-plugin (the plugin name)
  • An instance of my-second-plugin that will be accessible from the custom path /plugins/my-path
  • A second instance of my-second-plugin that will be accessible from the custom path /plugins/my-other-path
{
  "my-plugin": [
  ],
  "my-second-plugin": [
    {
      "basePath": "my-path"
    },
    {
      "basePath": "my-other-path"
    }
  ]
}

How do I uninstall plugins?

To completely uninstall a plugin from the system (i.e. all the deployed instances), you can remove the file manually added through the manual installation.

After the above procedure, any configuration for to the removed plugin will be ignored by the system. If you are not foreseeing to reuse the plugin in the future, you may want to clear the related plugin's configurations to only keep active ones.

If you have deployed several instances of a plugin and want to uninstall some of them, edit the plugins configuration and remove the entries for the instances you want to remove.

What do I need to be able to use the plugin?

Once installed and configured, any Linkurious Enterprise authenticated user can use the plugin. Additional restrictions may be imposed by the plugin itself.

Are plugins compatible with all versions of Linkurious Enterprise?

Compatibility is mentioned on the download page of each plugin. You can easily identify that by looking at the minimal and maximal supported Linkurious Enterprise version.

What can I expect about maintenance and bug fixes?

If you are facing problems with a plugin follow the next steps:

  • Make sure you are running the latest supported version of Linkurious Enterprise.
  • Make sure you are running the latest version of the plugin.

If you are still facing problems, please get in touch with support while keeping this in mind:

  • Compare your Linkurious Enterprise version to the min-max allowed versions for the plugin.
  • If the version is within the supported range, the policy will be:
    • Beta version: best effort.
    • Stable version: fix functionally impacting bugs (timeliness depends on the severity).
    • Maintenance version: fix only critical bugs.