1016 lines
31 KiB
Plaintext
1016 lines
31 KiB
Plaintext
|
head 1.19;
|
||
|
access;
|
||
|
symbols;
|
||
|
locks; strict;
|
||
|
comment @# @;
|
||
|
|
||
|
|
||
|
1.19
|
||
|
date 2007.01.16.04.11.57; author TWikiContributor; state Exp;
|
||
|
branches;
|
||
|
next 1.18;
|
||
|
|
||
|
1.18
|
||
|
date 2006.04.01.05.55.13; author TWikiContributor; state Exp;
|
||
|
branches;
|
||
|
next 1.17;
|
||
|
|
||
|
1.17
|
||
|
date 2006.02.01.12.01.19; author TWikiContributor; state Exp;
|
||
|
branches;
|
||
|
next 1.16;
|
||
|
|
||
|
1.16
|
||
|
date 2004.08.15.09.54.47; author PeterThoeny; state Exp;
|
||
|
branches;
|
||
|
next 1.15;
|
||
|
|
||
|
1.15
|
||
|
date 2004.01.25.02.24.09; author PeterThoeny; state Exp;
|
||
|
branches;
|
||
|
next 1.14;
|
||
|
|
||
|
1.14
|
||
|
date 2004.01.16.07.10.44; author PeterThoeny; state Exp;
|
||
|
branches;
|
||
|
next 1.13;
|
||
|
|
||
|
1.13
|
||
|
date 2003.07.26.20.52.23; author PeterThoeny; state Exp;
|
||
|
branches;
|
||
|
next 1.12;
|
||
|
|
||
|
1.12
|
||
|
date 2003.06.18.21.19.00; author PeterThoeny; state Exp;
|
||
|
branches;
|
||
|
next 1.11;
|
||
|
|
||
|
1.11
|
||
|
date 2002.12.11.07.30.00; author PeterThoeny; state Exp;
|
||
|
branches;
|
||
|
next 1.10;
|
||
|
|
||
|
1.10
|
||
|
date 2002.01.12.23.23.53; author MikeMannix; state Exp;
|
||
|
branches;
|
||
|
next 1.9;
|
||
|
|
||
|
1.9
|
||
|
date 2001.12.03.12.53.00; author MikeMannix; state Exp;
|
||
|
branches;
|
||
|
next 1.8;
|
||
|
|
||
|
1.8
|
||
|
date 2001.10.02.07.38.10; author MikeMannix; state Exp;
|
||
|
branches;
|
||
|
next 1.7;
|
||
|
|
||
|
1.7
|
||
|
date 2001.09.16.05.57.08; author MikeMannix; state Exp;
|
||
|
branches;
|
||
|
next 1.6;
|
||
|
|
||
|
1.6
|
||
|
date 2001.09.14.09.05.09; author PeterThoeny; state Exp;
|
||
|
branches;
|
||
|
next 1.5;
|
||
|
|
||
|
1.5
|
||
|
date 2001.09.12.06.56.27; author MikeMannix; state Exp;
|
||
|
branches;
|
||
|
next 1.4;
|
||
|
|
||
|
1.4
|
||
|
date 2001.09.08.14.30.25; author MikeMannix; state Exp;
|
||
|
branches;
|
||
|
next 1.3;
|
||
|
|
||
|
1.3
|
||
|
date 2001.09.07.13.13.06; author MikeMannix; state Exp;
|
||
|
branches;
|
||
|
next 1.2;
|
||
|
|
||
|
1.2
|
||
|
date 2001.08.30.20.50.27; author MikeMannix; state Exp;
|
||
|
branches;
|
||
|
next 1.1;
|
||
|
|
||
|
1.1
|
||
|
date 2001.08.30.16.20.58; author MikeMannix; state Exp;
|
||
|
branches;
|
||
|
next ;
|
||
|
|
||
|
|
||
|
desc
|
||
|
@none
|
||
|
@
|
||
|
|
||
|
|
||
|
1.19
|
||
|
log
|
||
|
@buildrelease
|
||
|
@
|
||
|
text
|
||
|
@%META:TOPICINFO{author="TWikiContributor" date="1168737391" format="1.1" version="19"}%
|
||
|
%TOC%
|
||
|
%STARTINCLUDE%
|
||
|
#TWikiMetaData
|
||
|
---# 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>
|
||
|
*Example of Format*
|
||
|
<pre>
|
||
|
%<nop>META:TOPICINFO{version="1.6" date="976762663" author="LastEditorWikiName" format="1.0"}%
|
||
|
text of the topic
|
||
|
%<nop>META:TOPICMOVED{from="Codev.OldName" to="Codev.NewName"
|
||
|
by="TopicMoverWikiName" 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, 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
|
||
|
|
||
|
| *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"}%/%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.
|
||
|
|
||
|
You can render form fields in topic text by using the FORMFIELD variable. Example:%BR%
|
||
|
=%<nop>FORMFIELD{"TopicClassification"}%= %BR%
|
||
|
For details, see VarFORMFIELD.
|
||
|
|
||
|
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 =" > "=. |
|
||
|
|
||
|
__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.
|
||
|
|
||
|
|
||
|
__Related Topics:__ DeveloperDocumentationCategory, UserDocumentationCategory
|
||
|
|
||
|
-- __Contributors:__ TWiki:Main.JohnTalintyre, TWiki:Main.MikeMannix, TWiki:Main.PeterThoeny, TWiki:Main.CrawfordCurrie
|
||
|
@
|
||
|
|
||
|
|
||
|
1.18
|
||
|
log
|
||
|
@buildrelease
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="TWikiContributor" date="1111929255" format="1.0" version="18"}%
|
||
|
d24 1
|
||
|
a24 1
|
||
|
<blockquote style="background-color:#f0f0f0">
|
||
|
d71 1
|
||
|
a71 1
|
||
|
| 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. |
|
||
|
d152 2
|
||
|
d161 1
|
||
|
a161 1
|
||
|
|
||
|
@
|
||
|
|
||
|
|
||
|
1.17
|
||
|
log
|
||
|
@buildrelease
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="TWikiContributor" date="1111929255" format="1.0" version="17"}%
|
||
|
d15 2
|
||
|
a16 2
|
||
|
* Format is the same as in TWikiVariables, except all fields have a key.
|
||
|
* =%<nop>META:<type>{key1="value1" key2="value2" ...}%=
|
||
|
d18 1
|
||
|
a18 1
|
||
|
* 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).
|
||
|
d20 1
|
||
|
a20 1
|
||
|
* Each meta variable is on one line.
|
||
|
d22 1
|
||
|
a22 1
|
||
|
* =\n= (new line) is represented in values by =%<nop>_<nop>N_<nop>= and ="= (double-quotes) by =%<nop>_Q_%=.
|
||
|
d28 1
|
||
|
a28 1
|
||
|
text of the topic
|
||
|
d30 1
|
||
|
a30 1
|
||
|
by="TopicMoverWikiName" date="976762680"}%
|
||
|
d46 1
|
||
|
a46 1
|
||
|
| *Key* | *Comment* |
|
||
|
d48 1
|
||
|
a48 1
|
||
|
| date | integer, unix time, seconds since start 1970 |
|
||
|
d58 1
|
||
|
a58 1
|
||
|
| *Key* | *Comment* |
|
||
|
d60 2
|
||
|
a61 2
|
||
|
| to | Full name, i.e., web.topic |
|
||
|
| by | Who did it, is the REMOTE_USER, not <nop>WikiName |
|
||
|
d65 2
|
||
|
a66 2
|
||
|
* 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.
|
||
|
d70 2
|
||
|
a71 2
|
||
|
| *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. |
|
||
|
d75 2
|
||
|
a76 2
|
||
|
| *Key* | *Comment* |
|
||
|
| name | Name of file, no path. Must be unique within topic |
|
||
|
d78 4
|
||
|
a81 4
|
||
|
| 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 |
|
||
|
d83 1
|
||
|
a83 1
|
||
|
| attr | =h= if hidden, optional |
|
||
|
d87 1
|
||
|
a87 1
|
||
|
| *Key* | *Comment* |
|
||
|
d89 2
|
||
|
a90 2
|
||
|
| movedby | the REMOTE_USER, not <nop>WikiName |
|
||
|
| movedto | full topic name - web.topic |
|
||
|
d95 2
|
||
|
a96 2
|
||
|
| *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 |
|
||
|
d102 4
|
||
|
a105 4
|
||
|
| *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 |
|
||
|
d111 2
|
||
|
a112 2
|
||
|
* form fields remain in the order they are defined
|
||
|
* the =diff= function output appears in a logical order
|
||
|
d116 7
|
||
|
a122 7
|
||
|
* =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)
|
||
|
d135 1
|
||
|
a135 1
|
||
|
For details, see TWikiVariables#VarFORMFIELD.
|
||
|
d139 1
|
||
|
a139 1
|
||
|
| *Variable usage:* | *Comment:* |
|
||
|
d143 1
|
||
|
a143 1
|
||
|
==all="on"==: Show all attachments, including hidden ones. |
|
||
|
d146 5
|
||
|
a150 5
|
||
|
==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 =" > "=. |
|
||
|
@
|
||
|
|
||
|
|
||
|
1.16
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 2
|
||
|
%META:TOPICINFO{author="PeterThoeny" date="1092563687" format="1.0" version="1.16"}%
|
||
|
%META:TOPICPARENT{name="WebHome"}%
|
||
|
d4 1
|
||
|
a4 1
|
||
|
#MetaDataDefinition
|
||
|
d27 1
|
||
|
a27 1
|
||
|
%<nop>META:TOPICINFO{version="1.6" date="976762663" author="PeterThoeny" format="1.0"}%
|
||
|
d30 1
|
||
|
a30 1
|
||
|
by="JohnTalintyre" date="976762680"}%
|
||
|
d126 1
|
||
|
a126 1
|
||
|
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>
|
||
|
d133 3
|
||
|
a135 1
|
||
|
__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.
|
||
|
d142 1
|
||
|
a142 1
|
||
|
| =%<nop>META{"attachments"}%= | Show attachments, except for hidden ones. Options: <br > \
|
||
|
d156 3
|
||
|
a158 3
|
||
|
-- TWiki:Main.JohnTalintyre - 29 Aug 2001 %BR%
|
||
|
-- TWiki:Main.MikeMannix - 03 Dec 2001 %BR%
|
||
|
-- TWiki:Main.PeterThoeny - 15 Aug 2004
|
||
|
@
|
||
|
|
||
|
|
||
|
1.15
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="PeterThoeny" date="1074997449" format="1.0" version="1.15"}%
|
||
|
d3 156
|
||
|
a158 155
|
||
|
%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
|
||
|
* =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 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 - 10 Jan 2002
|
||
|
@
|
||
|
|
||
|
|
||
|
1.14
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="PeterThoeny" date="1074237044" format="1.0" version="1.14"}%
|
||
|
d49 1
|
||
|
a49 1
|
||
|
| date | integer, unx time, seconds since start 1970 |
|
||
|
d63 1
|
||
|
a63 1
|
||
|
| date | integer, unx time, seconds since start 1970 |
|
||
|
d81 1
|
||
|
a81 1
|
||
|
| date | integer, unx time, seconds since start 1970 |
|
||
|
d92 1
|
||
|
a92 1
|
||
|
| moveddate | integer, unx time, seconds since start 1970 |
|
||
|
@
|
||
|
|
||
|
|
||
|
1.13
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="PeterThoeny" date="1059252743" format="1.0" version="1.13"}%
|
||
|
d155 3
|
||
|
a157 3
|
||
|
-- JohnTalintyre - 29 Aug 2001 <br />
|
||
|
-- MikeMannix - 03 Dec 2001 <br />
|
||
|
-- Main.PeterThoeny - 10 Jan 2002
|
||
|
@
|
||
|
|
||
|
|
||
|
1.12
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="PeterThoeny" date="1055971140" format="1.0" version="1.12"}%
|
||
|
d72 1
|
||
|
a72 1
|
||
|
| 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. |
|
||
|
@
|
||
|
|
||
|
|
||
|
1.11
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="PeterThoeny" date="1039591800" format="1.0" version="1.11"}%
|
||
|
d134 2
|
||
|
d140 1
|
||
|
@
|
||
|
|
||
|
|
||
|
1.10
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="MikeMannix" date="1010877833" format="1.0" version="1.10"}%
|
||
|
d48 4
|
||
|
a51 4
|
||
|
| 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 |
|
||
|
d60 4
|
||
|
a63 4
|
||
|
| 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, unx time, seconds since start 1970 |
|
||
|
d72 1
|
||
|
a72 1
|
||
|
| 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. |
|
||
|
d77 8
|
||
|
a84 8
|
||
|
| 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 <nop>WikiName |
|
||
|
| comment | As supplied when file uploaded |
|
||
|
| attr | =h= if hidden, optional |
|
||
|
d89 4
|
||
|
a92 4
|
||
|
| movedfrom | full topic name - web.topic |
|
||
|
| movedby | the REMOTE_USER, not <nop>WikiName |
|
||
|
| movedto | full topic name - web.topic |
|
||
|
| moveddate | integer, unx time, seconds since start 1970 |
|
||
|
d97 1
|
||
|
a97 1
|
||
|
| 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 |
|
||
|
d103 4
|
||
|
a106 4
|
||
|
| *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 |
|
||
|
d127 1
|
||
|
a127 1
|
||
|
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 <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>
|
||
|
d136 3
|
||
|
a138 3
|
||
|
| *Variable usage:* | *Comment:* |
|
||
|
| =%<nop>META{"form"}%= | Show form data, see TWikiForms. |
|
||
|
| =%<nop>META{"attachments"}%= | Show attachments, except for hidden ones. Options: <br > \
|
||
|
d140 2
|
||
|
a141 2
|
||
|
| =%<nop>META{"moved"}%= | Details of any topic moves. |
|
||
|
| =%<nop>META{"parent"}%= | Show topic parent. Options: <br /> \
|
||
|
d154 1
|
||
|
a154 1
|
||
|
-- Main.PeterThoeny - 10 Jan 2002
|
||
|
@
|
||
|
|
||
|
|
||
|
1.9
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="MikeMannix" date="1007383980" format="1.0" version="1.9"}%
|
||
|
d137 10
|
||
|
a146 11
|
||
|
| %<nop>META{"form"}% | Show form data, see TWikiForms |
|
||
|
| %<nop>META{"attachments"}% | Show attachments, exclude hidden |
|
||
|
| Options for [[FileAttachments][Attachments]]: | |
|
||
|
| all="on" | Show ALL attachments (including hidden) |
|
||
|
| %<nop>META{"moved"}% | Details of any topic moves |
|
||
|
| %<nop>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 " > " |
|
||
|
d153 2
|
||
|
a154 1
|
||
|
-- MikeMannix - 03 Dec 2001
|
||
|
@
|
||
|
|
||
|
|
||
|
1.8
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="MikeMannix" date="1002008290" format="1.0" version="1.8"}%
|
||
|
d6 1
|
||
|
a6 1
|
||
|
---# Appendix B: TWiki Meta Data
|
||
|
d8 1
|
||
|
a8 1
|
||
|
_Additional topic data, not editable from main freeform text box, stored in =META= variable name/value pairs_
|
||
|
d12 1
|
||
|
a12 1
|
||
|
<nop>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.
|
||
|
d154 1
|
||
|
a154 1
|
||
|
-- MikeMannix - 02 Oct 2001 <br />
|
||
|
@
|
||
|
|
||
|
|
||
|
1.7
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="MikeMannix" date="1000619828" format="1.0" version="1.7"}%
|
||
|
d6 1
|
||
|
a6 1
|
||
|
---# TWiki Meta Data
|
||
|
d153 2
|
||
|
a154 1
|
||
|
-- JohnTalintyre - 29 Aug 2001 <br />
|
||
|
@
|
||
|
|
||
|
|
||
|
1.6
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="PeterThoeny" date="1000458670" format="1.0" version="1.6"}%
|
||
|
d8 1
|
||
|
a8 1
|
||
|
_Topic data not editable from main freeform text box, stored in name/value =META= variable pairs_
|
||
|
d153 1
|
||
|
a153 1
|
||
|
-- JohnTalintyre - 29 Aug 2001 <br />
|
||
|
@
|
||
|
|
||
|
|
||
|
1.5
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="MikeMannix" date="1000277787" format="1.0" version="1.5"}%
|
||
|
a2 2
|
||
|
%INCLUDE{"UtilTempDocNote"}%
|
||
|
|
||
|
d12 1
|
||
|
a12 1
|
||
|
<nop>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 [[TWikiDocumentation#TWiki_Form_Templates][Form Template]] info.
|
||
|
d16 2
|
||
|
a17 2
|
||
|
* Format is the same as in [[TWikiDocumentation#TWiki_Variables][TWikiVariables]], except all fields have a key.
|
||
|
* %<nop>META:<type>{key1="value1" [key2="value2" [...]]}%
|
||
|
d27 1
|
||
|
a27 1
|
||
|
<verbatim>
|
||
|
d30 1
|
||
|
a30 1
|
||
|
%<nop>META:TOPICMOVED{from="Codev.OldName" to="CoDev.NewName"
|
||
|
d38 1
|
||
|
a38 1
|
||
|
</verbatim>
|
||
|
d41 1
|
||
|
a41 1
|
||
|
---+++ Specifications
|
||
|
d45 1
|
||
|
a45 1
|
||
|
---++++ TOPICINFO
|
||
|
d47 5
|
||
|
a51 5
|
||
|
| *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 |
|
||
|
d53 1
|
||
|
a53 1
|
||
|
---++++ TOPICMOVED
|
||
|
d55 1
|
||
|
a55 1
|
||
|
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.
|
||
|
d57 1
|
||
|
a57 1
|
||
|
%<nop>META:TOPICMOVED{from="Codev.OldName" to="CoDev.NewName" by="talintj" date="976762680"}%
|
||
|
d59 5
|
||
|
a63 5
|
||
|
| *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, unx time, seconds since start 1970 |
|
||
|
d69 1
|
||
|
a69 1
|
||
|
---++++ TOPICPARENT
|
||
|
d71 1
|
||
|
a71 1
|
||
|
| *Key* | *Comment* |
|
||
|
d74 1
|
||
|
a74 1
|
||
|
---++++ FILEATTACHMENT
|
||
|
d76 1
|
||
|
a76 1
|
||
|
| *Key* | *Comment* |
|
||
|
d88 1
|
||
|
d94 1
|
||
|
a94 1
|
||
|
---++++ FORM
|
||
|
d96 2
|
||
|
a97 2
|
||
|
| *Key* | *Comment* |
|
||
|
| name | A topic name - the topic is a [[TWikiDocumentation#Form_Template][Form Template]]. Can optionally include the web name i.e. web.topic, but doesn't normally |
|
||
|
d99 1
|
||
|
a99 1
|
||
|
---++++ FIELD
|
||
|
d101 1
|
||
|
a101 1
|
||
|
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.
|
||
|
d104 2
|
||
|
a105 2
|
||
|
| name | Ties to entry in [[TWikiDocumentation#Form_Template][Form Template]], is title with all bar alphanumerics and . removed |
|
||
|
| title | Full text from [[TWikiDocumentation#Form_Template][Form Template]] |
|
||
|
d117 1
|
||
|
a117 1
|
||
|
* TOPICINFO
|
||
|
d119 5
|
||
|
a123 5
|
||
|
* TOPICMOVED (optional)
|
||
|
* TOPICPARENT (optional)
|
||
|
* FILEATTACHMENT (0 or more entries)
|
||
|
* FORM (optional)
|
||
|
* FIELD (0 or more entries; FORM required)
|
||
|
d137 1
|
||
|
a137 1
|
||
|
| %<nop>META{"form"}% | Show form data, see [[TWikiDocumentation#Form_Templates][Form Templates]] |
|
||
|
d147 1
|
||
|
a147 5
|
||
|
| 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.
|
||
|
@
|
||
|
|
||
|
|
||
|
1.4
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="MikeMannix" date="999959425" format="1.0" version="1.4"}%
|
||
|
d3 2
|
||
|
@
|
||
|
|
||
|
|
||
|
1.3
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="MikeMannix" date="999868902" format="1.0" version="1.3"}%
|
||
|
d109 6
|
||
|
a114 7
|
||
|
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
|
||
|
a115 1
|
||
|
So the order is:
|
||
|
d117 6
|
||
|
a122 6
|
||
|
* text of topic
|
||
|
* TOPICMOVED - optional
|
||
|
* TOPICPARENT - optional
|
||
|
* FILEATTACHMENT - 0 or more entries
|
||
|
* FORM - optional
|
||
|
* FIELD - 0 or more entries (FORM required)
|
||
|
d131 1
|
||
|
a131 1
|
||
|
Meta Data is rendered with the %<nop>META% variable. This is mostly used in the ==view==, ==preview== and ==edit== scripts.
|
||
|
d133 1
|
||
|
a133 1
|
||
|
Current support is fairly basic:
|
||
|
d138 1
|
||
|
a138 1
|
||
|
| Options for attachments: | |
|
||
|
d154 1
|
||
|
a154 1
|
||
|
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.
|
||
|
@
|
||
|
|
||
|
|
||
|
1.2
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="MikeMannix" date="999204627" format="1.0" version="1.2"}%
|
||
|
d5 154
|
||
|
a158 1
|
||
|
%INCLUDE{"%TWIKIWEB%.MetaDataDefinition"}%
|
||
|
@
|
||
|
|
||
|
|
||
|
1.1
|
||
|
log
|
||
|
@none
|
||
|
@
|
||
|
text
|
||
|
@d1 1
|
||
|
a1 1
|
||
|
%META:TOPICINFO{author="MikeMannix" date="999188491" format="1.0" version="1.1"}%
|
||
|
a4 1
|
||
|
---# TWiki Meta Data
|
||
|
@
|