Product SiteDocumentation Site

4.2.2. Properties

This section describes the properties that can be defined when registering the plugin.
name
Your plugin's full name. Required value.
description
A full description of your plugin.
page
The name of a plugin page for further information and administration of the plugin; this is usually the Plugin's configuration page. MantisBT will create a link to the specified page on the Manage Plugins page.
version
Your plugin's version string. Required value. We recommend following the Semantic Versioning specification, but you are free to use any versioning scheme that can be handled by PHP's version_compare() function.
requires
An array of key/value pairs of basename/version plugin dependencies.

Note

The special, reserved MantisCore basename can be used to specify the minimum requirement for MantisBT core.
The version string can be defined as:
  • Minimum requirement: the plugin specified by the given basename must be installed, and its version must be equal or higher than the indicated one.
  • Maximum requirement: prefixing a version number with '<' will allow the plugin to specify the highest version (non-inclusive) up to which the required dependency is supported.

    Note

    If the plugin's minimum dependency for MantisCore is unspecified or lower than the current release (i.e. it does not specifically list the current core version as supported) and the plugin does not define a maximum dependency, a default one will be set to the next major release of MantisBT. (i.e. for 2.x.y we would add '<2').
    This effectively disables plugins which have not been specifically designed for a new major Mantis release, thus forcing authors to review their code, adapt it if necessary, and release a new version of the plugin with updated dependencies.
  • Both minimum and maximum: the two version numbers must be separated by a comma.
Here are a few examples to illustrate the above explanations, assuming that the current Mantis release (MantisCore version) is 2.1:
  • Old release without a maximum version specified
    $this->requires = array( 'MantisCore' => '1.3.1' );
    
    The plugin is compatible with MantisBT >= 1.3.1 and < 2.0.0 - note that the maximum version (<2) was added by the system.
  • Current release without a maximum version specified
    $this->requires = array( 'MantisCore' => '2.0' );
    
    The plugin is compatible with MantisBT >= 2.0 and < 3.0 (the latter is implicit); code supporting older releases (e.g. 1.3) must be maintained separately (i.e. in a different branch).
  • Only specify a maximum version
    $this->requires = array( 'MantisCore' => '< 3.1' );
    
    The plugin is compatible up to MantisBT 3.1 (not inclusive).
  • Old release with a maximum version
    $this->requires = array( 'MantisCore' => '1.3, < 4.0' );
    
    The plugin is compatible with MantisBT >= 1.3 and < 4.0.
uses
An array of key/value pairs of basename/version optional (soft) plugin dependencies. See requires above for details on how to specify versions.
author
Your name, or an array of names.
contact
An email address where you can be contacted.
url
A web address for your plugin.