doc:namespace

part of the GtC documentation

Namespaces in DokuWiki

Fear not: this can look very unfamiliar at first sight, but it's not really hard.

A namespace in DokuWiki is basically a way of pointing to different parts of the wiki, just like a folder (or directory) structure on your file system (on your hard drive or wherever) allows you to sort your files into sensible groups, or the way in which many web sites structure their pages into folders or directories. This is a very useful feature in DokuWiki, which isn't available in MediaWiki (and so Wikipedia), or many other wiki systems. That may be why it's not familiar.

Here on this wiki, there is one page at the 'root', with no namespace: the start page. If you go there and look at the URL in your browser, you may be able to see https://knowledge.growingthecommons.org/doku.php/start.
This page, on the other hand, is at
https://knowledge.growingthecommons.org/doku.php/doc/namespace.
Notice the doc between doku.php and namespace. doc is the namespace that this page belongs to. doc is actually the name of a folder in the web server where this page is kept.

Look at some more examples. Our topic groups are in the namespace (and folder) called gt (for “group of topics”).
If you go to any of these, such as Community & culture you will see the URL is
https://knowledge.growingthecommons.org/doku.php/gt/community.
The topic group “Bushcraft & nature” similarly has the URL
https://knowledge.growingthecommons.org/doku.php/gt/bushcraft.
The namespaces allow us to have different pages with the same name, in different namespaces.
For each of our topics, we have arbitrarily chosen a four-letter namespace hinting at the topic name. So, there is an actual topic, bushcraft, which is in its own namespace, bush. The URL is
https://knowledge.growingthecommons.org/doku.php/bush/bushcraft.

This is just the same as the fact that you can have two files with the same name in your computer system, provided they sit in different folders. Not just pages, but also images and other files sit in one or another namespace (i.e., folder).

A folder or directory structure conventionally uses the slash, /, as a delimiter. Namespaces conventionally use colons : as delimiters. There is a lot of history behind this, which is not needed for understanding namespaces in DokuWiki. It may be enough to say that in DokuWiki, they are essentially the same, except the slash / is used in URLs, while the colon : is used for internal locations.

So, this document's internal link is [[doc:namespace]] which is simply displayed as namespace.
Actually, [[doc/namespace]] also works: namespace!
For the URL, the link is https://knowledge.growingthecommons.org/doku.php/doc/namespace, using slashes.
Just writing that URL by itself gives what looks like an external link, even though it is in our wiki:
https://knowledge.growingthecommons.org/doku.php/doc/namespace

Namespaces with Markdown

This actually works just the same here in Markdown syntax. [this](doc:namespace) gives this
and [this](doc/namespace) gives this.

In normal file systems, a folder or directory structure allows its owner to treat files in different folders differently. Similarly, in DokuWiki, the namespace structure allows us to give different permissions to different people, for the various different namespaces. Curators belong to user groups, and the people in each user group have permission to edit pages in the corresponding namespace. This is designed to greatly reduce worries about accidentally editing the wrong pages.

  • DokuWiki has extensive documentation around namespaces, including pagename and namespaces.
  • Wikipedia has a very detailed explanation of Namespaces
  • doc/namespace.1774955393.txt.gz
  • Last modified: 2026/03/31 11:09
  • by Simon Grant