Difference: TWikiMetaData (1 vs. 22)

Revision 222012-04-12 - TWikiContributor

Line: 1 to 1
 

TWiki Meta Data

Line: 11 to 11
  By default, TWiki stores topics in files on disk, in a really simple and obvious directory structure. The big advantage of this approach is that it makes it really easy to manipulate topics from outside TWiki, and is also very safe; there are no complex binary indexes to maintain, and moving a topic from one TWiki to another is as simple as copying a couple of text files.
Changed:
<
<
To keep eveything together in one place, TWiki uses a simple method for embedding additional data (program-generated or from TWikiForms) in topics. It does this using META: tags.
>
>
To keep everything together in one place, TWiki uses a simple method for embedding additional data (program-generated or from TWikiForms) in topics. It does this using META: tags.
  META: data includes program-generated info like FileAttachment and topic movement data, and user-defined TWikiForms info.

Revision 212010-03-29 - TWikiContributor

Line: 1 to 1
 

TWiki Meta Data

Line: 73 to 73
 

META:TOPICPARENT

Key Comment
Changed:
<
<
name The topic from which this was created, typically when clicking on a ? questionmark link, or by filling out a form. Normally just TopicName, but it can be a full Web.TopicName format if the parent is in a different Web.
>
>
name The topic from which this was created, typically when clicking on a red-link, or by filling out a form. Normally just TopicName, but it can be a full Web.TopicName format if the parent is in a different Web.
 

META:FILEATTACHMENT

Revision 202007-01-14 - TWikiContributor

Line: 1 to 1
Deleted:
<
<
 
Changed:
<
<

TWiki Meta Data

>
>

TWiki Meta Data

Additional topic data, program-generated or from TWikiForms, is stored embedded in the topic text using META: tags

 
Changed:
<
<
Additional topic data, program-generated or from TWikiForms, is stored in META variable name/value pairs
>
>
 

Overview

Changed:
<
<
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.
>
>
By default, TWiki stores topics in files on disk, in a really simple and obvious directory structure. The big advantage of this approach is that it makes it really easy to manipulate topics from outside TWiki, and is also very safe; there are no complex binary indexes to maintain, and moving a topic from one TWiki to another is as simple as copying a couple of text files.

To keep eveything together in one place, TWiki uses a simple method for embedding additional data (program-generated or from TWikiForms) in topics. It does this using META: tags.

META: data includes program-generated info like FileAttachment and topic movement data, and user-defined TWikiForms info.

 

Meta Data Syntax

Line: 19 to 24
 
  • Each meta variable is on one line.
Changed:
<
<
  • \n (new line) is represented in values by %_N_ and " (double-quotes) by %_Q_%.
>
>
  • Values in meta-data are URL encoded so that characters such as \n can be stored.
 
Example of Format
Line: 151 to 156
  Note: SEARCH can also be used to render meta data, see examples in FormattedSearch and SearchPatternCookbook.
Deleted:
<
<

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.

 Related Topics: DeveloperDocumentationCategory, UserDocumentationCategory
Deleted:
<
<
-- Contributors: TWiki:Main.JohnTalintyre, TWiki:Main.MikeMannix, TWiki:Main.PeterThoeny, TWiki:Main.CrawfordCurrie

Revision 192007-01-14 - TWikiContributor

Line: 1 to 1
 

Line: 21 to 21
 
  • \n (new line) is represented in values by %_N_ and " (double-quotes) by %_Q_%.
Changed:
<
<
>
>
 Example of Format
%META:TOPICINFO{version="1.6" date="976762663" author="LastEditorWikiName" format="1.0"}%

Line: 68 to 68
 

META:TOPICPARENT

Key Comment
Changed:
<
<
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.
>
>
name The topic from which this was created, typically when clicking on a ? questionmark link, or by filling out a form. Normally just TopicName, but it can be a full Web.TopicName format if the parent is in a different Web.
 

META:FILEATTACHMENT

Line: 149 to 149
  suffix="...": Suffix, only appears if there are parents, default "".
separator="...": Separator between parents, default is " > ". |
Added:
>
>
Note: SEARCH can also be used to render meta data, see examples in FormattedSearch and SearchPatternCookbook.
 

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.

