data/TWiki/TWikiMetaData.txt,v
author Colas Nahaboo <colas@nahaboo.net>
Sat, 26 Jan 2008 15:50:53 +0100
changeset 0 414e01d06fd5
permissions -rw-r--r--
RELEASE 4.2.0 freetown
colas@0
     1
head	1.20;
colas@0
     2
access;
colas@0
     3
symbols;
colas@0
     4
locks; strict;
colas@0
     5
comment	@# @;
colas@0
     6
colas@0
     7
colas@0
     8
1.20
colas@0
     9
date	2008.01.22.03.21.34;	author TWikiContributor;	state Exp;
colas@0
    10
branches;
colas@0
    11
next	1.19;
colas@0
    12
colas@0
    13
1.19
colas@0
    14
date	2007.01.16.04.11.57;	author TWikiContributor;	state Exp;
colas@0
    15
branches;
colas@0
    16
next	1.18;
colas@0
    17
colas@0
    18
1.18
colas@0
    19
date	2006.04.01.05.55.13;	author TWikiContributor;	state Exp;
colas@0
    20
branches;
colas@0
    21
next	1.17;
colas@0
    22
colas@0
    23
1.17
colas@0
    24
date	2006.02.01.12.01.19;	author TWikiContributor;	state Exp;
colas@0
    25
branches;
colas@0
    26
next	1.16;
colas@0
    27
colas@0
    28
1.16
colas@0
    29
date	2004.08.15.09.54.47;	author PeterThoeny;	state Exp;
colas@0
    30
branches;
colas@0
    31
next	1.15;
colas@0
    32
colas@0
    33
1.15
colas@0
    34
date	2004.01.25.02.24.09;	author PeterThoeny;	state Exp;
colas@0
    35
branches;
colas@0
    36
next	1.14;
colas@0
    37
colas@0
    38
1.14
colas@0
    39
date	2004.01.16.07.10.44;	author PeterThoeny;	state Exp;
colas@0
    40
branches;
colas@0
    41
next	1.13;
colas@0
    42
colas@0
    43
1.13
colas@0
    44
date	2003.07.26.20.52.23;	author PeterThoeny;	state Exp;
colas@0
    45
branches;
colas@0
    46
next	1.12;
colas@0
    47
colas@0
    48
1.12
colas@0
    49
date	2003.06.18.21.19.00;	author PeterThoeny;	state Exp;
colas@0
    50
branches;
colas@0
    51
next	1.11;
colas@0
    52
colas@0
    53
1.11
colas@0
    54
date	2002.12.11.07.30.00;	author PeterThoeny;	state Exp;
colas@0
    55
branches;
colas@0
    56
next	1.10;
colas@0
    57
colas@0
    58
1.10
colas@0
    59
date	2002.01.12.23.23.53;	author MikeMannix;	state Exp;
colas@0
    60
branches;
colas@0
    61
next	1.9;
colas@0
    62
colas@0
    63
1.9
colas@0
    64
date	2001.12.03.12.53.00;	author MikeMannix;	state Exp;
colas@0
    65
branches;
colas@0
    66
next	1.8;
colas@0
    67
colas@0
    68
1.8
colas@0
    69
date	2001.10.02.07.38.10;	author MikeMannix;	state Exp;
colas@0
    70
branches;
colas@0
    71
next	1.7;
colas@0
    72
colas@0
    73
1.7
colas@0
    74
date	2001.09.16.05.57.08;	author MikeMannix;	state Exp;
colas@0
    75
branches;
colas@0
    76
next	1.6;
colas@0
    77
colas@0
    78
1.6
colas@0
    79
date	2001.09.14.09.05.09;	author PeterThoeny;	state Exp;
colas@0
    80
branches;
colas@0
    81
next	1.5;
colas@0
    82
colas@0
    83
1.5
colas@0
    84
date	2001.09.12.06.56.27;	author MikeMannix;	state Exp;
colas@0
    85
branches;
colas@0
    86
next	1.4;
colas@0
    87
colas@0
    88
1.4
colas@0
    89
date	2001.09.08.14.30.25;	author MikeMannix;	state Exp;
colas@0
    90
branches;
colas@0
    91
next	1.3;
colas@0
    92
colas@0
    93
1.3
colas@0
    94
date	2001.09.07.13.13.06;	author MikeMannix;	state Exp;
colas@0
    95
branches;
colas@0
    96
next	1.2;
colas@0
    97
colas@0
    98
1.2
colas@0
    99
date	2001.08.30.20.50.27;	author MikeMannix;	state Exp;
colas@0
   100
branches;
colas@0
   101
next	1.1;
colas@0
   102
colas@0
   103
1.1
colas@0
   104
date	2001.08.30.16.20.58;	author MikeMannix;	state Exp;
colas@0
   105
branches;
colas@0
   106
next	;
colas@0
   107
colas@0
   108
colas@0
   109
desc
colas@0
   110
@none
colas@0
   111
@
colas@0
   112
colas@0
   113
colas@0
   114
1.20
colas@0
   115
log
colas@0
   116
@buildrelease
colas@0
   117
@
colas@0
   118
text
colas@0
   119
@%META:TOPICINFO{author="TWikiContributor" date="1168737391" format="1.1" version="20"}%
colas@0
   120
%STARTINCLUDE%
colas@0
   121
#TWikiMetaData
colas@0
   122
---+ TWiki Meta Data
colas@0
   123
colas@0
   124
_Additional topic data, program-generated or from TWikiForms, is stored embedded in the topic text using =META:= tags_
colas@0
   125
colas@0
   126
%TOC%
colas@0
   127
colas@0
   128
---++ Overview
colas@0
   129
colas@0
   130
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.
colas@0
   131
colas@0
   132
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.
colas@0
   133
colas@0
   134
=META:= data includes program-generated info like FileAttachment and topic movement data, and user-defined TWikiForms info.
colas@0
   135
colas@0
   136
---++ Meta Data Syntax
colas@0
   137
colas@0
   138
   * Format is the same as in TWikiVariables, except all fields have a key.
colas@0
   139
      * =%<nop>META:&lt;type&gt;{key1="value1" key2="value2" ...}%=
colas@0
   140
colas@0
   141
   * 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).
colas@0
   142
colas@0
   143
   * Each meta variable is on one line.
colas@0
   144
colas@0
   145
   * Values in meta-data are URL encoded so that characters such as \n can be stored.
colas@0
   146
colas@0
   147
<blockquote>
colas@0
   148
