Essential DokuWiki Plugins — Blog, Discussion, Gallery, Tag, and Bureaucracy
In this tutorial, you'll learn about five essential DokuWiki plugins that extend your wiki for blogging, discussions, image galleries, content tagging, and structured data entry with forms.
What You'll Learn
- Installing and configuring the Blog plugin
- Adding comments with the Discussion plugin
- Creating image galleries with the Gallery plugin
- Organizing content with the Tag plugin
- Building forms with the Bureaucracy plugin
- Plugin compatibility and dependencies
Why It Matters
These five plugins transform DokuWiki from a basic wiki into a versatile content platform. The Blog plugin turns your wiki into a news site. The Discussion plugin adds community engagement. The Gallery plugin showcases visual content. The Tag plugin connects related content. The Bureaucracy plugin replaces web forms. Together, they handle most common wiki use cases without custom development.
Real-World Use
A project team uses DokuWiki as their collaboration hub. The Blog plugin shares weekly project updates. The Discussion plugin adds comments to documentation pages for feedback. The Gallery plugin displays UI mockups for review. The Tag plugin organizes content by sprint and feature. The Bureaucracy plugin creates vacation request forms, incident reports, and meeting minute templates. All five plugins work together without conflicts.
Learning Path
flowchart LR A[Plugin System] --> B[Essential Plugins] B --> C[Custom Plugins] C --> D[Plugin Configuration] D --> E[Plugin Security] E --> F[Template Anatomy]
Blog Plugin
The Blog plugin turns a namespace into a blog with chronological entries.
Installation
cd /var/www/html/wiki/lib/plugins/
wget https://github.com/splitbrain/dokuwiki-plugin-blog/archive/master.zip
unzip master.zip
mv dokuwiki-plugin-blog-master blog
Configuration
<?php
// conf/local.php
$conf['plugin']['blog']['namespace'] = 'blog';
$conf['plugin']['blog']['excluded_ns'] = '';
$conf['plugin']['blog']['show_author'] = 1;
$conf['plugin']['blog']['show_date'] = 1;
$conf['plugin']['blog']['show_comment'] = 1;
Usage
Create a blog namespace (blog:), then create pages within it. The Blog plugin provides a syntax tag to display a blog listing:
{{blog>blog?3}}
This displays the 3 most recent blog entries from the blog: namespace.
{{blog>blog?10&date}}
Shows 10 entries with dates.
Blog Entry Format
Each blog entry is a regular wiki page. The first heading becomes the blog title. The content below is the blog post.
Discussion Plugin
The Discussion plugin adds comment sections to pages.
Installation
cd /var/www/html/wiki/lib/plugins/
wget https://github.com/splitbrain/dokuwiki-plugin-discussion/archive/master.zip
unzip master.zip
mv dokuwiki-plugin-discussion-master discussion
Configuration
<?php
$conf['plugin']['discussion']['usecocomment'] = 0;
$conf['plugin']['discussion']['showbutton'] = 1;
$conf['plugin']['discussion']['showtoolbar'] = 1;
$conf['plugin']['discussion']['archive'] = 1;
Usage
Add ~~DISCUSSION~~ to any page to enable comments below the content. The tag is placed where you want the comment section:
====== My Page ======
Content goes here.
----
~~DISCUSSION~~
Comments appear below the tag. Users can add, reply to, and manage comments.
Moderation
The Discussion plugin supports comment moderation. Enable it in the plugin configuration. Comments by new users are held for approval.
Gallery Plugin
The Gallery plugin displays images from a media namespace as a thumbnail grid.
Installation
cd /var/www/html/wiki/lib/plugins/
wget https://github.com/splitbrain/dokuwiki-plugin-gallery/archive/master.zip
unzip master.zip
mv dokuwiki-plugin-gallery-master gallery
Usage
Basic gallery from a media namespace:
{{gallery>wiki:team-photos}}
Advanced options:
{{gallery>wiki:team-photos?200x150&lightbox&align=center&cache}}
Parameters:
- 200x150: Thumbnail size
- lightbox: Open full image in lightbox on click
- align: Left, center, or right alignment
- cache: Enable Caching for performance
Configuration
<?php
$conf['plugin']['gallery']['thumbnail_width'] = 120;
$conf['plugin']['gallery']['thumbnail_height'] = 120;
$conf['plugin']['gallery']['image_width'] = 800;
$conf['plugin']['gallery']['image_height'] = 600;
$conf['plugin']['gallery']['options'] = 'cache';
Tag Plugin
The Tag plugin (covered in detail in Lesson 14) adds tag-based organization.
Key Features Recap
- Add tags to pages:
{{tag>tag1 tag2 tag3}} - Display tag cloud:
{{tagcloud>}} - List pages by tag:
{{taglist>tagname}} - Scoped tag clouds:
{{tagcloud>namespace}}
Installation
cd /var/www/html/wiki/lib/plugins/
wget https://github.com/splitbrain/dokuwiki-plugin-tag/archive/master.zip
unzip master.zip
mv dokuwiki-plugin-tag-master tag
Bureaucracy Plugin
The Bureaucracy plugin creates structured forms that generate wiki pages.
Installation
cd /var/www/html/wiki/lib/plugins/
wget https://github.com/splitbrain/dokuwiki-plugin-bureaucracy/archive/master.zip
unzip master.zip
mv dokuwiki-plugin-bureaucracy-master bureaucracy
Creating a Form
Define a form on a wiki page using Bureaucracy syntax:
===== New Employee Onboarding =====
Fill out this form to create an onboarding checklist.
<bureaucracy>
action template
template templates:onboarding
submit Create Onboarding Page
fieldset "Employee Information"
textbox "Employee Name" "name"
textbox "Department" "department"
textbox "Start Date" "start_date"
email "Email" "email"
fieldset ""
fieldset "IT Setup"
checkbox "Laptop required" "laptop" "Yes"
checkbox "Phone required" "phone" "No"
select "Operating System" "os" "Windows,macOS,Linux"
fieldset ""
fieldset "Access Required"
multiselect "Systems" "systems" "Email,VPN,Jira,Confluence,GitHub"
fieldset ""
</bureaucracy>
Template Page
The form data is inserted into a template page:
====== Onboarding: @@name@@ ======
**Employee:** @@name@@
**Department:** @@department@@
**Start Date:** @@start_date@@
**Email:** @@email@@
===== IT Setup =====
- Laptop: @@laptop@@
- Phone: @@phone@@
- OS: @@os@@
===== Systems Access =====
@@systems@@
When the form is submitted, a new page is created in the configured namespace with the template filled in.
Form Field Types
| Field Type | Description |
|---|---|
| textbox | Single-line text input |
| textarea | Multi-line text input |
| Email address input | |
| checkbox | Single checkbox |
| select | Dropdown list |
| multiselect | Multi-select list |
| date | Date picker |
| fieldset | Group of related fields |
| submit | Submit button |
Plugin Compatibility
These five essential plugins are developed by the DokuWiki community and are compatible with current DokuWiki versions. They do not conflict with each other and can be used simultaneously.
| Plugin | Version Tested | DokuWiki Compatibility |
|---|---|---|
| Blog | 2024+ | 2022-07-31+ |
| Discussion | 2024+ | 2022-07-31+ |
| Gallery | 2024+ | 2022-07-31+ |
| Tag | 2024+ | 2022-07-31+ |
| Bureaucracy | 2024+ | 2022-07-31+ |
Common Mistakes
- Installing plugins with incompatible PHP versions: Check plugin requirements before installing. Some plugins require PHP 8.0+ while others work with PHP 7.4.
- Not configuring plugin permissions: The Discussion plugin needs proper ACL settings to prevent comment spam. Configure who can add comments.
- Using too many plugins: Every plugin adds code that must be loaded and maintained. Install only what you need. These five cover most use cases.
- Forgetting to set blog namespace: The Blog plugin needs a configured namespace. Without it, blog listings show no entries.
- Creating complex Bureaucracy forms without testing: Forms with many fields should be tested thoroughly. Test each field type and template variable combination.
Practice Questions
- How does the Blog plugin display recent entries, and what configuration is needed?
- What syntax do you add to a page to enable the Discussion plugin's comment section?
- How does the Bureaucracy plugin create pages from form submissions, and what is the role of the template page?
- Challenge: Set up a complete project hub using all five plugins: create a blog namespace for project updates, add a discussion section to documentation pages, create a gallery for design assets, implement a tagging system for content organization, and build a Bureaucracy form for bug reports that creates structured issue pages. Test each plugin and verify they work together.
FAQ
Mini Project
Goal: Build a project hub using all five essential plugins.
- Install all five plugins (Blog, Discussion, Gallery, Tag, Bureaucracy)
- Create a blog namespace and add 3 blog posts
- Add a discussion section to two documentation pages
- Create a gallery of at least 5 images
- Tag all pages with appropriate tags and add a tag cloud to the sidebar
- Create a Bureaucracy form for submitting project ideas (fields: name, description, category, priority)
- Test the form and verify a new page is created on submission
What's Next
Essential plugins extend your wiki. Now learn to write custom plugins when no existing plugin meets your needs.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro