DokuWiki extensions (WvdS)
The DokuWiki extensions by Wolfgang van der Stille (The White Knight Labs) turn this wiki into a working environment: sign-in with a second factor, project and repository access, a database environment, a user-interface toolkit, and the markup that pages are written with. This page takes you to the right package and to the task you came to do. A link marked (de) leads to a page that exists in German only — that page is written, its English version is not.
Get started
Quickstarts — for every package, the shortest real path to a first result, in five languages.
Pick a package → install it (de) → switch it on (de) → check your role → check the result (de)
Common tasks
How it fits together
A package's family decides two things. First, where its configuration lives: a wiki extension belongs in the configuration manager, an application keeps its operating state inside itself. Second, what a package may assume: an application carries no wiki terms such as page IDs or namespaces in its own subject matter. The dependency runs one way only — an application may use the substrate, the substrate never an application. When a link is missing, the consumer falls back to simpler behaviour instead of failing: services are looked up through the wkcore registry, never wired in.
Wiki extensions
They extend DokuWiki itself — markup, presentation, sign-in. Their configuration belongs in the configuration manager.
| Package | Role | Documentation |
|---|---|---|
wkacmenu | Accordion menu over namespaces, ACL-aware, with depth limit and lazy loading | wkacmenu |
wkblog | Blog engine with its own database; fork of the BlogTNG plugin | wkblog |
wki18n | Multilingual content: translation keys in the page text | wki18n |
wkidentity | Sign-in, second factor, recovery routes and their reachability | wkidentity |
wkimage | Server-side image scaling with a cache and Base64 output | wkimage |
wkopengraph | Open Graph and Twitter Card metadata, multilingual | wkopengraph |
wksnippet | Reusable HTML building blocks, independent of the htmlok setting | wksnippet |
wksourceview | Source display from file and repository sources, with highlighting | wksourceview |
Substrate
Services for the other packages, never an end in themselves. Sparingly configurable, because their settings are the foundation of everything above them.
| Package | Role | Documentation |
|---|---|---|
wkcore | Service registry over DokuWiki's event bus; shared parser for both notations | wkcore |
wkfluentui | Toolkit, workbench shell and redirects; owner of the token contract | wkfluentui |
wkstorage | SQLite access with a versioned schema and migrations | wkstorage |
wkmail | Mail delivery over SMTP submission instead of the PHP default | wkmail |
wkvault | Operator secrets in one place, encrypted at rest | wkvault |
wkresource | Catalogue of connection data; the secret appears only as a reference, never as a value | wkresource |
wkrequest | “Contact your administrator” becomes a request: raised where somebody got stuck, handled in an inbox | wkrequest |
Applications
Their own subject matter, with DokuWiki as the host. Their operating state — connections, policies, routine sets — belongs in the application, not in the configuration manager.
| Package | Role | Documentation |
|---|---|---|
wksqliteds | Database environment with SQLite as the main spine; MSSQL, MySQL, PostgreSQL and ODBC alongside | wksqliteds |
DevOps suite (DWDO)
One connected chain, not separate plugins: every lower link provides services that the upper ones find through the registry. The do infix holds the suite together.
| Package | Role | Documentation |
|---|---|---|
wkdocore | Subject-matter foundation: projects, roles, hub navigation, feature switches | wkdocore |
wkdostorage | The suite's versioned SQLite schema, repositories, export | wkdostorage |
wkdoado | Hardened Azure DevOps connection with diagnostics | wkdoado |
wkdoadogit | Remote ADO repositories: browser, editor, git mediator | wkdoadogit |
wkdogit | Local repositories, strictly read-only | wkdogit |
wkdoboards | Kanban board over the work items | wkdoboards |
wkdodashboard | The suite's metrics, status and risk register | wkdodashboard |
wkdopipelines | Local project pipelines: run history, logs, guarded execution | wkdopipelines |
wkdoqueries | Saved queries, result grid, read-only preview | wkdoqueries |
wkdoworkitems | Typed work items with relations and history | wkdoworkitems |
wkdoworkitems is the chain's core package: boards, queries and the dashboard take their items, states, types and fields from there.
Template
| Package | Role | Documentation |
|---|---|---|
wkbizway | House template: area profiles, reading surfaces, colour schemes | wkbizway |
A template supplies appearance, never structure. What used to hang on the template — workbench, tab management, redirects — has lived in wkfluentui since 1 August 2026, because DokuWiki includes a template only after the action has been resolved. A template therefore cannot redirect, by construction.
Which package owns which markup
Look-up direction: from markup you found in a page to the package that owns it. How to use the markup is on that package's own page.
| Markup | Package |
|---|---|
{{wk:acmenu>…}} | wkacmenu |
… | wki18n |
{{wk:image>…}} | wkimage |
{{wk:snippet>…}} | wksnippet |
{{source>…}} | wksourceview |
<og>…</og> | wkopengraph |
Administration
- Package lifecycle — install, enable, update, remove (de)
- Components of a package — what a package ships and what can be disabled individually (de)
- Roles and permissions — who may do what, and how missing access is requested
- Styles contract — the
--wk-*token contract: who may define which tokens and who may only read them (de)
Troubleshooting
For developers
- Package SDK — contracts, registry, events and the path to your own package (de)
- SDK API reference (de)
- Styles contract — binding design tokens (de)
Related topics
- Working with projects — from the project to the source to a submitted change
- Superseded packages and old page IDs — what does not run here, what replaced it, and where old links point (de)
Author
- Name: Wolfgang van der Stille (The White Knight Labs)
- Licence: GPL 2