*Example of Format*
colas@0
   149
<pre>
colas@0
   150
%<nop>META:TOPICINFO{version="1.6" date="976762663" author="LastEditorWikiName" format="1.0"}%
colas@0
   151
   text of the topic
colas@0
   152
%<nop>META:TOPICMOVED{from="Codev.OldName" to="Codev.NewName"
colas@0
   153
   by="TopicMoverWikiName" date="976762680"}%
colas@0
   154
%<nop>META:TOPICPARENT{name="NavigationByTopicContext"}%
colas@0
   155
%<nop>META:FILEATTACHMENT{name="Sample.txt" version="1.3" ... }%
colas@0
   156
%<nop>META:FILEATTACHMENT{name="Smile.gif" version="1.1" ... }%
colas@0
   157
%<nop>META:FORM{name="WebFormTemplate"}%
colas@0
   158
%<nop>META:FIELD{name="OperatingSystem" value="OsWin"}%
colas@0
   159
%<nop>META:FIELD{name="TopicClassification" value="PublicFAQ"}%
colas@0
   160
</pre>
colas@0
   161
</blockquote>
colas@0
   162
colas@0
   163
---++ Meta Data Specifications
colas@0
   164
colas@0
   165
The current version of Meta Data is 1.0, with support for the following variables.
colas@0
   166
colas@0
   167
---+++ META:TOPICINFO
colas@0
   168
colas@0
   169
|  *Key*  |  *Comment*          |
colas@0
   170
| version | Same as RCS version |
colas@0
   171
| date    | integer, unix time, seconds since start 1970 |
colas@0
   172
| author  | last to change topic, is the REMOTE_USER |
colas@0
   173
| format  | Format of this topic, will be used for automatic format conversion |
colas@0
   174
colas@0
   175
---+++ META:TOPICMOVED
colas@0
   176
colas@0
   177
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.
colas@0
   178
colas@0
   179
=%<nop>META:TOPICMOVED{from="Codev.OldName" to="Codev.NewName" by="talintj" date="976762680"}%=
colas@0
   180
colas@0
   181
|  *Key*  |  *Comment*          |
colas@0
   182
| from | Full name, i.e., web.topic |
colas@0
   183
| to   | Full name, i.e., web.topic |
colas@0
   184
| by   | Who did it, is the REMOTE_USER, not <nop>WikiName |
colas@0
   185
| date | integer, unix time, seconds since start 1970 |
colas@0
   186
colas@0
   187
Notes: 
colas@0
   188
   * at present version number is not supported directly, it can be inferred from the RCS history.
colas@0
   189
   * there is only one META:TOPICMOVED in a topic, older move information can be found in the RCS history.
colas@0
   190
 
colas@0
   191
---+++ META:TOPICPARENT
colas@0
   192
colas@0
   193
| *Key*   | *Comment* |
colas@0
   194
| 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. |
colas@0
   195
colas@0
   196
---+++ META:FILEATTACHMENT
colas@0
   197
colas@0
   198
| *Key*   | *Comment* |
colas@0
   199
| name    | Name of file, no path.  Must be unique within topic |
colas@0
   200
| version | Same as RCS revision  |
colas@0
   201
| path    | Full path file was loaded from |
colas@0
   202
| size    | In bytes |
colas@0
   203
| date    | integer, unix time, seconds since start 1970 |
colas@0
   204
| user    | the REMOTE_USER, not <nop>WikiName |
colas@0
   205
| comment | As supplied when file uploaded |
colas@0
   206
| attr    | =h= if hidden, optional |
colas@0
   207
colas@0
   208
Extra fields that are added if an attachment is moved:
colas@0
   209
colas@0
   210
| *Key*   | *Comment* |
colas@0
   211
| movedfrom | full topic name - web.topic |
colas@0
   212
| movedby   | the REMOTE_USER, not <nop>WikiName |
colas@0
   213
| movedto   | full topic name - web.topic |
colas@0
   214
| moveddate | integer, unix time, seconds since start 1970 |
colas@0
   215
colas@0
   216
---+++ META:FORM
colas@0
   217
colas@0
   218
| *Key*   | *Comment* |
colas@0
   219
| 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 |
colas@0
   220
colas@0
   221
---+++ META:FIELD
colas@0
   222
colas@0
   223
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.
colas@0
   224
colas@0
   225
| *Key*   | *Name*   |
colas@0
   226
| name    | Ties to entry in TWikiForms template, is title with all bar alphanumerics and . removed |
colas@0
   227
| title   | Full text from TWikiForms template |
colas@0
   228
| value   | Value user has supplied via form |
colas@0
   229
colas@0
   230
---+++ Recommended Sequence
colas@0
   231
colas@0
   232
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:
colas@0
   233
colas@0
   234
   * form fields remain in the order they are defined
colas@0
   235
   * the =diff= function output appears in a logical order
colas@0
   236
colas@0
   237
The recommended sequence is:
colas@0
   238
colas@0
   239
   * =META:TOPICINFO=
colas@0
   240
   * =META:TOPICPARENT= (optional)
colas@0
   241
   * text of topic
colas@0
   242
   * =META:TOPICMOVED= (optional)
colas@0
   243
   * =META:FILEATTACHMENT= (0 or more entries)
colas@0
   244
   * =META:FORM= (optional)
colas@0
   245
   * =META:FIELD= (0 or more entries; FORM required)
colas@0
   246
colas@0
   247
---++ Viewing Meta Data in Page Source
colas@0
   248
colas@0
   249
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>
colas@0
   250
colas@0
   251
#MetaDataRendering
colas@0
   252
---++ Rendering Meta Data
colas@0
   253
colas@0
   254
Meta Data is rendered with the %<nop>META% variable. This is mostly used in the =view=, =preview= and =edit= scripts.
colas@0
   255
colas@0
   256
You can render form fields in topic text by using the FORMFIELD variable. Example:%BR%
colas@0
   257
=%<nop>FORMFIELD{"TopicClassification"}%= %BR%
colas@0
   258
For details, see VarFORMFIELD.
colas@0
   259
colas@0
   260
Current support covers:
colas@0
   261
colas@0
   262
| *Variable usage:*   | *Comment:*  |
colas@0
   263
| =%<nop>META{"form"}%= | Show form data, see TWikiForms. |
colas@0
   264
| =%<nop>META{"formfield"}%= | Show form field value. Parameter: ==name="field_name"==. Example:%BR% =%<nop>META{ "formfield" name="TopicClassification" }%= |
colas@0
   265
