Plugin interface. Plugins enhance the functionality of Openfire. They can:
- Act as {@link org.xmpp.component.Component Components} to implementadditional features in the XMPP protocol.
- Dynamically modify the admin console.
- Use the Openfire API to add new functionality to the server.
Plugins live in the
plugins directory of
home. Plugins that are packaged as JAR files will be automatically expanded into directories. A plugin directory should have the following structure:
[pluginDir] |-- plugin.xml |-- classes/ |-- lib/
The
classes and
lib directory are optional. Any files in the
classes directory will be added to the classpath of the plugin, as well as any JAR files in the
lib directory. The
plugin.xml file is required, and specifies the className of the Plugin implementation. The XML file should resemble the following XML:
<?xml version="1.0" encoding="UTF-8"?> <plugin> <class>org.example.YourPlugin</class> <name>Example Plugin</name> <description>This is an example plugin.</description> <author>Foo Inc.</author> <version>1.0</version> <minServerVersion>3.0.0</minServerVersion> <licenseType>gpl</licenseType> </plugin>
Each plugin will be loaded in its own class loader, unless the plugin is configured with a parent plugin.
Please see the Plugin Developer Guide (available with the Openfire documentation) for additional details about plugin development.
@author Matt Tucker