====== Namespace ====== Um namespace é similar a um diretório ou pasta, enquanto páginas são similares a arquivos. No [[DokuWiki]] você pode usar namespaces para categorizar suas páginas. Para os nomes dos namespaces são consideradas as mesmas restrições dos [[pagename|nomes de páginas]]. Uma instalação padrão do DokiWiki vem com o namespace pré-definido: //wiki//. ===== Criando Namespaces ===== Você não precisa criar namespaces separadamente; simplesmente crie páginas com dois pontos no nome da página. O nome após o último dois pontos será o nome da página propriamente dito, enquanto os outros nomes serão os namespaces. Todos os namespaces usados em sua página que não existem serão criados pelo DokuWiki automaticamente. (No DokuWiki, páginas são criadas como em qualquer outro wiki. Simplesmente crie um link para uma página não existente, acesse este link, e clique em Criar esta página.) [[.:page#create_a_page|Adicionando páginas]]. ^Exemplos:^^ |exemplo\\ .exemplo\\ .:exemplo|referencia a página "exemplo" no namespace **atual**.| |:exemplo|referencia a página "exemplo" no namespace **raiz**.| |..exemplo\\ ..:exemplo\\ .:..:exemplo|referencia a página "exemplo" no namespace **pai**| |wiki:exemplo|referencia a página "exemplo" no namespace "wiki". O namespace "wiki" está localizado **abaixo do namespace raiz**.| |ns1:ns2:exemplo\\ :ns1:ns2:exemplo|referencia a página "exemplo" no namespace ns2. O namespace ns2 está localizado abaixo do namespace ns1; o namespace ns1 está localizado **abaixo do namespace raiz**.| |.ns1:ns2:exemplo\\ .:ns1:ns2:exemplo|referencia a página "exemplo" no namespace ns2. O namespace ns2 está localizado abaixo do namespace ns1; o namespace ns1 está localizado **abaixo do namespace atual**.| |..ns1:ns2:example\\ ..:ns1:ns2:example|referencia a página "exemplo" no namespace ns2. O namespace ns2 está localizado abaixo do namespace ns1; o namespace ns1 está localizado **ao lado do namespace atual** (ou seja, tanto o namespace ns1 quanto o atual estão abaixo do mesmo namespace pai).| |.ns1:ns2:|referencia a página "start" no namespace ns2. O namespace ns2 está localizado abaixo do namespace ns1; o namespace ns1 está localizado abaixo do namespace atual.\\ \\ (A página padrão pode ser nomeada para algo diferente de "start" através de ajustes na opção de configuração [[config:startpage]].)| Atenção: A sintaxe para links internos relativos e absolutos não é única e complexa se comparada às convenções para nomes de diretório e de arquivos. Paths são absolutos se e apenas se eles começam com "/". Links são absolutos se e apenas se eles possuem um prefixo ":" ou não tenho nenhum prefixo mas tenham um ":" intermediário(ou sufixo). Links relativos ao namespace atual também podem começar com "." ou ".:" (".." ou "..:" para o namespace pai). ===== Excluindo Namespaces ===== Quando todas as páginas dentro de um namespace são removidas, o namespace logicamente não existirá mais. O DokuWiki geralmente exclui os diretórios vazios. ===== Como renomear namespaces? ===== ==== Forma manual ==== Geralmente para renomear um namespace manualmente você tem que: * Renomear as pastas que representam o namespace em: * ''data/page'' * ''data/media'' (se existir) * Remover os metadados para o namespace em ''data/meta'' * Remove dados attic para o namespace em ''data/attic'' (ou renomeie este da mesma forma, se você quiser preservar versões antigas) Por exemplo, em um Unix host, você pode: * ''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 que as palavras ''old_namespace'' e/ou ''new_namespace'' devem ser codificadas se estiver em um caracter não-Latino (i.e. Greek, Russian, etc). * Corrija (editando-os) todos os links para as páginas no namespace //movido// (você pode descobri-los antes de mover o namespace revisando os [[backlinks|Links Reversos]] de cada página. * Acesse cada uma das páginas no novo namespace. Isto vai criar as informações de índexação e metadados que faltam para as páginas no namespace movido. No entanto, você ainda terá muita sujeira em sua volta. Por exemplo em ''data/changes.log'', vários arquivos no cache (incluindo os arquivos ''.idx'' etc). Se possível você poderia iniciar de um ''estado em branco'', como a seguir (mais uma vez em Unix) mas tome cuidado pois isto resultará na perda de todas as informações históricas (Exemplo: ''Alterações Recentes''): * ''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'' * Acesse cada uma das páginas de seu Wiki. DISCLAIMER : 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. ==== Caminho do plug-in ==== Você pode usar o plug-in [[plugin:PageMove]] de terceiros para mover cada uma das páginas do namespace antigo para o novo. Consulte a documentação para ver se isso atende às suas necessidades. ===== Namespace Default Linking ===== It is possible to link to a default file of a namespace ending the linkid with a colon: %%[[foo:bar:]]%%. To which page the link links is dependent on the existence of certain named files. For %%[[foo:bar:]]%% the following pages are checked: foo:bar:$conf['start'] foo:bar:bar foo:bar The pages are checked in that order and whatever page is found first will be linked to. Autoplural linking is not done for those links :!: **This feature is only available in 2006-09-28 RC1 version and above.**