This is an old revision of the document!
Table of Contents
Plugin Repository
The DokuWiki Extensions Manager, for the easy maintainance of plugins and templates , has a counterpart here at www.dokuwiki.org. A plugin similar to this one but with more flexibility, aimed at usage outside dokuwiki.org, is also available. It's called the data plugin.
Plugins Entry
Each plugin should have a homepage in the plugin
namespace, containing at least a short description and a data block like this at the start:
---- plugin ---- description: Just an example to prove the point author : Joe Blow email : joe@example.com type : syntax, action, admin, helper, render lastupdate : 2007-12-17 compatible : Anteater, 2010-02-14 depends : plugin1 conflicts : plugin2 similar : plugin3 screenshot_img : http://<someserver>/image.png tags : example, sample downloadurl: http://github.com/example/dokuwiki-plugin-sample/zipball/master bugtracker : http://github.com/example/dokuwiki-plugin-sample/issues sourcerepo : http://github.com/example/dokuwiki-plugin-sample/ donationurl: https://www.paypal.com/... ----
The info is stored in a database and used to build a dynamic repository browser (at plugins).
About the fields:
- description – should be a short description of what the plugin does
- author – the plugin's main author or current maintainer
- email – email address of the plugin's main author or current maintainer
- type – one or more of the plugin types (syntax, action, admin, helper, render)
- lastupdate – date when newest version of the plugin was provided, in YYYY-MM-DD format, it is used for automated update checking by the Extension Manager and should equal the date in plugin.info.txt
- compatible – give the DokuWiki version(s) your plugin is compatible to. Multiple versions can be given and code names can be used. Eg: 2009-02-14, lemming, anteater. Use a plus sign '+' if you think it's safe to assume that the plugin will be compatible with future releases of DokuWiki.
- depends – comma separated list of plugin dependencies if any
- conflicts – comma separated list of plugins/templates which conflict your plugin, use
template:xxx
if conflicting with the templatexxx
- similar – comma separated list of plugins with a similar task
- tags – categorize your plugin here. If
!obsolete
is the only tag, then this plugin will be hidden from repo table - screenshot_img – image url to characteristic screenshot of plugin/template (also used in new Extension Manager, which scales and cut it to a 120×70 px image)
- securitywarning – use this field to warn about inherent security problems with the plugin. Ability to execute arbitrary script could be a reason
- securityissue – only add this field when there is a security problem with the plugin. Enter a short description here and inform the author. Plugin will be hidden from repo table
- downloadurl – this should be the direct URL to the download compatible with the most current release
- bugtracker – a link to the bug tracker for this plugin, leave empty if none available
- donationurl – a link to paypal, an Amazon wishlist or similar thing where people can donate to you, leave empty if none available
Template Entry
Similar for templates, but in the template
namespace.
---- template ---- description : Just an example to prove the point author : Joe Blow email : joe@example.com lastupdate : 2007-12-17 compatible : Anteater, 2010-02-14 depends : conflicts : example, template:sample similar : screenshot_img: http://<someserver>/image.png tags : example, sample downloadurl : http://github.com/example/dokuwiki-plugin-sample/zipball/master bugtracker : http://github.com/example/dokuwiki-plugin-sample/issues sourcerepo : http://github.com/example/dokuwiki-plugin-sample/ donationurl : https://www.paypal.com/... ----
The info is stored in a database and used to build a dynamic repository browser (at plugins).
About the fields:
- description – should be a short description of the templates main feature
- author – the template's main author or current maintainer
- email – email address of the template's main author or current maintainer
- lastupdate – date when newest version of the template was provided, in YYYY-MM-DD format, it is used for automated update checking by the Extension Manager and should equal the date in template.info.txt
- compatible – give the DokuWiki version(s) your template is compatible to. Multiple versions can be given and code names can be used. Eg: 2009-02-14, lemming, anteater
- depends – comma separated list of template dependencies if any
- conflicts – comma separated list of plugins/templates which conflict your template, use
template:xxx
if conflicting with the templatexxx
- similar – comma separated list of template with a similar task
- screenshot_img – URL to screenshot of your template (also used in new Extension Manager, which scales and cut it to a 120×70 px image)
- tags – categorize your template here. If
!obsolete
is the only tag, then this template will be hidden from repo table - securitywarning – use this field to warn about inherent security problems with the template. Ability to execute arbitrary script could be a reason
- securityissue – only add this field when there is a security problem with the template. Enter a short description here and inform the author. Template will be hidden from repo table
- downloadurl – this should be the direct URL to the download compatible with the most current release
- bugtracker – a link to the bug tracker for this template, leave empty if none available
- donationurl – a link to paypal, an Amazon wishlist or similar thing where people can donate to you, leave empty if none available
Repository Plugin Manual
The manual describes how to use the repository API among other things.
Compatibility with release candidates
When a new release candidate is available please update the plugin homepage with appropriate compatibility, use the release name (i.e. “rincewind”) rather than the RC date. That way you won't have to update the compatibility information as the final release is done.