| =%<nop>META{"attachments"}%= | Show attachments, except for hidden ones. Options: <br /> \
colas@0
   266
    ==all="on"==: Show all attachments, including hidden ones. |
colas@0
   267
| =%<nop>META{"moved"}%= | Details of any topic moves. |
colas@0
   268
| =%<nop>META{"parent"}%= | Show topic parent. Options: <br /> \
colas@0
   269
    ==dontrecurse="on"==: By default recurses up tree, at some cost. <br /> \
colas@0
   270
    ==nowebhome="on"==: Suppress <nop>%HOMETOPIC%. <br /> \
colas@0
   271
    ==prefix="..."==: Prefix for parents, only if there are parents, default =""=. <br /> \
colas@0
   272
    ==suffix="..."==: Suffix, only appears if there are parents, default =""=. <br /> \
colas@0
   273
    ==separator="..."==: Separator between parents, default is =" &gt; "=. |
colas@0
   274
colas@0
   275
__Note:__ SEARCH can also be used to render meta data, see examples in FormattedSearch and SearchPatternCookbook.
colas@0
   276
colas@0
   277
__Related Topics:__ DeveloperDocumentationCategory, UserDocumentationCategory
colas@0
   278
colas@0
   279
@
colas@0
   280
colas@0
   281
colas@0
   282
1.19
colas@0
   283
log
colas@0
   284
@buildrelease
colas@0
   285
@
colas@0
   286
text
colas@0
   287
@d1 1
colas@0
   288
a1 2
colas@0
   289
%META:TOPICINFO{author="TWikiContributor" date="1168737391" format="1.1" version="19"}%
colas@0
   290
%TOC%
colas@0
   291
d4 3
colas@0
   292
a6 1
colas@0
   293
---# TWiki Meta Data
colas@0
   294
d8 1
colas@0
   295
a8 1
colas@0
   296
_Additional topic data, program-generated or from TWikiForms, is stored in =META= variable name/value pairs_
colas@0
   297
d12 5
colas@0
   298
a16 1
colas@0
   299
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.  
colas@0
   300
d27 1
colas@0
   301
a27 1
colas@0
   302
   * =\n= (new line) is represented in values by =%<nop>_<nop>N_<nop>= and ="= (double-quotes) by =%<nop>_Q_%=.
colas@0
   303
a158 5
colas@0
   304
---++ Known Issues
colas@0
   305
colas@0
   306
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.
colas@0
   307
colas@0
   308
colas@0
   309
a160 1
colas@0
   310
-- __Contributors:__ TWiki:Main.JohnTalintyre, TWiki:Main.MikeMannix, TWiki:Main.PeterThoeny, TWiki:Main.CrawfordCurrie
colas@0
   311
@
colas@0
   312
colas@0
   313
colas@0
   314
1.18
colas@0
   315
log
colas@0
   316
@buildrelease
colas@0
   317
@
colas@0
   318
text
colas@0
   319
@d1 1
colas@0
   320
a1 1
colas@0
   321
%META:TOPICINFO{author="TWikiContributor" date="1111929255" format="1.0" version="18"}%
colas@0
   322
d24 1
colas@0
   323
a24 1
colas@0
   324
<blockquote style="background-color:#f0f0f0">
colas@0
   325
d71 1
colas@0
   326
a71 1
colas@0
   327
| 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. |
colas@0
   328
d152 2
colas@0
   329
d161 1
colas@0
   330
a161 1
colas@0
   331
colas@0
   332
@
colas@0
   333
colas@0
   334
colas@0
   335
1.17
colas@0
   336
log
colas@0
   337
@buildrelease
colas@0
   338
@
colas@0
   339
text
colas@0
   340
@d1 1
colas@0
   341
a1 1
colas@0
   342
%META:TOPICINFO{author="TWikiContributor" date="1111929255" format="1.0" version="17"}%
colas@0
   343
d15 2
colas@0
   344
a16 2
colas@0
   345
	* Format is the same as in TWikiVariables, except all fields have a key.
colas@0
   346
		* =%<nop>META:&lt;type&gt;{key1="value1" key2="value2" ...}%=
colas@0
   347
d18 1
colas@0
   348
a18 1
colas@0
   349
	* 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).
colas@0
   350
d20 1
colas@0
   351
a20 1
colas@0
   352
	* Each meta variable is on one line.
colas@0
   353
d22 1
colas@0
   354
a22 1
colas@0
   355
	* =\n= (new line) is represented in values by =%<nop>_<nop>N_<nop>= and ="= (double-quotes) by =%<nop>_Q_%=.
colas@0
   356
d28 1
colas@0
   357
a28 1
colas@0
   358
	text of the topic
colas@0
   359
d30 1
colas@0
   360
a30 1
colas@0
   361
	by="TopicMoverWikiName" date="976762680"}%
colas@0
   362
d46 1
colas@0
   363
a46 1
colas@0
   364
|  *Key*  |  *Comment*			 |
colas@0
   365
d48 1
colas@0
   366
a48 1
colas@0
   367
| date	 | integer, unix time, seconds since start 1970 |
colas@0
   368
d58 1
colas@0
   369
a58 1
colas@0
   370
|  *Key*  |  *Comment*			 |
colas@0
   371
d60 2
colas@0
   372
a61 2
colas@0
   373
| to	| Full name, i.e., web.topic |
colas@0
   374
| by	| Who did it, is the REMOTE_USER, not <nop>WikiName |
colas@0
   375
d65 2
colas@0
   376
a66 2
colas@0
   377
	* at present version number is not supported directly, it can be inferred from the RCS history.
colas@0
   378
	* there is only one META:TOPICMOVED in a topic, older move information can be found in the RCS history.
colas@0
   379
d70 2
colas@0
   380
a71 2
colas@0
   381
| *Key*	| *Comment* |
colas@0
   382
| 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. |
colas@0
   383
d75 2
colas@0
   384
a76 2
colas@0
   385
| *Key*	| *Comment* |
colas@0
   386
| name	 | Name of file, no path.  Must be unique within topic |
colas@0
   387
d78 4
colas@0
   388
a81 4
colas@0
   389
| path	 | Full path file was loaded from |
colas@0
   390
| size	 | In bytes |
colas@0
   391
| date	 | integer, unix time, seconds since start 1970 |
colas@0
   392
| user	 | the REMOTE_USER, not <nop>WikiName |
colas@0
   393
d83 1
colas@0
   394