Line: 156 to 158
  Related Topics: DeveloperDocumentationCategory, UserDocumentationCategory
Changed:
<
<
>
>
-- Contributors: TWiki:Main.JohnTalintyre, TWiki:Main.MikeMannix, TWiki:Main.PeterThoeny, TWiki:Main.CrawfordCurrie

Revision 182005-03-27 - TWikiContributor

Line: 1 to 1
 

Line: 132 to 132
  You can render form fields in topic text by using the FORMFIELD variable. Example:
%FORMFIELD{"TopicClassification"}%
Changed:
<
<
For details, see TWikiVariables#VarFORMFIELD.
>
>
For details, see VarFORMFIELD.
  Current support covers:

Revision 172005-03-27 - TWikiContributor

Line: 1 to 1
Deleted:
<
<
META TOPICPARENT name="WebHome"
 
Changed:
<
<
>
>
 

TWiki Meta Data

Additional topic data, program-generated or from TWikiForms, is stored in META variable name/value pairs

Line: 25 to 24
 
Example of Format

Changed:
<
<
%META:TOPICINFO{version="1.6" date="976762663" author="PeterThoeny" format="1.0"}%
>
>
%META:TOPICINFO{version="1.6" date="976762663" author="LastEditorWikiName" format="1.0"}%
  text of the topic %META:TOPICMOVED{from="Codev.OldName" to="Codev.NewName"
Changed:
<
<
by="JohnTalintyre" date="976762680"}%
>
>
by="TopicMoverWikiName" date="976762680"}%
 %META:TOPICPARENT{name="NavigationByTopicContext"}% %META:FILEATTACHMENT{name="Sample.txt" version="1.3" ... }% %META:FILEATTACHMENT{name="Smile.gif" version="1.1" ... }%
Line: 124 to 123
 

Viewing Meta Data in Page Source

Changed:
<
<
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 raw=on to URL. raw=debug shows the meta data as well as the topic data, ex: debug view for this topic
>
>
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 raw=on to URL. raw=debug shows the meta data as well as the topic data, ex: debug view for this topic
 

Rendering Meta Data

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

Changed:
<
<
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.
>
>
You can render form fields in topic text by using the FORMFIELD variable. Example:
%FORMFIELD{"TopicClassification"}%
For details, see TWikiVariables#VarFORMFIELD.
  Current support covers:

Variable usage: Comment:
%META{"form"}% Show form data, see TWikiForms.
%META{"formfield"}% Show form field value. Parameter: name="field_name". Example:
%META{ "formfield" name="TopicClassification" }%
Changed:
<
<
| %META{"attachments"}% | Show attachments, except for hidden ones. Options:
>
>
| %META{"attachments"}% | Show attachments, except for hidden ones. Options:
  all="on": Show all attachments, including hidden ones. |
%META{"moved"}% Details of any topic moves.
| %META{"parent"}% | Show topic parent. Options:
Line: 152 to 153
  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.
Changed:
<
<
-- TWiki:Main.JohnTalintyre - 29 Aug 2001
-- TWiki:Main.MikeMannix - 03 Dec 2001
-- TWiki:Main.PeterThoeny - 15 Aug 2004
>
>
Related Topics: DeveloperDocumentationCategory, UserDocumentationCategory
 

Revision 162004-08-15 - PeterThoeny

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
Line: 114 to 114
  The recommended sequence is:
Changed:
<
<
  • 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)
>
>
  • 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

Line: 152 to 152
  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.
Changed:
<
<
-- TWiki:Main.JohnTalintyre - 29 Aug 2001
-- TWiki:Main.MikeMannix - 03 Dec 2001
-- TWiki:Main.PeterThoeny - 10 Jan 2002
>
>
-- TWiki:Main.JohnTalintyre - 29 Aug 2001
-- TWiki:Main.MikeMannix - 03 Dec 2001
-- TWiki:Main.PeterThoeny - 15 Aug 2004

Revision 152004-01-25 - PeterThoeny

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
Line: 46 to 46
 
Key Comment
version Same as RCS version
Changed:
<
<
date integer, unx time, seconds since start 1970
>
>
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
Line: 60 to 60
 
