TWiki Meta Data
Additional topic data, program-generated or from TWikiForms, is stored inMETAvariable name/value pairsOverview
TWikiMetaData usesMETAvariables to store topic data that's separate from the main free-form content. This includes program-generated info like FileAttachment and topic movement data, and user-defined TWikiForms info. UseMETAvariables to format and display Meta Data.Meta Data Syntax
- Format is the same as in TWikiVariables, except all fields have a key.
%META:<type>{key1="value1" key2="value2" ...}%
- Order of fields within the meta variables is not defined, except that if there is a field with key
name, this appears first for easier searching (note the order of the variables themselves is defined).
- Each meta variable is on one line.
\n(new line) is represented in values by%_N_and"(double-quotes) by%_Q_%.Example of Format%META:TOPICINFO{version="1.6" date="976762663" author="PeterThoeny" format="1.0"}% text of the topic %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"}%Meta Data Specifications
The current version of Meta Data is 1.0, with support for the following variables.META: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 META:TOPICMOVED
This is optional, exists if topic has ever been moved. If a topic is moved more than once, only the most recent META: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"}%Notes:
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
- at present version number is not supported directly, it can be inferred from the RCS history.
- there is only one META:TOPICMOVED in a topic, older move information can be found in the RCS history.
META: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.META:FILEATTACHMENT
Extra fields that are added if an attachment is moved:
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 hif hidden, optional
Key Comment 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 META:FORM
Key Comment name A topic name - the topic represents one of the TWikiForms. Can optionally include the web name i.e. web.topic, but doesn't normally META:FIELD
Should only be present if there is a META: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 TWikiForms template, is title with all bar alphanumerics and . removed title Full text from TWikiForms template value Value user has supplied via form Recommended Sequence
There is no absolute need for Meta Data variables to be listed in a specific order within a topic, but it makes sense to do so a couple of good reasons:The recommended sequence is:
- form fields remain in the order they are defined
- the
difffunction output appears in a logical order
- META:TOPICINFO
text of topic- META:TOPICMOVED (optional)
- META:TOPICPARENT (optional)
- META:FILEATTACHMENT (0 or more entries)
- META:FORM (optional)
- META:FIELD (0 or more entries; FORM required)
Viewing Meta Data in Page Source
When viewing a topic theRaw Textlink can be clicked to show the text of a topic (ie: as seen when editing). This is done by addingraw=onto URL.raw=debugshows the meta data as well as the topic data, ex: debug view for this topicRendering Meta Data
Meta Data is rendered with the %META% variable. This is mostly used in theview,previewandeditscripts. Current support covers:
Variable usage: Comment: %META{"form"}% Show form data, see TWikiForms %META{"attachments"}% Show attachments, exclude hidden Options for Attachments: all="on" Show ALL attachments (including hidden) %META{"moved"}% Details of any topic moves %META{"parent [options]"}% Show topic parent Options for parent: dontrecurse="on" By default recurses up tree, at some cost prefix="..." Prefix for parents, only if there are parents; default "" suffix="..." Suffix, only appears if there are parents; default "" separator="..." Separator between parents, default is " > " Known Issues
At present, there is no Meta Data support for Plugins. However, the format is readily extendable and theMeta.pmcode that supports the format needs only minor alteration. -- JohnTalintyre? - 29 Aug 2001
-- MikeMannix? - 03 Dec 2001
| Edit -:- Attach -:- Ref-By -:- Printable -:- More |