a83 1
colas@0
   395
| attr	 | =h= if hidden, optional |
colas@0
   396
d87 1
colas@0
   397
a87 1
colas@0
   398
| *Key*	| *Comment* |
colas@0
   399
d89 2
colas@0
   400
a90 2
colas@0
   401
| movedby	| the REMOTE_USER, not <nop>WikiName |
colas@0
   402
| movedto	| full topic name - web.topic |
colas@0
   403
d95 2
colas@0
   404
a96 2
colas@0
   405
| *Key*	| *Comment* |
colas@0
   406
| 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 |
colas@0
   407
d102 4
colas@0
   408
a105 4
colas@0
   409
| *Key*	| *Name*	|
colas@0
   410
| name	 | Ties to entry in TWikiForms template, is title with all bar alphanumerics and . removed |
colas@0
   411
| title	| Full text from TWikiForms template |
colas@0
   412
| value	| Value user has supplied via form |
colas@0
   413
d111 2
colas@0
   414
a112 2
colas@0
   415
	* form fields remain in the order they are defined
colas@0
   416
	* the =diff= function output appears in a logical order
colas@0
   417
d116 7
colas@0
   418
a122 7
colas@0
   419
	* =META:TOPICINFO=
colas@0
   420
	* =META:TOPICPARENT= (optional)
colas@0
   421
	* text of topic
colas@0
   422
	* =META:TOPICMOVED= (optional)
colas@0
   423
	* =META:FILEATTACHMENT= (0 or more entries)
colas@0
   424
	* =META:FORM= (optional)
colas@0
   425
	* =META:FIELD= (0 or more entries; FORM required)
colas@0
   426
d135 1
colas@0
   427
a135 1
colas@0
   428
For details, see TWikiVariables#VarFORMFIELD.
colas@0
   429
d139 1
colas@0
   430
a139 1
colas@0
   431
| *Variable usage:*	| *Comment:*  |
colas@0
   432
d143 1
colas@0
   433
a143 1
colas@0
   434
	 ==all="on"==: Show all attachments, including hidden ones. |
colas@0
   435
d146 5
colas@0
   436
a150 5
colas@0
   437
	 ==dontrecurse="on"==: By default recurses up tree, at some cost. <br /> \
colas@0
   438
	 ==nowebhome="on"==: Suppress <nop>%HOMETOPIC%. <br /> \
colas@0
   439
	 ==prefix="..."==: Prefix for parents, only if there are parents, default =""=. <br /> \
colas@0
   440
	 ==suffix="..."==: Suffix, only appears if there are parents, default =""=. <br /> \
colas@0
   441
	 ==separator="..."==: Separator between parents, default is =" &gt; "=. |
colas@0
   442
@
colas@0
   443
colas@0
   444
colas@0
   445
1.16
colas@0
   446
log
colas@0
   447
@none
colas@0
   448
@
colas@0
   449
text
colas@0
   450
@d1 1
colas@0
   451
a1 2
colas@0
   452
%META:TOPICINFO{author="PeterThoeny" date="1092563687" format="1.0" version="1.16"}%
colas@0
   453
%META:TOPICPARENT{name="WebHome"}%
colas@0
   454
d4 1
colas@0
   455
a4 1
colas@0
   456
#MetaDataDefinition
colas@0
   457
d27 1
colas@0
   458
a27 1
colas@0
   459
%<nop>META:TOPICINFO{version="1.6" date="976762663" author="PeterThoeny" format="1.0"}%
colas@0
   460
d30 1
colas@0
   461
a30 1
colas@0
   462
	by="JohnTalintyre" date="976762680"}%
colas@0
   463
d126 1
colas@0
   464
a126 1
colas@0
   465
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>
colas@0
   466
d133 3
colas@0
   467
a135 1
colas@0
   468
__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.
colas@0
   469
d142 1
colas@0
   470
a142 1
colas@0
   471
| =%<nop>META{"attachments"}%= | Show attachments, except for hidden ones. Options: <br > \
colas@0
   472
d156 3
colas@0
   473
a158 3
colas@0
   474
-- TWiki:Main.JohnTalintyre - 29 Aug 2001 %BR%
colas@0
   475
-- TWiki:Main.MikeMannix - 03 Dec 2001 %BR%
colas@0
   476
-- TWiki:Main.PeterThoeny - 15 Aug 2004
colas@0
   477
@
colas@0
   478
colas@0
   479
colas@0
   480
1.15
colas@0
   481
log
colas@0
   482
@none
colas@0
   483
@
colas@0
   484
text
colas@0
   485
@d1 1
colas@0
   486
a1 1
colas@0
   487
%META:TOPICINFO{author="PeterThoeny" date="1074997449" format="1.0" version="1.15"}%
colas@0
   488
d3 156
colas@0
   489
a158 155
colas@0
   490
%TOC%
colas@0
   491
%STARTINCLUDE%
colas@0
   492
#MetaDataDefinition
colas@0
   493
---# TWiki Meta Data
colas@0
   494
colas@0
   495
_Additional topic data, program-generated or from TWikiForms, is stored in =META= variable name/value pairs_
colas@0
   496
colas@0
   497
---++ Overview
colas@0
   498
colas@0
   499
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.  
colas@0
   500
colas@0
   501
---++ Meta Data Syntax
colas@0
   502
colas@0
   503
	* Format is the same as in TWikiVariables, except all fields have a key.
colas@0
   504
		* =%<nop>META:&lt;type&gt;{key1="value1" key2="value2" ...}%=
colas@0
   505
colas@0
   506
	* 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).
colas@0
   507
colas@0
   508
	* Each meta variable is on one line.
colas@0
   509
colas@0
   510
	* =\n= (new line) is represented in values by =%<nop>_<nop>N_<nop>= and ="= (double-quotes) by =%<nop>_Q_%=.
colas@0
   511
colas@0
   512
<blockquote style="background-color:#f0f0f0">
colas@0
   513
*Example of Format*
colas@0
   514
<pre>
colas@0
   515
%<nop>META:TOPICINFO{version="1.6" date="976762663" author="PeterThoeny" format="1.0"}%
colas@0
   516
	text of the topic
colas@0
   517
%<nop>META:TOPICMOVED{from="Codev.OldName" to="Codev.NewName"
colas@0
   518
	by="JohnTalintyre" date="976762680"}%
colas@0
   519
%<nop>META:TOPICPARENT{name="NavigationByTopicContext"}%
colas@0
   520
