**%\_N\_**
and '"' by **%\_Q\_%**
#### Logical order
There no absolute need for meta data to be in a specific order, however, it does for the following reasons:
* Keep (form) fields in the order they are defined
* Allow diff command to give output in a logically sensible order
These could be done in other ways, but this adds complexity
* Order fields - definition could be read on each rendering (expensive)
* Diff - render data before doing diff, has something to offer, but not likely to be available for next TWiki release
So the order is:
* TOPICINFO
* text of topic
* TOPICMOVED - optional
* TOPICPARENT - optional
* FILEATTACHMENT - 0 or more entries
* FORM - optional
* FIELD - 0 or more entries (FORM required)
#### Specification
##### TOPICINFO
Key | Comment |
---|---|
version | Same as RCS version |
date | integer, unx time, seconds since start 1970 |
author | last to change topic, is the REMOTE_USER |
format | Format of this topic, will be used for automatic format conversion |
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 |
date | integer, unx time, seconds since start 1970 |
Key | Comment |
---|---|
name | The topic from which this was created, Web Home? 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. |
Key | Comment |
---|---|
name | Name of file, no path. Must be unique within topic |
version | Same as RCS revision |
path | Full path file was loaded from |
size | In bytes |
date | integer, unx time, seconds since start 1970 |
user | the REMOTE_USER, not |
comment | As supplied when file uploaded |
attr | h if hidden, optional |
movedfrom | full topic name - web.topic |
movedby | the REMOTE_USER, not |
movedto | full topic name - web.topic |
moveddate | integer, unx time, seconds since start 1970 |
Key | Comment |
---|---|
name | A topic name - the topic is a Form Template?. Can optionally include the web name i.e. web.topic, but doesn't normally |
Key | Name |
---|---|
name | Ties to entry in Form Template?, is title with all bar alphanumerics and . removed |
title | Full text from Form Template? |
value | Value user has supplied via form |
**Raw Text**
link can be clicked to show the text of a topic (ie: as seen when editing). This is done by adding `raw=on` to URL. `raw=debug` shows the meta data as well as the topic data, ex: [debug view for this topic](%SCRIPTURLPATH%/view%SCRIPTSUFFIX%/%WEB%/%TOPIC%?raw=debug)
#### Future Plugins support
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.
### Meta Data Rendering
Various meta data can be stored in topics. The data is rendered using the %META% variable. This is mostly used in the `view`, `preview` and `edit` scripts.
Current support is fairly basic:
Variable usage: | Comment: |
---|---|
% |
Show form data, see Form Templates? |
% |
Show attachments, exclude hidden |
options for attachments: | |
all="on" | Show ALL attachments (including hidden) |
% |
Details of any topic moves |
% |
Show topic parent |
options for parent: | |
dontrecurse="on" | By default recurses up tree, at some cost |
prefix="..." | Prefix for parents, only if there are parents; default "" |
suffix="..." | Suffix, only appears if there are parents; default "" |
seperator="..." | Separator between parents, default is " > " |