Документ взят из кэша поисковой машины. Адрес оригинального документа : http://dualopt1.cmm.msu.ru/bin/rdiff/TWiki/TWikiForms?rev1=5;rev2=1;skin=kubrick.nat%2Cnat%2C%20pattern;sortcol=0;table=18;up=0
Дата изменения: Unknown
Дата индексирования: Sat Mar 1 16:50:51 2014
Кодировка:
%TOPICTITLE% (1 vs. 5) - TWiki
Welcome, Registration, and other StartingPoints; TWiki history & Wiki style; All the docs...
View   r5  >  r4  >  r3  >  r2  >  r1
TWikiForms 5 - 2001-09-01 - MikeMannix
Line: 1 to 1
 
META TOPICPARENT name="WebHome"
Line: 12 to 12
  You can search for topics with specific form data using the %SEARCH% variable - see TWikiVariables.
Changed:
<
<

Goodby to TWikiCategoryTables

>
>

TWikiCategoryTables Are History

 
Changed:
<
<
This is a more general replacement for the TWikiCategoryTable capability, in particular Forms are defined by special topics, where as categories were defineind using special templates.
>
>
Form Templates more powerful, flexible replacement for the original TWikiCategoryTable.
 

Changes from the Category Table System

Changed:
<
<
Main changes from TWikiCategoryTable: The templates for category view/edit have been dropped.and render to HTML on viewing
>
>
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
Line: 43 to 42
 
  • Field Type: The type of a field when editing a form. The type defines the HTML INPUT tag widgets when editing a topic:
    • select: Drop down box or selector
    • checkbox: One or more check boxes
Changed:
<
<
    • checkbox+buttons: One or more check boxes, plus set and clear buttons to set/clear all check boxes
>
>
    • checkbox+buttons: One or more check boxes, plus [Set] and [][Clear] buttons to set/clear all checkboxes
 
    • radio: One or more radio buttons
    • text: A one-line text field
Changed:
<
<
    • textarea: A general text area - size is rowsxcols e.g. 40x10
>
>
    • textarea: A general text area - size is rowsxcols 40x10
 
  • Field Value: Value of a form field. Can be one or more values from a fixed set (select, checkbox, radio type) or free form (text type). (Used to be called category item value)

Defining a Form Template

Changed:
<
<
Form templates are defined by topics, one topic per form template. A form template topic has descriptive text mixed with the form template definition in the form of a TWiki table.
>
>
A Form Template is simply a page containing your form, defined in a table where each row is one form field.
 
Changed:
<
<

Examples

>
>
  1. Create a new topic with your Form name: MyForm, ExpenseReport, InfoCategory, RecordReview, whatever you need.
  2. Create a TWiki table, with each column representing one element of an entry field: Name, Type, Size, Values, and Tooltip msessage (see sample below).
  3. For each field, fill in a new line; for the type of field, select from the list.
  4. Save the topic.

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 |
 

Defining a Form in One Topic

Line: 71 to 83
 
  • A form template topic defines the form
  • Values of fields that have more then one value, e.g. of type radio, select and checkbox can be defined by field value template topics
Changed:
<
<
Above Example:
>
>
Code from:
 
Line: 84 to 97
 
NoDisclosure option blah blah...
PublicSupported option blah blah...
PublicFAQ option blah blah...
Added:
>
>
 
Changed:
<
<

Notes

>
>

Various Implementation Notes

 
  • This format allows you to define field items with / without WikiNames, depending on your needs.
  • The topic can be protected in the usual manner so that not everybody can change the form template - see TWikiAccessControl
Line: 94 to 108
 
  • The first item in the list is the default item. Alternative initial values can be given in a topic template such as WebTopicEditTemplate or using fieldFLD=value or for checkboxes fieldFLDcheckbox=1 in URL
  • The topic definition is not read when a topic is viewed
Changed:
<
<

Specification

Enabling Forms for a Web

>
>

Enabling Forms by Web

 
Changed:
<
<
By default topics can be edited in free form. A form can be added to a topic to give it more structure. 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.

>
>
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.
 
  • Set WEBFORMS = BugForm, FeatureForm, BookLoanForm
Changed:
<
<
With this present 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 to the right of the form name. The buttons leads to a screen that enables no form to be selected of one of those specified by WEBFORMS.
>
>
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.
Line: 118 to 129
 

Setting Up Multiple Form Options

Changed:
<
<
  • The optional WEBFORMS variable defines alternative Form Templates that can be selected after pressing [Change] button on the Edit page
