The functionality of Elvis Server and its client applications can be extended through the use of plug-ins. This makes it possible to schedule regularly occurring tasks in Elvis Server, or add buttons, menus or panels to the Basic Web client, Pro client and/or the Brand portal.
Each plug-in contains a configuration file which defines the plug-in type and its functionality.
This article describes the structure of the configuration file and provides details on the settings.
The structure of a plug-in configuration file can be divided into the following sections:
- General plug-in information. This is specified between the
- Generic settings for each type of plug-in:
- For Scheduled plug-ins, the settings are specified between the
- For Action plug-ins, the settings are specified between the
- For Panel plug-ins, the settings are specified between the
- Specific settings for the plug-in. These are specified between the
The following example shows the structure for a Scheduled plug-in:
<?xml version="1.0" encoding="UTF-8"?> <plugin> <info> </info> <action> </action> <config> </config> </plugin>
Each segment is described in more detail below.
General plug-in information
This section describes the basic information of a plug-in such as its version number and documentation info. It is typically provided by the developer of the plug-in.
<info> <version> <pluginVersion>...</pluginVersion> <requiresAtLeast>...</requiresAtLeast> <testedUpTo>...</testedUpTo> </version> <description>...</description> <documentationUrl>...</documentationUrl> <basePluginPath>...</basePluginPath> </info>
- pluginVersion (Optional) Version number of the plug-in. This can be any string value. The sample plug-ins use a [major].[minor] format, starting with 1.0.
- requiresAtLeast (Optional) Minimum server version required to run the plug-in. If the current version does not meet this requirement, a warning will appear in the Manage Plug-ins tab of the Desktop client; the plug-in will not be disabled. The Elvis version number needs to be fully specified, [major].[minor].[revision].[build]. For example: 18.104.22.1680.
- testedUpTo (Optional) Specifies up to which version the plug-in is tested. If the current version is greater than the value specified, a warning will appear in the Manage Plug-ins tab of the Desktop client; the plug-in will not be disabled. The Elvis version number needs to be fully specified, [major].[minor].[revision].[build]. For example: 22.214.171.1240.
- description (Optional) Brief and functional plug-in description.
- documentationUrl (Optional) URL to the plug-in documentation.
- basePluginPath (Optional) Path to the base plug-in, relative to <Config>/plugin_base. Several sample plug-ins have most of their logic defined in the plug-in_base. This is convenient for upgrading sample plug-ins and it prevents code duplication when multiple instances of the same plug-in in use.
Generic settings for each type of plug-in
Scheduled plug-ins and Action plug-ins each have their own set of generic settings. For more information, see the following articles:
- For Scheduled plug-ins: Elvis 5 Schedule plug-ins - configuration
- For Action plug-ins: Elvis 5 Action plug-ins - configuration settings
Specific settings for the plug-in
This section contains optional plug-in specific configuration settings. These are specified by the developer, while the values are set by the system administrator.
<config> <property name="..."> <description>...</description> <value>...</value> </property> </config>
- name (Required) Name of the property. It must be unique for the plug-in. A valid name may contain characters _, a-z, A-Z and 0-9 but may not begin with 0-9.
- description (Optional) Short property description, typically a single sentence. In case longer descriptions are needed, add these to the plug-in documentation.
- value (Required) The value of the property.
- 1 October 2018: Renamed from 'Elvis 5 plug-ins introduction - configuration file'.
- 1 October 2018: General re-write.