It's better when it's simple

User Tools

Site Tools


structpublish Plugin

Compatible with DokuWiki

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

plugin Manage publishing workflow using struct

Last updated on

Similar to approve, publish

Tagged with moderation

This plugin lets you manage the workflow of page approval and publishing. It stores its information as struct data, which integrates well into aggregations.


A CosmoCode Plugin

:!: You need to install an up-to-date struct plugin first.

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


In the Admin Interface you configure which pages and namespaces should be under the plugin's control and you can grant publishing rights to specific users and groups.

Admin interface

Example configuration for a handbook namespace:

Pattern Status User or @group
handbook:** approve @approver, @admin, me
handbook:** publish @publisher, @admin, me


Publishable pages display a banner with approval status of the currently viewed revision. Users with appropriate permissions can use action buttons in the banner to change the status, i.e. approve or publish the given revision.

By default the banner displays verbose information about relevant revisions. There is a configuration setting to switch to a compact view.


Minimal syntax to display a table of all available structpublish information.

---- structpublish ----

You can use filters to refine the results.


Sometimes it is useful to notify some users when the publishing status of a page changes. The most obvious case is when a page is reviewed and awaits final approval. You may notify users who are assigned to the next due workflow step.

Optional email notifications can be activated in the main configuration of the plugin. In that case you also need to choose which transitions will trigger notifications.


plugin/structpublish.txt · Last modified: 2024-04-04 23:51 by andi

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