head	1.22;
access;
symbols;
locks; strict;
comment	@# @;


1.22
date	2012.04.12.23.08.40;	author TWikiContributor;	state Exp;
branches;
next	1.21;

1.21
date	2010.05.29.14.44.43;	author TWikiContributor;	state Exp;
branches;
next	1.20;

1.20
date	2008.01.22.03.21.34;	author TWikiContributor;	state Exp;
branches;
next	1.19;

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.22
log
@buildrelease
@
text
@%META:TOPICINFO{author="TWikiContributor" date="1334272120" format="1.1" version="22"}%
%STARTINCLUDE%
#TWikiMetaData
---+ TWiki Meta Data

_Additional topic data, program-generated or from TWikiForms, is stored embedded in the topic text using =META:= tags_

%TOC%

---++ Overview

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

---++ Meta Data Syntax

   * Format is the same as in TWikiVariables, except all fields have a key.
      * =%<nop>META:&lt;type&gt;{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.

   * Values in meta-data are URL encoded so that characters such as \n can be stored.

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

| *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 =" &gt; "=. |

__Note:__ SEARCH can also be used to render meta data, see examples in FormattedSearch and SearchPatternCookbook.

__Related Topics:__ DeveloperDocumentationCategory, UserDocumentationCategory
@


1.21
log
@buildrelease
@
text
@d1 1
a1 1
%META:TOPICINFO{author="TWikiContributor" date="1269905879" format="1.1" version="21"}%
d14 1
a14 1
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.
a159 1

@


1.20
log
@buildrelease
@
text
@d1 1
a1 1
%META:TOPICINFO{author="TWikiContributor" date="1168737391" format="1.1" version="20"}%
d76 1
a76 1
| 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. |
@


1.19
log
@buildrelease
@
text
@d1 1
a1 2
%META:TOPICINFO{author="TWikiContributor" date="1168737391" format="1.1" version="19"}%
%TOC%
d4 3
a6 1
---# TWiki Meta Data
d8 1
a8 1
_Additional topic data, program-generated or from TWikiForms, is stored in =META= variable name/value pairs_
d12 5
a16 1
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.  
d27 1
a27 1
   * =\n= (new line) is represented in values by =%<nop>_<nop>N_<nop>= and ="= (double-quotes) by =%<nop>_Q_%=.
a158 5
---++ 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.


a160 1
-- __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:&lt;type&gt;{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 =" &gt; "=. |
@


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:&lt;type&gt;{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 =" &gt; "=. |

---++ 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:&lt;type&gt;{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
@
