Difference: TWikiForms (6 vs. 7)

Revision 72001-09-07 - MikeMannix

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

Form Templates

>
>

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.
>
>
Include form-based input in topics, with unlimited, user-selectable forms per web; values stored as Meta Data
 
Changed:
<
<

Overview

>
>

Overview

 
Changed:
<
<
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.
>
>
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.
 
Changed:
<
<
You can search for topics with specific form data using the %SEARCH% variable - see TWikiVariables.
>
>
Form Templates replace TWikiCategory Tables from the previous version of TWiki.
 
Changed:
<
<

TWikiCategoryTables Are History

>
>

Form Template Elements

 
Changed:
<
<
Form Templates more powerful, flexible replacement for the original TWikiCategoryTable.

Changes from the Category Table System

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

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.

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.
  • 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)
>
>
  • form template - a set of fields defining a form (replaces category table definition)
    • 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.
Changed:
<
<
  • 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 checkboxes
    • radio: One or more radio buttons
    • text: A one-line text field
    • 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)
>
>
  • 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
    • checkbox - one or more checkboxes
    • checkbox+buttons - one or more checkboxes, plus Set and Clear buttons
    • radio - one or more radio buttons
    • text - a one-line text field
    • textarea - a text box; size is 40x10 (columns x rows)
  • field value - one or more values from a fixed set (select, checkbox, radio type) or free-form (text). (replaces category item value)
 
Changed:
<
<

Defining a Form Template

>
>

Defining a Form Template

  A Form Template is simply a page containing your form, defined in a table where each row is one form field.
Line: 67 to 47
 
Changed:
<
<

Defining a Form in One Topic

>
>

Defining a Form in One Topic

  Example: WebFormTemplate of the TWiki.Know web:
Line: 76 to 56
 
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: 99 to 79
 
PublicFAQ option blah blah...
Changed:
<
<

Various Implementation Notes

>
>

Implementation Notes

 
  • This format allows you to define field items with / without WikiNames, depending on your needs.
Added:
>
>
 
  • The topic can be protected in the usual manner so that not everybody can change the form template - see TWikiAccessControl
Deleted:
<
<
  • ... 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
  • The topic definition is not read when a topic is viewed
 
Changed:
<
<

Enabling Forms by Web

>
>
    • ... 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.

    • The topic definition is not read when a topic is viewed.
 
Changed:
<
<
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.
>
>

Enabling Forms by Web

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 lead to a screen that enables no form to be selected or 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 open a screen that enables selection of a form specified in WEBFORMS, or the No form option.
 
Changed:
<
<
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.
>
>
  • 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.
 
Changed:
<
<
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:
>
>
  • 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 checkboxes - name e.g. ?BugPriority=1
  • Checkbox - namevalue=1 e.g. ?ColourRed=1. Note that all boxes with a tick must be specified.
Changed:
<
<

Creating New Topics with Forms

>
>

Creating New Topics with Forms

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

Setting Up Multiple Form Options

>
>

Setting Up Multiple Form Options

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

  • A Template topic can use any Form Template.
 
Changed:
<
<
  • 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
  • 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?
>
>
  • 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.
 
Added:
>
>

Form Template Data Storage

 
Changed:
<
<

Form Template Data Storage

>
>
The Form Template topic name, fields and values are stored as Meta Data. The order of field/value pairs in the Meta Data is the same as in the Template.
 
Deleted:
<
<
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
 
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 URCS? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.TWikiForms.