Meta Dados TWiki
Tópico de informações adicional, gerado pelo programa ou pelo TWikiForms, é armazenado na variável META em pares nome/valor
Visão Geral
TWikiMetaData usa as variáveis
META para armazenar tópico de informações que é separado do conteúdo do free-form principal. Isso inclui informação gerada pelo programa como
FileAttachment e dados de movimenação do tópico, e informação definida pelo usuário
TWikiForms. Use as variáveis
META para formatar e mostrar Meta Dados.
Sintaxe do Meta Dado
- A formatação é a mesma de TWikiVariables, exceto que todos os campos têm uma chave.
-
%META:<tipo>{chave1="valor1" chave2="valor2" ...}%
- A ordem dos campos dentro das variáveis meta não estão definidos, exceto caso tenha um campo com a chave
name, que aparece primeiro para facilitar a busca (note que a ordem das próprias variáveis é definida).
- Cada meta variável está em uma linha.
-
\n (nova linha) é representada em valores por %_N_ e " (aspas duplas) por %_Q_%.
Exemplo de Formatação
%META:TOPICINFO{version="1.6" date="976762663" author="PeterThoeny" format="1.0"}%
texto do tópico
%META:TOPICMOVED{from="Codev.OldName" to="Codev.NewName"
by="JohnTalintyre" date="976762680"}%
%META:TOPICPARENT{name="NavigationByTopicContext"}%
%META:FILEATTACHMENT{name="Sample.txt" version="1.3" ... }%
%META:FILEATTACHMENT{name="Smile.gif" version="1.1" ... }%
%META:FORM{name="WebFormTemplate"}%
%META:FIELD{name="OperatingSystem" value="OsWin"}%
%META:FIELD{name="TopicClassification" value="PublicFAQ"}%
Especificação de Meta Dados
A versão atual de Meta Data é a 1.0, com suporte para as seguintes variáveis.
META:TOPICINFO
| Chave |
Comentário |
| version |
A mesma que a versão RCS |
| date |
integer, unx time, seconds since start 1970 |
| author |
Último a mudar o tópico, é o REMOTE_USER |
| format |
Formato desse tópico, para conversão automática de formatação |
META:TOPICMOVED
Isto é opcional, existe caso o tópico já tenha sido movido alguma vez. Caso um tópico seja movido mais de uma vez, somente a mais recente variável meta META:TOPICMOVED existe no tópico, as mais antigas devem ser encontradas no histórico RCS.
%META:TOPICMOVED{from="Codev.OldName" to="Codev.NewName" by="talintj" date="976762680"}%
| Chave |
Comentário |
| from |
Nome completo, i.e., web.topic |
| to |
Nome completo, i.e., web.topic |
| by |
Quem o fez, é o REMOTE_USER, não WikiName |
| date |
integer, unx time, seconds since start 1970 |
Notas:
- no momento, o número da versão não é suportado diretamente, mas pode ser inferido a partir do histórico RCS.
- existe apenas um META:TOPICMOVED em um tópico, informações de movimento mais antigas podem ser encontradas no histórico RCS.
META:TOPICPARENT
| Chave |
Comentário |
| name |
O tópico de onde foi criado, WebHome se a partir de Go, othewise topic where ? or form used. Normalmente apenas o tópico, mas tem o formato completo de web.topic se o pai estiver em uma Web diferente. Renomear uma Web irá então quebrar algumas dessas referências ou elas podem ser varridas e consertadas. |
META:FILEATTACHMENT
| Chave |
Comentário |
| name |
Nome do arquivo, sem o caminho. Deve ser único dentro do tópico |
| version |
O mesmo que revisão RCS |
| path |
Caminho completo do arquivo de onde foi carregado |
| size |
Em bytes |
| date |
integer, unx time, seconds since start 1970 |
| user |
O REMOTE_USER, não WikiName |
| comment |
As supplied when file uploaded |
| attr |
h caso escondido, opcional |
Campos extra que são adicionados se um anexo é movido:
| Chave |
Comentário |
| movedfrom |
nome completo do tópico - web.topic |
| movedby |
o REMOTE_USER, não WikiName |
| movedto |
nome completo do tópico - web.topic |
| moveddate |
integer, unx time, seconds since start 1970 |
META:FORM
| Chave |
Comentário |
| name |
Um nome de tópico - o tópico representa um dos TWikiForms. Pode opcionalmente incluir o nome da web (i.e., web.topic), mas normalmente isso não ocorre |
META:FIELD
Deve somente ser mostrado caso haja uma entrada META:FORM. Note que essa informação é usada quando um tópico é visualizado, a definição de molde de formulário não é lida.
| Chave |
Nome |
| name |
Se liga à entrada no molde TWikiForms, é o título com todos os bar alphanumerics e . removidos |
| title |
Texto completo do molde TWikiForms |
| value |
Valor que o usuário forneceu via formulário |
Seqüência Recomendada
Não há nenhuma necessidade de que as variáveis Meta Data sejam listadas em uma ordem específica dentro de um tópico, mas faz sentido fazê-lo por alguns bons motivos:
- os campos de formulário permanecem na ordem em que foram definidos
- a saída da função
diff aparece em uma ordem lógica
A seqüência recomendada é:
- META:TOPICINFO
-
text of topic
- META:TOPICMOVED (opcional)
- META:TOPICPARENT (opcional)
- META:FILEATTACHMENT (0 ou mais entradas)
- META:FORM (opcional)
- META:FIELD (0 ou mais entradas; FORM exigido)
Visualizando Meta Data em código de fonte
Ao visualizar um tópico, o link
Raw Text pode ser clicado para mostrar o texto de um tópico(i.e., como visto durante edição). Isso é feito adicionando
raw=on à URL.
raw=debug mostra meta data assim como o topic data, ex:
debug view for this topic
Rendering Meta Data
Meta Data é fornecido com a variável %META%. Isso é geralmente usado nos scripts
view,
preview e
edit.
Suporte atual envolve:
| Variable usage: |
Comentário: |
%META{"form"}% |
Mostra form data, veja TWikiForms. |
%META{"attachments"}% |
Mostra anexos, com exceção dos ocultos. Opções: all="on": Mostra todos os anexos, incluindo os ocultos. |
%META{"moved"}% |
Detalhamento de qualquer movimentação de tópico. |
%META{"parent"}% |
Mostra o tópico pai. Opções: dontrecurse="on": By default recurses up tree, at some cost. nowebhome="on": Esconde WebHome. prefix="...": Prefixo para pais, somente se houver algum, padrão "". suffix="...": Sufixo, somente aparece se houver algum pai, padrão "". separator="...": Separador entre parênteses, o padrão é " > ". |
Assuntos conhecidos
No momento, Meta Data não tem suporte para Plugins. No entanto, a informação é prontamente extensível e o código
Meta.pm que suporta a formatação precisa somente de pequenas alterações.
--
JohnTalintyre? - 29 Aug 2001
--
MikeMannix - 03 Dec 2001
--
PeterThoeny? - 10 Jan 2002