summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TWiki/TWikiForms.mdwn120
1 files changed, 65 insertions, 55 deletions
diff --git a/TWiki/TWikiForms.mdwn b/TWiki/TWikiForms.mdwn
index c9cb6057..dfa64aeb 100644
--- a/TWiki/TWikiForms.mdwn
+++ b/TWiki/TWikiForms.mdwn
@@ -4,11 +4,50 @@
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.
+### <a name="Overview"> Overview </a>
+
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]].
+You can search for topics with specific form data using the %SEARCH% variable - see [[TWikiDocumentation]].
+
+### <a name="Goodby_to_TWikiCategoryTables"> Goodby to TWikiCategoryTables </a>
+
+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.
+
+#### <a name="Changes_from_the_Category_Table_"> Changes from the Category Table System </a>
-### <a name="Terminology"> Terminology </a>
+Main changes from TWikiCategoryTable: The templates for category view/edit have been dropped.and render to HTML on viewing
+
+<table border="1" cellpadding="1" cellspacing="0">
+ <tr>
+ <th bgcolor="#99CCCC"><strong>Form Templates</strong></th>
+ <th bgcolor="#99CCCC"><strong>Category Tables</strong></th>
+ </tr>
+ <tr>
+ <td> defined by topics </td>
+ <td> defined in a template file </td>
+ </tr>
+ <tr>
+ <td> multiple forms per web </td>
+ <td> one category per web </td>
+ </tr>
+ <tr>
+ <td> data saved in Meta variables </td>
+ <td> data saved as HTML </td>
+ </tr>
+ <tr>
+ <td> [Change] form and [Add Form] contol buttons </td>
+ <td><nop>UseCategory radio button </nop></td>
+ </tr>
+</table>
+
+#### <a name="Migrating_Existing_Category_Tabl"> Migrating Existing Category Table Data </a>
+
+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 name="Form_Template_Elements"> Form Template Elements </a>
* **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.
@@ -24,32 +63,13 @@ You can search for topics with specific form data using the %SEARCH% variable -
* **textarea:** A general text area - size is _rows_x_cols_ 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_)
-### <a name="Specification"> Specification </a>
-
-#### <a name="Enable_forms_for_a_web"> Enable forms for a web </a>
-
-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 <code>**WEBFORMS**</code> 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 <code>**WebTopicEditTemplate**</code> 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.
-
-#### <a name="Defining_a_form_template"> Defining a form template </a>
+#### <a name="Defining_a_Form_Template"> Defining a Form Template </a>
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 name="Examples"> Examples </a>
+#### <a name="Examples"> Examples </a>
-#### <a name="Defining_form_in_one_topic"> Defining form in one topic </a>
+#### <a name="Defining_a_Form_in_One_Topic"> Defining a Form in One Topic </a>
Example: WebFormTemplate of the TWiki.Know web:
@@ -84,7 +104,7 @@ Example: WebFormTemplate of the TWiki.Know web:
</tr>
</table>
-#### <a name="Defining_a_form_in_multiple_topi"> Defining a form in multiple topics </a>
+#### <a name="Defining_a_Form_in_Multiple_Topi"> Defining a Form in Multiple Topics </a>
The form template can also be defined in an alternative way by using more then one topic:
@@ -156,48 +176,38 @@ Above Example:
* The first item in the list is the default item. Alternative initial values can be given in a topic template such as <code>**WebTopicEditTemplate**</code> or using fieldFLD=value or for checkboxes fieldFLDcheckbox=1 in URL
* The topic definition is not read when a topic is viewed
-### <a name="Changes_from_category_system"> Changes from category system </a>
-
-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.
-
-### <a name="Creating_new_topics_with_forms"> Creating new topics with forms </a>
+### <a name="Specification"> Specification </a>
-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.
+#### <a name="Enabling_Forms_for_a_Web"> Enabling Forms for a Web </a>
-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.
+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.
-### <a name="Topic_meta_data"> Topic meta data </a>
+The <code>**WEBFORMS**</code> variable in [[WebPreferences]] is optional and defines a list of possible form templates e.g.
-See [[MetaDataDefinition]].
+* Set WEBFORMS = BugForm, FeatureForm, BookLoanForm
-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.
+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`.
-The order of form field/value items in the meta-data is the same as in the form template.
+A default form template (i.e. new topics get this default form) can be provided by creating the <code>**WebTopicEditTemplate**</code> topic in a Web and adding a form to it. Initial form values can be set here.
-### <a name="UI_for_multiple_form_templates"> UI for multiple form templates </a>
+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:
-* Optional <code>**WEBFORMS**</code> 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.
+* Not checkboxs - nameFLD e.g. ?BugPriorityFLD=1
+* Checkbox - nameFLDvalue=1 e.g. ?ColourFLDRed=1. Note that all boxes with a tick must be specified.
-### <a name="Migration_of_Category_informatio"> Migration of Category information </a>
+### <a name="Creating_New_Topics_with_Forms"> Creating New Topics with Forms </a>
-Principle: new system should work with old data with no special conversion.
+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.
-Old data should be transparently upgraded to the new meta format when a topic is edit/previewed/saved.
+A form embedded in a topic also appears in a new topic. This is done by specifying the `formtemplate` parameter in the URL.
-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`.
+### <a name="Setting_Up_Multiple_Form_Options"> Setting Up Multiple Form Options </a>
-### <a name="History"> History </a>
+* The optional <code>**WEBFORMS**</code> 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.
+* 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?_**
-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.
+### <a name="Form_Template_Data_Storage"> Form Template Data Storage </a>
--- [[JohnTalintyre]] - 16 Aug 2001 <br />
+The Form Template topic name, fields and values are stored in the topic [[TWikiDocumentation]]. 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 <br />