**_What is a Category Table?_**
It is possible to add a Category Table to a %WIKITOOLNAME% web. It allows you to categorize and classify a topic, e.g. give some structure to the content of a web.
The Category Table is located at the end of a topic. Example:
When you edit the topic you see below the usual text area a table that includes widgets (controls) like drop-down menus, checkboxes, radio buttons, and text boxes. It makes it easy to provide keywords to categorize a topic. Example:
The format of the Category Table can be defined per %WIKITOOLNAME% web.
One sample application is a knowledge base for customer support. The web for customer support contains internal documents, FAQ entries and knowledge base entries. Topics are **_classified_** accordingly. In addition, FAQ entries and knowledge base entries can be **_categorized_** i.e. by the software product anf the operating system. For the operating system category, a checkbox contains OsSolaris, OsSunOS, OsHPUX and OsWin.
**_Hint:_** The topic classification can be used to do some automatic processing in the background. For example, a script could automatically publish the FAQ entries to your corporate web site, including FAQ index page and file attachments.
**_How to Define a Category Table_**
The Category Table is defined by some template files. To add a Category Table to your %WIKITOOLNAME% web you need to place the following three files into the `twiki/templates/{Yourweb}` directory:
* `twikicatitems.tmpl` : Defines the items in the table
* `twikicatedit.tmpl` : Defines the look of the table when editing a topic
* `twikicatview.tmpl` : Defines the look of the table when viewing a topic
**_Format of Category Definition Template File twikicatitems.tmpl_**
Valid lines:
select|{name}|{selSize}|{val1}|{val2}|{val3}...
checkbox|{name}|{checkFlag}|{itemsPerLine}|{val1}|{val2}|{val3}...
radio|{name}|{itemsPerLine}|{val1}|{val2}|{val3}...
text|{name}|{charSize}
# comments start with a # character
Explanation:
{name} name of tag
{selSize} vertical size of SELECT tag
{val1}|{val2}... values
{checkFlag} set to true for [Set] [Clear] buttons, else set to false
{itemsPerLine} input items per line before wrap around, 0 if no wrap around
{charSize} number of characters for text fields
**_Remark:_** Line `radio|UseCategory|0|Yes|No` has a special meaning. If present, it is possible to choose in "edit" if the category table is included in the topic or not
Example file:
radio|UseCategory|0|Yes|No, delete this category table
select|TopicClassification|1|Select one...|NoDisclosure|PublicSupported|PublicFAQ
checkbox|OperatingSystem|true|5|OsSolaris|OsSunOS|OsHPUX|OsWin
text|OsVersion|16
**_Format of twikicatedit.tmpl and twikicatview.tmpl_**
Use the example below and customize if needed. `twikicatedit.tmpl` and `twikicatview.tmpl` can be identical, but they do not have to be.
**_Attention:_** `` is needed at the beginning and end as markers. Do not delete them!
Example:
TWikiCategory
%REPEAT%
%CATNAME%: %CATMODIFIER%
%CATVALUE%
%REPEAT%
Above template files will result in the following category table when **_viewing_** a topic:
#### [TWikiCategory]()
Above template files will result in the following table when **_editing_** a topic:
**_Note:_** It is possible to force the values of a Category Table when creating a new topic. This is useful to create new topics using a form for the topic name. The default values of the Category Table can be specified as hidden fields if needed, i.e. ``
Example (edit this page to see the source) :
*
-- [[Main/PeterThoeny]] - 26 Feb 2001