TWiki
Welcome
Register
TWiki Web
TWiki Web Home
Changes
Topics
Index
Search
TWiki Webs
BX12
Book
CC
?
Compare
GPCE06
GPCE08
GPCE09
GPCE10
GPCE11
GPCE12
GPCE13
GPCE14
Gmt
Gpce
Gpce03
Gpce04
Gpce05
Gpceorg
HART14
IFIPWG211
IPA06
Main
Octave
PEPM07
PEPM08
PEPM10
PEPM11
PEPM12
PEPM13
PEPM14
PHP
Sandbox
Sdf
SdfBackup
Spoofax
Stratego
Sts
TWiki
Tiger
Tools
Transform
Variability
WGLD
WebDSL
default
Changes Index Search
Webs Book Compare GPCE06 Gmt Gpce Gpce04 Gpce05 IFIPWG211 IPA06 Main Octave PEPM07 PEPM08 PHP Sandbox Sdf Stratego Sts TWiki Tiger Tools Transform Variability default
porn
free porn
Page
Edit Page
Rename Page
Attach File
Printable
Wiki Source
Rev 16
(diff 15)
Rev 15
(diff 14)
Rev 14
(diff 13)
Total History
More ...
Web
Recent Changes
Notify Service
News
Page Index
Search
More ...
Wiki
About TWiki
Text Formatting
Registration
Change Password
Reset Password
Users
Groups
TWiki Meta Data
TWiki
%META:TOPICINFO{author="PeterThoeny" date="1092563687" format="1.0" version="1.16"}% %META:TOPICPARENT{name="WebHome"}% %TOC% %STARTINCLUDE% #MetaDataDefinition ---# TWiki Meta Data _Additional topic data, program-generated or from TWikiForms, is stored in =META= variable name/value pairs_ ---++ Overview TWikiMetaData uses =META= variables 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. Use =META= variables to format and display Meta Data. ---++ Meta Data Syntax * Format is the same as in TWikiVariables, except all fields have a key. * =%<nop>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 =%<nop>_<nop>N_<nop>= and ="= (double-quotes) by =%<nop>_Q_%=. <blockquote style="background-color:#f0f0f0"> *Example of Format* <pre> %<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"}% </pre> </blockquote> ---++ 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, unix 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. =%<nop>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 <nop>WikiName | | date | integer, unix time, seconds since start 1970 | Notes: * 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, %HOMETOPIC% 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 | *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, unix time, seconds since start 1970 | | user | the REMOTE_USER, not <nop>WikiName | | comment | As supplied when file uploaded | | attr | =h= if hidden, optional | Extra fields that are added if an attachment is moved: | *Key* | *Comment* | | movedfrom | full topic name - web.topic | | movedby | the REMOTE_USER, not <nop>WikiName | | movedto | full topic name - web.topic | | moveddate | integer, unix 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: * form fields remain in the order they are defined * the =diff= function output appears in a logical order The recommended sequence is: * =META:TOPICINFO= * =META:TOPICPARENT= (optional) * text of topic * =META:TOPICMOVED= (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 the ==Raw Text== link can be clicked to show the text of a topic (i.e., as seen when editing). This is done by adding <code>raw=on</code> to URL. <code>raw=debug</code> shows the meta data as well as the topic data, ex: <a href="%SCRIPTURLPATH%/view%SCRIPTSUFFIX%/%WEB%/%TOPIC%?raw=debug">debug view for this topic</a> #MetaDataRendering ---++ Rendering Meta Data Meta Data is rendered with the %<nop>META% variable. This is mostly used in the =view=, =preview= and =edit= scripts. __Note:__ Rendering meta data is currently not supported in topic text. As a workaround, use FormattedSearch on the current topic only to render form fields. Current support covers: | *Variable usage:* | *Comment:* | | =%<nop>META{"form"}%= | Show form data, see TWikiForms. | | =%<nop>META{"formfield"}%= | Show form field value. Parameter: ==name="field_name"==. Example:%BR% =%<nop>META{ "formfield" name="TopicClassification" }%= | | =%<nop>META{"attachments"}%= | Show attachments, except for hidden ones. Options: <br > \ ==all="on"==: Show all attachments, including hidden ones. | | =%<nop>META{"moved"}%= | Details of any topic moves. | | =%<nop>META{"parent"}%= | Show topic parent. Options: <br /> \ ==dontrecurse="on"==: By default recurses up tree, at some cost. <br /> \ ==nowebhome="on"==: Suppress <nop>%HOMETOPIC%. <br /> \ ==prefix="..."==: Prefix for parents, only if there are parents, default =""=. <br /> \ ==suffix="..."==: Suffix, only appears if there are parents, default =""=. <br /> \ ==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 the =Meta.pm= code that supports the format needs only minor alteration. -- TWiki:Main.JohnTalintyre - 29 Aug 2001 %BR% -- TWiki:Main.MikeMannix - 03 Dec 2001 %BR% -- TWiki:Main.PeterThoeny - 15 Aug 2004