The functionality of Elvis 6 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 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> <schedule> </schedule> <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. When the current version does not meet this requirement, a warning will appear on the plug-in page in the Management Console; the plug-in will not be disabled. The Elvis version number needs to be fully specified in the following format [major].[minor].[revision].[build], for example: 22.214.171.124.
- testedUpTo (Optional) Specifies up to which version the plug-in is tested. When the current version is greater than the value specified, a warning will appear on the plug-in page in the Management Console; the plug-in will not be disabled. The Elvis version number needs to be fully specified in the following format [major].[minor].[revision].[build], for example: 126.96.36.199.
- 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, Action plug-ins and Panel plug-ins each have their own set of generic settings. For more information, see the following articles:
- For Scheduled plug-ins: Elvis 6 Schedule plug-ins - configuration settings
- For Action plug-ins: Elvis 6 Action plug-ins - configuration settings
- For Panel plug-ins: Adding custom functionality to the Pro client of Elvis 6 by using Panel plug-ins
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.