%<nop>META:FILEATTACHMENT{name="Sample.txt" version="1.3" ... }%
colas@0
   521
%<nop>META:FILEATTACHMENT{name="Smile.gif" version="1.1" ... }%
colas@0
   522
%<nop>META:FORM{name="WebFormTemplate"}%
colas@0
   523
%<nop>META:FIELD{name="OperatingSystem" value="OsWin"}%
colas@0
   524
%<nop>META:FIELD{name="TopicClassification" value="PublicFAQ"}%
colas@0
   525
</pre>
colas@0
   526
</blockquote>
colas@0
   527
colas@0
   528
---++ Meta Data Specifications
colas@0
   529
colas@0
   530
The current version of Meta Data is 1.0, with support for the following variables.
colas@0
   531
colas@0
   532
---+++ META:TOPICINFO
colas@0
   533
colas@0
   534
|  *Key*  |  *Comment*			 |
colas@0
   535
| version | Same as RCS version |
colas@0
   536
| date	 | integer, unix time, seconds since start 1970 |
colas@0
   537
| author  | last to change topic, is the REMOTE_USER |
colas@0
   538
| format  | Format of this topic, will be used for automatic format conversion |
colas@0
   539
colas@0
   540
---+++ META:TOPICMOVED
colas@0
   541
colas@0
   542
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.
colas@0
   543
colas@0
   544
=%<nop>META:TOPICMOVED{from="Codev.OldName" to="Codev.NewName" by="talintj" date="976762680"}%=
colas@0
   545
colas@0
   546
|  *Key*  |  *Comment*			 |
colas@0
   547
| from | Full name, i.e., web.topic |
colas@0
   548
| to	| Full name, i.e., web.topic |
colas@0
   549
| by	| Who did it, is the REMOTE_USER, not <nop>WikiName |
colas@0
   550
| date | integer, unix time, seconds since start 1970 |
colas@0
   551
colas@0
   552
Notes: 
colas@0
   553
	* at present version number is not supported directly, it can be inferred from the RCS history.
colas@0
   554
	* there is only one META:TOPICMOVED in a topic, older move information can be found in the RCS history.
colas@0
   555
 
colas@0
   556
---+++ META:TOPICPARENT
colas@0
   557
colas@0
   558
| *Key*	| *Comment* |
colas@0
   559
| 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. |
colas@0
   560
colas@0
   561
---+++ META:FILEATTACHMENT
colas@0
   562
colas@0
   563
| *Key*	| *Comment* |
colas@0
   564
| name	 | Name of file, no path.  Must be unique within topic |
colas@0
   565
| version | Same as RCS revision  |
colas@0
   566
| path	 | Full path file was loaded from |
colas@0
   567
| size	 | In bytes |
colas@0
   568
| date	 | integer, unix time, seconds since start 1970 |
colas@0
   569
| user	 | the REMOTE_USER, not <nop>WikiName |
colas@0
   570
| comment | As supplied when file uploaded |
colas@0
   571
| attr	 | =h= if hidden, optional |
colas@0
   572
colas@0
   573
Extra fields that are added if an attachment is moved:
colas@0
   574
colas@0
   575
| *Key*	| *Comment* |
colas@0
   576
| movedfrom | full topic name - web.topic |
colas@0
   577
| movedby	| the REMOTE_USER, not <nop>WikiName |
colas@0
   578
| movedto	| full topic name - web.topic |
colas@0
   579
| moveddate | integer, unix time, seconds since start 1970 |
colas@0
   580
colas@0
   581
---+++ META:FORM
colas@0
   582
colas@0
   583
| *Key*	| *Comment* |
colas@0
   584
| 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 |
colas@0
   585
colas@0
   586
---+++ META:FIELD
colas@0
   587
colas@0
   588
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.
colas@0
   589
colas@0
   590
| *Key*	| *Name*	|
colas@0
   591
| name	 | Ties to entry in TWikiForms template, is title with all bar alphanumerics and . removed |
colas@0
   592
| title	| Full text from TWikiForms template |
colas@0
   593
| value	| Value user has supplied via form |
colas@0
   594
colas@0
   595
---+++ Recommended Sequence
colas@0
   596
colas@0
   597
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:
colas@0
   598
colas@0
   599
	* form fields remain in the order they are defined
colas@0
   600
	* the =diff= function output appears in a logical order
colas@0
   601
colas@0
   602
The recommended sequence is:
colas@0
   603
colas@0
   604
	* META:TOPICINFO
colas@0
   605
	* =text of topic=
colas@0
   606
	* META:TOPICMOVED (optional)
colas@0
   607
	* META:TOPICPARENT (optional)
colas@0
   608
	* META:FILEATTACHMENT (0 or more entries)
colas@0
   609
	* META:FORM (optional)
colas@0
   610
	* META:FIELD (0 or more entries; FORM required)
colas@0
   611
colas@0
   612
---++ Viewing Meta Data in Page Source
colas@0
   613
colas@0
   614
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>
colas@0
   615
colas@0
   616
#MetaDataRendering
colas@0
   617
---++ Rendering Meta Data
colas@0
   618
colas@0
   619
Meta Data is rendered with the %<nop>META% variable. This is mostly used in the =view=, =preview= and =edit= scripts.
colas@0
   620
colas@0
   621
__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.
colas@0
   622
colas@0
   623
Current support covers:
colas@0
   624
colas@0
   625
| *Variable usage:*	| *Comment:*  |
colas@0
   626
| =%<nop>META{"form"}%= | Show form data, see TWikiForms. |
colas@0
   627
| =%<nop>META{"formfield"}%= | Show form field value. Parameter: ==name="field_name"==. Example:%BR% =%<nop>META{ "formfield" name="TopicClassification" }%= |
colas@0
   628
| =%<nop>META{"attachments"}%= | Show attachments, except for hidden ones. Options: <br > \
colas@0
   629
	 ==all="on"==: Show all attachments, including hidden ones. |
colas@0
   630
| =%<nop>META{"moved"}%= | Details of any topic moves. |
colas@0
   631
| =%<nop>META{"parent"}%= | Show topic parent. Options: <br /> \
colas@0
   632
	 ==dontrecurse="on"==: By default recurses up tree, at some cost. <br /> \
colas@0
   633
	 ==nowebhome="on"==: Suppress <nop>%HOMETOPIC%. <br /> \
colas@0
   634
	 ==prefix="..."==: Prefix for parents, only if there are parents, default =""=. <br /> \
