The 10 Best Plugins for DokuWiki

DokuWiki is a popular open-source system for quickly setting up your very own knowledge base.
The simple installation procedure is one of its key strength and as such has received much attention
over its development span. Another big reason for its wide spread usage, however, is its wide ranging
selection of easily installable plugins. Features which might have been built into the core engine in
other systems are instead provided via optional extensions here.

Now, when setting up a new DokuWiki, the question naturally arises: Which plugins might be useful?

Below we have listed our top picks from over ten years of professional experience with the ecosystem,
that should at least be considered for every new installation.

0th Place: The Basics

Some optional plugins are already packaged when downloading a new DokuWiki from the official site. All six are good choices, extending the wiki meaningfully with regularly desired functionality. As this entails features not inherently wiki-related, they have been implemented as plugins in order to keep the core of the system architecturally clean.

In addition to these pre-packaged ones – Wrap, Captcha, Upgrade, Gallery, Video Share and Translation – we will now introduce a small but mighty selection of other useful plugins:

1st Place: move

The Move plugin allows you to push wiki documents into namespaces. Although you can simply create a new page, copy the contents, and then delete the old one, the problem, that links to the old page point to nowhere, consists. The move plugin automatically updates all links that point to the document.

Additionally, move extends the admin area to relocate complete namespaces, including their contained documents, at once.


2nd Place: fastwiki

The fastwiki plugin allows editing individual sections without a page reload. In addition, the unprocessed portions before and after the section remain visible, so that the context is not lost.


3rd Place: edittable

Succinctly named, this plugin does exactly what the name implies: User-friendly WYSISWYG editing of tables. Period.


4th Place: dw2pdf

Dw2pdf lets you convert any wiki page into a PDF document. That is great, for example, when you want to pass documents to people who do not have wiki access. The plugin can be configured extensively; among other things, there is the possibility to store your own templates and QR codes with the  encoded wiki link. If that is still not enough, you should have a look at the book creator plugin with which you can create multipage booklet PDFs.


5th Place: do

This plugin is for those who want to create task lists in the wiki. The do-plugin can easily transform text into tasks. It can record responsible arranger and execution periods. The “execution” of a task is easily handled with a click on the checkbox and an optional stated processing note.


6th Place: folded

While structuring documents, there is sometimes content you only want to display at the push of a button.

The folded plugin allows just that: The section in question is folded and presented with an adjustable title. By clicking on this title the content expands again. This is helpful, such as, when you want to display help texts on demand.


7th Place: confmanager

The DokuWiki configuration can be accessed and modified in the admin area without plugin. However, there are configuration files that are not covered. Exactly the right kind of job for the confmanager. Utilizing this handy little tool, the following configuration files can be customized in the web browser:

  • Abbreviations and acronyms
    Automatically highlights terms deposited there on all wiki pages with a tooltip.
    Important, if you do not want to always link specialist terms to a Glossary. 
  • Blacklisting
    People who use their wiki in the open Internet can automatically hide unwanted terms.
    The blacklist allows you to edit these terms to fit them to your specific requirements.
  • InterWiki Link
    Very convenient: if you often want to enter links to other systems, you can use abbreviations.
    Instead of writing for instance, just type [[wp> Wiki]]
  • MIME Configuration
    MIME types match file extensions such as .jpg to its document type – in this case image/jpeg.
    This allocation is required to only allow desired media in the Media Manager. If you notice that
    files of a specific type cannot be uploaded correctly - here is the right place to fix that.
  • Smileys
    DokuWiki automatically replaces text abbreviations with icons. If you, for example, want to display
    a bright red label whenever someone writes TODO, you can specify this here.
  • Typographic replacement
    Websites often consist only of characters that can be entered via keyboard – something typographers
    and designers are often quite unhappy about. DokuWiki can relate and allows replacing certain strings with
    typographical symbols. If you are not satisfied with the standard mappings, you can expand it here.
  • URL Schema
    The wiki engine can automatically create links to URLs; in this configuration area you can complete the protocols.


8th Place: templatepagename

One of the strengths of DokuWiki is that you can define templates for each namespace. Each new page is automatically filled with the contents of this template. This is extremely helpful because you can define content structures that way. Whoever creates a document in such a prepared namespace immediately gets the recommended structuring submitted.

The namespace templates are usually named _template.txt and __template.txt (the last one is the template for documents that are not produced directly in the namespace, but in any sub-namespaces). Unfortunately, these templates are not adaptable on the web interface, which is a shame, but: Exactly that is what the templatepagename plugin enables. The names of these templates are easily changed, so that the templates can be edited in the wiki itself.


9th Place: addnewpage and newpagetemplate

To create new pages, you can simply create a link to this (not yet existing) other page, click on the link and – voilà – you can edit this new page. This approach has the advantage that the new document is already linked. Sometimes, though, the other way makes more sense: You just want to edit the document and don't care about the linking (or let other plugins like struct handle it). For this case, the newpage plugin was made. At the point where you integrate it, a small form appears, where you enter the name of the document. The plugin also allows you to declare the target namespace so that the documents end up right there where they should go. The functionality can be expanded further with the separate newpagetemplate plugin, whereby it is possible to specify any document as a template. This is useful if one single namespace template is not enough. Since the newpagetemplate plugin only makes sense associated with the newpage plugin, we put it on the same winner's podium.


10th Place: struct

Actually, we lied: The struct plugin belongs in the 1st place, just because it's so incredibly versatile. We have pushed it to the tail end, because its use case is not quite as simple as the other plugins.

Well, what does it do? It allows you to maintain metadata, the attributes of which can be grouped into so-called schemes.
Multiple schemes can coexist in the same wiki and you can define in what namespaces which schemes are active.

The purpose of this plugin is that metadata can be used to automatically create lists of these entries. You automatically get tables with links to these documents – basically automatic links.

One example for its utility are call logs: Provided with struct metadata (participants, place, time, topic) these documents can be displayed cleanly with the respective data. Manually linking the document is no longer necessary.

For exact configuration of the struct plugin we recommend you get familiar with its extensive documentation.
Of course, you can also consult CosmoCode – We offer professional support for everything DokuWiki, ranging from installation and configuration up to deployment and scaling of the system.

The SQLite plugin is required by struct for storing the data in a database. The installation of a separate database system, however, is not necessary as this database requires no third-party software.

Source: and


Thank you for your interest!
Get in contact:

CosmoCode GmbH

Prenzlauer Allee 36G
10405 Berlin

Phone: +49 30 814 50 40 70

Fax: +49 30 2809 7093