Elgg expects plugins to have a configuration `manifest.xml` in the root of the module. This file contains information about the plugin like author and version. An example:
<?xml version="1.0" encoding="UTF-8"?> <plugin_manifest> <field key="author" value="Marcus Povey" /> <field key="version" value="1.0" /> <field key="description" value="Provide a list of your or your friends recent activity!" /> <field key="website" value="http://www.elgg.org/" /> <field key="copyright" value="(C) Curverider 2008" /> <field key="licence" value="GNU Public License version 2" /> </plugin_manifest>
This file is a prerequisite for any plugin to work properly work since Elgg will also base loading and unloading of plugins on this file.
The following optional fields can be added to a manifest to help with package management.
<field key="recommends" value="package" /> <field key="requires" value="another_package" /> <field key="conflicts" value="different_package" />
A plugin author may specify a minimum version of Elgg core required to run their plugin using:
<field key="elgg_version" value="YYYYMMDDVV" />Where YYYYMMDDVV is the contents of the $version variable in version.php, eg: 2009021501.