from Full name, i.e., web.topic
to Full name, i.e., web.topic
by Who did it, is the REMOTE_USER, not WikiName
Changed:
<
<
date integer, unx time, seconds since start 1970
>
>
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.
Line: 78 to 78
 
version Same as RCS revision
path Full path file was loaded from
size In bytes
Changed:
<
<
date integer, unx time, seconds since start 1970
>
>
date integer, unix time, seconds since start 1970
 
user the REMOTE_USER, not WikiName
comment As supplied when file uploaded
attr h if hidden, optional
Line: 89 to 89
 
movedfrom full topic name - web.topic
movedby the REMOTE_USER, not WikiName
movedto full topic name - web.topic
Changed:
<
<
moveddate integer, unx time, seconds since start 1970
>
>
moveddate integer, unix time, seconds since start 1970
 

META:FORM

Revision 142004-01-16 - PeterThoeny

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
Line: 152 to 152
  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.
Changed:
<
<
-- JohnTalintyre - 29 Aug 2001
-- MikeMannix - 03 Dec 2001
-- PeterThoeny - 10 Jan 2002
>
>
-- TWiki:Main.JohnTalintyre - 29 Aug 2001
-- TWiki:Main.MikeMannix - 03 Dec 2001
-- TWiki:Main.PeterThoeny - 10 Jan 2002

Revision 132003-07-26 - PeterThoeny

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
Line: 69 to 69
 

META:TOPICPARENT

Key Comment
Changed:
<
<
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.
>
>
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

Revision 122003-06-18 - PeterThoeny

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
Line: 131 to 131
  Meta Data is rendered with the %META% variable. This is mostly used in the view, preview and edit scripts.
Added:
>
>
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:
%META{"form"}% Show form data, see TWikiForms.
Added:
>
>
%META{"formfield"}% Show form field value. Parameter: name="field_name". Example:
%META{ "formfield" name="TopicClassification" }%
 
%META{"attachments"}% Show attachments, except for hidden ones. Options:
all="on": Show all attachments, including hidden ones.
%META{"moved"}% Details of any topic moves.

Revision 112002-12-11 - PeterThoeny

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
Line: 57 to 57
 %META:TOPICMOVED{from="Codev.OldName" to="Codev.NewName" by="talintj" date="976762680"}%

Key Comment
Changed:
<
<
from Full name i.e. web.topic
to Full name i.e. web.topic
>
>
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
Line: 94 to 94
 

META:FORM

Key Comment
Changed:
<
<
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
>
>
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

Line: 124 to 124
 

Viewing Meta Data in Page Source

Changed:
<
<
When viewing a topic the Raw Text link can be clicked to show the text of a topic (ie: as seen when editing). This is done by adding raw=on to URL. raw=debug shows the meta data as well as the topic data, ex: debug view for this topic
>
>
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 raw=on to URL. raw=debug shows the meta data as well as the topic data, ex: debug view for this topic
 

Rendering Meta Data

Revision 102002-01-12 - MikeMannix

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
Line: 134 to 134
 Current support covers:

Variable usage: Comment:
Changed:
<
<
%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 " > "
>
>
%META{"form"}% Show form data, see TWikiForms.
%META{"attachments"}% Show attachments, except for hidden ones. Options:
all="on": Show all attachments, including hidden ones.
%META{"moved"}% Details of any topic moves.
%META{"parent"}% Show topic parent. Options:
dontrecurse="on": By default recurses up tree, at some cost.
nowebhome="on": Suppress WebHome.
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 the Meta.pm code that supports the format needs only minor alteration.

-- JohnTalintyre - 29 Aug 2001

Changed:
<
<
-- MikeMannix - 03 Dec 2001
>
>
-- MikeMannix - 03 Dec 2001
-- PeterThoeny - 10 Jan 2002

Revision 92001-12-03 - MikeMannix

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Changed:
<
<

Appendix B: TWiki Meta Data

>
>

TWiki Meta Data

 
Changed:
<
<
Additional topic data, not editable from main freeform text box, stored in META variable name/value pairs
>
>
Additional topic data, program-generated or from TWikiForms, is stored in META variable name/value pairs
 

Overview

