Topics allow for flexible free format data, sometimes you want to ensure strucutre to some of the topic information, this can be done with Forms e.g. saying what type of topic it is (e.g. Bug, Feature, FAQ entry etc) and then filling in fields using dropdowns, radio buttons etc.
If forms are enabled for a Web and a topic has a form you will see it as a table when viewing the page. When you edit you will see the various edit controls below the normal text area. There will be a button at the top of the form marked Change which allows you to change to a different form, or remove the form. If you edit a topic without a form, there will be a button Add Form, that let's you associate a form with the topic; note that changes you have made to the topic are not lost when you select this option.
You can search for topics with specific form data using the %SEARCH% variable - see TWikiVariables.
Form Templates more powerful, flexible replacement for the original TWikiCategoryTable.
Main changes from TWikiCategoryTable: The templates for category view/edit have been dropped, and the forma renders to HTML on viewing.
Form Templates | Category Tables |
---|---|
defined by topics | defined in a template file |
multiple forms per web | one category per web |
data saved in Meta variables | data saved as HTML |
[Change] form and [Add Form] contol buttons | UseCategory radio button |
The new Form Template system should work with old Category Table data with no special conversion. Old data should be transparently upgraded to the new Meta format when a page imported from the old TWiki is edited and saved in the new system for the first time.
On upgrading, the administrator must produce a form template topic for each web that uses the old Category Tables. twikicatitems.tmpl
defines the categories and is used in the conversion. The form template must be set as the first item in the WebPreferences variable =WEBFORM
. If it's not present, view
works, but edit
results in an oops dialog result. If things aren't working correctly, there may be entries in data/warning.txt
.
A Form Template is simply a page containing your form, defined in a table where each row is one form field.
Example: Form Template| *Name:* | *Type:* | *Size:* | *Values:* | *Tooltip message:* | | TopClass | select | 1 | Select one..., Private, Public | must fill | | Target | checkbox+buttons | 3 | 1, No.2, No.3 | Select OS | | Version | text | 16 | | OS version |
Example: WebFormTemplate of the TWiki.Know web:
Name: | Type: | Size: | Values: | Tooltip message: |
---|---|---|---|---|
TopicClassification | select | 1 | NoDisclosure, PublicSupported, PublicFAQ | blah blah... |
OperatingSystem | checkbox | 3 | OsHPUX, OsLinux, OsSolaris, OsWin | blah blah... |
OsVersion | text | 16 | blah blah... |
The form template can also be defined in an alternative way by using more then one topic:
Code from:
- WebFormTemplate of the TWiki.Know web:
Name: Type: Size: Values: Tooltip message: TopicClassification select 1 blah blah... OperatingSystem checkbox 3 blah blah... OsVersion text 16 blah blah...
- TopicClassification topic:
Name: Type: Tooltip message: NoDisclosure option blah blah... PublicSupported option blah blah... PublicFAQ option blah blah...
...
can be used for force a link, at present ...
format is not supported
WebTopicEditTemplate
or using fieldFLD=value or for checkboxes fieldFLDcheckbox=1 in URL
Forms are enabled on a per web basis. The WEBFORMS
variable in WebPreferences is optional and defines a list of possible form templates e.g.
With WEBFORMS
enabled, an extra button is added to the edit view. If the topic doesn't have a form an [Add Form] button appears at the end of the topic. If a form is present, a [Change] button appears in the top row of the form. The buttons lead to a screen that enables no form to be selected or one of those specified by WEBFORMS
.
A default form template (i.e. new topics get this default form) can be provided by creating the WebTopicEditTemplate
topic in a Web and adding a form to it. Initial form values can be set here.
Addtionaly a new topic can be given a form using the formtemplate
parameter in the URL. Initial values can then be provided in the URLs or as form values. Names being:
When you create a new topic in a web that has the WEBFORMS Preferences variable set, an [Add Form] button appears at the bottom of the page. If the WebTopicEditTemplate topic has a form added, the form will appear with values set; press [Change] to remove the template or to switch to a different one.
A form embedded in a topic also appears in a new topic. This is done by specifying the formtemplate
parameter in the URL.
WEBFORMS
variable defines alternative Form Templates that can be selected after pressing [Change] on the Edit page
The Form Template topic name, fields and values are stored in the topic Meta Data. The order of field/value pairs in the Meta Data is the same as in the Template. The Form name is required for [Edit] and [Save].
-- JohnTalintyre - 16 Aug 2001