none
authorMikeMannix <MikeMannix>
Fri, 7 Sep 2001 11:10:16 +0000 (11:10 +0000)
committerMikeMannix <MikeMannix>
Fri, 7 Sep 2001 11:10:16 +0000 (11:10 +0000)
TWiki/ManagingTopics.mdwn
TWiki/ManagingWebs.mdwn
TWiki/TWikiForms.mdwn
TWiki/TWikiPlugins.mdwn
TWiki/WebChangesAlert.mdwn

index db78624..e368bfc 100644 (file)
   </ul>
 </div>
 
-## <a name="Managing Topics"></a> Managing Topics
+# <a name="Managing Topics"></a> Managing Topics
 
 _Browser-based rename, move, and delete for individual topics_
 
-### <a name="Overview"></a> Overview
+## <a name="Overview"></a> Overview
 
 Select **Rename/move** when viewing a topic to change its name, move it to another TWiki web, or delete it:
 
@@ -33,7 +33,7 @@ Select **Rename/move** when viewing a topic to change its name, move it to anoth
   - If any of the referring pages are locked then they will be listed
   - You can correct these later by again pressing Rename/Move
 
-#### <a name="Referring Topics"></a> Referring Topics
+### <a name="Referring Topics"></a> Referring Topics
 
 Referring topics are found using the the %SEARCH% variable, see the template <code>**searchrenameview.tmpl**</code>. First, matching topics in the current Web are listed - matches are to _topic_. Next, all Webs (including the current one) are listed that match _web.topic_. Because %SEARCH% is used, Webs marked in [[WebPreferences]] as NOSEARCHALL will not show up in the search for refernces to the _topic_ being changed.
 
@@ -41,25 +41,25 @@ Changed references are kept are as short as possible, i.e. _topic_ is used in pr
 
 <a name="DeleteTopic"></a>
 
-#### <a name="Deleting a Topic"></a> Deleting a Topic
+### <a name="Deleting a Topic"></a> Deleting a Topic
 
 Deleted topics are moved to the `Trash` web - NOT physically erased from the server. All webs share `Trash` - in case of a name conflict with a topic already `Trash`, the user is alerted and asked to choose a new name.
 
-##### <a name="Clearing the Trash"></a> Clearing the Trash
+#### <a name="Clearing the Trash"></a> Clearing the Trash
 
 **_NOTE:_** The `Trash` web should be be cleared periodically, by archiving the contents if required (recommended), then deleting the files from the `Trash` directory.
 
-### <a name="Redirecting from an Old Topic"></a> Redirecting from an Old Topic
+## <a name="Redirecting from an Old Topic"></a> Redirecting from an Old Topic
 
 You can use [[TWikiMetaData]] to place a command in [[WebTopicViewTemplate]] and [[WebTopicNonWikiTemplate]] that will show if a topic has moved by searching for the tag %META:TOPICMOVED\{...\}%. Customize something like this:
 
 > %<nop>METASEARCH{type="topicmoved" web="%WEB%" topic="%TOPIC%" title="This topic used to exist and was moved to: "}%
 