>
>
  • The optional WEBFORMS variable defines alternative Form Templates that can be selected after pressing [Change] on the Edit page
 
  • A template topic can use any form template
Deleted:
<
<
  • Decided not to ask user to choose a template or form template when creating a topic as goes against the KISS of Wiki systems.
 
  • New topics with a form get instantiated by simple HTML forms asking for a topic name. If there is a SubmitExpenseReport topic were you can create new expense reports, a SubmitVacationRequest topic and so on. These can specify the required template topic and hence form. HUH?

TWikiForms 4 - 2001-09-01 - MikeMannix
Line: 1 to 1
 
META TOPICPARENT name="WebHome"
Line: 6 to 6
  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.
Added:
>
>

Overview

 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.
Changed:
<
<
You can search for topics with specific form data using the %SEARCH% variable - see TWikiVariables.
>
>
You can search for topics with specific form data using the %SEARCH% variable - see TWikiVariables.

Goodby to TWikiCategoryTables

This is a more general replacement for the TWikiCategoryTable capability, in particular Forms are defined by special topics, where as categories were defineind using special templates.

Changes from the Category Table System

Main changes from TWikiCategoryTable: The templates for category view/edit have been dropped.and render 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

Migrating Existing Category Table Data

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.

 
Changed:
<
<

Terminology

>
>

Form Template Elements

 
  • Form Template: A set of fields defining a form. (Class in OO speak; used to be called category table definition)
    • A web may contain more then zero or more form template.
Line: 26 to 49
 
    • textarea: A general text area - size is rowsxcols e.g. 40x10
  • Field Value: Value of a form field. Can be one or more values from a fixed set (select, checkbox, radio type) or free form (text type). (Used to be called category item value)
Changed:
<
<

Specification

Enable forms for a web

By default topics can be edited in free form. A form can be added to a topic to give it more structure. 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.

  • Set WEBFORMS = BugForm, FeatureForm, BookLoanForm

With this present 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 to the right of the form name. The buttons leads to a screen that enables no form to be selected of 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:

  • Not checkboxs - nameFLD e.g. ?BugPriorityFLD=1
  • Checkbox - nameFLDvalue=1 e.g. ?ColourFLDRed=1. Note that all boxes with a tick must be specified.

Defining a form template

>
>

Defining a Form Template

  Form templates are defined by topics, one topic per form template. A form template topic has descriptive text mixed with the form template definition in the form of a TWiki table.
Changed:
<
<

Examples

>
>

Examples

 
Changed:
<
<

Defining form in one topic

>
>

Defining a Form in One Topic

  Example: WebFormTemplate of the TWiki.Know web:
Line: 59 to 64
 
OperatingSystem checkbox 3 OsHPUX , OsLinux , OsSolaris , OsWin blah blah...
OsVersion text 16   blah blah...
Changed:
<
<

Defining a form in multiple topics

>
>

Defining a Form in Multiple Topics

  The form template can also be defined in an alternative way by using more then one topic:
Line: 90 to 94
 
  • The first item in the list is the default item. Alternative initial values can be given in a topic template such as WebTopicEditTemplate or using fieldFLD=value or for checkboxes fieldFLDcheckbox=1 in URL
  • The topic definition is not read when a topic is viewed
Changed:
<
<

Changes from category system

>
>

Specification

 
Changed:
<
<
Main changes from TWikiCategoryTable :
  • Name changed in the hope that form is more readily understandable than category
  • The templates for category view/edit have been dropped
  • Forms are defined by topics, categories were defined in a template file
  • A Web can have multiple forms, only one category was possible
  • Form data is saved in meta variables - see MetaDataDefinition , and render to HTML on viewing. Category data was stored as HTML
  • The UseCategory radio button has gone, the replacement being the Change form and Add Form buttons.
>
>

Enabling Forms for a Web

 
Changed:
<
<

Creating new topics with forms

>
>
By default topics can be edited in free form. A form can be added to a topic to give it more structure. Forms are enabled on a per web basis.
 
Changed:
<
<
When you create a new topic in a web that has the WEBFORMS preferences variable set you will get a Add Form button at the bottom of the page. However, if the WebTopicEditTemplate topic has had a form added this will appear with values set; Change in the form can be pressed to remove the template or switch to a different one.
>
>
The WEBFORMS variable in WebPreferences is optional and defines a list of possible form templates e.g.
  • Set WEBFORMS = BugForm, FeatureForm, BookLoanForm
 
