## TWiki Category Table ### 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:
TopicClassification:
PublicFAQ
OperatingSystem:
OsSolaris
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:
UseCategory :
Yes    No, delete this category table   
TopicClassification :
OperatingSystem :
   
OsSolaris    OsSunOS    OsHPUX    OsWin   
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:_** **<!--TWikiCat-->** is needed at the beginning and end as markers. Do not delete them! Example:

TWikiCategory

%REPEAT%%REPEAT%
%CATNAME%:  
%CATMODIFIER%
  %CATVALUE%
Above template files will result in the following category table when **_viewing_** a topic: #### [TWikiCategory]()
TopicClassification:
PublicFAQ
OperatingSystem:
OsSolaris
OsVersion:
2.5 
Above template files will result in the following table when **_editing_** a topic:

TWikiCategory

UseCategory :
Yes    No, delete this category table   
TopicClassification :
OperatingSystem :
   
OsSolaris    OsSunOS    OsHPUX    OsWin   
OsVersion :
### Default Values for a Category Table It is possible to force the values of a Category Table when creating a new topic. You can define a default template to set the Category Table and/or specify individual values. #### Default Topic Template Whenever you create a new topic, the **twiki/templates/Webname/notedited.tmpl** file is used as the new topic template. To create this template, save a topic with the default text and the Category Table setting you need, then copy the content of the topic to the **notedited.tmpl** template (including the Category Table). Look also at the **twiki/templates/Know/notedited.tmpl** included in the distribution. #### Set Individual Category Table Values It is possible to set individual values of a Category Table when creating a new topic. This is useful when you have a form to create a new topic of a certain classification. The default values of the Category Table can be specified as hidden fields as needed, i.e. `` Example (edit this page to see the source) : *
New Public FAQ? topic:
-- [[RandyKramer]] - 26 Feb 2001
-- [[Main/PeterThoeny]] - 04 Mar 2001