Pagine Utili
Brevi Istruzioni
Sintassi del Wiki
Sezioni ("Namespaces")
Note
This is an old revision of the document!
A namespace is similar to a directory or folder, while pagenames are similar to files.
In DokuWiki you can use so called “namespaces” to categorize your pages. For names of namespaces the same restrictions hold as for pagenames.
You don't need to create namespaces separately; simply create pages with colons in the pagename. The token after the last colon will be the name of the page itself, while all other tokens are namespaces. All namespaces used in your pagename that don't exist already will be created by DokuWiki automatically.
(In DokuWiki pages are created as in every other wiki. Simply create a link to a non existing page, follow this link, and click on Create this page.) Adding pages .
Examples: | |
---|---|
example .example .:example | refers to the page “example” in the current namespace. |
:example | refers to the page “example” in the root namespace. |
..example ..:example .:..:example | refers to the page “example” in the parent namespace |
wiki:example | refers to the page “example” in the namespace “wiki”. The namespace “wiki” is located beneath the root namespace. |
ns1:ns2:example :ns1:ns2:example | refers to the page “example” in the namespace ns2. The namespace ns2 is located beneath the namespace ns1; the namespace ns1 is located beneath the root namespace. |
.ns1:ns2:example .:ns1:ns2:example | refers to the page “example” in the namespace ns2. The namespace ns2 is located beneath the namespace ns1; the namespace ns1 is located beneath the current namespace. |
..ns1:ns2:example ..:ns1:ns2:example | refers to the page “example” in the namespace ns2. The namespace ns2 is located beneath the namespace ns1; the namespace ns1 is located beside the current namespace (i.e. both ns1 and the current namespace are beneath the same parent namespace, wherever according to the root namespace this parent may be located itself). |
.ns1:ns2: | refers to the page “start” in the namespace ns2. The namespace ns2 is located beneath the namespace ns1; the namespace ns1 is located beneath the current namespace. (The default page can be named something other than “start” by adjusting the start configuration setting.) |
When all pages inside a namespace are removed the namespace logically doesn’t exist anymore. DokuWiki usually deletes the now empty directory as well.
You can use the PageMove plugin to move each of the pages from the old namespace to the new one. Please consult the documentation to see if this fits your needs.
The manual way is more difficult:
data/pages
data/media
(if this exists)data/meta
data/attic
(or move that over as well, if you want to preserve old versions)For example, on a Unix host, you could:
mv /dokuwiki_base/data/pages/old_namespace /dokuwiki_base/data/pages/new_namespace
mv /dokuwiki_base/data/media/old_namespace /dokuwiki_base/data/media/new_namespace
rm -Rf /dokuwiki_base/data/meta/old_namespace
rm -Rf /dokuwiki_base/data/attic/old_namespace
Note that the old_namespace
and/or new_namespace
words may need to be encoded if they are on a non-latin character set (ie Greek, Russian etc).
However, you will still have lots of junk left around. For example in data/changes.log
, various files under cache (including the .idx
files etc). If possible you could just start from a blank state
as follows (again under Unix) but be warned that this will mean losing all your historical information (ie recent changes
):
cat /dev/null > /dokuwiki_base/data/changes.log
rm -Rf /dokuwiki_base/data/attic/*
rm -Rf /dokuwiki_base/data/cache/?
rm -Rf /dokuwiki_base/data/cache/*.idx
rm -Rf /dokuwiki_base/data/cache/purgefile
I understand this is convoluted (and maybe I missed/messed a couple of things you should also do). All in all this is a PITA. You may also use a couple of plugins that are available for (re)building the searchindex for the complete wiki, erasing entire cache and/or old wiki revisions thus avoiding to do this manually.