Changed:
<
<
A form embedded in a topic can also cause a form to be present in a new topic, this is done by specifying the formtemplate parameter in the URL.
>
>
With this present 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 to the right of the form name. The buttons leads to a screen that enables no form to be selected of one of those specified by WEBFORMS.
 
Changed:
<
<

Topic meta data

>
>
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.
 
Changed:
<
<
See MetaDataDefinition .
>
>
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:
  • Not checkboxs - nameFLD e.g. ?BugPriorityFLD=1
  • Checkbox - nameFLDvalue=1 e.g. ?ColourFLDRed=1. Note that all boxes with a tick must be specified.

Creating New Topics with Forms

 
Changed:
<
<
The form template topic name and all form fields/values are stored in the topic meta data. The form template topic name is needed for edit and save.
>
>
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.
 
Changed:
<
<
The order of form field/value items in the meta-data is the same as in the form template.
>
>
A form embedded in a topic also appears in a new topic. This is done by specifying the formtemplate parameter in the URL.
 
Changed:
<
<

UI for multiple form templates

>
>

Setting Up Multiple Form Options

 
Changed:
<
<
  • Optional WEBFORMS variable defines possible form templates that can be selected after pressing "Change" (forms) button on edit page
>
>
  • The optional WEBFORMS variable defines alternative Form Templates that can be selected after pressing [Change] button on the Edit page
 
  • A template topic can use any form template
  • Decided not to ask user to choose a template or form template when creating a topic as goes against the KISS of Wiki systems.
Changed:
<
<
  • New topics with a form get instantiated by simple HTML forms asking for a topic name, i.e. there is a SubmitExpenseReport topic were you can create new expense reports, a SubmitVacationRequest topic and so on. These can specify the required template topic and hence form.
>
>
  • New topics with a form get instantiated by simple HTML forms asking for a topic name. If there is a SubmitExpenseReport topic were you can create new expense reports, a SubmitVacationRequest topic and so on. These can specify the required template topic and hence form. HUH?
 
Deleted:
<
<

Migration of Category information

 
Changed:
<
<
Principle: new system should work with old data with no special conversion.

Old data should be transparently upgraded to the new meta format when a topic is edit/previewed/saved.

On upgrading the administrator must produce a form template topic for each Web that using the old category system. twikicatitems.tmpl defines the categories and is used in the conversion. The form template must be put as first item in WebPreferences variable =WEBFORM. If it's not present view works, but edit results in an oops dialog results. If things aren't working correctly there may be entries data/warning.txt.

History

This is a more general replacement for the TWikiCategoryTable capability, in particular Forms are defined by special topics, where as categories were defineind using special templates.

>
>

Form Template Data Storage

 
Added:
>
>
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

TWikiForms 3 - 2001-08-29 - JohnTalintyre
Line: 1 to 1
 
META TOPICPARENT name="WebHome"
Added:
>
>
 

Form Templates

Changed:
<
<
>
>
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.

 
Changed:
<
<
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 (Bug, Feature, FAQ entry etc).
>
>
You can search for topics with specific form data using the %SEARCH% variable - see TWikiVariables.
 

Terminology

Line: 56 to 60
 
OsVersion text 16   blah blah...
Changed:
<
<

Defining form in multiple topics

>
>

Defining a form in multiple topics

  The form template can also be defined in an alternative way by using more then one topic:
Line: 104 to 108
 

Topic meta data

Changed:
<
<
See TWikiMetaDataDefinition .
>
>
See MetaDataDefinition .
  The form template topic name and all form fields/values are stored in the topic meta data. The form template topic name is needed for edit and save.
Line: 129 to 133
  This is a more general replacement for the TWikiCategoryTable capability, in particular Forms are defined by special topics, where as categories were defineind using special templates.
Changed:
<
<
-- JohnTalintyre - 16 Aug 2001
>
>
-- JohnTalintyre - 16 Aug 2001

TWikiForms 2 - 2001-08-16 - JohnTalintyre
Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Form Templates

On this page:
Changed:
<
<

Background

This is a more general replacement for the TWikiCategoryTable capability, in particular Forms are defined by special topics, where as categories were defineind using special templates.

>
>
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 (Bug, Feature, FAQ entry etc).
 

Terminology

  • Form Template: A set of fields defining a form. (Class in OO speak; used to be called category table definition)
Changed:
<
<
    • A web may contain more then one form template.
