Open main menu
Namespaces Dialog-information.svg
Namespaces
Image shows: Namespaces
Summary
Description: Using the namespaces feature of MediaWiki, you can setup areas that segregate content. Although MediaWiki is not a CMS designed for roles and access permissions, it nevertheless can be useful to segregate content in a wiki that should be 'nearby', but not in the same space.
More
Example: setup a 'private' namespace which is access restricted so that only a certain class of user can access that space. Because MediaWiki is not a CMS, pages in the private namespace would still show up in a search. However, the content would only be accessible to the group you set it to. So, you wouldn't use this feature to setup a space reserved for the 'human resources' group, and then draft a 'layoff' announcement because although nobody outside the HR group could read the announcement, it's existence would be knowable. On the other hand, 'status-update' wouldn't give too much of a clue about what the contents were.



There is a short list of namespaces that are built into this wiki

Special:PrefixIndex is a friendly interface to the namespaces. This api query is the machine method for looking at this wiki's namespaces.

You can find out more about them in the w:Wikipedia:Namespace page.

You can reference a particular namespace in a link using a Compact URI (CURIE) syntax

E.g. [[Category:Development]] will link to the page 'Development' inside the Category namespace. Built-in namespaces are also tied to built-in functionality so for example an 'Image' link inserts that image into the page. And the 'Category' namespace is tied to the functionality of tagging an article as belonging to the category. So, to actually link to the category (or image) you would place a : (colon) before the prefix. e.g. [[:Category:Development]]

Usage

The BlueSpice distribution uses the MW:Extension:NSFileRepo extension to semi-protect files according to namespace.

In QualityBox, we're interested in creating an extension called Level10 that would allow for editing content in 10 separate namespaces for 10 separate levels of focus. The idea is roughly the following:

  1. concept - term only - defined in one sentence
  2. marketing - in words most people can understand
  3. user - in words relevant to wiki usage
  4. design / layout / interface - how the concept is manifest, or manipulated in the UI
  5. developer - how the concept is related to code or implemented in code
  6. test - how the concept can be tested across updates or new feature implementations
  7. demo - where can the concept be seen in action
  8. admin - how the concept can be manipulated by a sysop in the UI, or console
  9. system - how the concept is implemented at the system component level - dependencies or alternates
  10. architecture - how the concept fits with the overall system architecture

Viewing content in any level would automatically include links to the other levels.

Alternatives

An alternative to namespaces is to setup a "wiki farm" where each group or product, or purpose has it's own individual wiki, all running on a single software instance to reduce administrative overhead.

See Also

Interwiki links