Садржај

Extension Repository

Repository Plugin Manual

The Extension Repository is used by www.dokuwiki.org to organize the plugin and template info.

Source

Source is available at https://github.com/dokuwiki/dokuwiki-plugin-pluginrepo

DokuWiki development is gearing towards treating plugins and templates the same. In the plugin repository the templates are a just a plugin of type == 32. This facilitates tag sharing (users looking for sidebars should see both plugins and templates) and „More contributions of same author“.

:!: templates are identified by namespace used.

Functionalities

The plugin has some syntax components (see Syntax section below):

To use the information about extensions in external tools, some APIs are available:

And maintenance tasks are performed by:

Syntax

Entry Component

Besides the entry component details it's worth mentioning that the securitywarning field has some predefined values

Of course free text could be used as well.

Pluginrepo (Table) Component

The „table“ component comes in two variants, classic and a new more compact version with download buttons etc. An additional navigation feature „Jump to plugins starting with A B C..“ is present for both. The new table also shows „tags“ for each plugin.

The pluginrepo syntax component accepts parameters if supplied, which overrides parameters in HTTP request.

Available:

Example:

---- pluginrepo ----
cloudmin: 2
----

News Component

Example News

Codebuttonmodbash plugin

Inserts a bash code button into the toolbar.

Author: Simon Jacob

More plugins >>

Creates a right float box with one or more featured plugin/templates. Besides the repository API, additional parameters are:

Syntax definition:

---- pluginnews -----
headline:     <headline text>
style:        <sameauthor/DEFAULT>
showscreenshot:   <yes/NO>
random:       <YES/no>
entries:      <number of plugins displayed>
link:         <internallink id>
linktext:     <internallink text>
-----

Parameters

Query Component

A tool tailored for Plugins & templates team to make wiki gardening easier. The query results are displayed as a configurable table looking something like this:

PluginDownloadurlPlugins WHERE author = Håkan Sandell
adminhomepagehttps://github.com/HakanS/dokuwiki-plugin-adminhomepage/archive/master.zip1adminhomepage
cumulushttps://github.com/HakanS/dokuwiki-plugin-cumulus/zipball/master1cumulus
dblclickedithttps://github.com/HakanS/dokuwiki-plugin-dblclickedit/archive/master.zip1dblclickedit
parserarrayhttps://github.com/HakanS/dokuwiki-plugin-parserarray/zipball/master1parserarray
translationbuddyhttps://github.com/HakanS/dokuwiki-plugin-translationbuddy/zipball/master1translationbuddy

∑ 5 plugins matching query

Syntax definition:

---- pluginquery -----
SELECT   : <list of field names (optional)>
WHERE    : <sql where clause>
VALUES   : <list of values matching ? in where clause (optional)>
HEADLINE : <heading used instead of raw query (optional)>
-----

Allowed fields: plugin, name, description, author, email, bestcompatible, compatible, lastupdate, type, securityissue, securitywarning, updatemessage, screenshot, downloadurl, bugtracker, sourcerepo, donationurl, tags, popularity

All fields are allowed in WHERE clause together with AND, OR, NOT, NULL, LIKE, %, <, >, =, (, ). All values in where clause should be replaced by ?.

For values of bestcompatible four placeholders can be used: @DATEMOSTRECENT@, @DATESECONDMOSTRECENT@, @DATETHIRDMOSTRECENT@ and @DATEFOURTHMOSTRECENT@.

Syntax examples:

---- pluginquery -----
WHERE  : downloadurl IS null AND popularity > ?
VALUES : 400
-----
---- pluginquery -----
SELECT : author type
WHERE  : (type & ?) AND (author LIKE ?)
VALUES : 3, %Andreas Gohr%
-----
---- pluginquery -----
SELECT   : compatible
WHERE    : ?
VALUES   : 1
HEADLINE : All plugins and templates
-----

Configuration

There are some config settings for the dokuwiki.org admin

Repository plugin honors allowdebug for SQL debugging.