>
>
    • A web may contain more then zero or more form template.
 
  • Form: A topic containing additional meta-data (besides the free form TEXTAREA) which categorizes the content. (Object in OO speak; used to be called category table)
    • A topic has zero or one of the defined forms. So there are topics with a form or without.
  • Form Field: A named item in a form. (Used to be called category item name)
Line: 29 to 27
 

Enable forms for a web

Changed:
<
<
By default topics can be edited in free form. A form can be added to a topic to give it more structure. Forms are enabled on a per web basis. This can be done in two ways. One is similar to that used for the older category system, with this a Web can have only one form. The other allows a Web to have any number of forms.

A default form template can be provided by creating the WebTopicEditTemplate topic in a Web and adding a form to it. Initial form values can be set here.

Enabling single default form

The DEFAULTFORM variable in WebPreferences is optional. If present it specifies the default form for all topics in the Web. Every time you edit a topic you will be presented with a form. The form must contain the special field UseForm (analogous to the UseCategory line in the old category system). The values for this must be:

  • First field - "Yes" (any capitalisation)
  • Second field - any text, but must mean no form

Enabling multiple forms

>
>
By default topics can be edited in free form. A form can be added to a topic to give it more structure. 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.
  • Set WEBFORMS = BugForm, FeatureForm, BookLoanForm
Changed:
<
<
With this present an extra button is added to the edit view. If the topic doesn't have a form the button appears at the end of the page. If a form is present the button appears in the top row of the form. Pressing the button leads to a screen that enables no form to be selected of one of those specified by WEBFORMS.
>
>
With this present 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 to the right of the form name. The buttons leads to a screen that enables no form to be selected of one of those specified by WEBFORMS.
 
Changed:
<
<

Define a form template

>
>
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:

  • Not checkboxs - nameFLD e.g. ?BugPriorityFLD=1
  • Checkbox - nameFLDvalue=1 e.g. ?ColourFLDRed=1. Note that all boxes with a tick must be specified.

Defining a form template

  Form templates are defined by topics, one topic per form template. A form template topic has descriptive text mixed with the form template definition in the form of a TWiki table.
Line: 57 to 51
 Example: WebFormTemplate of the TWiki.Know web:

Name: Type: Size: Values: Tooltip message:

Deleted:
<
<
UseForm radio 0 Yes, No Select 'No' to remove the form
 
TopicClassification select 1 NoDisclosure , PublicSupported , PublicFAQ blah blah...
OperatingSystem checkbox 3 OsHPUX , OsLinux , OsSolaris , OsWin blah blah...
OsVersion text 16   blah blah...
Line: 74 to 67
 
Deleted:
<
<
UseForm radio 0 Yes, No blah blah...
 
TopicClassification select 1   blah blah...
OperatingSystem checkbox 3   blah blah...
OsVersion text 16   blah blah...
Line: 88 to 80
 

Notes

  • This format allows you to define field items with / without WikiNames, depending on your needs.
Changed:
<
<
  • The topic can be protected in the usual manner so that not everybody can change the form template.
>
>
  • The topic can be protected in the usual manner so that not everybody can change the form template - see TWikiAccessControl
 
  • ... can be used for force a link, at present ... format is not supported
  • The "Tooltip message:" column is used as a tool tip for the field name (only if field name is a WikiName) - you only see the tooltip on edit
  • The first item in the list is the default item. Alternative initial values can be given in a topic template such as WebTopicEditTemplate or using fieldFLD=value or for checkboxes fieldFLDcheckbox=1 in URL