Changed:
<
<
TWikiMetaData uses META variables to store topic data that's separate from the main free-form content. This includes program-generated info like FileAttachment data, and user-defined TWikiForms info.
>
>
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

Line: 151 to 151
 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.

-- JohnTalintyre - 29 Aug 2001

Changed:
<
<
-- MikeMannix - 02 Oct 2001
>
>
-- MikeMannix - 03 Dec 2001

Revision 82001-10-02 - MikeMannix

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Changed:
<
<

TWiki Meta Data

>
>

Appendix B: TWiki Meta Data

  Additional topic data, not editable from main freeform text box, stored in META variable name/value pairs
Line: 151 to 151
 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.

-- JohnTalintyre - 29 Aug 2001

Added:
>
>
-- MikeMannix - 02 Oct 2001

Revision 72001-09-16 - MikeMannix

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

TWiki Meta Data

Changed:
<
<
Topic data not editable from main freeform text box, stored in name/value META variable pairs
>
>
Additional topic data, not editable from main freeform text box, stored in META variable name/value pairs
 

Overview

Revision 62001-09-14 - PeterThoeny

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
Deleted:
<
<

Warning: Can't find topic TWiki.UtilTempDocNote

 

Line: 11 to 9
 

Overview

Changed:
<
<
TWikiMetaData uses META variables to store topic data that's separate from the main free-form content. This includes program-generated info like FileAttachment data, and user-defined Form Template info.
>
>
TWikiMetaData uses META variables to store topic data that's separate from the main free-form content. This includes program-generated info like FileAttachment data, and user-defined TWikiForms info.
 

Meta Data Syntax

Changed:
<
<
  • Format is the same as in TWikiVariables, except all fields have a key.
    • %META:<type>{key1="value1" [key2="value2" [...]]}%
>
>
  • 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).
Line: 26 to 24
 
Example of Format
Changed:
<
<
>
>

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

Specifications

>
>

Meta Data Specifications

  The current version of Meta Data is 1.0, with support for the following variables.
Changed:
<
<

TOPICINFO

>
>

META:TOPICINFO

 
Key Comment
version Same as RCS version
Line: 52 to 50
 
author last to change topic, is the REMOTE_USER
format Format of this topic, will be used for automatic format conversion
Changed:
<
<

TOPICMOVED

>
>

META:TOPICMOVED

 
Changed:
<
<
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.
>
>
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.
 
Changed:
<
<
%META:TOPICMOVED{from="Codev.OldName" to="CoDev.NewName" by="talintj" date="976762680"}%
>
>
%META:TOPICMOVED{from="Codev.OldName" to="Codev.NewName" by="talintj" date="976762680"}%
 
Key Comment
from Full name i.e. web.topic
Line: 68 to 66
 
  • 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.

Changed:
<
<

TOPICPARENT

>
>

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.
Changed:
<
<

FILEATTACHMENT

>
>

META:FILEATTACHMENT

 
Key Comment
name Name of file, no path. Must be unique within topic
Line: 87 to 85
  Extra fields that are added if an attachment is moved:
Added:
>
>
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
Changed:
<
<

FORM

>
>

META:FORM

 
Key Comment
Changed:
<
<
name A topic name - the topic is a Form Template. Can optionally include the web name i.e. web.topic, but doesn't normally
>
>
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
 
Changed:
<
<

FIELD

>
>

META:FIELD

 
Changed:
<
<
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.
>
>
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
Changed:
<
<
name Ties to entry in Form Template, is title with all bar alphanumerics and . removed
title Full text from Form Template
>
>
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

Line: 115 to 114
  The recommended sequence is:
Changed:
<
<
  • TOPICINFO
>
>
  • META:TOPICINFO
 
  • text of topic
Changed:
<
<
  • TOPICMOVED (optional)
  • TOPICPARENT (optional)
  • FILEATTACHMENT (0 or more entries)
  • FORM (optional)
  • FIELD (0 or more entries; FORM required)
>
>
  • 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

Line: 135 to 134
 Current support covers:

Variable usage: Comment:
Changed:
<
<
%META{"form"}% Show form data, see Form Templates
>
>
%META{"form"}% Show form data, see TWikiForms
 
