Since CONTENIDO 4.9 plugins are installed via the Plugin manager.
Beside plugins from the community (so called third party plugins) CONTENIDO itself is released with various default plugins, which can be activated without downloading them.
Structure of a plugin
Plugins must follow a given structure so they can be installed correctly. Once at all, all files of a plugin package are packed to an ZIP archive, which later is unpacked from the installation routine of the plugin manager.
The content of this ZIP file must fit to the following guidelines.
ZIP archive filename
The name of the ZIP archive file must only contain the plugin name, for example: linkchecker.zip
plugin.xml
Each plugin must have a XML file which contains metadata for the plugin itself and for the installation in the system. Among other things this file is responsible for the folder name in the plugins directory of CONTENIDO. Most important it contains all relevant entries for some special database tables, so the plugin is accessible in the backend (creating menu entries and so on). These tables are: actions, area, files, frame_files and nav_sub.
The XML is divided into three parts - each separated to a XML tag. XML files must be valid against the plugin file schema located at xml/plugin_info.xsd located in the plugin managers plugin directory.
Universal Unique Identifier (UUID)
Each plugin must have an UUID to identify it globally. These IDs base on the values for the plugin_name and copyright fields in this file. UUIDs only can be generated on the CONTENIDO website. CURRENTLY UUID GENERATOR IS NOT ONLINE YET!
Tag general - meta information (required)
This tag contains meta information about the plugin which also are displayed in frontend. The tag has the attribute "active" which should have the value "1".
Tag name | Description | Required? |
---|---|---|
plugin_name | Full plugin name. | yes |
plugin_foldername | Name of the plugin folder. | yes |
uuid | The universal Unique ID. | yes |
description | Description of the plugins functions. | no |
author | Author | yes |
copyright | Copyright notice | yes |
Mail address for support | no | |
website | Website address for support | no |
version | Version of the plugin | yes |
min_contenido_version | First compatible version of CONTENIDO | yes |
max_contenido_version | Last compatible version of CONTENIDO | no |
Tag contenido - database specific information
This tag contains database specific information for adding entries to special database tables (mentioned above) to be able to display the plugin in the backend navigation.
Each tag expects attributes which have the same value as their fields in the corresponding database table.
Tag name | Description | Available attributes | Example | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
areas | Managing areas |
| <area parent="linkchecker" menuless="1">lc_whitelist</area> | ||||||||||
actions | Managing actions |
| <action area="linkchecker">linkchecker</action> | ||||||||||
frames | Managing frames |
| <frame area="linkchecker" filetype="main" name="linkchecker/includes/include.linkchecker.php" frameId="4" /> | ||||||||||
nav_sub | Managing sub navigations | area, level, navm
| <nav_main area="linkchecker" level="0" navm="1">linkchecker/xml/lang_de_DE.xml;navigation/content/linkchecker/main</nav_main> | ||||||||||
nav_main | Managing main navigations | none | <nav_main><nav>locationname</nav></nav_main> |
Tag content_types - registration of own content types
This tag contains information to register own content types.
Currently under construction
This part of the page is currently under construction and soon contains all relevant information. Please be patient.
plugin-install.sql
This file contains additional statements executed on the installation of the plugin.
Currently under construction
This part of the page is currently under construction and soon contains all relevant information. Please be patient.
plugin-uninstall.sql
This file contains additional statement executed on the uninstallation of the plugin.
Currently under construction
This part of the page is currently under construction and soon contains all relevant information. Please be patient.