====== Plugin Repository ====== The DokuWiki [[plugins]] and [[templates]] are managed through its own plugin 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 [[:plugin:data|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 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 * **compatible** -- give the DokuWiki version(s) your plugin is [[:extension_compatibility|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 template ''xxx'' * **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 * **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 [[devel: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 * **sourcerepo** -- a link to the webinterface of a source code management system like [[devel:git]] or [[devel:darcs]], 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 : sample similar : screenshot_img: http:///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 * **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 template ''xxx'' * **similar** -- comma separated list of template with a similar task * **screenshot_img** -- URL to screenshot of your template * **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 [[devel: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 * **sourcerepo** -- a link to the webinterface of a source code management system like [[devel:git]] or [[devel:darcs]], 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 [[:plugin:repository: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.