colas@0
   635
	 ==suffix="..."==: Suffix, only appears if there are parents, default =""=. <br /> \
colas@0
   636
	 ==separator="..."==: Separator between parents, default is =" &gt; "=. |
colas@0
   637
colas@0
   638
---++ Known Issues
colas@0
   639
colas@0
   640
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.
colas@0
   641
colas@0
   642
-- TWiki:Main.JohnTalintyre - 29 Aug 2001 <br />
colas@0
   643
-- TWiki:Main.MikeMannix - 03 Dec 2001 <br />
colas@0
   644
-- TWiki:Main.PeterThoeny - 10 Jan 2002
colas@0
   645
@
colas@0
   646
colas@0
   647
colas@0
   648
1.14
colas@0
   649
log
colas@0
   650
@none
colas@0
   651
@
colas@0
   652
text
colas@0
   653
@d1 1
colas@0
   654
a1 1
colas@0
   655
%META:TOPICINFO{author="PeterThoeny" date="1074237044" format="1.0" version="1.14"}%
colas@0
   656
d49 1
colas@0
   657
a49 1
colas@0
   658
| date	 | integer, unx time, seconds since start 1970 |
colas@0
   659
d63 1
colas@0
   660
a63 1
colas@0
   661
| date | integer, unx time, seconds since start 1970 |
colas@0
   662
d81 1
colas@0
   663
a81 1
colas@0
   664
| date	 | integer, unx time, seconds since start 1970 |
colas@0
   665
d92 1
colas@0
   666
a92 1
colas@0
   667
| moveddate | integer, unx time, seconds since start 1970 |
colas@0
   668
@
colas@0
   669
colas@0
   670
colas@0
   671
1.13
colas@0
   672
log
colas@0
   673
@none
colas@0
   674
@
colas@0
   675
text
colas@0
   676
@d1 1
colas@0
   677
a1 1
colas@0
   678
%META:TOPICINFO{author="PeterThoeny" date="1059252743" format="1.0" version="1.13"}%
colas@0
   679
d155 3
colas@0
   680
a157 3
colas@0
   681
-- JohnTalintyre - 29 Aug 2001 <br />
colas@0
   682
-- MikeMannix - 03 Dec 2001 <br />
colas@0
   683
-- Main.PeterThoeny - 10 Jan 2002
colas@0
   684
@
colas@0
   685
colas@0
   686
colas@0
   687
1.12
colas@0
   688
log
colas@0
   689
@none
colas@0
   690
@
colas@0
   691
text
colas@0
   692
@d1 1
colas@0
   693
a1 1
colas@0
   694
%META:TOPICINFO{author="PeterThoeny" date="1055971140" format="1.0" version="1.12"}%
colas@0
   695
d72 1
colas@0
   696
a72 1
colas@0
   697
| 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. |
colas@0
   698
@
colas@0
   699
colas@0
   700
colas@0
   701
1.11
colas@0
   702
log
colas@0
   703
@none
colas@0
   704
@
colas@0
   705
text
colas@0
   706
@d1 1
colas@0
   707
a1 1
colas@0
   708
%META:TOPICINFO{author="PeterThoeny" date="1039591800" format="1.0" version="1.11"}%
colas@0
   709
d134 2
colas@0
   710
d140 1
colas@0
   711
@
colas@0
   712
colas@0
   713
colas@0
   714
1.10
colas@0
   715
log
colas@0
   716
@none
colas@0
   717
@
colas@0
   718
text
colas@0
   719
@d1 1
colas@0
   720
a1 1
colas@0
   721
%META:TOPICINFO{author="MikeMannix" date="1010877833" format="1.0" version="1.10"}%
colas@0
   722
d48 4
colas@0
   723
a51 4
colas@0
   724
	| version | Same as RCS version |
colas@0
   725
	| date	 | integer, unx time, seconds since start 1970 |
colas@0
   726
	| author  | last to change topic, is the REMOTE_USER |
colas@0
   727
	| format  | Format of this topic, will be used for automatic format conversion |
colas@0
   728
d60 4
colas@0
   729
a63 4
colas@0
   730
	| from | Full name i.e. web.topic |
colas@0
   731
	| to	| Full name i.e. web.topic |
colas@0
   732
	| by	| Who did it, is the REMOTE_USER, not <nop>WikiName |
colas@0
   733
	| date | integer, unx time, seconds since start 1970 |
colas@0
   734
d72 1
colas@0
   735
a72 1
colas@0
   736
	| 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. |
colas@0
   737
d77 8
colas@0
   738
a84 8
colas@0
   739
	| name	 | Name of file, no path.  Must be unique within topic |
colas@0
   740
	| version | Same as RCS revision  |
colas@0
   741
	| path	 | Full path file was loaded from |
colas@0
   742
	| size	 | In bytes |
colas@0
   743
	| date	 | integer, unx time, seconds since start 1970 |
colas@0
   744
	| user	 | the REMOTE_USER, not <nop>WikiName |
colas@0
   745
	| comment | As supplied when file uploaded |
colas@0
   746
	| attr	 | =h= if hidden, optional |
colas@0
   747
d89 4
colas@0
   748
a92 4
colas@0
   749
	| movedfrom | full topic name - web.topic |
colas@0
   750
	| movedby	| the REMOTE_USER, not <nop>WikiName |
colas@0
   751
	| movedto	| full topic name - web.topic |
colas@0
   752
	| moveddate | integer, unx time, seconds since start 1970 |
colas@0
   753
d97 1
colas@0
   754
a97 1
colas@0
   755
	| 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 |
colas@0
   756
d103 4
colas@0
   757
a106 4
colas@0
   758
	| *Key*	| *Name*	|
colas@0
   759
	| name	 | Ties to entry in TWikiForms template, is title with all bar alphanumerics and . removed |
colas@0
   760
	| title	| Full text from TWikiForms template |
colas@0
   761
	| value	| Value user has supplied via form |
colas@0
   762
d127 1
colas@0
   763
a127 1
colas@0
   764
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>
colas@0
   765
d136 3
colas@0
   766
a138 3
colas@0
   767
  | *Variable usage:*	| *Comment:*  |
colas@0
   768
  | =%<nop>META{"form"}%= | Show form data, see TWikiForms. |
colas@0
   769
  | =%<nop>META{"attachments"}%= | Show attachments, except for hidden ones. Options: <br > \
colas@0
   770
d140 2
colas@0
   771