%META{"attachments"}% Show attachments, exclude hidden
Options for Attachments:  
all="on" Show ALL attachments (including hidden)
Line: 145 to 144
 
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 ""
Changed:
<
<
seperator="..." Separator between parents, default is " > "

  • Future Development: There are numerous development directions and specific features to consider. A couple of obvious possibilities:
    • Rendering to formats other than tables: bullet lists, formatted body text;
    • Specifying templates to be used for rendering.
>
>
separator="..." Separator between parents, default is " > "
 

Known Issues

Revision 42001-09-08 - MikeMannix

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
Line: 106 to 106
 

Recommended Sequence

Changed:
<
<
There no absolute need for meta data variables to be in a specific order, however, it does for the following reasons:
  • Keep (form) fields in the order they are defined
  • Allow diff command to give output in a logically sensible order

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

  • Order fields - definition could be read on each rendering (expensive)
  • Diff - render data before doing diff, has something to offer, but not likely to be available for next TWiki release
>
>
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:

 
Deleted:
<
<
So the order is:
 
  • TOPICINFO
Changed:
<
<
  • text of topic
  • TOPICMOVED - optional
  • TOPICPARENT - optional
  • FILEATTACHMENT - 0 or more entries
  • FORM - optional
  • FIELD - 0 or more entries (FORM required)
>
>
  • text of topic
  • TOPICMOVED (optional)
  • TOPICPARENT (optional)
  • FILEATTACHMENT (0 or more entries)
  • FORM (optional)
  • FIELD (0 or more entries; FORM required)
 

Viewing Meta Data in Page Source

Line: 130 to 128
 

Rendering Meta Data

Changed:
<
<
Meta Data is rendered with the %META% variable. This is mostly used in the view, preview and edit scripts.
>
>
Meta Data is rendered with the %META% variable. This is mostly used in the view, preview and edit scripts.
 
Changed:
<
<
Current support is fairly basic:
>
>
Current support covers:
 
Variable usage: Comment:
%META{"form"}% Show form data, see Form Templates
%META{"attachments"}% Show attachments, exclude hidden
Changed:
<
<
Options for attachments:  
>
>
Options for Attachments:  
 
all="on" Show ALL attachments (including hidden)
%META{"moved"}% Details of any topic moves
%META{"parent [options]"}% Show topic parent
Line: 153 to 151
 

Known Issues

Changed:
<
<
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 needs only minor alteration.
>
>
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.
  -- JohnTalintyre - 29 Aug 2001

Revision 32001-09-07 - MikeMannix

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
Changed:
<
<

Warning: Can't find topic TWiki.MetaDataDefinition

>
>

TWiki Meta Data

Topic data not editable from main freeform text box, stored in name/value META variable 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 data, and user-defined Form Template info.

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
%<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"}%

Specifications

The current version of Meta Data is 1.0, with support for the following variables.

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:

  • 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.

TOPICPARENT

Key Comment
<-- -->
Sorted descending
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 fields 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

Recommended Sequence

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

  • Keep (form) fields in the order they are defined
  • Allow diff command to give output in a logically sensible order

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

  • Order fields - definition could be read on each rendering (expensive)
  • Diff - render data before doing diff, has something to offer, but not likely to be available for next TWiki release

So the order is:

  • TOPICINFO
  • text of topic
  • TOPICMOVED - optional
  • TOPICPARENT - optional
  • FILEATTACHMENT - 0 or more entries
  • FORM - optional
  • 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 (ie: as seen when editing). This is done by adding raw=on to URL. raw=debug shows the meta data as well as the topic data, ex: debug view for this topic

Rendering Meta Data

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

Current support is fairly basic:

Variable usage: Comment:
%META{"form"}% Show form data, see Form Templates
%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 ""
seperator="..." Separator between parents, default is " > "

  • Future Development: There are numerous development directions and specific features to consider. A couple of obvious possibilities:
    • Rendering to formats other than tables: bullet lists, formatted body text;
    • Specifying templates to be used for rendering.

Known Issues

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 needs only minor alteration.

-- JohnTalintyre - 29 Aug 2001

Revision 22001-08-30 - MikeMannix

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
Deleted:
<
<

TWiki Meta Data

 

Warning: Can't find topic TWiki.MetaDataDefinition

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.TWikiMetaData.