Changed:
<
<
  • The UseForm field is special.
    • Will always default to second value (don't use form) when topic doesn't have a form
    • Is not show on preview or view
    • When set to no on save, form data is deleted.
  • It is not a good idea to use both DEFAULTFORM and WEBFORMS WebPreferences in the same Web.
>
>
  • The topic definition is not read when a topic is viewed
 

Changes from category system

Main changes from TWikiCategoryTable :

  • Name changed in the hope that form is more readily understandable than category
Deleted:
<
<
  • UseCategory is now UseForm
 
  • The templates for category view/edit have been dropped
  • Forms are defined by topics, categories were defined in a template file
  • A Web can have multiple forms, only one category was possible
  • Form data is saved in meta variables - see MetaDataDefinition , and render to HTML on viewing. Category data was stored as HTML
Added:
>
>
  • The UseCategory radio button has gone, the replacement being the Change form and Add Form buttons.
 

Creating new topics with forms

Changed:
<
<
When you create a new topic in a web that has the WEBFORM preferences variable set you will get a topic with the default form template specified by the variable.
>
>
When you create a new topic in a web that has the WEBFORMS preferences variable set you will get a Add Form button at the bottom of the page. However, if the WebTopicEditTemplate topic has had a form added this will appear with values set; Change in the form can be pressed to remove the template or switch to a different one.
 
Changed:
<
<
For simplicity we should use the default form template when one creates a new topic by question mark link or "Go" field, i.e. better not to show a menu to select a form template.
>
>
A form embedded in a topic can also cause a form to be present in a new topic, this is done by specifying the formtemplate parameter in the URL.
 

Topic meta data

Line: 124 to 112
 

UI for multiple form templates

Changed:
<
<
  • Optional WEBFORMS variable defines possibles form templates that can be selected after pressing "Change" (forms) button on edit page
>
>
  • Optional WEBFORMS variable defines possible form templates that can be selected after pressing "Change" (forms) button on edit page
 
  • A template topic can use any form template
  • Decided not to ask user to choose a template or form template when creating a topic as goes against the KISS of Wiki systems.
  • New topics with a form get instantiated by simple HTML forms asking for a topic name, i.e. there is a SubmitExpenseReport topic were you can create new expense reports, a SubmitVacationRequest topic and so on. These can specify the required template topic and hence form.
Line: 135 to 123
  Old data should be transparently upgraded to the new meta format when a topic is edit/previewed/saved.
Changed:
<
<
On upgrading the administrator must produce a form template topic for each Web that using the old category system. twikicatitems.tmpl defines the categories and is used in the conversion. The form template must be put as first item in WebPreferences variable WEBFORM or DEFAULTFORM (if/when put in). If it's not present, an oops dialog results.
>
>
On upgrading the administrator must produce a form template topic for each Web that using the old category system. twikicatitems.tmpl defines the categories and is used in the conversion. The form template must be put as first item in WebPreferences variable =WEBFORM. If it's not present view works, but edit results in an oops dialog results. If things aren't working correctly there may be entries data/warning.txt.

History

This is a more general replacement for the TWikiCategoryTable capability, in particular Forms are defined by special topics, where as categories were defineind using special templates.

 
Changed:
<
<
-- JohnTalintyre - 07 Aug 2001
>
>
-- JohnTalintyre - 16 Aug 2001

TWikiForms 1 - 2001-08-07 - JohnTalintyre
Line: 1 to 1
Added:
>
>
META TOPICPARENT name="WebHome"

Form Templates

Background

This is a more general replacement for the TWikiCategoryTable capability, in particular Forms are defined by special topics, where as categories were defineind using special templates.

Terminology

  • Form Template: A set of fields defining a form. (Class in OO speak; used to be called category table definition)
    • A web may contain more then one form template.
  • Form: A topic containing additional meta-data (besides the free form TEXTAREA) which categorizes the content. (Object in OO speak; used to be called category table)
    • A topic has zero or one of the defined forms. So there are topics with a form or without.
  • Form Field: A named item in a form. (Used to be called category item name)
  • Field Type: The type of a field when editing a form. The type defines the HTML INPUT tag widgets when editing a topic:
    • select: Drop down box or selector
    • checkbox: One or more check boxes
    • checkbox+buttons: One or more check boxes, plus set and clear buttons to set/clear all check boxes
    • radio: One or more radio buttons
    • text: A one-line text field
    • textarea: A general text area - size is rowsxcols e.g. 40x10
  • Field Value: Value of a form field. Can be one or more values from a fixed set (select, checkbox, radio type) or free form (text type). (Used to be called category item value)

Specification

Enable forms for a web

By default topics can be edited in free form. A form can be added to a topic to give it more structure. Forms are enabled on a per web basis. This can be done in two ways. One is similar to that used for the older category system, with this a Web can have only one form. The other allows a Web to have any number of forms.

A default form template can be provided by creating the WebTopicEditTemplate topic in a Web and adding a form to it. Initial form values can be set here.

Enabling single default form

The DEFAULTFORM variable in WebPreferences is optional. If present it specifies the default form for all topics in the Web. Every time you edit a topic you will be presented with a form. The form must contain the special field UseForm (analogous to the UseCategory line in the old category system). The values for this must be:

  • First field - "Yes" (any capitalisation)
  • Second field - any text, but must mean no form

Enabling multiple forms

The WEBFORMS variable in WebPreferences is optional and defines a list of possible form templates e.g.

  • Set WEBFORMS = BugForm, FeatureForm, BookLoanForm

With this present an extra button is added to the edit view. If the topic doesn't have a form the button appears at the end of the page. If a form is present the button appears in the top row of the form. Pressing the button leads to a screen that enables no form to be selected of one of those specified by WEBFORMS.

Define a form template

Form templates are defined by topics, one topic per form template. A form template topic has descriptive text mixed with the form template definition in the form of a TWiki table.

Examples

Defining form in one topic

Example: WebFormTemplate of the TWiki.Know web:

Name:
<-- -->
Sorted ascending
Type: Size: Values: Tooltip message:
OperatingSystem checkbox 3 OsHPUX , OsLinux , OsSolaris , OsWin blah blah...
OsVersion text 16   blah blah...
TopicClassification select 1 NoDisclosure , PublicSupported , PublicFAQ blah blah...
UseForm radio 0 Yes, No Select 'No' to remove the form

Defining form in multiple topics

The form template can also be defined in an alternative way by using more then one topic:

  • A form template topic defines the form
  • Values of fields that have more then one value, e.g. of type radio, select and checkbox can be defined by field value template topics

Above Example:

Notes

  • This format allows you to define field items with / without WikiNames, depending on your needs.
  • The topic can be protected in the usual manner so that not everybody can change the form template.
  • ... can be used for force a link, at present ... format is not supported
  • The "Tooltip message:" column is used as a tool tip for the field name (only if field name is a WikiName) - you only see the tooltip on edit
  • The first item in the list is the default item. Alternative initial values can be given in a topic template such as WebTopicEditTemplate or using fieldFLD=value or for checkboxes fieldFLDcheckbox=1 in URL
  • The UseForm field is special.
    • Will always default to second value (don't use form) when topic doesn't have a form
    • Is not show on preview or view
    • When set to no on save, form data is deleted.
  • It is not a good idea to use both DEFAULTFORM and WEBFORMS WebPreferences in the same Web.

Changes from category system

Main changes from TWikiCategoryTable :

  • Name changed in the hope that form is more readily understandable than category
  • UseCategory is now UseForm
  • The templates for category view/edit have been dropped
  • Forms are defined by topics, categories were defined in a template file
  • A Web can have multiple forms, only one category was possible
  • Form data is saved in meta variables - see MetaDataDefinition , and render to HTML on viewing. Category data was stored as HTML

Creating new topics with forms

When you create a new topic in a web that has the WEBFORM preferences variable set you will get a topic with the default form template specified by the variable.

For simplicity we should use the default form template when one creates a new topic by question mark link or "Go" field, i.e. better not to show a menu to select a form template.

Topic meta data

See TWikiMetaDataDefinition .

The form template topic name and all form fields/values are stored in the topic meta data. The form template topic name is needed for edit and save.

The order of form field/value items in the meta-data is the same as in the form template.

UI for multiple form templates

  • Optional WEBFORMS variable defines possibles form templates that can be selected after pressing "Change" (forms) button on edit page
  • A template topic can use any form template
  • Decided not to ask user to choose a template or form template when creating a topic as goes against the KISS of Wiki systems.
  • New topics with a form get instantiated by simple HTML forms asking for a topic name, i.e. there is a SubmitExpenseReport topic were you can create new expense reports, a SubmitVacationRequest topic and so on. These can specify the required template topic and hence form.

Migration of Category information

Principle: new system should work with old data with no special conversion.

Old data should be transparently upgraded to the new meta format when a topic is edit/previewed/saved.

On upgrading the administrator must produce a form template topic for each Web that using the old category system. twikicatitems.tmpl defines the categories and is used in the conversion. The form template must be put as first item in WebPreferences variable WEBFORM or DEFAULTFORM (if/when put in). If it's not present, an oops dialog results.

-- JohnTalintyre - 07 Aug 2001


Revision 5r5 - 2001-09-01 - 12:08:41 - MikeMannix
Revision 4r4 - 2001-09-01 - 05:55:27 - MikeMannix
Revision 3r3 - 2001-08-29 - 16:30:22 - JohnTalintyre
Revision 2r2 - 2001-08-16 - 12:43:30 - JohnTalintyre
Revision 1r1 - 2001-08-07 - 16:22:54 - JohnTalintyre
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.TWikiForms
Syndicate this site RSSATOM