a141 2
colas@0
   772
  | =%<nop>META{"moved"}%= | Details of any topic moves. |
colas@0
   773
  | =%<nop>META{"parent"}%= | Show topic parent. Options: <br /> \
colas@0
   774
d154 1
colas@0
   775
a154 1
colas@0
   776
-- Main.PeterThoeny - 10 Jan 2002
colas@0
   777
@
colas@0
   778
colas@0
   779
colas@0
   780
1.9
colas@0
   781
log
colas@0
   782
@none
colas@0
   783
@
colas@0
   784
text
colas@0
   785
@d1 1
colas@0
   786
a1 1
colas@0
   787
%META:TOPICINFO{author="MikeMannix" date="1007383980" format="1.0" version="1.9"}%
colas@0
   788
d137 10
colas@0
   789
a146 11
colas@0
   790
  | %<nop>META{"form"}% | Show form data, see TWikiForms |
colas@0
   791
  | %<nop>META{"attachments"}% | Show attachments, exclude hidden |
colas@0
   792
  | Options for [[FileAttachments][Attachments]]: | |
colas@0
   793
  | all="on" | Show ALL attachments (including hidden) |
colas@0
   794
  | %<nop>META{"moved"}% | Details of any topic moves |
colas@0
   795
  | %<nop>META{"parent [options]"}% | Show topic parent |
colas@0
   796
  | Options for parent: | |
colas@0
   797
  | dontrecurse="on" | By default recurses up tree, at some cost |
colas@0
   798
  | prefix="..." | Prefix for parents, only if there are parents; default "" |
colas@0
   799
  | suffix="..." | Suffix, only appears if there are parents; default "" |
colas@0
   800
  | separator="..." | Separator between parents, default is " > " |
colas@0
   801
d153 2
colas@0
   802
a154 1
colas@0
   803
-- MikeMannix - 03 Dec 2001	
colas@0
   804
@
colas@0
   805
colas@0
   806
colas@0
   807
1.8
colas@0
   808
log
colas@0
   809
@none
colas@0
   810
@
colas@0
   811
text
colas@0
   812
@d1 1
colas@0
   813
a1 1
colas@0
   814
%META:TOPICINFO{author="MikeMannix" date="1002008290" format="1.0" version="1.8"}%
colas@0
   815
d6 1
colas@0
   816
a6 1
colas@0
   817
---# Appendix B: TWiki Meta Data
colas@0
   818
d8 1
colas@0
   819
a8 1
colas@0
   820
_Additional topic data, not editable from main freeform text box, stored in =META= variable name/value pairs_
colas@0
   821
d12 1
colas@0
   822
a12 1
colas@0
   823
<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.
colas@0
   824
d154 1
colas@0
   825
a154 1
colas@0
   826
-- MikeMannix - 02 Oct 2001 <br />
colas@0
   827
@
colas@0
   828
colas@0
   829
colas@0
   830
1.7
colas@0
   831
log
colas@0
   832
@none
colas@0
   833
@
colas@0
   834
text
colas@0
   835
@d1 1
colas@0
   836
a1 1
colas@0
   837
%META:TOPICINFO{author="MikeMannix" date="1000619828" format="1.0" version="1.7"}%
colas@0
   838
d6 1
colas@0
   839
a6 1
colas@0
   840
---# TWiki Meta Data
colas@0
   841
d153 2
colas@0
   842
a154 1
colas@0
   843
-- JohnTalintyre - 29 Aug 2001 <br />
colas@0
   844
@
colas@0
   845
colas@0
   846
colas@0
   847
1.6
colas@0
   848
log
colas@0
   849
@none
colas@0
   850
@
colas@0
   851
text
colas@0
   852
@d1 1
colas@0
   853
a1 1
colas@0
   854
%META:TOPICINFO{author="PeterThoeny" date="1000458670" format="1.0" version="1.6"}%
colas@0
   855
d8 1
colas@0
   856
a8 1
colas@0
   857
_Topic data not editable from main freeform text box, stored in name/value =META= variable pairs_
colas@0
   858
d153 1
colas@0
   859
a153 1
colas@0
   860
-- JohnTalintyre - 29 Aug 2001 <br />
colas@0
   861
@
colas@0
   862
colas@0
   863
colas@0
   864
1.5
colas@0
   865
log
colas@0
   866
@none
colas@0
   867
@
colas@0
   868
text
colas@0
   869
@d1 1
colas@0
   870
a1 1
colas@0
   871
%META:TOPICINFO{author="MikeMannix" date="1000277787" format="1.0" version="1.5"}%
colas@0
   872
a2 2
colas@0
   873
%INCLUDE{"UtilTempDocNote"}%
colas@0
   874
colas@0
   875
d12 1
colas@0
   876
a12 1
colas@0
   877
<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.
colas@0
   878
d16 2
colas@0
   879
