Difference: TWikiForms (13 vs. 14)

Revision 142002-01-05 - MikeMannix

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

TWiki Forms

Changed:
<
<
Form-based input in topics, with name/value pairs stored as Meta Data variables; multiple forms per web & topic
>
>
Form-based input in topics, with name/value pairs stored as Meta Data variables; choose one of multiple forms per web & topic
 

Overview

Changed:
<
<
By adding form-based input to free-form content, you can structure topics with unlimited, easily searchable categories. When forms are enabled for a web and selected in a topic, the form appears in edit mode, and the contents are rendered as a table when viewing the actual page. When editing, can switch forms, if more than one is defined, or remove forms entirely. Form input values are stored as TWikiMetaData; all data is saved.
>
>
By adding form-based input to freeform content, you can structure topics with unlimited, easily searchable categories. When forms are enabled for a web and selected in a topic, a single form appears in edit mode, and the contents are rendered as a table when viewed on the display page. You can define unlimited forms per web. For each topic, you can select a template if more than one is defined, or remove forms entirely. Form input values are stored as TWikiMetaData; all data is saved.
  Form Templates replace TWikiCategory Tables from the 01-Dec-2000 version of TWiki.
Line: 29 to 29
  The new Form Template system should work with old Category Table data with no special conversion. Data is assigned to Meta variables the first time an imported topic is edited and saved in the new system.
Changed:
<
<
NOTE: If things aren't working correctly, there may be useful entries in data/warning.txt.
>
>
TIP NOTE: If things aren't working correctly, there may be useful entries in data/warning.txt.
 

Defining a Form Template

Changed:
<
<
A Form Template is simply a page containing your form, defined in a table where each row is one form field.
>
>
A Form Template is simply a page containing your form, defined as a table where each row is one form field.
 

Form Template Elements

  • form template - a set of fields defining a form (replaces category table definition)
Changed:
<
<
    • A web can use one or more form templates.
  • form - A topic containing additional meta-data (besides the free form TEXTAREA) which categorizes the content. (replaces category table)
    • A topic has zero or one of the defined forms. So there are topics with a form or without.
>
>
    • A web can use one or more form templates
  • form - a topic containing additional meta data (besides the freeform TEXTAREA) that categorizes the content (replaces category table)
    • Within a form-enabled web, individual topics can have a form or no form
 
  • form field - a named item in a form (replaces category item name)
  • field type - selects the INPUT type:
    • select - drop-down menu or scrollable box
Line: 53 to 53
 

Defining a Form in One Topic

Changed:
<
<
  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).
>
>
  1. Create a new topic with your form name: YourForm, ExpenseReport, InfoCategory, RecordReview, whatever you need.
  2. Create a TWiki table, with each column head representing one element of an entry field: Name, Type, Size, Values, and Tooltip msessage (see sample below).
 
  1. For each field, fill in a new line; for the type of field, select from the list.
Changed:
<
<
  1. Save the topic.
>
>
  1. Save the topic (you can later choose to enable/disable individual forms).
 
Changed:
<
<
Example: WebForm from the TWiki.Know web
>
>
Example: WebForm
 
| *Name* | *Type* | *Size* | *Values* | *Tooltip message* |
| Know.TopicClassification | select | 1 | Know.NoDisclosure, 
Line: 77 to 77
 

Defining a Form with Multiple Topics

Changed:
<
<
The Form Template can also be defined in an alternative way by using more then one topic:
>
>
Forms can also be defined by using form templates that retrieve field values from one or more separate topics:
 
Changed:
<
<
  • A Form Template topic defines the Form.
  • Fields that have more then one value - radio, select, checkbox - can be defined in individual field value topics.
>
>
  • A FormTemplate topic defines the Form, ex: YourFormTemplate.
  • For each field that has a value list - select, radio, checkbox - can use separate topic to define the available values.
 
Example: WebFormTemplate
Changed:
<
<
  • Know.WebFormTemplate Form main definition:
     
>
>
  • Know.WebFormTemplate main definition:
     
 
Name Type Size Values Tooltip message
Changed:
<
<
TopicClassification select 1 ... blah blah...
OperatingSystem checkbox 3 ... blah blah...
OsVersion text 16 ... blah blah...
>
>
TopicClassification select 1   blah blah...
OperatingSystem checkbox 3   blah blah...
OsVersion text 16   blah blah...

ALERT! Leave the Values field blank.
 
  • Know.TopicClassification field value definition:
Changed:
<
<

 
>
>

 
 
Name Type Tooltip message
NoDisclosure option blah blah...
PublicSupported option blah blah...
Line: 101 to 103
 

  • Implementation Notes: This format allows you to define field items with or 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 - see TWikiAccessControl
    • [[...]] links 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 field=value or for checkboxes field=1.
>
>
    • Topics can be protected in the usual manner, using TWikiAccessControl, to limit who can change the form template and/or individual value lists.
    • [[...]] links can be used to force a link (at present, the [[...][...]] format is not supported).
    • The Tooltip message column is used as a tooltip for the field name (only if field name is a WikiName) - you only see the tooltip In edit.
    • The first item in the list is the default item. Alternative initial values can be set in a topic template, like WebTopicEditTemplate, with field=value, or, for checkboxes, field=1.
 
    • The topic definition is not read when a topic is viewed.
Added:
>
>
 

Enabling Forms by Web

Changed:
<
<
Forms are enabled on a per web basis. The WEBFORMS variable in WebPreferences is optional and defines a list of possible Form Templates. Example:
>
>
Forms are enabled on a per web basis. The WEBFORMS variable in WebPreferences is optional and defines a list of possible form templates. Example:
 
  • Set WEBFORMS = BugForm, FeatureForm, BookLoanForm
Changed:
<
<
  • 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 open a screen that enables selection of a form specified in WEBFORMS, or the No form option.
>
>
  • 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 open a screen that enables selection of a form specified in WEBFORMS, or the No form option.
 
  • A default Form Template (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 there.

  • Additionally 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:
Changed:
<
<
    • other than checkboxes: name, ex: ?BugPriority=1
    • checkbox: namevalue=1, ex: ?ColourRed=1.
      Boxes with a tick must be specified.
>
>
    • other than checkboxes: name, ex: ?BugPriority=1
    • checkbox: namevalue=1, ex: ?ColourRed=1.
      Boxes with a tick must be specified.
 

Including Forms in New Topics

Changed:
<
<
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. You can start all new topics with forms enabled, and pre-select a form if there's more than one available:
>
>
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. You can start all new topics with forms enabled, and pre-select a form if there's more than one available:
 
  1. Edit the WebTopicEditTemplate topic, adding the name of an available Form.
  2. Create a new topic to check - the Form should appear with values set.
    • Click Change to switch or remove Forms.
Changed:
<
<
A form embedded in a topic also appears in a new topic. This is done by specifying the formtemplate parameter in the URL.
>
>
A form embedded in a topic also appears in a new topic. This is done by specifying the formtemplate parameter in the URL.
 

Setting Up Multiple Form Options

Changed:
<
<
  • The optional WEBFORMS variable defines alternative Form Templates that can be selected by pressing Change in edit mode.
>
>
  • The optional WEBFORMS variable defines alternative forms that can be selected by pressing Change in edit mode.

  • A topic template can use any form.
 
Changed:
<
<
  • A Template topic can use any Form Template.
>
>
  • New topics with a form are created by simple HTML forms asking for a topic name. For example, you can have a SubmitExpenseReport topic where you can create new expense reports, a SubmitVacationRequest topic, and so on. These can specify the required template topic with its associated form.
 
Changed:
<
<
  • New topics with a Form are created by simple HTML forms asking for a topic name. For example, you can have a SubmitExpenseReport topic where you can create new expense reports - a SubmitVacationRequest topic and so on. These can specify the required template topic with its associated Form.
>
>

Form Data Storage

 
Changed:
<
<

Form Template Data Storage

>
>
The form topic name, fields and values are stored as TWikiMetaData - the order of the field/value pairs is the same as in the template.
 
Changed:
<
<
The Form Template topic name, fields and values are stored as TWikiMetaData. The order of field/value pairs in the Meta Data is the same as in the Template.
>
>

Using Form Data

TWikiForms accept user-input data, stored as TWikiMetaData. Meta data also contains program-generated info about changes, attachments, etc. To find, format and display form and other meta data, see TWikiMetaData, SEARCH and METASEARCH variables in TWikiVariables, and TWiki Formatted Search for various options.
  -- JohnTalintyre - 16 Aug 2001
Changed:
<
<
-- MikeMannix - 03 Dec 2001
>
>
-- MikeMannix - 05 Jan 2002
 
META TOPICMOVED by="MikeMannix" date="1000277489" from="TWiki.TWikiFormTemplate" to="TWiki.TWikiForms"
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 1999-2019 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.