-### <a name="Impact of Topic Access Settings"></a> Impact of Topic Access Settings
+## <a name="Impact of Topic Access Settings"></a> Impact of Topic Access Settings
 
 Permissions affect the rename function in various ways. To rename a topic, you need both change and rename permissions. To alter refer4ing topics, you need change permission. See [[TWikiDocumentation#TWiki_Access_Control]] for information on setting up access permissions.
 
-### <a name="How Rename/move Works"></a> How Rename/move Works
+## <a name="How Rename/move Works"></a> How Rename/move Works
 
 - %SEARCH% is used with a special template to show text in topics that requires updating to point to the new topic and/or web name. This includes relevent [[MetaData|Main/TWikiDocumentation#Meta_Data_Definition]]
   - User chooses which topics will be altered
@@ -68,7 +68,7 @@ Permissions affect the rename function in various ways. To rename a topic, you n
 - References are changed (locks and permissions permitting)
 - Any referring topics that can't be changed due to locks are listed - user can change them at another time.
 
-### <a name="Known Limitations"></a> Known Limitations
+## <a name="Known Limitations"></a> Known Limitations
 
 **Rename/move** in is fairly complicated due to the dynamic generation of links. Ideally, it would be possible to run the required part of rendering in a way that would allow identification of the text to be changed. Unfortunately, these hooks don't exist in TWiki at present. Instead, %SEARCH% is used with a special template to show the text to be changed, and the selected topics are then altered. One drawback is that `search` can show matches that will not be updated because of case differences. Other mismatches to actual rendered output are also possible as the approaches are so different.
 
index 0a3787d..be00c66 100644 (file)
@@ -9,19 +9,19 @@
   </ul>
 </div>
 
-## <a name="Managing Webs"></a> Managing Webs
+# <a name="Managing Webs"></a> Managing Webs
 
 _Adding, renaming and deleting webs is done directly on the server_
 
-### <a name="Overview"></a> Overview
+## <a name="Overview"></a> Overview
 
 Managing TWiki webs requires direct access to the installation files on the host server. There are no browser-based web tools.
 
-### <a name="How to Add a New Web"></a> How to Add a New Web
+## <a name="How to Add a New Web"></a> How to Add a New Web
 
 - See [[TWikiInstallationGuide|Main/TWikiDocumentation#TWikiInstallationGuide]]
 
-### <a name="How to Rename or Delete a Web"></a> How to Rename or Delete a Web
+## <a name="How to Rename or Delete a Web"></a> How to Rename or Delete a Web
 
 **NOTE:** Think twice if you intend to rename the %WIKITOOLNAME%.Main web, since many files point to it. If you rename it, you also have to change all occurrences of `Main` to the new web name (like the web prefixes for all user signatures, `Main.SomeName`). (On the other hand, if the `%MAINWEB%` variable is used throughout, you won't have that problem.)
 
index ab58736..b5a2e03 100644 (file)
@@ -2,16 +2,13 @@
   <ul>
     <li><a href="#Form Templates"> Form Templates</a><ul>
         <li><a href="#Overview"> Overview</a></li>
-        <li><a href="#TWikiCategoryTables Are History"> TWikiCategoryTables Are History</a><ul>
-            <li><a href="#Changes from the Category Table"> Changes from the Category Table System</a></li>
-            <li><a href="#Migrating Existing Category Tabl"> Migrating Existing Category Table Data</a></li>
-          </ul>
-        </li>
         <li><a href="#Form Template Elements"> Form Template Elements</a><ul>
             <li><a href="#Defining a Form Template"> Defining a Form Template</a></li>
             <li><a href="#Defining a Form in One Topic"> Defining a Form in One Topic</a></li>
-            <li><a href="#Defining a Form in Multiple Topi"> Defining a Form in Multiple Topics</a></li>
-            <li><a href="#Various Implementation Notes"> Various Implementation Notes</a></li>
+            <li><a href="#Defining a Form in Multiple Topi"> Defining a Form in Multiple Topics</a><ul>
+                <li><a href="#Implementation Notes"> Implementation Notes</a></li>
+              </ul>
+            </li>
           </ul>
         </li>
         <li><a href="#Enabling Forms by Web"> Enabling Forms by Web</a></li>
   </ul>
 </div>
 
-## <a name="Form Templates"></a> Form 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 (e.g. Bug, Feature, FAQ entry etc) and then filling in fields using dropdowns, radio buttons etc.
-
-### <a name="Overview"></a> Overview
+# <a name="Form Templates"></a> Form Templates
 
-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.
+Include form-based input in topics, with unlimited, user-selectable forms per web; values stored as Meta Data
 
-You can search for topics with specific form data using the %SEARCH% variable - see [[TWikiVariables|Main/TWikiDocumentation#TWikiVariables]].
+## <a name="Overview"></a> Overview
 
-### <a name="TWikiCategoryTables Are History"></a><a name="_TWikiCategoryTables Are History"></a> TWikiCategoryTables Are History
+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|Main/TWikiDocumentation#TWiki_Meta_Data]]; all data is saved.
 
-Form Templates more powerful, flexible replacement for the original TWikiCategoryTable.
+Form Templates replace TWikiCategory Tables from the previous version of TWiki.
 
-#### <a name="Changes from the Category Table"></a><a name="Changes from the Category Table "></a> Changes from the Category Table System
+## <a name="Form Template Elements"></a> Form Template Elements
 
-Main changes from TWikiCategoryTable: The templates for category view/edit have been dropped, and the forma renders to HTML on viewing.
-
-<table border="1" cellpadding="0" 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> UseCategory radio button </td>
-  </tr>
-</table>
-
-#### <a name="Migrating Existing Category Tabl"></a> 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`.
-
-### <a name="Form Template Elements"></a> 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.
-- **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 _rows_x_cols_ 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="Defining a Form Template"></a> Defining a Form Template
+- **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_)
+
+### <a name="Defining a Form Template"></a> 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.
 
@@ -102,7 +62,7 @@ A Form Template is simply a page containing your form, defined in a table where
 >     | Target   | checkbox+buttons | 3 | 1, No.2, No.3 | Select OS |
 >     | Version | text | 16 | | OS version |
 
-#### <a name="Defining a Form in One Topic"></a> Defining a Form in One Topic
+### <a name="Defining a Form in One Topic"></a> Defining a Form in One Topic
 
 Example: WebFormTemplate of the TWiki.Know web:
 
@@ -137,7 +97,7 @@ Example: WebFormTemplate of the TWiki.Know web:
   </tr>
 </table>
 
-#### <a name="Defining a Form in Multiple Topi"></a> Defining a Form in Multiple Topics
+### <a name="Defining a Form in Multiple Topi"></a> Defining a Form in Multiple Topics
 
 The form template can also be defined in an alternative way by using more then one topic:
 
@@ -200,42 +160,50 @@ The form template can also be defined in an alternative way by using more then o
 >   </tr>
 > </table>
 
-#### <a name="Various Implementation Notes"></a> Various Implementation Notes
+#### <a name="Implementation Notes"></a> 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]]
-- <code>[[...|/WebHome]]</code> can be used for force a link, at present <code>[[...|/WebHome]]</code> 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 <code>**WebTopicEditTemplate**</code> or using field=value or for checkboxes field=1
-- The topic definition is not read when a topic is viewed
+- - This format allows you to define field items with / without [[WikiNames]], depending on your needs.
 
-### <a name="Enabling Forms by Web"></a> Enabling Forms by Web
+- - The topic can be protected in the usual manner so that not everybody can change the form template - see [[TWikiAccessControl]]
 
-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.
+- - <code>[[...|/WebHome]]</code> can be used for force a link, at present <code>[[...|/WebHome]]</code> format is not supported.
 
-- Set WEBFORMS = BugForm, FeatureForm, BookLoanForm
+- - 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.
 
-With <code>**WEBFORMS**</code> 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`.
+- - 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.
 
-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.
+- - The topic definition is not read when a topic is viewed.
 
-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:
+## <a name="Enabling Forms by Web"></a> Enabling Forms by Web
 
-- Not checkboxes - name e.g. ?BugPriority=1
-- Checkbox - namevalue=1 e.g. ?ColourRed=1. Note that all boxes with a tick must be specified.
+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. Example:
 
-### <a name="Creating New Topics with Forms"></a> Creating New Topics with Forms
+- Set WEBFORMS = BugForm, FeatureForm, BookLoanForm
 
-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.
+- 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.
+
+- 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.
+
+## <a name="Creating New Topics with Forms"></a> Creating New Topics with Forms
+
+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.
 
-### <a name="Setting Up Multiple Form Options"></a> Setting Up Multiple Form Options
+## <a name="Setting Up Multiple Form Options"></a> Setting Up Multiple Form Options
+
+- The optional <code>**WEBFORMS**</code> variable defines alternative Form Templates that can be selected by pressing **Change** in edit mode.
+
+- 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.
 
-- The optional <code>**WEBFORMS**</code> 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?_**
+## <a name="Form Template Data Storage"></a> Form Template Data Storage
 
-### <a name="Form Template Data Storage"></a> Form Template Data Storage
+The Form Template topic name, fields and values are stored as [[Meta Data|Main/TWikiDocumentation#TWikiMetaData]]. The order of field/value pairs in the Meta Data is the same as in the Template.
 
-The Form Template topic name, fields and values are stored in the topic [[Meta Data|Main/TWikiDocumentation#TWikiMetaData]]. 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 />
+-- [[JohnTalintyre]] - 16 Aug 2001 <br />
index bc13237..33c3982 100644 (file)
   </ul>
 </div>
 
-## <a name="TWiki Plugins"></a> TWiki Plugins
+# <a name="TWiki Plugins"></a> TWiki Plugins
 
 Plugin use and development; about the Plugin API.
 
-### <a name="Overview"></a> Overview
+## <a name="Overview"></a> Overview
 
 You can add Plugins to greatly extend TWiki's functionality, without alering the program core. With a plug-in approach, you can:
 
@@ -46,7 +46,7 @@ You can add Plugins to greatly extend TWiki's functionality, without alering the
 
 Everything to do with TWiki Plugins - demos, new releases, downloads, development, general discussion - is available at TWiki.org, in the **[[TWiki.org Plugins web|Main/TWiki:Plugins]]**.
 
-### <a name="Preinstalled Plugins"></a> Preinstalled Plugins
+## <a name="Preinstalled Plugins"></a> Preinstalled Plugins
 
 TWiki comes with three Plugins as part of the standard installation.
 
@@ -58,7 +58,7 @@ TWiki comes with three Plugins as part of the standard installation.
 
 <a name="InstallPlugin"></a>
 
-### <a name="Installing Plugins"></a> Installing Plugins
+## <a name="Installing Plugins"></a> Installing Plugins
 
 Each TWikiPlugin comes with full documentation: step-by-step installation instructions, a detailed description of any special requirements, version details, and a working example for testing.
 
@@ -76,7 +76,7 @@ Each Plugin has a standard release page, located in the TWiki:Plugins web at TWi
 - **Dev page:** Post feature requests, bug reports and general dev comments; topic title ends in <code>**Dev**</code> (<code>**SomePluginDev**</code>).
 - **User support:** Post installation, how to use type questions (and answers, if you have them) in the TWiki:Support web.
 
-#### <a name="On-Site Pretesting"></a> On-Site Pretesting
+### <a name="On-Site Pretesting"></a> On-Site Pretesting
 
 To test new Plugins on your installation before making them public, you may want to use one of these two approaches:
 
@@ -87,11 +87,11 @@ To test new Plugins on your installation before making them public, you may want
 
 - **Method 2:** List the Plugin under <code>**Test**</code> in the DISABLEDPLUGINS variable in [[TWikiPreferences]]. Redefine the DISABLEDPLUGINS variable in the Test web and do the testing there.
 
-### <a name="Managing Plugins"></a> Managing Plugins
+## <a name="Managing Plugins"></a> Managing Plugins
 
 Ideally, after you've [[installed a Plugin|Main/WebHome#InstallPlugin]], just read the instructions and you're set. In fact, some Plugins require additional settings or offer extra options that you can modify on Preferences pages. You may want to make a Plugin available only in certain webs, or temporarily disable it. And having to list all available Plugins will probably come up. You can handle all of these with simple procedures.
 
-#### <a name="Setting Preferences"></a> Setting Preferences
+### <a name="Setting Preferences"></a> Setting Preferences
 
 Installed Plugins can be **toggled on or off**, site-wide or by web, through TWikiPreferences and individual WebPreferences:
 
@@ -110,7 +110,7 @@ Installed Plugins can be **toggled on or off**, site-wide or by web, through TWi
 
 - The settings can be retrieved as Preferences variables like <code>**%&lt;pluginname&gt;\_&lt;var&gt;%**</code>, ex: <code>**%DEFAULTPLUGIN\_SHORTDESCRIPTION%**</code> shows the description of the DefaultPlugin.
 
-#### <a name="Listing Active Plugins"></a> Listing Active Plugins
+### <a name="Listing Active Plugins"></a> Listing Active Plugins
 
 Plugin status variables let you list all active Plugins wherever needed. There are two list formats:
 
@@ -135,11 +135,11 @@ Plugin status variables let you list all active Plugins wherever needed. There a
 
 <a name="PluginAPI"></a>
 
-### <a name="The TWiki Plugin API"></a> The TWiki Plugin API
+## <a name="The TWiki Plugin API"></a> The TWiki Plugin API
 
 The Application Programming Interface (API) for TWikiPlugins provides the specifications for hooking into the core TWiki code from your external Perl Plugin module. The Plugin API is new to the Production version of TWiki with the TWikiReleaseSpring2001.
 
-#### <a name="Available Core Functions"></a> Available Core Functions
+### <a name="Available Core Functions"></a> Available Core Functions
 
 The <code>**lib/TWiki/Func.pm**</code> implements ALL official Plugin functions. Plugins should ONLY use functions published in this module.
 
@@ -147,13 +147,13 @@ The <code>**lib/TWiki/Func.pm**</code> implements ALL official Plugin functions.
 
 - For best performance, enable only the functions you really need. NOTE: <code>**outsidePREHandler**</code> and <code>**insidePREHandler**</code> are particularly expensive.
 
-#### <a name="Predefined Hooks"></a> Predefined Hooks
+### <a name="Predefined Hooks"></a> Predefined Hooks
 
 In addition to TWiki core functions, Plugins can use **predefined hooks**, or **call backs**, listed in the <code>**lib/TWiki/Plugins/EmptyPlugin.pm**</code> module.
 
 - All but the initPlugin are disabled. To enable a call back, remove <code>**DISABLE\_**</code> from the function name.
 
-#### <a name="Plugin Version Detection"></a> Plugin Version Detection
+### <a name="Plugin Version Detection"></a> Plugin Version Detection
 
 To eliminate the incompatibility problems bound to arise from active open Plugin development, a Plugin versioning system and an API <code>**GetVersion**</code> detection routine are provided for automatic compatibility checking.
 
@@ -166,15 +166,15 @@ To eliminate the incompatibility problems bound to arise from active open Plugin
 
 <a name="CreatePlugins"></a>
 
-### <a name="Creating Plugins"></a> Creating Plugins
+## <a name="Creating Plugins"></a> Creating Plugins
 
 With a reasonable knowledge of the Perl scripting language, you can create new Plugins or modify and extend existing ones. Basic plug-in architecture uses an Application Programming Interface (API), a set of software instructions that allow external code to interact with the main program. The [[TWiki Plugin API|Main/WebHome#PluginAPI]] Plugins by providing a programming interface for TWiki.
 
-#### <a name="The _DefaultPlugin Alternative"></a> The DefaultPlugin Alternative
+### <a name="The _DefaultPlugin Alternative"></a> The DefaultPlugin Alternative
 
 - **DefaultPlugin** can handle some outdated TWiki variables, found, for example, in sites recently updated from an old version. Settings are in [[TWikiPreferences]]. You can also add your own simple custom processing rules here, though in all but very simple cases, writing a new Plugin is preferable.
 
-#### <a name="Anatomy of a Plugin"></a> Anatomy of a Plugin
+### <a name="Anatomy of a Plugin"></a> Anatomy of a Plugin
 
 A basic TWiki Plugin consists of two elements:
 
@@ -185,13 +185,13 @@ The Perl module can be a block of code that connects with TWiki alone, or it can
 
 The Plugin API handles the details of connecting your Perl module with main TWiki code. When you're familiar with the [[Plugin API|Main/WebHome#PluginAPI]], you're ready to develop Plugins.
 
-#### <a name="Creating the Perl Module"></a> Creating the Perl Module
+### <a name="Creating the Perl Module"></a> Creating the Perl Module
 
 Copy file ([`EmptyPlugin.pm`](http://twiki.org/lib/TWiki/Plugins/EmptyPlugin.pm) to <code>**&lt;name&gt;Plugin.pm**</code> <code>**EmptyPlugin.pm**</code> contains no executable code, so it does nothing, but it's ready to be used. Customize it. Refer to the [[Plugin API|Main/WebHome#PluginAPI]] specs for more information.
 
 <a name="CreatePluginTopic"></a>
 
-#### <a name="Writing the Documentation Topic"></a> Writing the Documentation Topic
+### <a name="Writing the Documentation Topic"></a> Writing the Documentation Topic
 
 The Plugin documentation topic contains usage instructions and version details. It serves the Plugin files as [[FileAttachments]] for downloading. (The doc topic is also included _in_ the [[distribution package|Main/WebHome#CreatePluginPackage]].) To create a documentation topic:
 
@@ -229,7 +229,7 @@ The Plugin documentation topic contains usage instructions and version details.
 
 <a name="CreatePluginPackage"></a>
 
-#### <a name="Packaging for Distribution"></a> Packaging for Distribution
+### <a name="Packaging for Distribution"></a> Packaging for Distribution
 
 A minimum Plugin release consists of a Perl module with a [[WikiName]] that ends in <code>**Plugin**</code>, ex: <code>**YourPlugin.pm**</code>, and a documentation page with the same name(<code>**YourPlugin.txt**</code>).
 
@@ -244,7 +244,7 @@ A minimum Plugin release consists of a Perl module with a [[WikiName]] that ends
 
 <a name="PublishPlugin"></a>
 
-#### <a name="Publishing for Public Use"></a> Publishing for Public Use
+### <a name="Publishing for Public Use"></a> Publishing for Public Use
 
 You can release your tested, packaged Plugin to the TWiki community through the TWiki:Plugins web, where all Plugins submitted to TWiki.org are available for download and further development discussion. Publish your Plugin in three steps:
 
index 0c9d7df..3acf11d 100644 (file)
@@ -1,7 +1,3 @@
-<div>
-  <ul>
-    <li><a href="#Web Changes Notification Service"> Web Changes Notification Service</a></li>
-  </ul>
-</div>
-
 ## <a name="Web Changes Notification Service"></a> Web Changes Notification Service
+
+Each %WIKITOOLNAME% web has an automatic email notification service for recent changes. You can subscribe and unsubscribe yourself in [[WebNotify]] on each web.