netfrag.org . TWiki . MetaDataDefinition

Meta Data Definition

See Meta Data Rendering for variables used to display meta data.

Current version: 1.0

Example of format

%<nop>META:TOPICINFO{version="1.6" date="976762663" author="PeterThoeny" format="1.0"}%
   text of the topic
%<nop>META:TOPICMOVED{from="Codev.OldName" to="CoDev.NewName" by="JohnTalintyre" date="976762680"}%
%<nop>META:TOPICPARENT{name="NavigationByTopicContext"}%
%<nop>META:FILEATTACHMENT{name="Sample.txt" version="1.3" ... }%
%<nop>META:FILEATTACHMENT{name="Smile.gif" version="1.1" ... }%
%<nop>META:FORM{name="WebFormTemplate"}%
%<nop>META:FIELD{name="OperatingSystem" value="OsWin"}%
%<nop>META:FIELD{name="TopicClassification" value="PublicFAQ"}%

General notes

Logical order

There no absolute need for meta data to be in a specific order, however, it does for the following reasons:

These could be done in other ways, but this adds complexity

So the order is:

Specification

TOPICINFO

Key Comment
version Same as RCS version
date integer, unx time, seconds since start 1970
author last to change topic, is the REMOTE_USER
format Format of this topic, will be used for automatic format conversion

TOPICMOVED

This is optional, exists if topic has ever been moved. If a topic is moved more than once, only the most recent TOPICMOVED meta variable exists in the topic, older ones are to be found in the rcs history.

%META:TOPICMOVED{from="Codev.OldName" to="CoDev.NewName" by="talintj" date="976762680"}%

Key Comment
from Full name i.e. web.topic
to Full name i.e. web.topic
by Who did it, is the REMOTE_USER, not WikiName
date integer, unx time, seconds since start 1970

Notes:

TOPICPARENT

Key Comment
name The topic from which this was created, WebHome if done from Go, othewise topic where ? or form used. Normally just topic, but is full web.topic format if parent is in a different Web. Renaming a Web will then only break a few of these references or they can be scanned and fixed.

FILEATTACHMENT

Key Comment
name Name of file, no path. Must be unique within topic
version Same as RCS revision
path Full path file was loaded from
size In bytes
date integer, unx time, seconds since start 1970
user the REMOTE_USER, not WikiName
comment As supplied when file uploaded
attr h if hidden, optional

Extra field that are added if an attachment is moved:

movedfrom full topic name - web.topic
movedby the REMOTE_USER, not WikiName
movedto full topic name - web.topic
moveddate integer, unx time, seconds since start 1970

FORM

Key Comment
name A topic name - the topic is a Form Template. Can optionally include the web name i.e. web.topic, but doesn't normally

FIELD

Should only be present if there is a FORM entry. Note that this data is used when viewing a topic, the form template definition is not read.

Key Name
name Ties to entry in Form Template, is title with all bar alphanumerics and . removed
title Full text from Form Template
value Value user has supplied via form

Viewing meta data

When viewing a topic the Raw Text link can be clicked to show the text of a topic (i.e. as is seen when editing). This is done by adding raw=on to URL. raw=debug shows the meta data as well as the topic data e.g. for this topic

Other

There is currently no support for meta data for Plugins. However, the format is readily extendable and the Meta.pm code that supports the format only needs minor alteration.

Meta Data Rendering

Various meta data can be stored in topics - MetaDataDefinition

This is rendered using the %META% variable. This is mostly used in the view, preview and edit scripts.

At present support is fairly basic:

Variable usage: Comment:
%META{"form"}% Show form data, see Form Templates
%META{"attachments"}% Show attachments, excluding hidden ones
options for attachments:
all="on" Show all attachments i.e. including hidden ones
%META{"moved"}% Details of any topic moves
%META{"parent [options]"}% Show topic parent
options for parent:
dontrecurse="on" By default recurses up tree, this has some cost
prefix="..." Prefix that goes before parents, but only if there are parents, default ""
suffix="..." Suffix, only appears if there are parents, default ""
seperator="..." Seperator between parents, default is " > "

Possible future additions:

-- JohnTalintyre - 16 Aug 2001

----- Revision r1.3 - 30 Aug 2001 - 16:13 - MikeMannix?