It's better when it's simple

User Tools

Site Tools


Publish Plugin

Compatible with DokuWiki

  • 2024-02-06 "Kaos" unknown
  • 2023-04-04 "Jack Jackrum" unknown
  • 2022-07-31 "Igor" yes
  • 2020-07-29 "Hogfather" yes

plugin An approval/draft system (aka. sighted revisions) for DokuWiki

Last updated on
Syntax, Action

This plugin was originally written by Jarrod Lowe

A CosmoCode Plugin

Download and Installation

Search and install the plugin using the Extension Manager. Refer to Plugins on how to install plugins manually.



The idea behind this plugin is to differentiate between revisions of a document that are in draft state and those that are approved.

A user with delete or admin permissions can mark a revision as approved while editing. Anyone else gets their revision marked as draft. Users with read permissions will see approved revisions only.

The plugin places a banner at the top of each page, with information about the Approval/Draft status. It may contain notes like:

  • This version (date) is a Draft
  • This version (date) was Approved by user
  • The Most Recent Version of this document is a draft (Diff)
  • The Previously Approved Version (date) is available (Diff)
  • This version is Outdated by a Newer Approved Version (Diff)

The banner is colour-coded: Green for the latest approved version, and Red for all others.

The Old Revisions page is colour-coded: Green for approved versions, and Red for drafts.

The Recent Changes page is colour-coded: Green for approved versions, and Red for drafts.


A user with sufficient permissions (AUTH_DELETE or AUTH_ADMIN) can Approve a page. They do so by clicking the approve link on the publish banner.

Finding pending changes

Placing the tag [APPROVALS] into a page will give a table listing pages which are:

  • In one of the namespaces where publish operates, and
  • the latest version is a draft, and
  • you have sufficient permission to approve it

You can limit it to certain namespaces with [APPROVALS:namespace]

You may need to add ~~NOCACHE~~ to the page.


The plugin can be configured using the configuration manager.

Option Meaning
apr_namespaces Only use the plugin on the given namespaces
no_apr_namespaces Do not use the plugin on the following namespaces
number_of_approved Minimal number of approves before a page is considered approved (more are always possible)
hide drafts Hides unapproved pages from user who can not approve the page
hidereaderbanner Hide banner to read only users
hide_approved_banner Hide banner on approved pages
author groups Groups who can see drafts. Split multiple groups by space
internal note Custom text note on unapproved pages
delete attic on first approve delete all old revisions on first approval
send_mail_on_approve If a revision is approved send an email to the editor of this revision
apr_mail_receiver If page is changed send an email to this address, informing about the change and asking for approval
apr_approved_text Default approved marker

Display Revision

By default, a user with AUTH_EDIT or better will see the latest revision of a page, if they do not specify which revision they want. However, someone with only AUTH_READ will see the latest approved revision by default (unless there isn't one).

All users with AUTH_READ or better can still view any revision of a page if they specifically request it – whether or not it is approved.

Found a bug, have a question?

Please report bugs to the bugtracker.

Questions can be asked in the forum or the bugtracker.

plugin/publish.txt · Last modified: 2024-01-08 16:21 by Aleksandr

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki