Dev Reorg


TWiki Category Table

What is a Category Table?

It is possible to add a Category Table to a netfrag.org 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 netfrag.org 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 netfrag.org 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:

<!--TWikiCat--> <h4> TWikiCategory </h4>
<table border="2" cellspacing="1" cellpadding="1">
%REPEAT%<tr>
<td valign="top" align="right"> %CATNAME%:  <br>%CATMODIFIER%</td><td>  %CATVALUE% </td>
</tr>%REPEAT%
</table><!--TWikiCat-->

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. <input type="hidden" name="someCategory" value="someValue">

Example (edit this page to see the source) :

-- RandyKramer - 26 Feb 2001
-- PeterThoeny? - 04 Mar 2001