a17 2
colas@0
   880
	* Format is the same as in [[TWikiDocumentation#TWiki_Variables][TWikiVariables]], except all fields have a key.
colas@0
   881
		* %<nop>META:&lt;type&gt;{key1="value1" [key2="value2" [...]]}%
colas@0
   882
d27 1
colas@0
   883
a27 1
colas@0
   884
<verbatim>
colas@0
   885
d30 1
colas@0
   886
a30 1
colas@0
   887
%<nop>META:TOPICMOVED{from="Codev.OldName" to="CoDev.NewName"
colas@0
   888
d38 1
colas@0
   889
a38 1
colas@0
   890
</verbatim>
colas@0
   891
d41 1
colas@0
   892
a41 1
colas@0
   893
---+++ Specifications
colas@0
   894
d45 1
colas@0
   895
a45 1
colas@0
   896
---++++ TOPICINFO
colas@0
   897
d47 5
colas@0
   898
a51 5
colas@0
   899
	|  *Key*  |  *Comment*			 |
colas@0
   900
	| version	| Same as RCS version |
colas@0
   901
	| date		| integer, unx time, seconds since start 1970 |
colas@0
   902
	| author	 | last to change topic, is the REMOTE_USER |
colas@0
   903
	| format	 | Format of this topic, will be used for automatic format conversion |
colas@0
   904
d53 1
colas@0
   905
a53 1
colas@0
   906
---++++ TOPICMOVED
colas@0
   907
d55 1
colas@0
   908
a55 1
colas@0
   909
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.
colas@0
   910
d57 1
colas@0
   911
a57 1
colas@0
   912
%<nop>META:TOPICMOVED{from="Codev.OldName" to="CoDev.NewName" by="talintj" date="976762680"}%
colas@0
   913
d59 5
colas@0
   914
a63 5
colas@0
   915
	|  *Key*  |  *Comment*			 |
colas@0
   916
	| from		| Full name i.e. web.topic |
colas@0
   917
	| to		  | Full name i.e. web.topic |
colas@0
   918
	| by		  | Who did it, is the REMOTE_USER, not <nop>WikiName |
colas@0
   919
	| date		| integer, unx time, seconds since start 1970 |
colas@0
   920
d69 1
colas@0
   921
a69 1
colas@0
   922
---++++ TOPICPARENT
colas@0
   923
d71 1
colas@0
   924
a71 1
colas@0
   925
	| *Key*	| *Comment* |
colas@0
   926
d74 1
colas@0
   927
a74 1
colas@0
   928
---++++ FILEATTACHMENT
colas@0
   929
d76 1
colas@0
   930
a76 1
colas@0
   931
	| *Key*	| *Comment* |
colas@0
   932
d88 1
colas@0
   933
d94 1
colas@0
   934
a94 1
colas@0
   935
---++++ FORM
colas@0
   936
d96 2
colas@0
   937
a97 2
colas@0
   938
	| *Key*	| *Comment* |
colas@0
   939
	| 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 |
colas@0
   940
d99 1
colas@0
   941
a99 1
colas@0
   942
---++++ FIELD
colas@0
   943
d101 1
colas@0
   944
a101 1
colas@0
   945
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.
colas@0
   946
d104 2
colas@0
   947
a105 2
colas@0
   948
	| name	 | Ties to entry in [[TWikiDocumentation#Form_Template][Form Template]], is title with all bar alphanumerics and . removed |
colas@0
   949
	| title	| Full text from [[TWikiDocumentation#Form_Template][Form Template]] |
colas@0
   950
d117 1
colas@0
   951
a117 1
colas@0
   952
	* TOPICINFO
colas@0
   953
d119 5
colas@0
   954
a123 5
colas@0
   955
	* TOPICMOVED (optional)
colas@0
   956
	* TOPICPARENT (optional)
colas@0
   957
	* FILEATTACHMENT (0 or more entries)
colas@0
   958
	* FORM (optional)
colas@0
   959
	* FIELD (0 or more entries; FORM required)
colas@0
   960
d137 1
colas@0
   961
a137 1
colas@0
   962
  | %<nop>META{"form"}% | Show form data, see [[TWikiDocumentation#Form_Templates][Form Templates]] |
colas@0
   963
d147 1
colas@0
   964
a147 5
colas@0
   965
  | seperator="..." | Separator between parents, default is " > " |
colas@0
   966
colas@0
   967
	* *Future Development:* There are numerous development directions and specific features to consider. A couple of obvious possibilities:	
colas@0
   968
		* Rendering to formats other than tables: bullet lists, formatted body text; 
colas@0
   969
		* Specifying templates to be used for rendering.
colas@0
   970
@
colas@0
   971
colas@0
   972
colas@0
   973
1.4
colas@0
   974
log
colas@0
   975
@none
colas@0
   976
@
colas@0
   977
text
colas@0
   978
@d1 1
colas@0
   979
a1 1
colas@0
   980
%META:TOPICINFO{author="MikeMannix" date="999959425" format="1.0" version="1.4"}%
colas@0
   981
d3 2
colas@0
   982
@
colas@0
   983
colas@0
   984
colas@0
   985
1.3
colas@0
   986
log
colas@0
   987
@none
colas@0
   988
@
colas@0
   989
text
colas@0
   990
@d1 1
colas@0
   991
a1 1
colas@0
   992
%META:TOPICINFO{author="MikeMannix" date="999868902" format="1.0" version="1.3"}%
colas@0
   993
d109 6
colas@0
   994
a114 7
colas@0
   995
There no absolute need for meta data variables to be in a specific order, however, it does for the following reasons:
colas@0
   996
	* Keep (form) fields in the order they are defined
colas@0
   997
	* Allow diff command to give output in a logically sensible order
colas@0
   998
colas@0
   999
These could be done in other ways, but this adds complexity
colas@0
  1000
	* Order fields - definition could be read on each rendering (expensive)
colas@0
  1001
	* Diff - render data before doing diff, has something to offer, but not likely to be available for next TWiki release
colas@0
  1002
a115 1
colas@0
  1003
So the order is:
colas@0
  1004
d117 6
colas@0
  1005
a122 6
colas@0
  1006
	* text of topic
colas@0
  1007
	* TOPICMOVED - optional
colas@0
  1008
	* TOPICPARENT - optional
colas@0
  1009
	* FILEATTACHMENT - 0 or more entries
colas@0
  1010
	* FORM - optional
colas@0
  1011
	* FIELD - 0 or more entries (FORM required)
colas@0
  1012
d131 1
colas@0
  1013
a131 1
colas@0
  1014
Meta Data is rendered with the %<nop>META% variable. This is mostly used in the ==view==, ==preview== and ==edit== scripts.
colas@0
  1015
d133 1
colas@0
  1016
a133 1
colas@0
  1017
Current support is fairly basic:
colas@0
  1018
d138 1
colas@0
  1019
a138 1
colas@0
  1020
  | Options for attachments: | |
colas@0
  1021
d154 1
colas@0
  1022
a154 1
colas@0
  1023
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.
colas@0
  1024
@
colas@0
  1025
colas@0
  1026
colas@0
  1027
1.2
colas@0
  1028
log
colas@0
  1029
@none
colas@0
  1030
@
colas@0
  1031
text
colas@0
  1032
@d1 1
colas@0
  1033
a1 1
colas@0
  1034
%META:TOPICINFO{author="MikeMannix" date="999204627" format="1.0" version="1.2"}%
colas@0
  1035
d5 154
colas@0
  1036
a158 1
colas@0
  1037
%INCLUDE{"%TWIKIWEB%.MetaDataDefinition"}%
colas@0
  1038
@
colas@0
  1039
colas@0
  1040
colas@0
  1041
1.1
colas@0
  1042
log
colas@0
  1043
@none
colas@0
  1044
@
colas@0
  1045
text
colas@0
  1046
@d1 1
colas@0
  1047
a1 1
colas@0
  1048
%META:TOPICINFO{author="MikeMannix" date="999188491" format="1.0" version="1.1"}%
colas@0
  1049
a4 1
colas@0
  1050
---# TWiki Meta Data
colas@0
  1051
@