buildrelease
authorTWikiContributor <TWikiContributor>
Mon, 30 Mar 2009 09:18:27 +0000 (09:18 +0000)
committerTWikiContributor <TWikiContributor>
Mon, 30 Mar 2009 09:18:27 +0000 (09:18 +0000)
67 files changed:
Main/TWikiAdminUser.mdwn
TWiki/BehaviourContrib.mdwn
TWiki/CommentPlugin.mdwn
TWiki/EmptyPlugin.mdwn
TWiki/FormattedSearch.mdwn
TWiki/HeadlinesPlugin.mdwn [new file with mode: 0644]
TWiki/IncludeTopicsAndWebPages.mdwn
TWiki/InterwikiPlugin.mdwn
TWiki/JSCalendarContrib.mdwn
TWiki/NewUserTemplate.mdwn
TWiki/PreferencesPlugin.mdwn
TWiki/SearchHelp.mdwn
TWiki/SourceCode.mdwn
TWiki/SpreadSheetPlugin.mdwn
TWiki/TWikiAccessControl.mdwn
TWiki/TWikiDocGraphics.mdwn
TWiki/TWikiHistory.mdwn
TWiki/TWikiInstallationGuide.mdwn
TWiki/TWikiNetSkin.mdwn [new file with mode: 0644]
TWiki/TWikiNetSkinColorSettings.mdwn [new file with mode: 0644]
TWiki/TWikiNetSkinPlugin.mdwn [new file with mode: 0644]
TWiki/TWikiNetSkinWebCreateNewTopicTemplate.mdwn [new file with mode: 0644]
TWiki/TWikiPreferences.mdwn
TWiki/TWikiPreferencesForm.mdwn
TWiki/TWikiReleaseNotes04x01.mdwn
TWiki/TWikiReleaseNotes04x02.mdwn
TWiki/TWikiReleaseNotes04x03.mdwn [new file with mode: 0644]
TWiki/TWikiSystemRequirements.mdwn
TWiki/TWikiTemplates.mdwn
TWiki/TinyMCEPlugin.mdwn
TWiki/TwistyContrib.mdwn
TWiki/VarENCODE.mdwn
TWiki/VarENDSECTION.mdwn
TWiki/VarINCLUDE.mdwn
TWiki/VarSEARCH.mdwn
TWiki/VarSTARTSECTION.mdwn
TWiki/VarURLPARAM.mdwn
TWiki/WebChanges.mdwn
TWiki/WebHome.mdwn
TWiki/WysiwygPlugin.mdwn
Trash/TrashAttachment.mdwn [new file with mode: 0644]
Trash/WebAtom.mdwn [new file with mode: 0644]
Trash/WebChanges.mdwn [new file with mode: 0644]
Trash/WebHome.mdwn [new file with mode: 0644]
Trash/WebIndex.mdwn [new file with mode: 0644]
Trash/WebLeftBar.mdwn [new file with mode: 0644]
Trash/WebNotify.mdwn [new file with mode: 0644]
Trash/WebPreferences.mdwn [new file with mode: 0644]
Trash/WebRss.mdwn [new file with mode: 0644]
Trash/WebSearch.mdwn [new file with mode: 0644]
Trash/WebSearchAdvanced.mdwn [new file with mode: 0644]
Trash/WebStatistics.mdwn [new file with mode: 0644]
Trash/WebTopicList.mdwn [new file with mode: 0644]
_default/WebAtom.mdwn [new file with mode: 0644]
_default/WebChanges.mdwn [new file with mode: 0644]
_default/WebCreateNewTopic.mdwn [new file with mode: 0644]
_default/WebHome.mdwn [new file with mode: 0644]
_default/WebIndex.mdwn [new file with mode: 0644]
_default/WebLeftBar.mdwn [new file with mode: 0644]
_default/WebNotify.mdwn [new file with mode: 0644]
_default/WebPreferences.mdwn [new file with mode: 0644]
_default/WebRss.mdwn [new file with mode: 0644]
_default/WebSearch.mdwn [new file with mode: 0644]
_default/WebSearchAdvanced.mdwn [new file with mode: 0644]
_default/WebStatistics.mdwn [new file with mode: 0644]
_default/WebTopicList.mdwn [new file with mode: 0644]
_empty/WebPreferences.mdwn [new file with mode: 0644]

index d8a27fe..015e239 100644 (file)
@@ -19,6 +19,6 @@ This means it is no longer necessary to add yourself to the [[TWikiAdminGroup]],
 - a configure password (otherwise the Admin login is automatically disabled.)
 - If your TWiki is configured to use ApacheLoginManager, you will need to log in as a valid user first.
 
-**_Related topics:_** [[TWikiUsers]], [[TWikiAdminGroup]], [[TWikiGroups]], %SYSTEMWEB%.TWikiAccessControl
+**_Related topics:_** [[TWikiUsers]], [[TWikiAdminGroup]], [[TWikiGroups]], [[TWikiAccessControl]]
 
 ----
index f244206..0e40bb0 100644 (file)
@@ -242,7 +242,7 @@ If we have a 'normal' link to TWiki Web hometopic: [[TWiki Web Home|TWiki/WebHom
 >   </tr>
 >   <tr>
 >     <td align="right"> Version: </td>
->     <td> 15675 (06 Dec 2008) </td>
+>     <td> 15675 (30 Mar 2009) </td>
 >   </tr>
 >   <tr>
 >     <td align="right"> Dependencies: </td>
index d82b4f5..7dd1fe4 100644 (file)
@@ -401,7 +401,7 @@ Another great TWiki extension from the [![](http://www.dementia.org/twiki//view/
   </tr>
   <tr>
     <td align="right"> Plugin Version: </td>
-    <td> 03 Aug 2008 17302 (06 Dec 2008) </td>
+    <td> 03 Aug 2008 17791 (30 Mar 2009) </td>
   </tr>
   <tr>
     <td align="right"> Change History: </td>
index 0fb3eab..07fe02c 100644 (file)
@@ -46,7 +46,7 @@ Plugin settings are stored as preferences variables. To reference a plugin setti
   </tr>
   <tr>
     <td align="right"> Plugin Version: </td>
-    <td> 15942 (06 Dec 2008) </td>
+    <td> 15942 (30 Mar 2009) </td>
   </tr>
   <tr>
     <td align="right"> Change History: </td>
index ac996af..7eb1297 100644 (file)
@@ -9,7 +9,8 @@ The default output format of a <code>[[%SEARCH{...}%|Main/VarSEARCH]]</code> is
     <li><a href="#TWiki Formatted Search"> TWiki Formatted Search</a><ul>
         <li><a href="#Syntax"> Syntax</a><ul>
             <li><a href="#1. <code>header="..."</code> parameter"> 1. header="..." parameter</a></li>
-            <li><a href="#2. <code>format="..."</code> parameter"> 2. format="..." parameter</a></li>
+            <li><a href="#2. <code>footer="..."</code> parameter"> 2. footer="..." parameter</a></li>
+            <li><a href="#3. <code>format="..."</code> parameter"> 3. format="..." parameter</a></li>
           </ul>
         </li>
         <li><a href="#Examples"> Examples</a><ul>
@@ -84,7 +85,32 @@ Variables that can be used in the header string:
   </tr>
 </table>
 
-### <a name="2. &lt;code&gt;format=&quot;...&quot;&lt;/code&gt; parameter"></a> 2. `format="..."` parameter
+### <a name="2. &lt;code&gt;footer=&quot;...&quot;&lt;/code&gt; parameter"></a> 2. `footer="..."` parameter
+
+Use the footer parameter to specify the footer of a search result. It should correspond to the format of the format parameter. This parameter is optional. <br /> Example: `footer="| *Topic* | *Summary* |"`
+
+Variables that can be used in the footer string:
+
+<table border="1" cellpadding="0" cellspacing="0">
+  <tr>
+    <th bgcolor="#99CCCC"><strong> Name: </strong></th>
+    <th bgcolor="#99CCCC"><strong> Expands To: </strong></th>
+  </tr>
+  <tr>
+    <td><code>$web</code></td>
+    <td> Name of the web </td>
+  </tr>
+  <tr>
+    <td><code>$ntopics</code></td>
+    <td> Number of topics found in current web </td>
+  </tr>
+  <tr>
+    <td><code>$nhits</code></td>
+    <td> Number of hits if <code>multiple="on"</code>. Cumulative across all topics in current web. Identical to <code>$ntopics</code> unless <code>multiple="on"</code></td>
+  </tr>
+</table>
+
+### <a name="3. &lt;code&gt;format=&quot;...&quot;&lt;/code&gt; parameter"></a> 3. `format="..."` parameter
 
 Use the format parameter to specify the format of one search hit. <br /> Example: `format="| $topic | $summary |"`
 
@@ -133,11 +159,11 @@ Variables that can be used in the format string:
   </tr>
   <tr>
     <td><code>$date</code></td>
-    <td> Time stamp of last topic update, e.g. <code>29 Jun 2010 - 16:13</code></td>
+    <td> Time stamp of last topic update, e.g. <code>29 Jun 2010 - 16:14</code></td>
   </tr>
   <tr>
     <td><code>$isodate</code></td>
-    <td> Time stamp of last topic update, e.g. <code>2010-06-29T16:13Z</code></td>
+    <td> Time stamp of last topic update, e.g. <code>2010-06-29T16:14Z</code></td>
   </tr>
   <tr>
     <td><code>$rev</code></td>
@@ -223,6 +249,14 @@ Variables that can be used in the format string:
     <td><code>$count(reg-exp)</code></td>
     <td> Count of number of times a regular expression pattern appears in the text of a topic (does not search meta data). Follows guidelines for use and limitations outlined above under <code>$pattern(reg-exp)</code>. Example: <code>$count(.*?(---[+][+][+][+]) .*)</code> counts the number of &lt;H4&gt; headers in a page. </td>
   </tr>
+  <tr>
+    <td><code>$ntopics</code></td>
+    <td> Number of topics found in current web. This is the current topic count, not the total number of topics </td>
+  </tr>
+  <tr>
+    <td><code>$nhits</code></td>
+    <td> Number of hits if <code>multiple="on"</code>. Cumulative across all topics in current web. Identical to <code>$ntopics</code> unless <code>multiple="on"</code></td>
+  </tr>
 </table>
 
 ## <a name="Examples"></a> Examples
@@ -235,7 +269,7 @@ Here are some samples of formatted searches. The [[SearchPatternCookbook]] has o
 
 **Write this:**
 
-`%SEARCH{ "FAQ" scope="topic" nosearch="on" nototal="on" header="   * *Topic: Summary:*" format="   * [[$topic]]: $summary" }%`
+`%SEARCH{ "FAQ" scope="topic" nosearch="on" nototal="on" header="   * *Topic: Summary:*" format="   * [[$topic]]: $summary"  footer="   * *Topic: Summary*"  }%`
 
 **To get this:**
 
@@ -373,4 +407,4 @@ Incorrect format of searchformat template (missing sections? There should be 4 %
 
 **_Related Topics:_** [[UserDocumentationCategory]], [[SearchHelp]], [[TWikiVariables#VarSEARCH]], [[SearchPatternCookbook]], [[RegularExpression]]
 
--- **_Contributors:_** TWiki:Main.PeterThoeny, TWiki:Main.CrawfordCurrie
+-- **_Contributors:_** TWiki:Main.PeterThoeny, TWiki:Main.CrawfordCurrie, TWiki:Main.SopanShewale
diff --git a/TWiki/HeadlinesPlugin.mdwn b/TWiki/HeadlinesPlugin.mdwn
new file mode 100644 (file)
index 0000000..2a91881
--- /dev/null
@@ -0,0 +1,348 @@
+# <a name="Headlines Plugin"></a><a name=" Headlines Plugin"></a> Headlines Plugin
+
+<div>
+  <ul>
+    <li><a href="#Description"> Description</a></li>
+    <li><a href="#Syntax Rules"> Syntax Rules</a><ul>
+        <li><a href="#Rendering the <code>dc</code> namespace"> Rendering the dc namespace</a></li>
+        <li><a href="#Rendering the <code>image</code> namespace"> Rendering the image namespace</a></li>
+        <li><a href="#Rendering the <code>content</code> namespac"> Rendering the content namespace</a></li>
+      </ul>
+    </li>
+    <li><a href="#Examples"> Examples</a><ul>
+        <li><a href="#Slashdot News"> Slashdot News</a></li>
+        <li><a href="#Business Opportunities Weblog"> Business Opportunities Weblog</a></li>
+      </ul>
+    </li>
+    <li><a href="#Plugin Settings"> Plugin Settings</a></li>
+    <li><a href="#Style sheets"> Style sheets</a></li>
+    <li><a href="#Plugin Installation Instructions"> Plugin Installation Instructions</a></li>
+    <li><a href="#Plugin Info"> Plugin Info</a></li>
+  </ul>
+</div>
+
+## <a name="Description"></a> Description
+
+This plugin displays RSS and ATOM feeds from news sites. Use it to build news portals that show headline news.
+
+**_Note:_** Syndic8.com ( <http://www.syndic8.com/> ) is a good site listing many RSS feeds.
+
+## <a name="Syntax Rules"></a> Syntax Rules
+
+`%HEADLINES{"..."}%`
+
+<table border="1" cellpadding="0" cellspacing="0">
+  <tr>
+    <th bgcolor="#99CCCC"><strong> Parameter </strong></th>
+    <th bgcolor="#99CCCC"><strong> Explanation </strong></th>
+    <th bgcolor="#99CCCC"><strong> Default </strong></th>
+  </tr>
+  <tr>
+    <td><code>"..."</code></td>
+    <td> source of RSS feed; this can be an url (starting with http) or a web.topic location for internal feeds </td>
+    <td> None; is required </td>
+  </tr>
+  <tr>
+    <td><code>href="..."</code></td>
+    <td> (Alternative to above) </td>
+    <td> N/A </td>
+  </tr>
+  <tr>
+    <td><code>refresh="60"</code></td>
+    <td> Refresh rate in minutes for caching feed; <code>"0"</code> for no caching </td>
+    <td> Global <code>REFRESH</code> setting </td>
+  </tr>
+  <tr>
+    <td><code>limit="12"</code></td>
+    <td> Maximum number of items shown </td>
+    <td> Global <code>LIMIT</code> setting </td>
+  </tr>
+  <tr>
+    <td><code>header</code></td>
+    <td> Header. Can include these variables: - $channeltitle, $title: title of channel (channel.title) %BR% - $channellink, $link: link of channel (channel.link) %BR% - $channeldescription, $description: description (channel.description) %BR% - $channeldate, $date: publication date of the channel (channel.pubDate) %BR% - $rights: copyrights of the channel (channel.copyright) %BR% - $imagetitle: title text for site (image.title) %BR% - $imagelink: link for site (image.link) %BR% - $imageurl: URL of image (image.url) %BR% - $imagedescription: description of image (image.description) </td>
+    <td> Global <code>HEADER</code> setting </td>
+  </tr>
+  <tr>
+    <td><code>format</code></td>
+    <td> Format of one item. Can include these variables: %BR% - $title: news item title (item.title) %BR% - $link: news item link (item.link) %BR% - $description: news item description (item.description) %BR% - $date: the publication date (item.pubDate, item.date) %BR% - $category: the article category (item.category) </td>
+    <td> Global <code>FORMAT</code> setting </td>
+  </tr>
+</table>
+
+The `header` and `format` parameters might also use variables rendering the `dc`, `image` and `content` namespace information. Note, that only bits of interest have been implemented so far and those namespaces might not be implemented fully yet.
+
+### <a name="Rendering the &lt;code&gt;dc&lt;/code&gt; namespace"></a> Rendering the `dc` namespace
+
+The following variables are extracting the `dc` namespace info, that could be used in `header` and `format`. Nnote, that some of the variables are already used above. This is done by purpose to use different feeds with the same formating parameters. If there's a conflict the non-dc tags have higher precedence, i.e. a &lt;title&gt; content &lt;/title&gt; is prefered over &lt;dc:title&gt; content &lt;/dc:title&gt; .
+
+- $title: channel/article title (dc:title)
+- $creator: channel creator (dc:creator)
+- $subject: subject text; this will also add an image according to the subject hash list, see [[above|Main/WebHome#Subject_Images]] (dc:subject)
+- $description: ... (dc:description)
+- $publisher: the channel/article publisher (dc:publisher)
+- $contributor: ... (dc:contributor)
+- $date: ... (dc:date)
+- $type: ... (dc:type)
+- $format: ... (dc:format)
+- $identifier: ... (dc:identifier)
+- $source: ... (dc:source)
+- $language: ... (dc:language)
+- $relation: ... (dc:relation)
+- $coverage: ... (dc: coverage)
+- $rights: ... (dc: rights)
+
+### <a name="Rendering the &lt;code&gt;image&lt;/code&gt; namespace"></a> Rendering the `image` namespace
+
+An `image:item` is converted into an &lt;img&gt; tag using the following mappings:
+
+- `src`: image url (rdf:about attribute of the image.item tag)
+- `alt`: image title (title)
+- `width`: image width (image:width)
+- `height`: image height image:height)
+
+### <a name="Rendering the &lt;code&gt;content&lt;/code&gt; namespac"></a> Rendering the `content` namespace
+
+The variable $content is refering to the &lt;content:encoding&gt; content &lt;/content:encoding&gt;.
+
+## <a name="Examples"></a> Examples
+
+### <a name="Slashdot News"></a> Slashdot News
+
+Write
+
+    %HEADLINES{"http://slashdot.org/slashdot.rdf"
+      header="*[[$link][$title]]:* $description"
+      format="$t* [[$link][$title]]"
+    }%
+
+to get the latest Slashdot news as a bullet list format:
+
+%HEADLINES\{"http://slashdot.org/slashdot.rdf" header="---+!! [[$title|Main/Link]]$n $description" format="$t\* [[$title|Main/Link]]"\}%
+
+### <a name="Business Opportunities Weblog"></a> Business Opportunities Weblog
+
+Write
+
+    %HEADLINES{"http://www.business-opportunities.biz/feed" limit="3"}%
+
+to get the latest postings on the "Business Opportunities" weblog:
+
+%HEADLINES\{"http://www.business-opportunities.biz/feed" limit="3"\}%
+
+## <a name="Plugin Settings"></a> Plugin Settings
+
+Plugin settings are stored as preferences variables. To reference a plugin setting write <code>**%&lt;plugin&gt;\_&lt;setting&gt;%**</code>, for example, <code>**%HEADLINESPLUGIN\_SHORTDESCRIPTION%**</code>. **Note:** Don't modify the settings here; copy and customize the settings in [[Main.TWikiPreferences|Main/TWikiPreferences]]. For example, to customize the USERAGENTNAME setting, create a HEADLINESPLUGIN\_USERAGENTNAME setting in Main.TWikiPreferences.
+
+- One line description, shown in the [[TextFormattingRules]] topic:
+  - Set SHORTDESCRIPTION = Show headline news in TWiki pages based on RSS and ATOM news feeds from external sites
+
+- Refresh rate in minutes for cached feeds. Disable caching: `0`, default: `60`
+  - Set REFRESH = 60
+
+- Maximum number of items shown. Default: `100`
+  - Set LIMIT = 100
+
+- Use LWP::UserAgent, or fallback to TWiki's internal `getUrl()` method. Default: `yes`
+  - Set USELWPUSERAGENT = yes
+
+- Timeout fetching a feed using the LWP::UserAgent. Default: `20`
+  - Set USERAGENTTIMEOUT = 20
+
+- Name of user agent. Default: `TWikiHeadlinesPlugin/2.21`
+
+          * Set USERAGENTNAME = TWikiHeadlinesPlugin/2.21
+
+- Default header: (variables are explained in the syntax rules)
+
+          * Set HEADER = <div class="headlinesChannel"><div class="headlinesLogo"><img src="$imageurl" alt="$imagetitle" border="0" />%BR%</div><div class="headlinesTitle">$n---+!! <a href="$link">$title</a></div><div class="headlinesDate">$date</div><div class="headlinesDescription">$description</div><div class="headlinesRight">$rights</div></div>
+
+- Default format of one item: (variables are explained in the syntax rules)
+
+          * Set FORMAT = <div class="headlinesArticle"><div class="headlinesTitle"><a href="$link">$title</a></div>$n<span class="headlinesDate">$date</span> <span class="headlinesCreator"> $creator</span> <span class="headlinesSubject"> $subject </span>$n<div class="headlinesText"> $description</div></div>
+
+- Values taken from configure: (only supported if CPAN:LWP is installed)
+  - `$TWiki::cfg{PROXY}{HOST}` - proxy host, such as `"proxy.example.com";`
+  - `$TWiki::cfg{PROXY}{PORT}` - proxy port, such as `"8080";`
+  - `$TWiki::cfg{PROXY}{SkipProxyForDomains}` - domains excluded from proxy, such as `"intra.example.com, bugs.example.com";`
+
+## <a name="Style sheets"></a> Style sheets
+
+The default HEADER and FORMAT settings use the following styles. See the [style.css](http://www.dementia.org/twiki//view/style.css) file defining the default CSS properties (indentation illustrates enclosure).
+
+- headlinesRss: output of the [[HeadlinesPlugin]] (div)
+  - headlinesChannel: channel header (div)
+    - headlinesLogo: channel logo (div)
+    - headlinesTitle: channel title (div)
+    - headlinesDate: channel date (div)
+    - headlinesDescription: channel description (div)
+    - headlinesRight: channel copyright (div)
+  - headlinesArticle: one news item (div)
+    - headlinesTitle: article title (div)
+    - headlinesDate: article date (span)
+    - headlinesCreator: author of article (span)
+    - headlinesSubject: subect category of the article (span)
+    - headlinesText: article text (div)
+
+## <a name="Plugin Installation Instructions"></a> Plugin Installation Instructions
+
+- [Download](http://www.dementia.org/twiki//view/%TOPIC%.zip) the ZIP file
+- Unzip it in your twiki installation directory. Content: <table border="1" cellpadding="0" cellspacing="0">
+  <tr>
+    <th bgcolor="#99CCCC"><strong> File: </strong></th>
+    <th bgcolor="#99CCCC"><strong> Description: </strong></th>
+  </tr>
+  <tr>
+    <td><code><b>data/TWiki/%TOPIC%.txt</b></code></td>
+    <td> plugin topic </td>
+  </tr>
+  <tr>
+    <td><code><b>pub/TWiki/%TOPIC%/style.css</b></code></td>
+    <td> default css </td>
+  </tr>
+  <tr>
+    <td><code><b>lib/TWiki/%TOPIC%.pm</b></code></td>
+    <td> plugin perl module </td>
+  </tr>
+  <tr>
+    <td><code><b>lib/TWiki/%TOPIC%/Core.pm</b></code></td>
+    <td> plugin core </td>
+  </tr>
+</table>
+ Check if above examples show a news feed instead of variable.
+- Optionally, run <code>**%TOPIC%\_installer.pl**</code> to automatically check and install other TWiki modules that this module depends on. You can also do this step manually.
+- Alternatively, manually make sure the dependencies listed in the table below are resolved. <table border="1">
+  <tr>
+    <th>Name</th>
+    <th>Version</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td align="left">Digest::MD5</td>
+    <td align="left">&gt;=2.33</td>
+    <td align="left">Required. Download from CPAN:Digest::MD5</td>
+  </tr>
+  <tr>
+    <td align="left">LWP::UserAgent</td>
+    <td align="left">&gt;=5.803</td>
+    <td align="left">Optional. Download from CPAN:LWP::UserAgent</td>
+  </tr>
+</table>
+
+## <a name="Plugin Info"></a> Plugin Info
+
+<table border="1" cellpadding="0" cellspacing="0">
+  <tr>
+    <td align="right"> Plugin Author: </td>
+    <td> TWiki:Main.PeterThoeny, TWiki:Main.MichaelDaum </td>
+  </tr>
+  <tr>
+    <td align="right"> Copyright: </td>
+    <td> © 2002-2009, Peter Thoeny, <a href="http://www.twiki.net/" target="_top">TWIKI.NET</a>; 2005-2007, Michael Daum <a href="http://wikiring.de" target="_top">http://wikiring.de</a></td>
+  </tr>
+  <tr>
+    <td align="right"> License: </td>
+    <td> GPL (<a href="http://www.gnu.org/copyleft/gpl.html" target="_top">GNU General Public License</a>) </td>
+  </tr>
+  <tr>
+    <td align="right"> Plugin Version: </td>
+    <td> v2.21 - 12 Feb 2009 </td>
+  </tr>
+  <tr>
+    <td align="right"> Change History: </td>
+    <td>  </td>
+  </tr>
+  <tr>
+    <td align="right"> 12 Feb 2009: </td>
+    <td> {PROXY}{HOST} supports domain with and without protocol -- Peter Thoeny </td>
+  </tr>
+  <tr>
+    <td align="right"> 06 Feb 2009: </td>
+    <td> added {PROXY}{SkipProxyForDomains} configure setting, added USERAGENTNAME plugin setting -- Peter Thoeny </td>
+  </tr>
+  <tr>
+    <td align="right"> 11 Dec 2008: </td>
+    <td> added {PROXY}{HOST} and {PROXY}{PORT} configure settings -- Peter Thoeny </td>
+  </tr>
+  <tr>
+    <td align="right"> 13 Sep 2007: </td>
+    <td> fixed parsing of content:encoded </td>
+  </tr>
+  <tr>
+    <td align="right"> 23 Jul 2006: </td>
+    <td> improved atom parser; if a posting has no title default to 'Untitled' </td>
+  </tr>
+  <tr>
+    <td align="right"> 26 Apr 2006: </td>
+    <td> added lazy compilation </td>
+  </tr>
+  <tr>
+    <td align="right"> 10 Feb 2006: </td>
+    <td> packaged using the TWiki:Plugins/BuildContrib; minor fixes </td>
+  </tr>
+  <tr>
+    <td align="right"> 03 Feb 2006: </td>
+    <td> off-by-one: limit="n" returned n+1 articles; make FORMAT and HEADER format strings more robust </td>
+  </tr>
+  <tr>
+    <td align="right"> 23 Jan 2006: </td>
+    <td> released v2.00 </td>
+  </tr>
+  <tr>
+    <td align="right"> 05 Dec 2005: </td>
+    <td> internal feed urls must be absolute </td>
+  </tr>
+  <tr>
+    <td align="right"> 02 Dec 2005: </td>
+    <td> added web.topic shorthand for internal feeds </td>
+  </tr>
+  <tr>
+    <td align="right"> 29 Nov 2005: </td>
+    <td> fixed CDATA handling </td>
+  </tr>
+  <tr>
+    <td align="right"> 21 Nov 2005: </td>
+    <td> added ATOM support; extended RSS support; added dublin core support; added content support; optionally using LWP to fetch feeds to follow redirections; corrected CPAN dependencies ; recoding special chars from html integer to entity encoding to increase browser compatibility; added css support; use <code>getWorkArea()</code> if available </td>
+  </tr>
+  <tr>
+    <td align="right"> 11 May 2005: </td>
+    <td> TWiki:Main.WillNorris: added DevelopBranch compatability </td>
+  </tr>
+  <tr>
+    <td align="right"> 31 Oct 2004: </td>
+    <td> Fixed taint issue by TWiki:Main.AdrianWeiler; small performance improvement </td>
+  </tr>
+  <tr>
+    <td align="right"> 29 Oct 2004: </td>
+    <td> Fixed issue of external caching if mod_perl or SpeedyCGI is used </td>
+  </tr>
+  <tr>
+    <td align="right"> 02 Aug 2002: </td>
+    <td> Implemented caching of feeds, thanks to TWiki:Main/RobDuarte </td>
+  </tr>
+  <tr>
+    <td align="right"> 11 Jun 2002: </td>
+    <td> Initial version (V1.000) </td>
+  </tr>
+  <tr>
+    <td align="right"> Perl Version: </td>
+    <td> 5.8 </td>
+  </tr>
+  <tr>
+    <td align="right"> TWiki:Plugins/Benchmark: </td>
+    <td>[[TWiki/GoodStyle]] 100%, [[TWiki/FormattedSearch]] 99.5%, %TOPIC% 94% </td>
+  </tr>
+  <tr>
+    <td align="right"> Plugin Home: </td>
+    <td> TWiki:Plugins/%TOPIC% </td>
+  </tr>
+  <tr>
+    <td align="right"> Feedback: </td>
+    <td> TWiki:Plugins/%TOPIC%Dev </td>
+  </tr>
+  <tr>
+    <td align="right"> Appraisal: </td>
+    <td> TWiki:Plugins/%TOPIC%Appraisal </td>
+  </tr>
+</table>
+
+-- TWiki:Main.PeterThoeny - 12 Jan 2009 %BR% -- TWiki:Main.MichaelDaum - 13 Sep 2007
index dc24ec9..c6af440 100644 (file)
@@ -10,6 +10,7 @@ Use the `%INCLUDE{...}%` variable to embed the content of another topic or web p
         <li><a href="#2. Display Google's robot.txt fi"> 2. Display Google's robot.txt file</a></li>
         <li><a href="#3. Display the current time in T"> 3. Display the current time in Tokyo in a TWiki page</a></li>
         <li><a href="#4. Include a topic _MyTopic wit"> 4. Include a topic MyTopic with two parameters</a></li>
+        <li><a href="#5. Alert Box using Parameterized"> 5. Alert Box using Parameterized Include</a></li>
       </ul>
     </li>
   </ul>
@@ -60,4 +61,29 @@ The result would be
 
 - I like apples better than oranges.
 
+### <a name="5. Alert Box using Parameterized"></a> 5. Alert Box using Parameterized Include
+
+Create a topic called AlertBox with the following content:
+
+    -----
+    %STARTINCLUDE%
+    <div style="border-color:#FF9933; border-style:solid; border-width:thin; width:85%;  margin: 0 auto">
+    <table cellpadding="5" width="100%" cellspacing="0" cellpadding="12" border="0">
+    <tr bgcolor="#FFBB55">
+    <td valign="top" width="16"><img src="%ICONURL{warning}%" width="16" height="16" align="absmiddle" alt="" border="0"></td>
+    <td><b> %TITLE% </b></td>
+    </tr>
+    <tr bgcolor="#FFCC66">
+    <td>&nbsp;</td>
+    <td> %MESSAGE% </td>
+    </tr>
+    </table>
+    </div>
+    %STOPINCLUDE%
+    -----
+
+Now you can write `%INCLUDE{ "AlertBox" TITLE="Alert" MESSAGE="This a test message" }%` to get this:
+
+The `TITLE=""` and `MESSAGE=""` parameters are passed into the include. Using this approach, you can create a library of boxes in the %USERSWEB% web, such as %USERSWEB%.NoteBox, %USERSWEB%.InfoBox.
+
 **_Related Topics:_** [[VarINCLUDE]], [[UserDocumentationCategory]]
index 281143f..3ff8d67 100644 (file)
@@ -91,7 +91,7 @@ Plugin settings are stored as Preferences variables. To reference a plugin setti
   </tr>
   <tr>
     <td align="right"> Copyright: </td>
-    <td> © 2001-2007, Andrea Sterbini, Peter Thoeny (<a href="http://www.twiki.net/" target="_top">TWIKI.NET</a>), [[TWiki/TWikiContributor]]</td>
+    <td> © 2001-2009, Andrea Sterbini, Peter Thoeny (<a href="http://www.twiki.net/" target="_top">TWIKI.NET</a>), [[TWiki/TWikiContributor]]</td>
   </tr>
   <tr>
     <td align="right"> License: </td>
@@ -99,13 +99,17 @@ Plugin settings are stored as Preferences variables. To reference a plugin setti
   </tr>
   <tr>
     <td align="right"> Plugin Version: </td>
-    <td> 03 Aug 2008 17387 (06 Dec 2008) </td>
+    <td> 28 Feb 2009 17852 (30 Mar 2009) </td>
   </tr>
   <tr>
     <td align="right"> Change History: </td>
     <td>  </td>
   </tr>
   <tr>
+    <td align="right"> 28 Feb 2009: </td>
+    <td> 17851 - TWikibug:Item5025 - Added <code>=</code> and <code>&amp;</code> to page regex, allowing links such as <code>Site:ID=1234&amp;sel=56</code></td>
+  </tr>
+  <tr>
     <td align="right"> 03 Aug 2008: </td>
     <td> TWiki 4.2.1 release version </td>
   </tr>
@@ -217,4 +221,4 @@ Plugin settings are stored as Preferences variables. To reference a plugin setti
 
 **_Related Topics:_** [[TWikiPlugins]], [[DeveloperDocumentationCategory]], [[AdminDocumentationCategory]], [[TWikiPreferences]], [[InterWikis]]
 
--- TWiki:Main.PeterThoeny - 25 Nov 2007
+-- TWiki:Main.PeterThoeny - 28 Feb 2009
index 6327059..cbd88cc 100644 (file)
@@ -176,7 +176,7 @@ Another great TWiki extension from the [![](http://www.dementia.org/twiki//view/
   </tr>
   <tr>
     <td align="right"> Version: </td>
-    <td> 17492 (06 Dec 2008) of the Mishoo calendar </td>
+    <td> 17492 (30 Mar 2009) of the Mishoo calendar </td>
   </tr>
   <tr>
     <td align="right"> Copyright ©: </td>
index ab65712..83f1b2b 100644 (file)
@@ -8,7 +8,7 @@
 - [[WelcomeGuest]] - starting points on TWiki
 - [[TWikiUsersGuide]] - complete TWiki documentation, Quick Start to Reference
 - [[Sandbox|Sandbox/WebHome]] - try out TWiki on your own
-- Sandbox.%TOPIC%Sandbox - just for me
+- [[%TOPIC%Sandbox|Sandbox/TOPICSandbox]] - just for me
 -
 -
 
@@ -44,11 +44,6 @@ Notes to TWiki Administrator:
 
 Anything inside this "templateonly" section will not be copied to the home topic of the new user. It is a resource for the administrator to tailor the users home topic.
 
-On public TWiki's on the Internet user topics are often subject to spam so you may want to limit editing to the user himself. You can do this by moving these two lines to the Personal Preferences section above. Remove the small # in front of the "Set".
-
-- Write protect your home page: (set it to your [[WikiName]])
-  - #Set ALLOWTOPICCHANGE = Main.admin
-
 The default topic text above is for English speaking users. If you have a multilingual wiki community you can replace the "My Links", "Personal Preferences" and "Related Topics" sections above with the localized text below. Text enclosed in %MAKETEXT will be shown in the language selected by the user. Please note that the %MAKETEXT can be quite intimidating to new users. Consider translating above text to your own language if your community uses a non-English language. (Remove all text from `%STARTSECTION{type="templateonly"}%` to `%ENDSECTION{type="templateonly"}%` when you are done)
 
 Text for multilingual wiki community, copy from here to %ENDSECTION\{type="templateonly"\}%
@@ -59,7 +54,7 @@ Text for multilingual wiki community, copy from here to %ENDSECTION\{type="templ
 - [[WelcomeGuest]] - starting points on TWiki
 - [[TWikiUsersGuide]] - complete TWiki documentation, Quick Start to Reference
 - [[Sandbox|Sandbox/WebHome]] - try out TWiki on your own
-- Sandbox.%TOPIC%Sandbox - just for me
+- [[%TOPIC%Sandbox|Sandbox/TOPICSandbox]] - just for me
 -
 -
 
index 6694abe..b9ae4d3 100644 (file)
@@ -69,7 +69,7 @@ Like many other TWiki extensions, this module is shipped with a fully automatic
   </tr>
   <tr>
     <td align="right"> Plugin Version: </td>
-    <td> 15487 (06 Dec 2008) </td>
+    <td> 17889 (30 Mar 2009) </td>
   </tr>
   <tr>
     <td align="right"> Change History: </td>
index d97f95f..5682284 100644 (file)
@@ -41,8 +41,8 @@ You can embed a nicely [[formatted search|Main/FormattedSearch]] in a topic by u
 
 [[TWikiPreferences]] defines these search preferences:
 
-- `SEARCHDEFAULTTTYPE`: Default search type for search forms which calls the `search` script
-  - Currently `%SEARCHDEFAULTTTYPE%`
+- `SEARCHDEFAULTTYPE`: Default search type for search forms which calls the `search` script
+  - Currently `%SEARCHDEFAULTTYPE%`
 - `SEARCHVARDEFAULTTYPE`: Default search type for `%SEARCH{}` variable
   - Currenty `%SEARCHVARDEFAULTTYPE%`
 - `SEARCHSTOPWORDS`: List of stop words (common words and characters to exclude from a keyword search)
index 2c13687..1358236 100644 (file)
@@ -607,7 +607,7 @@ Plugins may throw TWiki::OopsException. For example:
 
     This module implements all the search functionality.
 
-    This package has smell factor of *14*
+    This package has smell factor of *13*
 
     ---++ [[TWikiStoreDotPm][TWiki::Store]]
 
@@ -986,4 +986,4 @@ Plugins may throw TWiki::OopsException. For example:
 
     This package doesn't smell
 
-     There were a total of *200* smells
+     There were a total of *199* smells
index 42a8d25..ac858b3 100644 (file)
@@ -1,6 +1,6 @@
 # <a name="TWiki Spreadsheet Plugin"></a><a name=" TWiki Spreadsheet Plugin"></a> TWiki Spreadsheet Plugin
 
-This Plugin adds spreadsheet capabilities to %WIKITOOLNAME% topics. Formulae like <code>**%CALC\{"$INT(7/3)"\}%**</code> are evaluated at page view time. They can be placed in table cells and outside of tables. In other words, this Plugin provides general formula evaluation capability, not just classic spreadsheet functions.
+This plugin adds spreadsheet capabilities to TWiki topics. Formulae like <code>**%CALC\{"$INT(7/3)"\}%**</code> are evaluated at page view time. They can be placed in table cells and outside of tables. In other words, this plugin provides general formula evaluation capability, not just classic spreadsheet functions.
 
 <table>
   <tr>
@@ -48,7 +48,7 @@ This Plugin adds spreadsheet capabilities to %WIKITOOLNAME% topics. Formulae lik
     </td>
   </tr>
   <tr>
-    <td colspan="3"> The formula next to "Total" is <code><b>%CALC{"$SUM( $ABOVE() )"}%</b></code>. <br /> (you see the formula instead of the sum in case the Plugin is not installed or not enabled.) </td>
+    <td colspan="3"> The formula next to "Total" is <code><b>%CALC{"$SUM( $ABOVE() )"}%</b></code>. <br /> (you see the formula instead of the sum in case the plugin is not installed or not enabled.) </td>
   </tr>
 </table>
 
@@ -66,6 +66,7 @@ This Plugin adds spreadsheet capabilities to %WIKITOOLNAME% topics. Formulae lik
         <li><a href="#COUNTITEMS( list ) -- count indi"> COUNTITEMS( list ) -- count individual items in a list</a></li>
         <li><a href="#COUNTSTR( list, str ) -- count t"> COUNTSTR( list, str ) -- count the number of cells in a list equal to a given string</a></li>
         <li><a href="#DEF( list ) -- find first non-em"> DEF( list ) -- find first non-empty list item or cell</a></li>
+        <li><a href="#EMPTY( text ) -- test for empty"> EMPTY( text ) -- test for empty text</a></li>
         <li><a href="#EVAL( formula ) -- evaluate a si"> EVAL( formula ) -- evaluate a simple mathematical formula</a></li>
         <li><a href="#EVEN( num ) -- test for even num"> EVEN( num ) -- test for even number</a></li>
         <li><a href="#EXACT( text1, text2 ) -- compare"> EXACT( text1, text2 ) -- compare two text strings</a></li>
@@ -79,8 +80,10 @@ This Plugin adds spreadsheet capabilities to %WIKITOOLNAME% topics. Formulae lik
         <li><a href="#FORMATTIMEDIFF( unit, precision,"> FORMATTIMEDIFF( unit, precision, time ) -- convert elapsed time to a string</a></li>
         <li><a href="#GET( name ) -- get the value of"> GET( name ) -- get the value of a previously set variable</a></li>
         <li><a href="#IF( condition, value if true, va"> IF( condition, value if true, value if 0 ) -- return a value based on a condition</a></li>
+        <li><a href="#INSERTSTRING( text, start, new )"> INSERTSTRING( text, start, new ) -- insert a string into a text string</a></li>
         <li><a href="#INT( formula ) -- evaluate formu"> INT( formula ) -- evaluate formula and round down to nearest integer</a></li>
         <li><a href="#LEFT( ) -- address range of cell"> LEFT( ) -- address range of cells to the left of the current cell</a></li>
+        <li><a href="#LEFTSTRING( text, num ) -- extra"> LEFTSTRING( text, num ) -- extract characters at the beginning of a text string</a></li>
         <li><a href="#LENGTH( text ) -- length of text"> LENGTH( text ) -- length of text in bytes</a></li>
         <li><a href="#LIST( range ) -- convert content"> LIST( range ) -- convert content of a cell range into a list</a></li>
         <li><a href="#LISTIF( condition, list ) -- rem"> LISTIF( condition, list ) -- remove elements from a list that do not meet a condition</a></li>
@@ -115,6 +118,7 @@ This Plugin adds spreadsheet capabilities to %WIKITOOLNAME% topics. Formulae lik
         <li><a href="#REPEAT( text, num ) -- repeat te"> REPEAT( text, num ) -- repeat text a number of times</a></li>
         <li><a href="#REPLACE( text, start, num, new )"> REPLACE( text, start, num, new ) -- replace part of a text string</a></li>
         <li><a href="#RIGHT( ) -- address range of cel"> RIGHT( ) -- address range of cells to the right of the current cell</a></li>
+        <li><a href="#RIGHTSTRING( text, num ) -- extr"> RIGHTSTRING( text, num ) -- extract characters at the end of a text string</a></li>
         <li><a href="#ROUND( formula, digits ) -- roun"> ROUND( formula, digits ) -- round a number</a></li>
         <li><a href="#ROW( offset ) -- current row num"> ROW( offset ) -- current row number</a></li>
         <li><a href="#SEARCH( string, text, start ) --"> SEARCH( string, text, start ) -- search a string within a text</a></li>
@@ -124,6 +128,7 @@ This Plugin adds spreadsheet capabilities to %WIKITOOLNAME% topics. Formulae lik
         <li><a href="#SIGN( num ) -- sign of a number"> SIGN( num ) -- sign of a number</a></li>
         <li><a href="#SQRT( num ) -- square root of a"> SQRT( num ) -- square root of a number</a></li>
         <li><a href="#SUBSTITUTE( text, old, new, inst"> SUBSTITUTE( text, old, new, instance, option ) -- substitute text</a></li>
+        <li><a href="#SUBSTRING( text, start, num ) --"> SUBSTRING( text, start, num ) -- extract a substring out of a text string</a></li>
         <li><a href="#SUM( list ) -- sum of a list or"> SUM( list ) -- sum of a list or range of cells</a></li>
         <li><a href="#SUMDAYS( list ) -- sum the days"> SUMDAYS( list ) -- sum the days in a list or range of cells</a></li>
         <li><a href="#SUMPRODUCT( list, list ) -- scal"> SUMPRODUCT( list, list ) -- scalar product on ranges of cells</a></li>
@@ -153,7 +158,7 @@ This Plugin adds spreadsheet capabilities to %WIKITOOLNAME% topics. Formulae lik
 
 ## <a name="Syntax Rules"></a> Syntax Rules
 
-The action of this Plugin is triggered by the <code>**%CALC\{"..."\}%**</code> variable, which gets rendered according to the built-in function(s) found between the quotes.
+The action of this plugin is triggered by the <code>**%CALC\{"..."\}%**</code> variable, which gets rendered according to the built-in function(s) found between the quotes.
 
 - Built-in function are of format <code>**$FUNCNAME(parameter)**</code>
 - Functions may be nested, e.g. <code>**%CALC\{"$SUM( R2:C$COLUMN(0)..R$ROW(-1):C$COLUMN(0) )"\}%**</code>
@@ -178,6 +183,7 @@ The action of this Plugin is triggered by the <code>**%CALC\{"..."\}%**</code> v
 - Lists can refer to values and/or table cell ranges, e.g. <code>**%CALC\{"$SUM( 3, 5, $T(R1:C7), R1:C11..R1:C15 )"\}%**</code>
 - Formulae can only reference cells in the current or preceeding row of the current table; they may not reference cells below the current table row
 - Formulae can also be placed outside of tables; they can reference cells in the preceeding table
+- Formulae can be placed in a [[FormattedSearch]], but the CALC needs to be escaped. Learn how to [[use a CALC in a formatted search|Main/WebHome#CalcInFormattedSearch]]
 
 ## <a name="Built-in Functions"></a> Built-in Functions
 
@@ -271,6 +277,17 @@ Conventions for Syntax:
 - Example: <code>**%CALC\{"$DEF(R1:C1..R1:C3)"\}%**</code>
 - Related: <code>[[$COUNTSTR()|Main/WebHome#FuncCOUNTSTR]]</code>, <code>[[$LISTIF()|Main/WebHome#FuncLISTIF]]</code>, <code>[[$LIST()|Main/WebHome#FuncLIST]]</code>
 
+<a name="FuncEMPTY"></a>
+
+### <a name="EMPTY( text ) -- test for empty"></a><a name="EMPTY( text ) -- test for empty "></a> EMPTY( text ) -- test for empty text
+
+- Returns <code>**1**</code> if `text` is empty, or <code>****</code> if not
+- Syntax: <code>**$EMPTY( _text_ )**</code>
+- Example: <code>**%CALC\{"$EMPTY(foo)"\}%**</code> returns <code>****</code>
+- Example: <code>**%CALC\{"$EMPTY()"\}%**</code> returns <code>**1**</code>
+- Example: <code>**%CALC\{"$EMPTY($TRIM( ))"\}%**</code> returns <code>**1**</code>
+- Related: <code>[[$EXACT()|Main/WebHome#FuncEXACT]]</code>, <code>[[$IF()|Main/WebHome#FuncIF]]</code>, <code>[[$TRIM()|Main/WebHome#FuncTRIM]]</code>
+
 <a name="FuncEVAL"></a>
 
 ### <a name="EVAL( formula ) -- evaluate a si"></a> EVAL( formula ) -- evaluate a simple mathematical formula
@@ -297,7 +314,7 @@ Conventions for Syntax:
 - Syntax: <code>**$EXACT( text1, _text2_ )**</code>
 - Example: <code>**%CALC\{"$EXACT(foo, Foo)"\}%**</code> returns <code>****</code>
 - Example: <code>**%CALC\{"$EXACT(foo, $LOWER(Foo))"\}%**</code> returns <code>**1**</code>
-- Related: <code>[[$IF()|Main/WebHome#FuncIF]]</code>, <code>[[$TRIM()|Main/WebHome#FuncTRIM]]</code>
+- Related: <code>[[$EMPTY()|Main/WebHome#FuncEMPTY]]</code>, <code>[[$IF()|Main/WebHome#FuncIF]]</code>, <code>[[$TRIM()|Main/WebHome#FuncTRIM]]</code>
 
 <a name="FuncEXEC"></a>
 
@@ -318,6 +335,7 @@ Conventions for Syntax:
 - Syntax: <code>**$EXISTS( topic )**</code>
 - Example: <code>**%CALC\{"$EXISTS(WebHome)"\}%**</code> returns <code>**1**</code>
 - Example: <code>**%CALC\{"$EXISTS(ThisDoesNotExist)"\}%**</code> returns <code>****</code>
+- Related: <code>[[$EXACT()|Main/WebHome#FuncEXACT]]</code>, <code>[[$IF()|Main/WebHome#FuncIF]]</code>, <code>[[$TRIM()|Main/WebHome#FuncTRIM]]</code>
 
 <a name="FuncEXP"></a>
 
@@ -337,7 +355,7 @@ Conventions for Syntax:
 - Example: <code>**%CALC\{"$FIND(f, fluffy)"\}%**</code> returns <code>**1**</code>
 - Example: <code>**%CALC\{"$FIND(f, fluffy, 2)"\}%**</code> returns <code>**4**</code>
 - Example: <code>**%CALC\{"$FIND(@, fluffy, 1)"\}%**</code> returns <code>****</code>
-- Related: <code>[[$REPLACE()|Main/WebHome#FuncREPLACE]]</code>, <code>[[$SEARCH()|Main/WebHome#FuncSEARCH]]</code>
+- Related: <code>[[$INSERTSTRING()|Main/WebHome#FuncINSERTSTRING]]</code>, <code>[[$LEFTSTRING()|Main/WebHome#FuncLEFTSTRING]]</code>, <code>[[$REPLACE()|Main/WebHome#FuncREPLACE]]</code>, <code>[[$RIGHTSTRING()|Main/WebHome#FuncRIGHTSTRING]]</code>, <code>[[$SUBSTRING()|Main/WebHome#FuncSUBSTRING]]</code>, <code>[[$SEARCH()|Main/WebHome#FuncSEARCH]]</code>
 
 <a name="FuncFORMAT"></a>
 
@@ -414,7 +432,17 @@ Conventions for Syntax:
 - Example: <code>**%CALC\{"$IF($T(R1:C5) &gt; 1000, Over Budget, OK)"\}%**</code> returns <code>**Over Budget**</code> if value in R1:C5 is over 1000, <code>**OK**</code> if not
 - Example: <code>**%CALC\{"$IF($EXACT($T(R1:C2),), empty, $T(R1:C2))"\}%**</code> returns the content of R1:C2 or <code>**empty**</code> if empty
 - Example: <code>**%CALC\{"$SET(val, $IF($T(R1:C2) == 0, zero, $T(R1:C2)))"\}%**</code> sets a variable conditionally
-- Related: <code>[[$AND()|Main/WebHome#FuncAND]]</code>, <code>[[$EXACT()|Main/WebHome#FuncEXACT]]</code>, <code>[[$LISTIF()|Main/WebHome#FuncLISTIF]]</code>, <code>[[$NOT()|Main/WebHome#FuncNOT]]</code>, <code>[[$OR()|Main/WebHome#FuncOR]]</code>
+- Related: <code>[[$AND()|Main/WebHome#FuncAND]]</code>, <code>[[$EMPTY()|Main/WebHome#FuncEMPTY]]</code>, <code>[[$EXACT()|Main/WebHome#FuncEXACT]]</code>, <code>[[$LISTIF()|Main/WebHome#FuncLISTIF]]</code>, <code>[[$NOT()|Main/WebHome#FuncNOT]]</code>, <code>[[$OR()|Main/WebHome#FuncOR]]</code>
+
+<a name="FuncINSERTSTRING"></a>
+
+### <a name="INSERTSTRING( text, start, new )"></a> INSERTSTRING( text, start, new ) -- insert a string into a text string
+
+- Insert `new` string into text string `text` to the right of `start` position. Position starts at 1; use a negative `start` to count from the end of the text
+- Syntax: <code>**$INSERTSTRING( text, start, new )**</code>
+- Example: <code>**%CALC\{"$INSERTSTRING(abcdefg, 2, XYZ)"\}%**</code> returns <code>**abXYZcdefg**</code>
+- Example: <code>**%CALC\{"$INSERTSTRING(abcdefg, -2, XYZ)"\}%**</code> returns <code>**abcdeXYZfg**</code>
+- Related: <code>[[$FIND()|Main/WebHome#FuncFIND]]</code>, <code>[[$LEFTSTRING()|Main/WebHome#FuncLEFTSTRING]]</code>, <code>[[$REPLACE()|Main/WebHome#FuncREPLACE]]</code>, <code>[[$RIGHTSTRING()|Main/WebHome#FuncRIGHTSTRING]]</code>, <code>[[$SEARCH()|Main/WebHome#FuncSEARCH]]</code>, <code>[[$SUBSTITUTE()|Main/WebHome#FuncSUBSTITUTE]]</code>, <code>[[$SUBSTRING()|Main/WebHome#FuncSUBSTRING]]</code>, <code>[[$TRANSLATE()|Main/WebHome#FuncTRANSLATE]]</code>
 
 <a name="FuncINT"></a>
 
@@ -436,6 +464,16 @@ Conventions for Syntax:
 - Example: <code>**%CALC\{"$SUM($LEFT())"\}%**</code> returns the sum of cells to the left of the current cell
 - Related: <code>[[$ABOVE()|Main/WebHome#FuncABOVE]]</code>, <code>[[$RIGHT()|Main/WebHome#FuncRIGHT]]</code>
 
+<a name="FuncLEFTSTRING"></a>
+
+### <a name="LEFTSTRING( text, num ) -- extra"></a> LEFTSTRING( text, num ) -- extract characters at the beginning of a text string
+
+- Retrieve the `num` of characters from the left end of `text`; the leftmost character is returned if `num` is missing
+- Syntax: <code>**$LEFTSTRING( text, _num_ )**</code>
+- Example: <code>**%CALC\{"$LEFTSTRING(abcdefg)"\}%**</code> returns <code>**a**</code>
+- Example: <code>**%CALC\{"$LEFTSTRING(abcdefg, 5)"\}%**</code> returns <code>**abcde**</code>
+- Related: <code>[[$FIND()|Main/WebHome#FuncFIND]]</code>, <code>[[$INSERTSTRING()|Main/WebHome#FuncINSERTSTRING]]</code>, <code>[[$REPLACE()|Main/WebHome#FuncREPLACE]]</code>, <code>[[$RIGHTSTRING()|Main/WebHome#FuncRIGHTSTRING]]</code>, <code>[[$SEARCH()|Main/WebHome#FuncSEARCH]]</code>, <code>[[$SUBSTITUTE()|Main/WebHome#FuncSUBSTITUTE]]</code>, <code>[[$SUBSTRING()|Main/WebHome#FuncSUBSTRING]]</code>, <code>[[$TRANSLATE()|Main/WebHome#FuncTRANSLATE]]</code>
+
 <a name="FuncLENGTH"></a>
 
 ### <a name="LENGTH( text ) -- length of text"></a> LENGTH( text ) -- length of text in bytes
@@ -462,7 +500,7 @@ Conventions for Syntax:
 - Example: <code>**%CALC\{"$LISTIF($item &gt; 12, 14, 7, 25)"\}%**</code> returns <code>**14, 25**</code>
 - Example: <code>**%CALC\{"$LISTIF($NOT($EXACT($item,)), A, B, , E)"\}%**</code> returns non-empty elements <code>**A, B, E**</code>
 - Example: <code>**%CALC\{"$LISTIF($index &gt; 2, A, B, C, D)"\}%**</code> returns <code>**C, D**</code>
-- Related: <code>[[$IF()|Main/WebHome#FuncIF]]</code>, <code>[[$LIST()|Main/WebHome#FuncLIST]]</code>, <code>[[$LISTITEM()|Main/WebHome#FuncLISTITEM]]</code>, <code>[[$LISTMAP()|Main/WebHome#FuncLISTMAP]]</code>, <code>[[$LISTREVERSE()|Main/WebHome#FuncLISTREVERSE]]</code>, <code>[[$LISTSIZE()|Main/WebHome#FuncLISTSIZE]]</code>, <code>[[$LISTSORT()|Main/WebHome#FuncLISTSORT]]</code>, <code>[[$LISTUNIQUE()|Main/WebHome#FuncLISTUNIQUE]]</code>, <code>[[$SUM()|Main/WebHome#FuncSUM]]</code>
+- Related: <code>[[$EMPTY()|Main/WebHome#FuncEMPTY]]</code>, <code>[[$EXACT()|Main/WebHome#FuncEXACT]]</code>, <code>[[$IF()|Main/WebHome#FuncIF]]</code>, <code>[[$LIST()|Main/WebHome#FuncLIST]]</code>, <code>[[$LISTITEM()|Main/WebHome#FuncLISTITEM]]</code>, <code>[[$LISTMAP()|Main/WebHome#FuncLISTMAP]]</code>, <code>[[$LISTREVERSE()|Main/WebHome#FuncLISTREVERSE]]</code>, <code>[[$LISTSIZE()|Main/WebHome#FuncLISTSIZE]]</code>, <code>[[$LISTSORT()|Main/WebHome#FuncLISTSORT]]</code>, <code>[[$LISTUNIQUE()|Main/WebHome#FuncLISTUNIQUE]]</code>, <code>[[$SUM()|Main/WebHome#FuncSUM]]</code>
 
 <a name="FuncLISTITEM"></a>
 
@@ -622,7 +660,7 @@ Conventions for Syntax:
 
 ### <a name="NOP( text ) -- no-operation"></a> NOP( text ) -- no-operation
 
-- Useful to change the order of Plugin execution. For example, it allows preprossing to be done before `%SEARCH{}%` is evaluated. The percent character '%' can be escaped with `$per`
+- Useful to change the order of plugin execution. For example, it allows preprossing to be done before `%SEARCH{}%` is evaluated. The percent character '%' can be escaped with `$per`
 - Syntax: <code>**$NOP( text )**</code>
 
 <a name="FuncNOT"></a>
@@ -632,7 +670,7 @@ Conventions for Syntax:
 - Returns 0 if <code>**num**</code> is not zero, 1 if zero
 - Syntax: <code>**$NOT( num )**</code>
 - Example: <code>**%CALC\{"$NOT(0)"\}%**</code> returns <code>**1**</code>
-- Related: <code>[[$AND()|Main/WebHome#FuncAND]]</code>, <code>[[$IF()|Main/WebHome#FuncIF]]</code>, <code>[[$OR()|Main/WebHome#FuncOR]]</code>
+- Related: <code>[[$AND()|Main/WebHome#FuncAND]]</code>, <code>[[$EMPTY()|Main/WebHome#FuncEMPTY]]</code>, <code>[[$IF()|Main/WebHome#FuncIF]]</code>, <code>[[$OR()|Main/WebHome#FuncOR]]</code>
 
 <a name="FuncODD"></a>
 
@@ -688,7 +726,7 @@ Conventions for Syntax:
 
 ### <a name="PROPERSPACE( text ) -- properly"></a><a name="PROPERSPACE( text ) -- properly "></a> PROPERSPACE( text ) -- properly space out WikiWords
 
-- Properly spaces out %SYSTEMWEB%.WikiWords preceeded by white space, parenthesis, or <code>**]\[**</code>. Words listed in the DONTSPACE %SYSTEMWEB%.TWikiPreferences variable or DONTSPACE Plugins setting are excluded
+- Properly spaces out %SYSTEMWEB%.WikiWords preceeded by white space, parenthesis, or <code>**]\[**</code>. Words listed in the DONTSPACE %SYSTEMWEB%.TWikiPreferences variable or DONTSPACE plugins setting are excluded
 - Syntax: <code>**$PROPERSPACE( text )**</code>
 - Example: Assuming DONTSPACE contains MacDonald: <code>**%CALC\{"$PROPERSPACE(Old MacDonald had a ServerFarm, EeEyeEeEyeOh)"\}%**</code> returns <code>**Old MacDonald had a Server Farm, Ee Eye Ee Eye Oh**</code>
 - Related: <code>[[$LOWER()|Main/WebHome#FuncLOWER]]</code>, <code>[[$PROPER()|Main/WebHome#FuncPROPER]]</code>, <code>[[$TRIM()|Main/WebHome#FuncTRIM]]</code>, <code>[[$UPPER()|Main/WebHome#FuncUPPER]]</code>
@@ -714,8 +752,8 @@ Conventions for Syntax:
 
 - Replace `num` number of characters of text string `text`, starting at `start`, with new text `new`. Starting position is 1; use a negative `start` to count from the end of the text
 - Syntax: <code>**$REPLACE( text, start, num, new )**</code>
-- Example: <code>**%CALC\{"$REPLACE(abcdefghijk,6,5,\*)"\}%**</code> returns <code>**abcde\*k**</code>
-- Related: <code>[[$FIND()|Main/WebHome#FuncFIND]]</code>, <code>[[$SEARCH()|Main/WebHome#FuncSEARCH]]</code>, <code>[[$SUBSTITUTE()|Main/WebHome#FuncSUBSTITUTE]]</code>, <code>[[$TRANSLATE()|Main/WebHome#FuncTRANSLATE]]</code>
+- Example: <code>**%CALC\{"$REPLACE(abcdefghijk, 6, 5, \*)"\}%**</code> returns <code>**abcde\*k**</code>
+- Related: <code>[[$FIND()|Main/WebHome#FuncFIND]]</code>, <code>[[$INSERTSTRING()|Main/WebHome#FuncINSERTSTRING]]</code>, <code>[[$LEFTSTRING()|Main/WebHome#FuncLEFTSTRING]]</code>, <code>[[$RIGHTSTRING()|Main/WebHome#FuncRIGHTSTRING]]</code>, <code>[[$SEARCH()|Main/WebHome#FuncSEARCH]]</code>, <code>[[$SUBSTITUTE()|Main/WebHome#FuncSUBSTITUTE]]</code>, <code>[[$SUBSTRING()|Main/WebHome#FuncSUBSTRING]]</code>, <code>[[$TRANSLATE()|Main/WebHome#FuncTRANSLATE]]</code>
 
 <a name="FuncRIGHT"></a>
 
@@ -725,6 +763,16 @@ Conventions for Syntax:
 - Example: <code>**%CALC\{"$SUM($RIGHT())"\}%**</code> returns the sum of cells to the right of the current cell
 - Related: <code>[[$ABOVE()|Main/WebHome#FuncABOVE]]</code>, <code>[[$LEFT()|Main/WebHome#FuncLEFT]]</code>
 
+<a name="FuncRIGHTSTRING"></a>
+
+### <a name="RIGHTSTRING( text, num ) -- extr"></a> RIGHTSTRING( text, num ) -- extract characters at the end of a text string
+
+- Retrieve the `num` of characters from the right end of `text`; the rightmost character is returned if `num` is missing
+- Syntax: <code>**$RIGHTSTRING( text, _num_ )**</code>
+- Example: <code>**%CALC\{"$RIGHTSTRING(abcdefg)"\}%**</code> returns <code>**g**</code>
+- Example: <code>**%CALC\{"$RIGHTSTRING(abcdefg, 5)"\}%**</code> returns <code>**cdefg**</code>
+- Related: <code>[[$FIND()|Main/WebHome#FuncFIND]]</code>, <code>[[$INSERTSTRING()|Main/WebHome#FuncINSERTSTRING]]</code>, <code>[[$LEFTSTRING()|Main/WebHome#FuncLEFTSTRING]]</code>, <code>[[$REPLACE()|Main/WebHome#FuncREPLACE]]</code>, <code>[[$SEARCH()|Main/WebHome#FuncSEARCH]]</code>, <code>[[$SUBSTITUTE()|Main/WebHome#FuncSUBSTITUTE]]</code>, <code>[[$SUBSTRING()|Main/WebHome#FuncSUBSTRING]]</code>, <code>[[$TRANSLATE()|Main/WebHome#FuncTRANSLATE]]</code>
+
 <a name="FuncROUND"></a>
 
 ### <a name="ROUND( formula, digits ) -- roun"></a> ROUND( formula, digits ) -- round a number
@@ -755,7 +803,7 @@ Conventions for Syntax:
 - Example: <code>**%CALC\{"$SEARCH([uy], fluffy)"\}%**</code> returns <code>**3**</code>
 - Example: <code>**%CALC\{"$SEARCH([uy], fluffy, 3)"\}%**</code> returns <code>**6**</code>
 - Example: <code>**%CALC\{"$SEARCH([abc], fluffy,)"\}%**</code> returns <code>****</code>
-- Related: <code>[[$FIND()|Main/WebHome#FuncFIND]]</code>, <code>[[$REPLACE()|Main/WebHome#FuncREPLACE]]</code>
+- Related: <code>[[$FIND()|Main/WebHome#FuncFIND]]</code>, <code>[[$INSERTSTRING()|Main/WebHome#FuncINSERTSTRING]]</code>, <code>[[$LEFTSTRING()|Main/WebHome#FuncLEFTSTRING]]</code>, <code>[[$REPLACE()|Main/WebHome#FuncREPLACE]]</code>, <code>[[$RIGHTSTRING()|Main/WebHome#FuncRIGHTSTRING]]</code>, <code>[[$SUBSTRING()|Main/WebHome#FuncSUBSTRING]]</code>
 
 <a name="FuncSET"></a>
 
@@ -807,10 +855,19 @@ Conventions for Syntax:
 - Substitutes `new` text for `old` text in a `text` string. `instance` specifies which occurance of `old` you want to replace. If you specify `instance`, only that instance is replaced. Otherwise, every occurance is changed to the new text. A literal search is performed by default; a %SYSTEMWEB%.RegularExpression search if the `option` is set to <code>**r**</code>
 - Syntax: <code>**$SUBSTITUTE( text, old, _new_, _instance_, _option_ )**</code>
 - Example: <code>**%CALC\{"$SUBSTITUTE(Good morning, morning, day)"\}%**</code> returns <code>**Good day**</code>
-- Example: <code>**%CALC\{"$SUBSTITUTE(Q2-2002,2,3)"\}%**</code> returns <code>**Q3-3003**</code>
-- Example: <code>**%CALC\{"$SUBSTITUTE(Q2-2002,2,3,3)"\}%**</code> returns <code>**Q2-2003**</code>
-- Example: <code>**%CALC\{"$SUBSTITUTE(abc123def,[0-9],9,,r)"\}%**</code> returns <code>**abc999def**</code>
-- Related: <code>[[$REPLACE()|Main/WebHome#FuncREPLACE]]</code>, <code>[[$TRANSLATE()|Main/WebHome#FuncTRANSLATE]]</code>
+- Example: <code>**%CALC\{"$SUBSTITUTE(Q2-2002, 2, 3)"\}%**</code> returns <code>**Q3-3003**</code>
+- Example: <code>**%CALC\{"$SUBSTITUTE(Q2-2002,2, 3, 3)"\}%**</code> returns <code>**Q2-2003**</code>
+- Example: <code>**%CALC\{"$SUBSTITUTE(abc123def, [0-9], 9, , r)"\}%**</code> returns <code>**abc999def**</code>
+- Related: <code>[[$INSERTSTRING()|Main/WebHome#FuncINSERTSTRING]]</code>, <code>[[$LEFTSTRING()|Main/WebHome#FuncLEFTSTRING]]</code>, <code>[[$REPLACE()|Main/WebHome#FuncREPLACE]]</code>, <code>[[$RIGHTSTRING()|Main/WebHome#FuncRIGHTSTRING]]</code>, <code>[[$SUBSTRING()|Main/WebHome#FuncSUBSTRING]]</code>, <code>[[$TRANSLATE()|Main/WebHome#FuncTRANSLATE]]</code>
+
+<a name="FuncSUBSTRING"></a>
+
+### <a name="SUBSTRING( text, start, num ) --"></a> SUBSTRING( text, start, num ) -- extract a substring out of a text string
+
+- Extract `num` number of characters of text string `text`, starting at `start`. Starting position is 1; use a negative `start` to count from the end of the text
+- Syntax: <code>**$SUBSTRING( text, start, num )**</code>
+- Example: <code>**%CALC\{"$SUBSTRING(abcdefghijk, 3, 5)"\}%**</code> returns <code>**cdefg**</code>
+- Related: <code>[[$FIND()|Main/WebHome#FuncFIND]]</code>, <code>[[$INSERTSTRING()|Main/WebHome#FuncINSERTSTRING]]</code>, <code>[[$LEFTSTRING()|Main/WebHome#FuncLEFTSTRING]]</code>, <code>[[$REPLACE()|Main/WebHome#FuncREPLACE]]</code>, <code>[[$RIGHTSTRING()|Main/WebHome#FuncRIGHTSTRING]]</code>, <code>[[$SEARCH()|Main/WebHome#FuncSEARCH]]</code>, <code>[[$SUBSTITUTE()|Main/WebHome#FuncSUBSTITUTE]]</code>, <code>[[$TRANSLATE()|Main/WebHome#FuncTRANSLATE]]</code>
 
 <a name="FuncSUM"></a>
 
@@ -853,7 +910,7 @@ Conventions for Syntax:
 - Syntax: <code>**$TRANSLATE( text, from, to )**</code>
 - Example: <code>**%CALC\{"$TRANSLATE(boom,bm,cl)"\}%**</code> returns <code>**cool**</code>
 - Example: <code>**%CALC\{"$TRANSLATE(one, two,$comma,;)"\}%**</code> returns <code>**one; two**</code>
-- Related: <code>[[$REPLACE()|Main/WebHome#FuncREPLACE]]</code>, <code>[[$SUBSTITUTE()|Main/WebHome#FuncSUBSTITUTE]]</code>
+- Related: <code>[[$INSERTSTRING()|Main/WebHome#FuncINSERTSTRING]]</code>, <code>[[$LEFTSTRING()|Main/WebHome#FuncLEFTSTRING]]</code>, <code>[[$REPLACE()|Main/WebHome#FuncREPLACE]]</code>, <code>[[$RIGHTSTRING()|Main/WebHome#FuncRIGHTSTRING]]</code>, <code>[[$SUBSTRING()|Main/WebHome#FuncSUBSTRING]]</code>, <code>[[$SUBSTITUTE()|Main/WebHome#FuncSUBSTITUTE]]</code>
 
 <a name="FuncTIME"></a>
 
@@ -898,7 +955,7 @@ Conventions for Syntax:
 - Removes all spaces from text except for single spaces between words
 - Syntax: <code>**$TRIM( text )**</code>
 - Example: <code>**%CALC\{"$TRIM( eat  spaces  )"\}%**</code> returns <code>**eat spaces**</code>
-- Related: <code>[[$EXACT()|Main/WebHome#FuncEXACT]]</code>, <code>[[$PROPERSPACE()|Main/WebHome#FuncPROPERSPACE]]</code>
+- Related: <code>[[$EMPTY()|Main/WebHome#FuncEMPTY]]</code>, <code>[[$EXACT()|Main/WebHome#FuncEXACT]]</code>, <code>[[$PROPERSPACE()|Main/WebHome#FuncPROPERSPACE]]</code>
 
 <a name="FuncUPPER"></a>
 
@@ -930,6 +987,8 @@ Conventions for Syntax:
 
 ## <a name="FAQ"></a> FAQ
 
+<a name="CalcInFormattedSearch"></a>
+
 ### <a name="Can I use CALC in a formatted se"></a> Can I use CALC in a formatted search?
 
 Specifically, how can I output some conditional text in a %SYSTEMWEB%.FormattedSearch?
@@ -1003,7 +1062,7 @@ The last row is defined as:
       | %CALC{"$COUNTITEMS( R2:C$COLUMN()..R$ROW(-1):C$COLUMN() )"}% \
       |  Total: %CALC{"$SUM( R2:C$COLUMN()..R$ROW(-1):C$COLUMN() )"}% |
 
-Above table is created manually. Another Plugin could build the table dynamically, e.g. by pulling data out of a bug tracking system. The Spreadsheet Plugin can be used to display table data statistics.
+Above table is created manually. Another plugin could build the table dynamically, e.g. by pulling data out of a bug tracking system. The Spreadsheet plugin can be used to display table data statistics.
 
 ## <a name="Plugin Settings"></a> Plugin Settings
 
@@ -1044,7 +1103,7 @@ Plugin settings are stored as preferences variables. To reference a plugin setti
     <td> Plugin Perl module </td>
   </tr>
 </table>
-- TWiki 4 and up: Visit `configure` in your TWiki installation, and enable the Plugin in the \{Plugins\} section.
+- TWiki 4 and up: Visit `configure` in your TWiki installation, and enable the plugin in the \{Plugins\} section.
 - Test if the "Total" in the first table in this topic is correct.
 
 ## <a name="Plugin Info"></a> Plugin Info
@@ -1056,7 +1115,7 @@ Plugin settings are stored as preferences variables. To reference a plugin setti
   </tr>
   <tr>
     <td align="right"> Copyright: </td>
-    <td> © 2001-2007, Peter Thoeny, <a href="http://www.twiki.net/" target="_top">TWIKI.NET</a></td>
+    <td> © 2001-2009, Peter Thoeny, <a href="http://www.twiki.net/" target="_top">TWIKI.NET</a></td>
   </tr>
   <tr>
     <td align="right"> License: </td>
@@ -1064,13 +1123,25 @@ Plugin settings are stored as preferences variables. To reference a plugin setti
   </tr>
   <tr>
     <td align="right"> Plugin Version: </td>
-    <td> 13 Oct 2007 (15270) </td>
+    <td> 26 Mar 2009 (17910) </td>
   </tr>
   <tr>
     <td align="right"> Change History: </td>
     <td>  </td>
   </tr>
   <tr>
+    <td align="right"> 26 Mar 2009: </td>
+    <td> Added $INSERTSTRING() </td>
+  </tr>
+  <tr>
+    <td align="right"> 25 Mar 2009: </td>
+    <td> Added $EMPTY(), $LEFTSTRING(), $RIGHTSTRING(), $SUBSTRING() </td>
+  </tr>
+  <tr>
+    <td align="right"> 24 Mar 2009: </td>
+    <td> Fixed bug in $REPLACE() if to-be-replaced string is "0"; fixed bug in $SUBSTITUTE() if replace string is empty; improved docs </td>
+  </tr>
+  <tr>
     <td align="right"> 13 Oct 2007: </td>
     <td> Added $FORMATTIMEDIFF() </td>
   </tr>
@@ -1262,4 +1333,4 @@ Plugin settings are stored as preferences variables. To reference a plugin setti
 
 **_Related Topics:_** %SYSTEMWEB%.TWikiPreferences, %SYSTEMWEB%.TWikiPlugins, %SYSTEMWEB%.VarCALC
 
--- TWiki:Main/PeterThoeny - 13 Oct 2007
+-- TWiki:Main/PeterThoeny - 26 Mar 2009
index 9eac3e6..829062e 100644 (file)
@@ -67,10 +67,14 @@ As a **collaboration guideline**:
 
 **Access control:** Restrict access to content based on users and groups once a user is identified.
 
+<a name="UsersAndGroups"></a>
+
 ## <a name="Users and Groups"></a> Users and Groups
 
 Access control is based on the familiar concept of Users and Groups. Users are defined by their [[WikiNames]]. They can then be organized in unlimited combinations by inclusion in one or more user Groups. For convenience, Groups can also be included in other Groups.
 
+<a name="ManagingUsers"></a>
+
 ### <a name="Managing Users"></a> Managing Users
 
 A user can create an account in [[TWikiRegistration]]. The following actions are performed:
@@ -115,6 +119,8 @@ You can create new administrators simply by adding them to the %USERSWEB%.TWikiA
 
 A member of the Super Admin Group has unrestricted access throughout the TWiki, so only trusted staff should be added to this group.
 
+<a name="RestrictingAccess"></a>
+
 ## <a name="Restricting Access"></a> Restricting Access
 
 You can define who is allowed to read or write to a web or a topic. Note that some plugins may not respect access permissions.
@@ -125,6 +131,8 @@ You can define who is allowed to read or write to a web or a topic. Note that so
 
 Note that there is an important distinction between CHANGE access and RENAME access. A user can CHANGE a topic, but thanks to version control their changes cannot be lost (the history of the topic before the change is recorded). However if a topic or web is renamed, that history may be lost. Typically a site will only give RENAME access to administrators and content owners.
 
+<a name="ControllingWeb"></a>
+
 ### <a name="Controlling access to a Web"></a> Controlling access to a Web
 
 You can define restrictions on who is allowed to view a %WIKITOOLNAME% web. You can restrict access to certain webs to selected Users and Groups, by:
@@ -150,6 +158,8 @@ Creation and renaming of sub-webs is controlled by the WEBCHANGE setting on the
 
 **_Note:_** For Web level access rights Setting any of these settings to an empty value has the same effect as not setting them at all. Please note that the documentation of TWiki 4.0 and earlier versions of TWiki 4.1 did not reflect the actual implementation, e.g. an empty ALLOWWEBVIEW does _not_ prevent anyone from viewing the web, and an an empty DENYWEBVIEW does _not_ allow all to view the web.
 
+<a name="ControllingTopic"></a>
+
 ### <a name="Controlling access to a Topic"></a> Controlling access to a Topic
 
 - You can define these settings in any topic, preferable towards the end of the topic:
@@ -176,6 +186,8 @@ The same rules apply to ALLOWTOPICCHANGE/DENYTOPICCHANGE and APPLYTOPICRENAME/DE
 
 See "How TWiki evaluates ALLOW/DENY settings" below for more on how ALLOW and DENY interacts.
 
+<a name="ControllingAttachments"></a>
+
 ### <a name="Controlling access to Attachment"></a> Controlling access to Attachments
 
 Attachments are referred to directly, and are not normally indirected via TWiki scripts. This means that the above instructions for access control will _not_ apply to attachments. It is possible that someone may inadvertently publicise a URL that they expected to be access-controlled.
@@ -205,6 +217,8 @@ Top level webs are a special case, because they don't have a parent web with a [
 
 Note that you do **not** require `ROOTCHANGE` access to rename an existing top-level web. You just need `WEBCHANGE` in the web itself.
 
+<a name="EvaluatingAllowDeny"></a>
+
 ### <a name="How TWiki evaluates ALLOW/DENY s"></a> How TWiki evaluates ALLOW/DENY settings
 
 When deciding whether to grant access, TWiki evaluates the following rules in order (read from the top of the list; if the logic arrives at **PERMITTED** or **DENIED** that applies immediately and no more rules are applied). You need to read the rules bearing in mind that VIEW, CHANGE and RENAME access may be granted/denied separately.
@@ -234,6 +248,8 @@ Examples: Topic A includes topic B
 - If the included topic B has ALLOWTOPICCHANGE set to block editing for a user, it does not prevent editing the including topic A.
 - If the included topic B has ALLOWTOPICVIEW set to block view for a user, the user can still view topic A but he cannot see the included topic B. He will see a message _No permission to view B_
 
+<a name="QuickRecipes"></a>
+
 ## <a name="Access Control quick recipes"></a> Access Control quick recipes
 
 ### <a name="Obfuscating Webs"></a> Obfuscating Webs
index 5c55f29..17a498c 100644 (file)
@@ -47,10 +47,22 @@ Other usage: [[see below|Main/TOPIC#Usage_extended]].
     <th align="left" bgcolor="#6b7f93" maxcols="0" style="text-align: left"><a href="http://localhost?sortcol=3;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Write...</font></a></th>
   </tr>
   <tr>
-    <td bgcolor="#ffffff" style=""><img alt="Book" src="http://www.dementia.org/twiki//view/book.gif" title="Book" /></td>
-    <td bgcolor="#ffffff" style=""><code>book.gif</code></td>
-    <td bgcolor="#ffffff" style=""> Book </td>
-    <td bgcolor="#ffffff" style=""><code>%ICON{book}%</code></td>
+    <td bgcolor="#ffffff" style=""><img alt="Airplane" src="http://www.dementia.org/twiki//view/airplane.gif" title="Airplane" /></td>
+    <td bgcolor="#ffffff" style=""><code>airplane.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Airplane </td>
+    <td bgcolor="#ffffff" style=""><code>%ICON{airplane}%</code></td>
+  </tr>
+  <tr>
+    <td bgcolor="#ffffff" style=""><img alt="Award" src="http://www.dementia.org/twiki//view/award.gif" title="Award" /></td>
+    <td bgcolor="#ffffff" style=""><code>award.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Award </td>
+    <td bgcolor="#ffffff" style=""><code>%ICON{award}%</code></td>
+  </tr>
+  <tr>
+    <td bgcolor="#ffffff" style=""><img alt="Bed" src="http://www.dementia.org/twiki//view/bed.gif" title="Bed" /></td>
+    <td bgcolor="#ffffff" style=""><code>bed.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Bed </td>
+    <td bgcolor="#ffffff" style=""><code>%ICON{bed}%</code></td>
   </tr>
   <tr>
     <td bgcolor="#ffffff" style=""><img alt="Blank" src="http://www.dementia.org/twiki//view/blank.gif" title="Blank" /></td>
@@ -65,12 +77,24 @@ Other usage: [[see below|Main/TOPIC#Usage_extended]].
     <td bgcolor="#ffffff" style=""><code>%ICON{blank-bg}%</code></td>
   </tr>
   <tr>
+    <td bgcolor="#ffffff" style=""><img alt="Book" src="http://www.dementia.org/twiki//view/book.gif" title="Book" /></td>
+    <td bgcolor="#ffffff" style=""><code>book.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Book </td>
+    <td bgcolor="#ffffff" style=""><code>%ICON{book}%</code></td>
+  </tr>
+  <tr>
     <td bgcolor="#ffffff" style=""><img alt="Speech bubble" src="http://www.dementia.org/twiki//view/bubble.gif" title="Speech bubble" /></td>
     <td bgcolor="#ffffff" style=""><code>bubble.gif</code></td>
     <td bgcolor="#ffffff" style=""> Speech bubble </td>
     <td bgcolor="#ffffff" style=""><code>%ICON{bubble}%</code></td>
   </tr>
   <tr>
+    <td bgcolor="#ffffff" style=""><img alt="Bug" src="http://www.dementia.org/twiki//view/bug.gif" title="Bug" /></td>
+    <td bgcolor="#ffffff" style=""><code>bug.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Bug </td>
+    <td bgcolor="#ffffff" style=""><code>%ICON{bug}%</code></td>
+  </tr>
+  <tr>
     <td bgcolor="#ffffff" style=""><img alt="Days / Calendar" src="http://www.dementia.org/twiki//view/days.gif" title="Days / Calendar" /></td>
     <td bgcolor="#ffffff" style=""><code>days.gif</code></td>
     <td bgcolor="#ffffff" style=""> Days, Calendar </td>
@@ -95,6 +119,12 @@ Other usage: [[see below|Main/TOPIC#Usage_extended]].
     <td bgcolor="#ffffff" style=""><code>%ICON{filter}%</code></td>
   </tr>
   <tr>
+    <td bgcolor="#ffffff" style=""><img alt="Food" src="http://www.dementia.org/twiki//view/food.gif" title="Food" /></td>
+    <td bgcolor="#ffffff" style=""><code>food.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Food </td>
+    <td bgcolor="#ffffff" style=""><code>%ICON{food}%</code></td>
+  </tr>
+  <tr>
     <td bgcolor="#ffffff" style=""><img alt="Gear" src="http://www.dementia.org/twiki//view/gear.gif" title="Gear" /></td>
     <td bgcolor="#ffffff" style=""><code>gear.gif</code></td>
     <td bgcolor="#ffffff" style=""> Gear </td>
@@ -107,10 +137,10 @@ Other usage: [[see below|Main/TOPIC#Usage_extended]].
     <td bgcolor="#ffffff" style=""><code>%ICON{globe}%</code></td>
   </tr>
   <tr>
-    <td bgcolor="#ffffff" style=""><img alt="Map" src="http://www.dementia.org/twiki//view/map.gif" title="Map" /></td>
-    <td bgcolor="#ffffff" style=""><code>map.gif</code></td>
-    <td bgcolor="#ffffff" style=""> Map </td>
-    <td bgcolor="#ffffff" style=""><code>%ICON{map}%</code></td>
+    <td bgcolor="#ffffff" style=""><img alt="Graduation" src="http://www.dementia.org/twiki//view/graduation.gif" title="Graduation" /></td>
+    <td bgcolor="#ffffff" style=""><code>graduation.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Graduation </td>
+    <td bgcolor="#ffffff" style=""><code>%ICON{graduation}%</code></td>
   </tr>
   <tr>
     <td bgcolor="#ffffff" style=""><img alt="Pointing hand" src="http://www.dementia.org/twiki//view/hand.gif" title="Pointing hand" /></td>
@@ -119,22 +149,40 @@ Other usage: [[see below|Main/TOPIC#Usage_extended]].
     <td bgcolor="#ffffff" style=""><code>%ICON{hand}%</code></td>
   </tr>
   <tr>
+    <td bgcolor="#ffffff" style=""><img alt="Heart" src="http://www.dementia.org/twiki//view/heart.gif" title="Heart" /></td>
+    <td bgcolor="#ffffff" style=""><code>heart.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Heart </td>
+    <td bgcolor="#ffffff" style=""><code>%ICON{heart}%</code></td>
+  </tr>
+  <tr>
     <td bgcolor="#ffffff" style=""><img alt="Help" src="http://www.dementia.org/twiki//view/help.gif" title="Help" /></td>
     <td bgcolor="#ffffff" style=""><code>help.gif</code></td>
     <td bgcolor="#ffffff" style=""> Help </td>
     <td bgcolor="#ffffff" style=""><code>%H%</code>, <code>%ICON{help}%</code></td>
   </tr>
   <tr>
+    <td bgcolor="#ffffff" style=""><img alt="Hour glass (clock)" src="http://www.dementia.org/twiki//view/hourglass.gif" title="Hour glass (clock)" /></td>
+    <td bgcolor="#ffffff" style=""><code>hourglass.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Hour glass (clock) </td>
+    <td bgcolor="#ffffff" style=""><code>%ICON{hourglass}%</code></td>
+  </tr>
+  <tr>
     <td bgcolor="#ffffff" style=""><img alt="Information" src="http://www.dementia.org/twiki//view/info.gif" title="Information" /></td>
     <td bgcolor="#ffffff" style=""><code>info.gif</code></td>
     <td bgcolor="#ffffff" style=""> Info </td>
     <td bgcolor="#ffffff" style=""><code>%ICON{info}%</code></td>
   </tr>
   <tr>
-    <td bgcolor="#ffffff" style=""><img alt="Hour glass (clock)" src="http://www.dementia.org/twiki//view/hourglass.gif" title="Hour glass (clock)" /></td>
-    <td bgcolor="#ffffff" style=""><code>hourglass.gif</code></td>
-    <td bgcolor="#ffffff" style=""> Hour glass (clock) </td>
-    <td bgcolor="#ffffff" style=""><code>%ICON{hourglass}%</code></td>
+    <td bgcolor="#ffffff" style=""><img alt="Luggage" src="http://www.dementia.org/twiki//view/luggage.gif" title="Luggage" /></td>
+    <td bgcolor="#ffffff" style=""><code>luggage.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Luggage </td>
+    <td bgcolor="#ffffff" style=""><code>%ICON{luggage}%</code></td>
+  </tr>
+  <tr>
+    <td bgcolor="#ffffff" style=""><img alt="Map" src="http://www.dementia.org/twiki//view/map.gif" title="Map" /></td>
+    <td bgcolor="#ffffff" style=""><code>map.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Map </td>
+    <td bgcolor="#ffffff" style=""><code>%ICON{map}%</code></td>
   </tr>
   <tr>
     <td bgcolor="#ffffff" style=""><img alt="Megaphone" src="http://www.dementia.org/twiki//view/megaphone.gif" title="Megaphone" /></td>
@@ -739,6 +787,30 @@ Other usage: [[see below|Main/TOPIC#Usage_extended]].
     <td bgcolor="#ffffff" style=""><code>&lt;img src="%ICONURL{closed}%" width="48" height="16" alt="Closed" border="0" /&gt;</code></td>
   </tr>
   <tr>
+    <td bgcolor="#ffffff" style=""><img alt="Processing" src="http://www.dementia.org/twiki//view/processing.gif" title="Processing" /></td>
+    <td bgcolor="#ffffff" style=""><code>processing.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Processing </td>
+    <td bgcolor="#ffffff" style=""><code>%ICON{processing}%</code></td>
+  </tr>
+  <tr>
+    <td bgcolor="#ffffff" style=""><img alt="Processing-bg" src="http://www.dementia.org/twiki//view/processing-bg.gif" title="Processing-bg" /></td>
+    <td bgcolor="#ffffff" style=""><code>processing-bg.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Processing, transparent background </td>
+    <td bgcolor="#ffffff" style=""><code>%ICON{processing-bg}%</code></td>
+  </tr>
+  <tr>
+    <td bgcolor="#ffffff" style=""><img alt="Processing-32" src="http://www.dementia.org/twiki//view/processing-32.gif" title="Processing-32" /></td>
+    <td bgcolor="#ffffff" style=""><code>processing-32.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Processing, 32x32 </td>
+    <td bgcolor="#ffffff" style=""><code>&lt;img src="%ICONURL{processing-32}%" width="32" height="32" alt="Processing" border="0" /&gt;</code></td>
+  </tr>
+  <tr>
+    <td bgcolor="#ffffff" style=""><img alt="Processing-32-bg" src="http://www.dementia.org/twiki//view/processing-32-bg.gif" title="Processing-32-bg" /></td>
+    <td bgcolor="#ffffff" style=""><code>processing-32-bg.gif</code></td>
+    <td bgcolor="#ffffff" style=""> Processing, 32x32, transparent </td>
+    <td bgcolor="#ffffff" style=""><code>&lt;img src="%ICONURL{processing-32-bg}%" width="32" height="32" alt="Processing" border="0" /&gt;</code></td>
+  </tr>
+  <tr>
     <td bgcolor="#ffffff" style=""><img alt="Minus" src="http://www.dementia.org/twiki//view/minus.gif" title="Minus" /></td>
     <td bgcolor="#ffffff" style=""><code>minus.gif</code></td>
     <td bgcolor="#ffffff" style=""> Minus </td>
index fe54044..23d10a8 100644 (file)
@@ -3,9 +3,10 @@
 <div>
   <ul>
     <li><a href="#Appendix A: TWiki Development Ti"> Appendix A: TWiki Development Time-line</a><ul>
-        <li><a href="#TWiki Release 4.2.4 (Georgeown)"> TWiki Release 4.2.4 (Georgeown) released 00:35:32 06 December 2008</a></li>
-        <li><a href="#TWiki Release 4.1 (Edinburgh), 1"> TWiki Release 4.1 (Edinburgh), 16 Jan 2007</a></li>
-        <li><a href="#TWiki Release 4.0.0 (Dakar), 01"> TWiki Release 4.0.0 (Dakar), 01 Feb 2006</a></li>
+        <li><a href="#TWiki Release 4.3 (Georgetown) r"> TWiki Release 4.3 (Georgetown) released 2009-03-30</a></li>
+        <li><a href="#TWiki Release 4.2 (Freetown), 20"> TWiki Release 4.2 (Freetown), 2008-01-22</a></li>
+        <li><a href="#TWiki Release 4.1 (Edinburgh), 2"> TWiki Release 4.1 (Edinburgh), 2007-01-16</a></li>
+        <li><a href="#TWiki Release 4.0 (Dakar), 2006-"> TWiki Release 4.0 (Dakar), 2006-02-01</a></li>
         <li><a href="#01-Sep-2004 Release (Cairo)"> 01-Sep-2004 Release (Cairo)</a></li>
         <li><a href="#01-Feb-2003 Release (Beijing)"> 01-Feb-2003 Release (Beijing)</a></li>
         <li><a href="#01-Dec-2001 Release (Athens)"> 01-Dec-2001 Release (Athens)</a></li>
   </ul>
 </div>
 
-<a name="FreetownRelease"></a>
+<a name="GeorgetownRelease"></a>
+
+## <a name="TWiki Release 4.3 (Georgetown) r"></a> TWiki Release 4.3 (Georgetown) released 2009-03-30
+
+**_New Features and Enhancements of TWiki Release 4.3_**
+
+- **Security Enhancements**
+  - Reduced risk of XSS ([cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting))
+  - S/MIME support to sign administrative e-mails
+
+- **Usability Enhancements**
+  - Replace question mark links with red-links to point to non-existing topics
+
+- **Enterprise Collaboration Enhancements**
+  - Pre-installed [[HeadlinesPlugin]] to show headline newsfeeds in TWiki topics
+  - Pre-installed [[TWikiNetSkin]], [[TWikiNetSkinPlugin]] for corporate look and feel
+
+- **Search Enhancements**
+  - Add footer parameter to Formatted Search
+  - Add number of topics to Formatted Search
 
-## <a name="TWiki Release 4.2.4 (Georgeown)"></a><a name="TWiki Release 4.2.4 (Georgeown) "></a> TWiki Release 4.2.4 (Georgeown) released 00:35:32 06 December 2008
+- **Miscellaneous Feature Enhancements**
+  - Control over variable expansion at topic creation time
+  - 17 new [[TWikiDocGraphics]] images
+  - Include URL supports list of domains to exclude from proxy
+  - Adding Korean language
+
+- **Plugin Enhancements**
+  - [[SpreadSheetPlugin]]: 5 new functions
+
+- **Bug Fixes**
+  - More than 30 bug fixes since 4.2.4
+
+<a name="GeorgetownHallOfFame"></a> **_Hall of Fame of TWiki Release 4.3_**
+
+Many people have been involved in creating TWiki 4.3. Special thanks go to the most active contributors in the following areas:
+
+- **Sponsor and facilitator:** TWiki:Main.PeterThoeny
+- **Testing and bug fixing:** TWiki:Main.SopanShewale, TWiki:Main.PeterThoeny, TWiki:Main.FengZhaolin, TWiki:Main.TimotheLitt, TWiki:Main.SteveMilner
+- **Spec and code:** TWiki:Main.PeterThoeny, TWiki:Main.SopanShewale, TWiki:Main.TimotheLitt
+- **Documentation:** TWiki:Main.PeterThoeny, TWiki:Main.SopanShewale, TWiki:Main.TimotheLitt, TWiki:Main.StephenHallett, TWiki:Main.JefferyMartin, TWiki:Main.ThomasErskine
+- **Release package builds:** TWiki:Main.SopanShewale
+- **Usability:** TWiki:Main.PeterThoeny
+- **Translations:** Coordinated by TWiki:Main.SteffenPoulsen
+  - Bulgarian: TWiki:Main.KrassimirBerov
+  - Chinese (simplified and traditional): TWiki:Main.CheDong
+  - Czech: TWiki:Main.IvanKuncl
+  - Danish: TWiki:Main.SteffenPoulsen
+  - Dutch: TWiki:Main.WoutMertens
+  - Finnish: TWiki:Main.HeikkiToivonen
+  - French: TWiki:Main.BenVoui
+  - German: TWiki:Main.MartinRaabe
+  - Italian: TWiki:Main.MassimoMancini
+  - Japanese: TWiki:Main.KenYuminaga
+  - Korean: TWiki:Main.JustinKim
+  - Polish: TWiki:Main.ZbigniewKulesza
+  - Portuguese: TWiki:Main.CarlinhosCecconi
+  - Russian: TWiki:Main.AndreyTkachenko, TWiki:Main.SergejZnamenskij, TWiki:Main.SergeyJSinx, TWiki:Main.AlexTananaev
+  - Spanish: TWiki:Main.SebastianKlus, TWiki:Main.MiguelABayona
+  - Swedish: TWiki:Main.ErikAman
+  - Ukrainian: TWiki:Main.SerhijDubyk
+- **Marketing:** TWiki:Main.PeterThoeny, TWiki:Main.WillThomas, TWiki:Main.VickiBrown
+- **Public relations:** TWiki:Main.PeterThoeny, TWiki:Main.WillThomas
+- **Meetups:** TWiki:Main.PeterThoeny
+- **TWiki.org wiki champions:** TWiki:Main.SopanShewale, TWiki:Main.PeterThoeny, TWiki:Main.FengZhaolin, TWiki:Main.AndrewRJones, TWiki:Main.DanielRohde
+- **Customer support:** TWiki:Main.PeterThoeny, TWiki:Main.SeanCMorgan, TWiki:Main.EnriqueCadalso, TWiki:Main.ScottFreeman, TWiki:Main.SopanShewale
+- **System administration:** TWiki:Main.ChrisLahti, TWiki:Main.PeterThoeny, TWiki:Main.SopanShewale
+
+If you find an omission please fix it at TWiki:TWiki.TWikiHistory. For the full list of contributors see [[TWikiContributor]].
+
+See more details on the TWiki 4.3 release at [[TWikiReleaseNotes04x03]].
+
+<a name="FreetownRelease"></a>
 
-Patch release following the 4.2.0 released 22 Jan 2008
+## <a name="TWiki Release 4.2 (Freetown), 20"></a> TWiki Release 4.2 (Freetown), 2008-01-22
 
 **_New Features and Enhancements of TWiki Release 4.2_**
 
@@ -69,7 +140,7 @@ Patch release following the 4.2.0 released 22 Jan 2008
 Many people have been involved in creating TWiki 4.2. Special thanks go to the most active contributors in the following areas:
 
 - Release management led by TWiki:Main.KennethLavrsen, ably assisted by TWiki:Main.SvenDowideit
-- Design and development driven by TWiki:Main.CrawfordCurrie, TWiki:Main.ArthurClemens, TWiki:Main.KennethLavrsen and TWiki:Main.SvenDowideit
+- Design and development driven by TWiki:Main.CrawfordCurrie, TWiki:Main.ArthurClemens, [[KennethLavrsen]] and TWiki:Main.SvenDowideit
 - Testing driven by TWiki:Main.KennethLavrsen
 
 Many thanks also to the contributors in the following areas:
@@ -109,7 +180,7 @@ See more details on the TWiki 4.2 release at [[TWikiReleaseNotes04x02]].
 
 <a name="EdinburghRelease"></a>
 
-## <a name="TWiki Release 4.1 (Edinburgh), 1"></a> TWiki Release 4.1 (Edinburgh), 16 Jan 2007
+## <a name="TWiki Release 4.1 (Edinburgh), 2"></a> TWiki Release 4.1 (Edinburgh), 2007-01-16
 
 **_New Features and Enhancements of TWiki Release 4.1_**
 
@@ -208,7 +279,7 @@ See more details on the TWiki 4.1 release at [[TWikiReleaseNotes04x01]].
 
 <a name="DakarRelease"></a>
 
-## <a name="TWiki Release 4.0.0 (Dakar), 01"></a><a name="TWiki Release 4.0.0 (Dakar), 01 "></a> TWiki Release 4.0.0 (Dakar), 01 Feb 2006
+## <a name="TWiki Release 4.0 (Dakar), 2006-"></a> TWiki Release 4.0 (Dakar), 2006-02-01
 
 **_Major New Features_**
 
index 0480f7e..a4f8e7d 100644 (file)
@@ -17,6 +17,7 @@ Both this document and the TWikiUpgradeGuide are also available in the root of t
         <li><a href="#Define the Administrator User(s)"> Define the Administrator User(s)</a></li>
         <li><a href="#Set TWiki Preferences"> Set TWiki Preferences</a></li>
         <li><a href="#Enable Email Notification"> Enable Email Notification</a></li>
+        <li><a href="#Enable Signed Email Notification"> Enable Signed Email Notification</a></li>
         <li><a href="#Enable _WebStatistics"> Enable WebStatistics</a></li>
         <li><a href="#Automate removal of expired sess"> Automate removal of expired sessions and lease files</a></li>
         <li><a href="#Enable Localisation"> Enable Localisation</a></li>
@@ -82,7 +83,7 @@ If you need help, ask a question in the TWiki:Support web or on TWiki:Codev.TWik
   - Some systems require a special extension on perl scripts (e.g. `.cgi` or `.pl`). This is normally only needed under Windows and only where perl scripts are only recognized by file extension. Linux and Unix users should normally never need to do this. If necessary, rename all files in `twiki/bin` (i.e. rename `view` to `view.pl` etc). If you do this, make sure you set the `ScriptSuffix` option in `configure` (Step 6).
 5. **Create the file LocalLib.cfg** located as `twiki/bin/LocalLib.cfg`
   - There is a template for this file in `twiki/bin/LocalLib.cfg.txt`. Simply copy [[LocalLib]].cfg.txt to [[LocalLib]].cfg. Make sure the ownership and access rights of the copy are the same as [[LocalLib]].cfg.txt
-  - The file `twiki/bin/LocalLib.cfg` must contain a setting for `$twikiLibPath`, which must point to the absolute file path of your `twiki/lib` e.g. `/var/www/twiki/lib`.<br />
+  - The file `twiki/bin/LocalLib.cfg` must contain a setting for `$twikiLibPath`, which must point to the absolute file path of your `twiki/lib` e.g. `/var/www/twiki/lib`.
   - If you need to install additional [CPAN](http://cpan.perl.org/) modules, but can't update the main Perl installation files on the server, you can set `$CPANBASE` to point to your personal [CPAN](http://cpan.perl.org/) install. Don't forget that the webserver user has to be able to read those files as well.
 6. **Choose best configuration method** for your webserver. There are two ways to configure Apache: config file included from httpd.conf or .htaccess files
   - Apache config file: The recommended method is using a config file. With a config file you can put the entire TWiki configuration in ONE file (typically named `twiki.conf`). Performance is much better with a config file, and one file gives the best overview and ensures that you get a safe installation . However using a config file requires that you can restart Apache which again means that you need root or sudo access to stop and start Apache. The TWiki apache config file is included from the main Apache config file http.conf. Most distributions have a directory from which any file that ends with `.conf` gets included when you restart Apache (Example RedHat/Fedora/Centos: /etc/httpd/conf.d). If you use a virtual host setup in Apache you should include the twiki.conf file from inside the desired virtual host config in your Apache configuration.
@@ -101,7 +102,8 @@ If you need help, ask a question in the TWiki:Support web or on TWiki:Codev.TWik
   - Resolve any errors or warnings it tells you about.
   - **Note!** When you run `configure` for the first time, you can only edit the section `General Path Settings`. Save these settings, and then return to `configure` to continue configuration.
   - If your webserver can be accessed by more than one domain name make sure to add the additional alternative URLs to `{PermittedRedirectHostUrls}`
-  - When you return to configure you now need to setup _Mail and Proxies_. Especially the `{WebMasterEmail}`, and `{SMTP}{MAILHOST}` must be defined to enable TWiki to send registration emails. Many ISPs have introduced authentication when sending emails to fight spam so you may also have to set `{SMTP}{Username}` and `{SMTP}{Password}`. If you do not want to enable mailing or want to enable it later you can uncheck `{EnableEmail}`.
+  - When you return to configure you now need to setup _Mail and Proxies_. Especially the `{WebMasterEmail}`, and `{SMTP}{MAILHOST}` must be defined to enable TWiki to send administrative emails, such as for registration and notification of topic changes. Many ISPs have introduced authentication when sending emails to fight spam so you may also have to set `{SMTP}{Username}` and `{SMTP}{Password}`. If you do not want to enable mailing or want to enable it later you can uncheck `{EnableEmail}`.
+  - If you want administrative e-mails to be signed, see [[S/MIME setup instructions below|Main/WebHome#SmimeSetup]].
 
 You now have a basic, unauthenticated installation running. At this point you can just point your Web browser at `http://yourdomain.com/twiki/bin/view` and start TWiki-ing away!
 
@@ -169,6 +171,27 @@ Each TWiki web has an automatic email notification service that sends you an ema
 1. Confirm the Mail and Proxies settings in the Configure interface.
 2. Setup a cron job (or equivalent) to call the `tools/mailnotify` script as described in the `TWiki.MailerContrib` topic.
 
+<a name="SmimeSetup"></a>
+
+## <a name="Enable Signed Email Notification"></a> Enable Signed Email Notification
+
+TWiki administrative e-mails are an attractive target for SPAM generators and phishing attacks. One good way to protect against this possibility to enable S/MIME signatures on all administrative e-mails. To do this, you need an an X.509 certificate and private key for the the `{WebMasterEmail}` email account. Obtain these as you would for any other S/MIME e-mail user.
+
+To enable TWiki to sign administrative e-mails:
+
+1. Enable e-mail as described above
+2. If necessary, convert your certificate and key files to **PEM** format ( _openssl_ has all the necessary utilities)
+3. Place the certificate anyplace convenient that the webserver can read. It should be protected against write. The conventional place under linux is `/etc/pki/tls/certs`
+4. Place the key file in a secure location that **only** the webserver can read. It **must not** be readable by anyone else, and **must not** be served by the webserver.
+5. Using the `configure` script, change the following settings under **Mail and Proxies**:
+  1. Follow the directions under `{MailProgram}` to enable an external mail program such as _sendmail_. Net::SMTP is not supported.
+  2. Enter the full path to the certificate file in the `{SmimeCertificateFile}` configuration variable
+  3. Enter the full path to the private key file in the `{SmimeKeyFile}` configuration variable
+  4. Save the configuration
+6. Re-run the `configure` script an resolve any errors that it identifies
+
+All out-going administrative e-mails will now be signed.
+
 ## <a name="Enable _WebStatistics"></a> Enable WebStatistics
 
 You can generate a listing manually, or on an automated schedule, of visits to individual pages, on a per web basis. For information on setting up this feature, see the `TWiki.TWikiSiteTools` topic.
@@ -225,7 +248,7 @@ However you may prefer to have the same user interface as in TWiki 4.1 where _Ed
 
 ## <a name="Copyright, License and Classific"></a> Copyright, License and Classification Statements
 
-In the bottom of each topic you will find a default copyright messages saying "Copyright &amp;© by the contributing authors. All material on this collaboration platform is the property of the contributing authors." It is a setting WEBCOPYRIGHT that defines this. This is often not adequate.
+In the bottom of each topic you will find a default copyright messages saying "Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors." It is a setting WEBCOPYRIGHT that defines this. This is often not adequate.
 
 - If your TWiki is used in a commercial application without public access you should replace this by your normal copyright notice. You should also consider adding classifications (e.g. For Internal Use Only) so people do not have to add this manually to every new topic.
 - If your TWiki is public with public access you need to decide which copyright and license the contributions should be covered by. For open source type applications licenses such as [the GNU Free Documentation License](http://www.gnu.org/licenses/fdl.html), [FreeBSD Documentation License](http://www.freebsd.org/copyright/freebsd-doc-license.html), and [Creative Commons license](http://creativecommons.org/licenses/) are possible licenses to consider. Remember that once people have started contributing it is difficult and not correct to change or impose licenses on existing contributions.
@@ -392,6 +415,11 @@ See [TWiki:TWiki.HowToInstallCpanModules](http://twiki.org/cgi-bin/view/TWiki/Ho
     <td> Highly recommended! Used for session support </td>
   </tr>
   <tr>
+    <td> Crypt::SMIME </td>
+    <td> &gt;=0.09 </td>
+    <td> Required if S/MIME-signed administrative e-mail is enabled. </td>
+  </tr>
+  <tr>
     <td> Digest::base </td>
     <td>   </td>
     <td>   </td>
diff --git a/TWiki/TWikiNetSkin.mdwn b/TWiki/TWikiNetSkin.mdwn
new file mode 100644 (file)
index 0000000..a2db57d
--- /dev/null
@@ -0,0 +1,125 @@
+# <a name="TWikiNetSkin"></a><a name=" _TWikiNetSkin"></a> TWikiNetSkin
+
+This is the default skin provided with [Certified TWiki](http://www.twiki.net/), designed by [Paul van Berkel](http://www.linkedin.com/in/paulvanberkel).
+
+<div>
+  <ul>
+    <li>
+      <ul>
+        <li><a href="#Screen Shot"> Screen Shot</a></li>
+      </ul>
+    </li>
+    <li><a href="#TWiki Installation Error">TWiki Installation Error</a><ul>
+        <li><a href="#Installation"> Installation</a><ul>
+            <li><a href="#Additional installation steps"> Additional installation steps</a></li>
+            <li><a href="#Enhanced look"> Enhanced look</a></li>
+          </ul>
+        </li>
+        <li><a href="#Creating your own look"> Creating your own look</a></li>
+        <li><a href="#Skin Info"> Skin Info</a></li>
+      </ul>
+    </li>
+  </ul>
+</div>
+
+## <a name="Screen Shot"></a> Screen Shot
+
+<div style="margin: 2em 0">
+  <h1><a name="TWiki Installation Error"></a> TWiki Installation Error </h1>Incorrect format of searchformat template (missing sections? There should be 4 %SPLIT% tags) </div>
+
+## <a name="Installation"></a> Installation
+
+**Note:** You do not need to install anything on the browser to use this skin. The following instructions are for the administrator who installs the skin on the server where TWiki is running.
+
+This skin needs TWiki 4.2 or newer.
+
+- Download the ZIP file from the Skin Home page (see below)
+- Unzip <code>**%TOPIC%.zip**</code> in your twiki installation directory
+
+### <a name="Additional installation steps"></a> Additional installation steps
+
+- Modify [[TablePlugin]] settings: copy the `TABLEATTRIBUTES` below to Main.TWikiPreferences: %BR%
+       * TWikiNetSkin table attributes:
+          * Set TABLEPLUGIN_TABLEATTRIBUTES = tableborder="1" cellpadding="0" cellspacing="0" valign="top" headercolor="#252b37" headerbg="#d8dde4" headerbgsorted="#ced4dd" headercolor="#252b37" databg="#ffffff,#f2f3f6" databgsorted="#f3f5f7,#e7e9ee" tablerules="cols"
+- In TWiki.TWikiPreferences, remove the `<div ></div>` tags (if any) from `BROADCASTMESSAGE`
+
+- To turn on the skin, write in Main.TWikiPreferences: %BR%
+          * Set SKIN = twikinet,pattern
+- [[Test if installed|%WEB%/%TOPIC%?skin=twikinet,pattern]]
+
+### <a name="Enhanced look"></a> Enhanced look
+
+Part of the design is done by TWiki:Plugins/TWikiNetSkinPlugin. Install this plugin for rounded tables and h2 headers.
+
+Example when installed:
+
+<div><img alt="twikiNetSkinPlugin_example.png" src="http://www.dementia.org/twiki//view/twikiNetSkinPlugin_example.png" /></div>
+
+## <a name="Creating your own look"></a> Creating your own look
+
+This skin is based on TWiki:Plugins/PatternSkin, and the same rules for customization apply.
+
+## <a name="Skin Info"></a> Skin Info
+
+- Set SHORTDESCRIPTION = Certified TWiki skin
+
+<table border="1" cellpadding="0" cellspacing="0">
+  <tr>
+    <td align="right"> Skin Author: </td>
+    <td> TWiki:Main/ArthurClemens </td>
+  </tr>
+  <tr>
+    <td align="right"> Copyright: </td>
+    <td> © 2007, 2008, <a href="http://twiki.net" target="_top">TWIKI.NET</a>; © design 2007: <a href="http://www.linkedin.com/in/paulvanberkel" target="_top">Paul van Berkel</a></td>
+  </tr>
+  <tr>
+    <td align="right"> License: </td>
+    <td> GPL (<a href="http://www.gnu.org/copyleft/gpl.html" target="_top">GNU General Public License</a>) </td>
+  </tr>
+  <tr>
+    <td align="right"> Description: </td>
+    <td> Certified TWiki skin </td>
+  </tr>
+  <tr>
+    <td align="right"> Screenshot: </td>
+    <td><a href="http://www.dementia.org/twiki//view/fullscreen.png"><img alt="Click for full screen image" height="130" src="http://www.dementia.org/twiki//view/screenshot.png" width="600" /></a></td>
+  </tr>
+  <tr>
+    <td align="right"> Preview: </td>
+    <td><a href="http://www.dementia.org/twiki//view/%WEB%/%TOPIC%?skin=twikinet,pattern" target="_top">Preview with this topic</a></td>
+  </tr>
+  <tr>
+    <td align="right"> Base Name: </td>
+    <td> twikinet,pattern </td>
+  </tr>
+  <tr>
+    <td align="right"> Skin Version: </td>
+    <td> 16 Mar 2008 (v1.0.1) </td>
+  </tr>
+  <tr>
+    <td align="right"> Change History: </td>
+    <td>  </td>
+  </tr>
+  <tr>
+    <td align="right"> 16 Mar 2008: </td>
+    <td> Public release (v1.000) </td>
+  </tr>
+  <tr>
+    <td align="right"> Dependencies: </td>
+    <td> TWiki 4.2; TWiki:Plugins/PatternSkin (automatically provided by TWiki); TWiki:Plugins/TWikiNetSkinPlugin </td>
+  </tr>
+  <tr>
+    <td align="right"> Skin Home: </td>
+    <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%</a></td>
+  </tr>
+  <tr>
+    <td align="right"> Feedback: </td>
+    <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev</a></td>
+  </tr>
+  <tr>
+    <td align="right"> Appraisal: </td>
+    <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal</a></td>
+  </tr>
+</table>
+
+**_Related topic:_** [[TWikiSkins]], [[TWikiSkinBrowser]], [[UserDocumentationCategory]], [[AdminDocumentationCategory]]
diff --git a/TWiki/TWikiNetSkinColorSettings.mdwn b/TWiki/TWikiNetSkinColorSettings.mdwn
new file mode 100644 (file)
index 0000000..0d733ef
--- /dev/null
@@ -0,0 +1,1604 @@
+# <a name="Color scheme settings for _TWiki"></a> Color scheme settings for [[TWikiNetSkin]]
+
+- Set SKIN = twikinet,pattern
+
+## <a name="Usage"></a><a name=" Usage"></a> Usage
+
+### <a name="Step 1"></a><a name=" Step 1"></a> Step 1
+
+Let [[TWikiNetSkin]] point to the custom-made colors style sheet. In [[Main.TWikiPreferences|Main/TWikiPreferences]] put:
+
+       * Set USERCOLORSURL = %PUBURLPATH%/%TWIKIWEB%/TWikiNetSkin/theme-colors.css
+
+### <a name="Step 2"></a><a name=" Step 2"></a> Step 2
+
+Edit this topic, and change the color variables as you like.
+
+### <a name="Step 3"></a><a name=" Step 3"></a> Step 3
+
+Save the topic. This will generate an [attachment](http://www.dementia.org/twiki//view/TWiki/TWikiNetSkin/theme-colors.css) to topic [[TWikiNetSkin]].
+
+<img src="http://www.dementia.org/twiki//view/Main/WebHome/info.gif" width="16" height="16" alt="info" /> For more help on customizing styles, see [[PatternSkinCustomization]].
+
+## <a name="Color variables"></a><a name=" Color variables"></a> Color variables
+
+<div>
+  <ul>
+    <li>
+      <ul>
+        <li><a href="#TWikiNetSkin specific"> TWikiNetSkin specific</a><ul>
+            <li><a href="#SHADE_TOPTOOLBAR_BORDER"> SHADE_TOPTOOLBAR_BORDER</a></li>
+            <li><a href="#SHADE_TOPTOOLBAR_BACKGROUND"> SHADE_TOPTOOLBAR_BACKGROUND</a></li>
+            <li><a href="#SHADE_SIDE_BAR_STRONG_TEXT"> SHADE_SIDE_BAR_STRONG_TEXT</a></li>
+            <li><a href="#SHADE_BLOCKQUOTE_BACKGROUND"> SHADE_BLOCKQUOTE_BACKGROUND</a></li>
+            <li><a href="#SHADE_TWIKIFORM_TABLECELL_BORDER"> SHADE_TWIKIFORM_TABLECELL_BORDER</a></li>
+            <li><a href="#SHADE_TWIKITABLE_HEADER_BACKGROU"> SHADE_TWIKITABLE_HEADER_BACKGROUND</a></li>
+            <li><a href="#SHADE_TWIKIFORM_FIRSTCOL_BACKGRO"> SHADE_TWIKIFORM_FIRSTCOL_BACKGROUND</a></li>
+            <li><a href="#SHADE_TWIKIFORM_HEADER_BACKGROUN"> SHADE_TWIKIFORM_HEADER_BACKGROUND</a></li>
+            <li><a href="#SHADE_BOTTOM_BAR_BACKGROUND"> SHADE_BOTTOM_BAR_BACKGROUND</a></li>
+            <li><a href="#SHADE_BOTTOM_BAR_TEXT"> SHADE_BOTTOM_BAR_TEXT</a></li>
+            <li><a href="#SHADE_ALERT_TEXT"> SHADE_ALERT_TEXT</a></li>
+            <li><a href="#SHADE_BLUEISH_TEXT"> SHADE_BLUEISH_TEXT</a></li>
+            <li><a href="#SHADE_DARKISH_TEXT"> SHADE_DARKISH_TEXT</a></li>
+            <li><a href="#SHADE_TOPTOOLBAR_WEBNAME_TEXT"> SHADE_TOPTOOLBAR_WEBNAME_TEXT</a></li>
+            <li><a href="#SHADE_BROADCASTMESSAGE_BACKGROUN"> SHADE_BROADCASTMESSAGE_BACKGROUND</a></li>
+          </ul>
+        </li>
+      </ul>
+    </li>
+    <li><a href="#Logical groupings"> Logical groupings</a><ul>
+        <li><a href="#Text"> Text</a><ul>
+            <li><a href="#MAIN_TEXT_COLOR Main text color"> MAIN_TEXT_COLOR Main text color</a></li>
+            <li><a href="#MAIN_BACKGROUND_COLOR Main backg"> MAIN_BACKGROUND_COLOR Main background color</a></li>
+            <li><a href="#LIGHT_ON_DARK_TEXT_COLOR Light o"> LIGHT_ON_DARK_TEXT_COLOR Light on dark text color</a></li>
+            <li><a href="#GRAYED_TEXT_COLOR"> GRAYED_TEXT_COLOR</a></li>
+            <li><a href="#GENERAL_TEXT General text (if no"> GENERAL_TEXT General text (if not set in MAIN_BACKGROUND_COLOR) (black)</a></li>
+            <li><a href="#HEADER_TEXT Header text"> HEADER_TEXT Header text</a></li>
+            <li><a href="#CODE_TEXT Code text, left bar te"> CODE_TEXT Code text, left bar text and links</a></li>
+            <li><a href="#MUTED_TEXT Muted text"> MUTED_TEXT Muted text</a></li>
+            <li><a href="#GRAYED_OUT_TEXT Grayed out text"> GRAYED_OUT_TEXT Grayed out text</a></li>
+            <li><a href="#TOPIC_ACTION_TEXT"> TOPIC_ACTION_TEXT</a></li>
+          </ul>
+        </li>
+        <li><a href="#Links"> Links</a><ul>
+            <li><a href="#LINK_TEXT_NORMAL Link normal tex"> LINK_TEXT_NORMAL Link normal text</a></li>
+            <li><a href="#LINK_BACKGROUND_NORMAL Link norm"> LINK_BACKGROUND_NORMAL Link normal background</a></li>
+            <li><a href="#LINK_TEXT_NORMAL_VISITED Link no"> LINK_TEXT_NORMAL_VISITED Link normal text visited</a></li>
+            <li><a href="#LINK_TEXT_ACTION_BUTTON Link tex"> LINK_TEXT_ACTION_BUTTON Link text</a></li>
+            <li><a href="#LINK_TEXT_HOVER Link hover text"> LINK_TEXT_HOVER Link hover text</a></li>
+            <li><a href="#SIDE_BAR_LINK_TEXT Side bar link"> SIDE_BAR_LINK_TEXT Side bar link text</a></li>
+          </ul>
+        </li>
+        <li><a href="#Disabled"> Disabled</a><ul>
+            <li><a href="#DISABLED_BORDER Disabled border"> DISABLED_BORDER Disabled border</a></li>
+            <li><a href="#DISABLED_TEXT Disabled text"> DISABLED_TEXT Disabled text</a></li>
+            <li><a href="#DISABLED_BACKGROUND Disabled bac"> DISABLED_BACKGROUND Disabled background</a></li>
+            <li><a href="#BUTTON_BORDERS_DISABLED Disabled"> BUTTON_BORDERS_DISABLED Disabled button borders</a></li>
+          </ul>
+        </li>
+        <li><a href="#'New'"> 'New'</a><ul>
+            <li><a href="#NEW_TEXT New text (green)"> NEW_TEXT New text (green) </a></li>
+            <li><a href="#NEW_BACKGROUND New background (l"> NEW_BACKGROUND New background (light green) </a></li>
+          </ul>
+        </li>
+        <li><a href="#Alert"> Alert</a><ul>
+            <li><a href="#ALERT_TEXT Alert text (red)"> ALERT_TEXT Alert text (red)</a></li>
+            <li><a href="#ALERT_TEXT_MUTED Muted alert tex"> ALERT_TEXT_MUTED Muted alert text (dark red)</a></li>
+            <li><a href="#ALERT_BORDER Alert border"> ALERT_BORDER Alert border</a></li>
+          </ul>
+        </li>
+        <li><a href="#Buttons"> Buttons</a><ul>
+            <li><a href="#BUTTON_TEXT Button text color (d"> BUTTON_TEXT Button text color (dark gray)</a></li>
+            <li><a href="#BUTTON_BORDERS Button borders"> BUTTON_BORDERS Button borders</a></li>
+            <li><a href="#BUTTON_BACKGROUND Button backgro"> BUTTON_BACKGROUND Button background</a></li>
+            <li><a href="#BUTTON_CANCEL_BACKGROUND Cancel"> BUTTON_CANCEL_BACKGROUND Cancel button background</a></li>
+            <li><a href="#SUBMIT_BUTTON_BACKGROUND Submit"> SUBMIT_BUTTON_BACKGROUND Submit button background</a></li>
+            <li><a href="#SUBMIT_BUTTON_BORDER_TEXT Submit"> SUBMIT_BUTTON_BORDER_TEXT Submit button text color</a></li>
+            <li><a href="#SELECT_BORDER Select border"> SELECT_BORDER Select border</a></li>
+          </ul>
+        </li>
+        <li><a href="#Background colors"> Background colors</a><ul>
+            <li><a href="#GENERAL_BACKGROUND General backg"> GENERAL_BACKGROUND General background color (if not set in MAIN_BACKGROUND_COLOR) (white)</a></li>
+            <li><a href="#SIDE_BAR_BACKGROUND Side bar bac"> SIDE_BAR_BACKGROUND Side bar background</a></li>
+            <li><a href="#NEUTRAL_BACKGROUND"> NEUTRAL_BACKGROUND</a></li>
+            <li><a href="#TOP_BAR_BACKGROUND Top bar backg"> TOP_BAR_BACKGROUND Top bar background</a></li>
+            <li><a href="#TOPIC_ACTION_BACKGROUND Topic ac"> TOPIC_ACTION_BACKGROUND Topic action row</a></li>
+            <li><a href="#HEADER_BACKGROUND h2"> HEADER_BACKGROUND h2</a></li>
+            <li><a href="#ATTACHMENT_AND_FORM_BACKGROUND A"> ATTACHMENT_AND_FORM_BACKGROUND Attachment, form</a></li>
+            <li><a href="#DIFF_HEADER_BACKGROUND Diff head"> DIFF_HEADER_BACKGROUND Diff header </a></li>
+            <li><a href="#NOTIFICATION_BACKGROUND Info and"> NOTIFICATION_BACKGROUND Info and notifications</a></li>
+            <li><a href="#INFO_BACKGROUND"> INFO_BACKGROUND</a></li>
+          </ul>
+        </li>
+        <li><a href="#Border colors"> Border colors</a><ul>
+            <li><a href="#NEUTRAL_BORDER Info (light gray)"> NEUTRAL_BORDER Info (light gray)</a></li>
+            <li><a href="#SEPARATOR_BORDER"> SEPARATOR_BORDER </a></li>
+            <li><a href="#MINOR_SEPARATOR_BORDER Header H3"> MINOR_SEPARATOR_BORDER Header H3..H6 bottom</a></li>
+            <li><a href="#LAYOUT_ELEMENT_BORDER Main layou"> LAYOUT_ELEMENT_BORDER Main layout elements (neutral tone) </a></li>
+            <li><a href="#IMAGE_BORDER Image border"> IMAGE_BORDER Image border</a></li>
+            <li><a href="#NOTIFICATION_BORDER Broadcast me"> NOTIFICATION_BORDER Broadcast message</a></li>
+            <li><a href="#TOPIC_ACTION_BORDER"> TOPIC_ACTION_BORDER</a></li>
+            <li><a href="#Table colors"> Table colors</a><ul>
+                <li><a href="#TABLE_DATA_BACKGROUND Table data"> TABLE_DATA_BACKGROUND Table data background</a></li>
+                <li><a href="#TABLE_HEADER_BACKGROUND Table he"> TABLE_HEADER_BACKGROUND Table header background</a></li>
+                <li><a href="#TABLE_SELECTED_COLUMN_HEADER_BAC"> TABLE_SELECTED_COLUMN_HEADER_BACKGROUND Sorted table column accent background </a></li>
+                <li><a href="#TABLE_DATA_ODD_BACKGROUND Table"> TABLE_DATA_ODD_BACKGROUND Table data background (odd row)</a></li>
+                <li><a href="#TABLE_DATA_EVEN_BACKGROUND Table"> TABLE_DATA_EVEN_BACKGROUND Table data background (even row)</a></li>
+                <li><a href="#TABLE_DATA_ODD_SELECTED_BACKGROU"> TABLE_DATA_ODD_SELECTED_BACKGROUND Table data background (odd row, selected column)</a></li>
+                <li><a href="#TABLE_DATA_EVEN_SELECTED_BACKGRO"> TABLE_DATA_EVEN_SELECTED_BACKGROUND Table data background (even row, selected column)</a></li>
+                <li><a href="#TABLE_DATA_MIX_BACKGROUND Table"> TABLE_DATA_MIX_BACKGROUND Table data background (mix between even and odd)</a></li>
+              </ul>
+            </li>
+            <li><a href="#TABLE_BORDER Table border, sup ("> TABLE_BORDER Table border, sup (light neutral tone)</a></li>
+            <li><a href="#LINK_TEXT_NORMAL_TABLE_HEADER Ta"> LINK_TEXT_NORMAL_TABLE_HEADER Table header link text</a></li>
+            <li><a href="#LINK_TEXT_NORMAL_UNDERLINE_TABLE"> LINK_TEXT_NORMAL_UNDERLINE_TABLE_HEADER Table header link border</a></li>
+            <li><a href="#LINK_TEXT_SORTED_TABLE_HEADER So"> LINK_TEXT_SORTED_TABLE_HEADER Sorted table header link text</a></li>
+            <li><a href="#LINK_TEXT_HOVER_TABLE_HEADER Tab"> LINK_TEXT_HOVER_TABLE_HEADER Table header link hover text</a></li>
+            <li><a href="#LINK_BORDER_TABLE_SELECTED_COLUM"> LINK_BORDER_TABLE_SELECTED_COLUMN_HEADER Link border in selected column header</a></li>
+          </ul>
+        </li>
+        <li><a href="#Forms"> Forms</a><ul>
+            <li><a href="#INPUT_FIELD_BORDERS Input field"> INPUT_FIELD_BORDERS Input field borders</a></li>
+            <li><a href="#FORM_INPUT_BORDER Textarea, inpu"> FORM_INPUT_BORDER Textarea, input and select (darker gray)</a></li>
+            <li><a href="#FORM_BORDER Form"> FORM_BORDER Form</a></li>
+            <li><a href="#ACTIVE_FORM_BACKGROUND Edit form"> ACTIVE_FORM_BACKGROUND Edit form, form steps</a></li>
+            <li><a href="#FORM_STEP_BORDER Form step borde"> FORM_STEP_BORDER Form step border</a></li>
+            <li><a href="#FORMFIELD_ACTIVE Active form fie"> FORMFIELD_ACTIVE Active form field</a></li>
+          </ul>
+        </li>
+      </ul>
+    </li>
+  </ul>
+</div>
+
+### <a name="TWikiNetSkin specific"></a> [[TWikiNetSkin]] specific
+
+#### <a name="SHADE_TOPTOOLBAR_BORDER"></a> SHADE\_TOPTOOLBAR\_BORDER
+
+- Set SHADE\_TOPTOOLBAR\_BORDER = #c4cbd6
+
+#### <a name="SHADE_TOPTOOLBAR_BACKGROUND"></a> SHADE\_TOPTOOLBAR\_BACKGROUND
+
+- Set SHADE\_TOPTOOLBAR\_BACKGROUND = #e9ecf2
+
+#### <a name="SHADE_SIDE_BAR_STRONG_TEXT"></a> SHADE\_SIDE\_BAR\_STRONG\_TEXT
+
+- Set SHADE\_SIDE\_BAR\_STRONG\_TEXT = #252b37
+
+#### <a name="SHADE_BLOCKQUOTE_BACKGROUND"></a> SHADE\_BLOCKQUOTE\_BACKGROUND
+
+- Set SHADE\_BLOCKQUOTE\_BACKGROUND = #edeff4
+
+#### <a name="SHADE_TWIKIFORM_TABLECELL_BORDER"></a> SHADE\_TWIKIFORM\_TABLECELL\_BORDER
+
+- Set SHADE\_TWIKIFORM\_TABLECELL\_BORDER = #e6e8ee
+
+#### <a name="SHADE_TWIKITABLE_HEADER_BACKGROU"></a> SHADE\_TWIKITABLE\_HEADER\_BACKGROUND
+
+- Set SHADE\_TWIKITABLE\_HEADER\_BACKGROUND = #f4f5f9
+
+#### <a name="SHADE_TWIKIFORM_FIRSTCOL_BACKGRO"></a> SHADE\_TWIKIFORM\_FIRSTCOL\_BACKGROUND
+
+- Set SHADE\_TWIKIFORM\_FIRSTCOL\_BACKGROUND = #f9f9fb
+
+#### <a name="SHADE_TWIKIFORM_HEADER_BACKGROUN"></a> SHADE\_TWIKIFORM\_HEADER\_BACKGROUND
+
+- Set SHADE\_TWIKIFORM\_HEADER\_BACKGROUND = #eceef2
+
+#### <a name="SHADE_BOTTOM_BAR_BACKGROUND"></a> SHADE\_BOTTOM\_BAR\_BACKGROUND
+
+- Set SHADE\_BOTTOM\_BAR\_BACKGROUND = #7d8ca5
+
+#### <a name="SHADE_BOTTOM_BAR_TEXT"></a> SHADE\_BOTTOM\_BAR\_TEXT
+
+- Set SHADE\_BOTTOM\_BAR\_TEXT = #d8dde4
+
+#### <a name="SHADE_ALERT_TEXT"></a> SHADE\_ALERT\_TEXT
+
+- Set SHADE\_ALERT\_TEXT = #f60
+
+#### <a name="SHADE_BLUEISH_TEXT"></a> SHADE\_BLUEISH\_TEXT
+
+- Set SHADE\_BLUEISH\_TEXT = #3f4e67
+
+#### <a name="SHADE_DARKISH_TEXT"></a> SHADE\_DARKISH\_TEXT
+
+- Set SHADE\_DARKISH\_TEXT = #333
+
+#### <a name="SHADE_TOPTOOLBAR_WEBNAME_TEXT"></a> SHADE\_TOPTOOLBAR\_WEBNAME\_TEXT
+
+- Set SHADE\_TOPTOOLBAR\_WEBNAME\_TEXT = %SHADE\_BLUEISH\_TEXT%
+
+#### <a name="SHADE_BROADCASTMESSAGE_BACKGROUN"></a> SHADE\_BROADCASTMESSAGE\_BACKGROUND
+
+- Set SHADE\_BROADCASTMESSAGE\_BACKGROUND = #fff765
+
+## <a name="Logical groupings"></a> Logical groupings
+
+### <a name="Text"></a> Text
+
+#### <a name="MAIN_TEXT_COLOR Main text color"></a> MAIN\_TEXT\_COLOR Main text color
+
+- Set MAIN\_TEXT\_COLOR = #252b37
+
+#### <a name="MAIN_BACKGROUND_COLOR Main backg"></a> MAIN\_BACKGROUND\_COLOR Main background color
+
+- Set MAIN\_BACKGROUND\_COLOR = #fff
+
+#### <a name="LIGHT_ON_DARK_TEXT_COLOR Light o"></a> LIGHT\_ON\_DARK\_TEXT\_COLOR Light on dark text color
+
+- Set LIGHT\_ON\_DARK\_TEXT\_COLOR = #fff
+
+#### <a name="GRAYED_TEXT_COLOR"></a> GRAYED\_TEXT\_COLOR
+
+- Set GRAYED\_TEXT\_COLOR = #7d8ca5
+
+#### <a name="GENERAL_TEXT General text (if no"></a> GENERAL\_TEXT General text (if not set in MAIN\_BACKGROUND\_COLOR) (black)
+
+- Set GENERAL\_TEXT = #000
+
+#### <a name="HEADER_TEXT Header text"></a> HEADER\_TEXT Header text
+
+- Set HEADER\_TEXT = %SHADE\_ALERT\_TEXT%
+
+#### <a name="CODE_TEXT Code text, left bar te"></a> CODE\_TEXT Code text, left bar text and links
+
+- Set CODE\_TEXT = #669
+
+#### <a name="MUTED_TEXT Muted text"></a> MUTED\_TEXT Muted text
+
+- Set MUTED\_TEXT = %GRAYED\_TEXT\_COLOR%
+
+#### <a name="GRAYED_OUT_TEXT Grayed out text"></a> GRAYED\_OUT\_TEXT Grayed out text
+
+- Set GRAYED\_OUT\_TEXT = #999
+
+#### <a name="TOPIC_ACTION_TEXT"></a> TOPIC\_ACTION\_TEXT
+
+- Set TOPIC\_ACTION\_TEXT = #97a3b7
+
+### <a name="Links"></a> Links
+
+#### <a name="LINK_TEXT_NORMAL Link normal tex"></a> LINK\_TEXT\_NORMAL Link normal text
+
+- Set LINK\_TEXT\_NORMAL = #36c
+
+#### <a name="LINK_BACKGROUND_NORMAL Link norm"></a> LINK\_BACKGROUND\_NORMAL Link normal background
+
+- Set LINK\_BACKGROUND\_NORMAL =
+
+#### <a name="LINK_TEXT_NORMAL_VISITED Link no"></a> LINK\_TEXT\_NORMAL\_VISITED Link normal text visited
+
+- Set LINK\_TEXT\_NORMAL\_VISITED = #707f99
+
+#### <a name="LINK_TEXT_ACTION_BUTTON Link tex"></a> LINK\_TEXT\_ACTION\_BUTTON Link text
+
+- Set LINK\_TEXT\_ACTION\_BUTTON = %LINK\_TEXT\_NORMAL%
+
+#### <a name="LINK_TEXT_HOVER Link hover text"></a> LINK\_TEXT\_HOVER Link hover text
+
+- Set LINK\_TEXT\_HOVER = #036
+
+#### <a name="SIDE_BAR_LINK_TEXT Side bar link"></a> SIDE\_BAR\_LINK\_TEXT Side bar link text
+
+- Set SIDE\_BAR\_LINK\_TEXT = %SHADE\_BLUEISH\_TEXT%
+
+### <a name="Disabled"></a> Disabled
+
+#### <a name="DISABLED_BORDER Disabled border"></a> DISABLED\_BORDER Disabled border
+
+- Set DISABLED\_BORDER = #e0e0e0
+
+#### <a name="DISABLED_TEXT Disabled text"></a> DISABLED\_TEXT Disabled text
+
+- Set DISABLED\_TEXT = #aaa
+
+#### <a name="DISABLED_BACKGROUND Disabled bac"></a> DISABLED\_BACKGROUND Disabled background
+
+- Set DISABLED\_BACKGROUND = #f8f8f8
+
+#### <a name="BUTTON_BORDERS_DISABLED Disabled"></a> BUTTON\_BORDERS\_DISABLED Disabled button borders
+
+- Set BUTTON\_BORDERS\_DISABLED = #fff #ccc #ccc #fff
+
+### <a name="&#39;New&#39;"></a> 'New'
+
+#### <a name="NEW_TEXT New text (green)"></a> NEW\_TEXT New text (green)
+
+- Set NEW\_TEXT = #049804
+
+#### <a name="NEW_BACKGROUND New background (l"></a> NEW\_BACKGROUND New background (light green)
+
+- Set NEW\_BACKGROUND = #ECFADC
+
+### <a name="Alert"></a> Alert
+
+#### <a name="ALERT_TEXT Alert text (red)"></a> ALERT\_TEXT Alert text (red)
+
+- Set ALERT\_TEXT = #f00
+
+#### <a name="ALERT_TEXT_MUTED Muted alert tex"></a> ALERT\_TEXT\_MUTED Muted alert text (dark red)
+
+- Set ALERT\_TEXT\_MUTED = #900
+
+#### <a name="ALERT_BORDER Alert border"></a> ALERT\_BORDER Alert border
+
+- Set ALERT\_BORDER = #f00
+
+### <a name="Buttons"></a> Buttons
+
+#### <a name="BUTTON_TEXT Button text color (d"></a> BUTTON\_TEXT Button text color (dark gray)
+
+- Set BUTTON\_TEXT = #000
+
+#### <a name="BUTTON_BORDERS Button borders"></a> BUTTON\_BORDERS Button borders
+
+- Set BUTTON\_BORDERS = #fff #888 #888 #fff
+
+#### <a name="BUTTON_BACKGROUND Button backgro"></a> BUTTON\_BACKGROUND Button background
+
+- Set BUTTON\_BACKGROUND = #e2e3e3
+
+#### <a name="BUTTON_CANCEL_BACKGROUND Cancel"></a><a name="BUTTON_CANCEL_BACKGROUND Cancel "></a> BUTTON\_CANCEL\_BACKGROUND Cancel button background
+
+- Set BUTTON\_CANCEL\_BACKGROUND = #f2d5d0
+
+#### <a name="SUBMIT_BUTTON_BACKGROUND Submit"></a><a name="SUBMIT_BUTTON_BACKGROUND Submit "></a> SUBMIT\_BUTTON\_BACKGROUND Submit button background
+
+- Set SUBMIT\_BUTTON\_BACKGROUND = #06c
+
+#### <a name="SUBMIT_BUTTON_BORDER_TEXT Submit"></a> SUBMIT\_BUTTON\_BORDER\_TEXT Submit button text color
+
+- Set SUBMIT\_BUTTON\_BORDER\_TEXT = #fff
+
+#### <a name="SELECT_BORDER Select border"></a> SELECT\_BORDER Select border
+
+- Set SELECT\_BORDER = #888
+
+### <a name="Background colors"></a> Background colors
+
+#### <a name="GENERAL_BACKGROUND General backg"></a> GENERAL\_BACKGROUND General background color (if not set in MAIN\_BACKGROUND\_COLOR) (white)
+
+- Set GENERAL\_BACKGROUND = #fff
+
+#### <a name="SIDE_BAR_BACKGROUND Side bar bac"></a> SIDE\_BAR\_BACKGROUND Side bar background
+
+- Set SIDE\_BAR\_BACKGROUND = #f4f5f8
+
+#### <a name="NEUTRAL_BACKGROUND"></a> NEUTRAL\_BACKGROUND
+
+- Set NEUTRAL\_BACKGROUND = #fdfaf1
+
+#### <a name="TOP_BAR_BACKGROUND Top bar backg"></a> TOP\_BAR\_BACKGROUND Top bar background
+
+- Set TOP\_BAR\_BACKGROUND = #dfe3ec
+
+#### <a name="TOPIC_ACTION_BACKGROUND Topic ac"></a> TOPIC\_ACTION\_BACKGROUND Topic action row
+
+- Set TOPIC\_ACTION\_BACKGROUND = #f8f9fa
+
+#### <a name="HEADER_BACKGROUND h2"></a> HEADER\_BACKGROUND h2
+
+- Set HEADER\_BACKGROUND = #f8f9fb
+
+#### <a name="ATTACHMENT_AND_FORM_BACKGROUND A"></a> ATTACHMENT\_AND\_FORM\_BACKGROUND Attachment, form
+
+- Set ATTACHMENT\_AND\_FORM\_BACKGROUND = #f2f3f6
+
+#### <a name="DIFF_HEADER_BACKGROUND Diff head"></a> DIFF\_HEADER\_BACKGROUND Diff header
+
+- Set DIFF\_HEADER\_BACKGROUND = #ccc
+
+#### <a name="NOTIFICATION_BACKGROUND Info and"></a> NOTIFICATION\_BACKGROUND Info and notifications
+
+- Set NOTIFICATION\_BACKGROUND = #fff9d1
+
+#### <a name="INFO_BACKGROUND"></a> INFO\_BACKGROUND
+
+- Set INFO\_BACKGROUND = #f4f5f8
+
+### <a name="Border colors"></a> Border colors
+
+#### <a name="NEUTRAL_BORDER Info (light gray)"></a> NEUTRAL\_BORDER Info (light gray)
+
+- Set NEUTRAL\_BORDER = #d7dbe4
+
+#### <a name="SEPARATOR_BORDER"></a> SEPARATOR\_BORDER
+
+- Set SEPARATOR\_BORDER = #e5e8ed
+
+#### <a name="MINOR_SEPARATOR_BORDER Header H3"></a> MINOR\_SEPARATOR\_BORDER Header H3..H6 bottom
+
+- Set MINOR\_SEPARATOR\_BORDER = %SEPARATOR\_BORDER%
+
+#### <a name="LAYOUT_ELEMENT_BORDER Main layou"></a> LAYOUT\_ELEMENT\_BORDER Main layout elements (neutral tone)
+
+- Set LAYOUT\_ELEMENT\_BORDER = #cfcfcf
+
+#### <a name="IMAGE_BORDER Image border"></a> IMAGE\_BORDER Image border
+
+- Set IMAGE\_BORDER = #eee
+
+#### <a name="NOTIFICATION_BORDER Broadcast me"></a> NOTIFICATION\_BORDER Broadcast message
+
+- Set NOTIFICATION\_BORDER = #fc0
+
+#### <a name="TOPIC_ACTION_BORDER"></a> TOPIC\_ACTION\_BORDER
+
+- Set TOPIC\_ACTION\_BORDER = #dee2e8
+
+#### <a name="Table colors"></a> Table colors
+
+##### <a name="TABLE_DATA_BACKGROUND Table data"></a> TABLE\_DATA\_BACKGROUND Table data background
+
+- Set TABLE\_DATA\_BACKGROUND = #f2f3f6
+
+##### <a name="TABLE_HEADER_BACKGROUND Table he"></a> TABLE\_HEADER\_BACKGROUND Table header background
+
+- Set TABLE\_HEADER\_BACKGROUND = #d8dde4
+
+##### <a name="TABLE_SELECTED_COLUMN_HEADER_BAC"></a> TABLE\_SELECTED\_COLUMN\_HEADER\_BACKGROUND Sorted table column accent background
+
+- Set TABLE\_SELECTED\_COLUMN\_HEADER\_BACKGROUND = #ced4dd
+
+##### <a name="TABLE_DATA_ODD_BACKGROUND Table"></a><a name="TABLE_DATA_ODD_BACKGROUND Table "></a> TABLE\_DATA\_ODD\_BACKGROUND Table data background (odd row)
+
+- Set TABLE\_DATA\_ODD\_BACKGROUND = #f2f3f6
+
+##### <a name="TABLE_DATA_EVEN_BACKGROUND Table"></a> TABLE\_DATA\_EVEN\_BACKGROUND Table data background (even row)
+
+- Set TABLE\_DATA\_EVEN\_BACKGROUND = #ffffff
+
+##### <a name="TABLE_DATA_ODD_SELECTED_BACKGROU"></a> TABLE\_DATA\_ODD\_SELECTED\_BACKGROUND Table data background (odd row, selected column)
+
+- Set TABLE\_DATA\_ODD\_SELECTED\_BACKGROUND = #e7e9ee
+
+##### <a name="TABLE_DATA_EVEN_SELECTED_BACKGRO"></a> TABLE\_DATA\_EVEN\_SELECTED\_BACKGROUND Table data background (even row, selected column)
+
+- Set TABLE\_DATA\_EVEN\_SELECTED\_BACKGROUND = #f3f5f7
+
+##### <a name="TABLE_DATA_MIX_BACKGROUND Table"></a><a name="TABLE_DATA_MIX_BACKGROUND Table "></a> TABLE\_DATA\_MIX\_BACKGROUND Table data background (mix between even and odd)
+
+- Set TABLE\_DATA\_MIX\_BACKGROUND = #e7e9ee
+
+#### <a name="TABLE_BORDER Table border, sup ("></a> TABLE\_BORDER Table border, sup (light neutral tone)
+
+- Set TABLE\_BORDER = #e7e9ef
+
+#### <a name="LINK_TEXT_NORMAL_TABLE_HEADER Ta"></a> LINK\_TEXT\_NORMAL\_TABLE\_HEADER Table header link text
+
+- Set LINK\_TEXT\_NORMAL\_TABLE\_HEADER = #252b37
+
+#### <a name="LINK_TEXT_NORMAL_UNDERLINE_TABLE"></a> LINK\_TEXT\_NORMAL\_UNDERLINE\_TABLE\_HEADER Table header link border
+
+- Set LINK\_TEXT\_NORMAL\_UNDERLINE\_TABLE\_HEADER = #252b37
+
+#### <a name="LINK_TEXT_SORTED_TABLE_HEADER So"></a> LINK\_TEXT\_SORTED\_TABLE\_HEADER Sorted table header link text
+
+- Set LINK\_TEXT\_SORTED\_TABLE\_HEADER = %LINK\_TEXT\_NORMAL\_TABLE\_HEADER%
+
+#### <a name="LINK_TEXT_HOVER_TABLE_HEADER Tab"></a> LINK\_TEXT\_HOVER\_TABLE\_HEADER Table header link hover text
+
+- Set LINK\_TEXT\_HOVER\_TABLE\_HEADER = %LINK\_TEXT\_NORMAL\_TABLE\_HEADER%
+
+#### <a name="LINK_BORDER_TABLE_SELECTED_COLUM"></a> LINK\_BORDER\_TABLE\_SELECTED\_COLUMN\_HEADER Link border in selected column header
+
+- Set LINK\_BORDER\_TABLE\_SELECTED\_COLUMN\_HEADER = %LINK\_TEXT\_NORMAL\_TABLE\_HEADER%
+
+### <a name="Forms"></a> Forms
+
+#### <a name="INPUT_FIELD_BORDERS Input field"></a><a name="INPUT_FIELD_BORDERS Input field "></a> INPUT\_FIELD\_BORDERS Input field borders
+
+- Set INPUT\_FIELD\_BORDERS = #bbc3d1 #c3cad7 #c3cad7 #bbc3d1
+
+#### <a name="FORM_INPUT_BORDER Textarea, inpu"></a> FORM\_INPUT\_BORDER Textarea, input and select (darker gray)
+
+- Set FORM\_INPUT\_BORDER = #aaa
+
+#### <a name="FORM_BORDER Form"></a> FORM\_BORDER Form
+
+- Set FORM\_BORDER = #dee2e8
+
+#### <a name="ACTIVE_FORM_BACKGROUND Edit form"></a> ACTIVE\_FORM\_BACKGROUND Edit form, form steps
+
+- Set ACTIVE\_FORM\_BACKGROUND = #f4f5f8
+
+#### <a name="FORM_STEP_BORDER Form step borde"></a> FORM\_STEP\_BORDER Form step border
+
+- Set FORM\_STEP\_BORDER = %FORM\_BORDER%
+
+#### <a name="FORMFIELD_ACTIVE Active form fie"></a> FORMFIELD\_ACTIVE Active form field
+
+- Set FORMFIELD\_ACTIVE = %NOTIFICATION\_BACKGROUND%
+
+Do not change the text below this line unless you know what you are doing!
+
+----
+
+    %STARTATTACH{"theme-colors.css" web="%TWIKIWEB%" topic="TWikiNetSkin"}%
+    /* PatternSkin colors */
+    /* Generated by AttachContentPlugin from %WEB%.%TOPIC% */
+
+    /* LAYOUT ELEMENTS */
+
+    #patternTopBar {
+       background-color:%TOP_BAR_BACKGROUND%;
+    }
+    #patternMain { /* don't set a background here; use patternOuter */ }
+    #patternOuter {
+       background-color:%MAIN_BACKGROUND_COLOR%; /* Sets background of center col */
+       border-color:%LAYOUT_ELEMENT_BORDER%;
+    }
+    #patternLeftBar,
+    #patternWrapper {
+       background-color:%MAIN_BACKGROUND_COLOR%;
+    }
+    #patternBottomBar {
+       background-color:%SHADE_BOTTOM_BAR_BACKGROUND%;
+    }
+    #patternBottomBarContents,
+    #patternBottomBarContents a:link,
+    #patternBottomBarContents a:visited {
+       color:%SHADE_BOTTOM_BAR_TEXT%;
+    }
+    #patternBottomBarContents a:hover {
+       color:%LIGHT_ON_DARK_TEXT_COLOR%;
+    }
+
+    /* GENERAL HTML ELEMENTS */
+
+    html body {
+       background-color:%SHADE_BOTTOM_BAR_BACKGROUND%;
+       color:%MAIN_TEXT_COLOR%;
+    }
+    /* be kind to netscape 4 that doesn't understand inheritance */
+    body, p, li, ul, ol, dl, dt, dd, acronym, h1, h2, h3, h4, h5, h6 {
+       background-color:transparent;
+    }
+    hr {
+       color:%SEPARATOR_BORDER%;
+       background-color:%SEPARATOR_BORDER%;
+    }
+    pre, code, tt {
+       color:%CODE_TEXT%;
+    }
+    blockquote {
+       background-color:%SHADE_BLOCKQUOTE_BACKGROUND%;
+       border-color:%NEUTRAL_BORDER%;
+    }
+    h1, h2, h3, h4, h5, h6 {
+       color:%HEADER_TEXT%;
+    }
+    /* to override old Render.pm coded font color style */
+    .twikiNewLink font {
+       color:inherit;
+    }
+    .twikiNewLink a:link sup,
+    .twikiNewLink a:visited sup {
+       color:%MUTED_TEXT%;
+       border-color:%NEUTRAL_BORDER%;
+    }
+    .twikiNewLink a:hover sup {
+       color:%LINK_TEXT_HOVER%;
+       border-color:%LINK_TEXT_HOVER%;
+    }
+    .twikiNewLink {
+       border-color:%NEUTRAL_BORDER%;
+    }
+    :link:focus,
+    :visited:focus,
+    :link,
+    :visited,
+    :link:active,
+    :visited:active {
+       color:%LINK_TEXT_NORMAL%;
+       background-color:transparent;
+    }
+    :link:hover,
+    :visited:hover {
+       color:%LINK_TEXT_HOVER%;
+       background-color:transparent;
+       background-image:none;
+       text-decoration:underline;
+    }
+    :link:hover img,
+    :visited:hover img {
+       background-color:transparent;
+    }
+    .patternTopic a:visited {
+       color:%LINK_TEXT_NORMAL_VISITED%;
+    }
+    .patternTopic a:hover {
+       color:%LINK_TEXT_HOVER%;
+    }
+    #patternMainContents h1 a:link, #patternMainContents h1 a:visited,
+    #patternMainContents h2 a:link, #patternMainContents h2 a:visited,
+    #patternMainContents h3 a:link, #patternMainContents h3 a:visited,
+    #patternMainContents h4 a:link, #patternMainContents h4 a:visited,
+    #patternMainContents h5 a:link, #patternMainContents h5 a:visited,
+    #patternMainContents h6 a:link, #patternMainContents h6 a:visited {
+       color:%HEADER_TEXT%;
+    }
+    #patternMainContents h1 a:hover,
+    #patternMainContents h2 a:hover,
+    #patternMainContents h3 a:hover,
+    #patternMainContents h4 a:hover,
+    #patternMainContents h5 a:hover,
+    #patternMainContents h6 a:hover {
+       color:%LINK_TEXT_HOVER%;
+    }
+    .patternTopic .twikiUnvisited a:visited {
+       color:%LINK_TEXT_NORMAL%;
+    }
+    .patternTopic .twikiUnvisited a:hover {
+       color:%LINK_TEXT_HOVER%;
+    }
+    .patternTop a:hover {
+       border:none;
+       color:%LINK_TEXT_HOVER%;
+    }
+
+    /* Form elements */
+
+    textarea,
+    input,
+    select {
+       border-color:%FORM_INPUT_BORDER%;
+       color:%SHADE_BLUEISH_TEXT%;
+       background-color:%GENERAL_BACKGROUND%;
+    }
+    .twikiSubmit,
+    .twikiButton {
+       border-color:%BUTTON_BORDERS%;
+    }
+    .twikiSubmit {
+       color:%SUBMIT_BUTTON_BORDER_TEXT%;
+       background-color:%SUBMIT_BUTTON_BACKGROUND%;
+    }
+    .twikiButton {
+       color:%BUTTON_TEXT%;
+       background-color:%BUTTON_BACKGROUND%;
+    }
+    .twikiButtonCancel {
+       color:%BUTTON_TEXT%;
+       background-color:%BUTTON_CANCEL_BACKGROUND%;
+    }
+    .twikiSubmitDisabled,
+    .twikiSubmitDisabled:active {
+       border-color:%BUTTON_BORDERS_DISABLED%;
+       color:%DISABLED_TEXT%;
+       background-color:%ACTIVE_FORM_BACKGROUND%;
+    }
+    .twikiTextarea,
+    .twikiInputField,
+    .twikiInputFieldDisabled,
+    .twikiInputFieldReadOnly,
+    .twikiSelect {
+       border-color:%INPUT_FIELD_BORDERS%;
+    }
+    .twikiTextarea,
+    .twikiInputField,
+    .twikiSelect {
+       color:%MAIN_TEXT_COLOR%;
+       background-color:%MAIN_BACKGROUND_COLOR%;
+    }
+    .twikiInputField:active,
+    .twikiInputField:focus {
+       background-color:%FORMFIELD_ACTIVE%;
+    }
+    .twikiTextareaRawView {
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+    .twikiInputFieldDisabled {
+       color:%DISABLED_TEXT%;
+       background-color:%DISABLED_BACKGROUND%;
+    }
+    .twikiInputFieldReadOnly {
+       color:%GRAYED_TEXT_COLOR%;
+    }
+    .twikiSelect {
+       border-color:%INPUT_FIELD_BORDERS%;
+       color:%SHADE_BLUEISH_TEXT%;
+       background-color:%MAIN_BACKGROUND_COLOR%;
+    }
+    .twikiInputFieldDisabled,
+    .twikiSelectDisabled {
+       color:%DISABLED_TEXT%;
+       border-color:%INPUT_FIELD_BORDERS%;
+       background-color:%DISABLED_BACKGROUND%;
+    }
+    .twikiInputFieldBeforeFocus {
+       color:%MUTED_TEXT%;
+    }
+
+    /*   -----------------------------------------------------------
+       Plugin elements
+       -----------------------------------------------------------   */
+
+    /* TablePlugin */
+
+    .twikiTable,
+    .twikiTable td {
+       border-color:%TABLE_BORDER%;
+    }
+    .twikiTable th {
+       border-color:%LIGHT_ON_DARK_TEXT_COLOR%;
+    }
+    .twikiTable th.twikiFirstCol {
+       border-left-color:%SHADE_TWIKITABLE_HEADER_BACKGROUND%;
+    }
+    .twikiTable th.twikiLastCol {
+       border-right-color:%SHADE_TWIKITABLE_HEADER_BACKGROUND%;
+    }
+    .twikiTable th a:link,
+    .twikiTable th a:visited,
+    .twikiTable th a font {
+       color:%LINK_TEXT_NORMAL_TABLE_HEADER%;
+    }
+
+    /* TwistyContrib */
+    .twistyPlaceholder {
+       color:%GRAYED_OUT_TEXT%;
+    }
+    a:hover.twistyTrigger {
+       color:%LINK_TEXT_HOVER%;
+    }
+
+    /* RevCommentPlugin */
+    .revComment .patternTopicAction {
+       background-color:%ATTACHMENT_AND_FORM_BACKGROUND%;
+    }
+
+    /*   -----------------------------------------------------------
+       TWiki styles
+       -----------------------------------------------------------   */
+
+    .twikiGrayText {
+       color:%GRAYED_OUT_TEXT%;
+    }
+    .twikiGrayText a:link,
+    .twikiGrayText a:visited {
+       color:%GRAYED_OUT_TEXT%;
+    }
+    .twikiGrayText a:hover {
+       color:%LINK_TEXT_HOVER%;
+    }
+
+    .twikiAttachments .twikiTable th {
+       border-top-color:%ATTACHMENT_AND_FORM_BACKGROUND%;
+    }
+    .twikiAttachments .twikiTable th,
+    .twikiForm th {
+       background-color:%SHADE_TWIKIFORM_HEADER_BACKGROUND%;
+    }
+    .twikiAttachments .twikiTable th.twikiFirstCol {
+       border-left-color:%SHADE_TWIKITABLE_HEADER_BACKGROUND%;
+    }
+    .twikiAttachments .twikiTable th.twikiLastCol {
+       border-right-color:%SHADE_TWIKITABLE_HEADER_BACKGROUND%;
+    }
+    .twikiFormTable td,
+    .twikiFormTable th {
+       border-color:%SHADE_TWIKIFORM_TABLECELL_BORDER%;
+    }
+    .patternContent .twikiForm td.twikiFirstCol,
+    .patternEditPage .twikiFormTable th {
+       background-color:%SHADE_TWIKIFORM_FIRSTCOL_BACKGROUND%;
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+    .patternContent .twikiForm td,
+    .patternEditPage .twikiFormTable td {
+       background-color:%TABLE_DATA_EVEN_BACKGROUND%;
+       color:%LINK_TEXT_NORMAL_TABLE_HEADER%;
+    }
+    .twikiEditForm {
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+
+    .twikiFormStep {
+       border-top-color:%TOPIC_ACTION_BACKGROUND%;
+       border-bottom-color:%FORM_STEP_BORDER%;
+    }
+    .twikiFormStep h3,
+    .twikiFormStep h4 {
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+    .twikiFormStep h2,
+    .twikiFormStep h3,
+    .twikiFormStep h4 {
+       background-color:transparent;
+       background-image:none;
+    }
+    .twikiActionFormStepSign {
+       color:%NEUTRAL_BORDER%;
+    }
+    .twikiToc .twikiTocTitle {
+       color:%MUTED_TEXT%;
+    }
+    .twikiBroadcastMessage {
+       background-color:%SHADE_BROADCASTMESSAGE_BACKGROUND%;
+       border-color:%NOTIFICATION_BORDER%;
+       color:%SHADE_DARKISH_TEXT%;
+    }
+    .twikiNotification {
+       background-color:%NOTIFICATION_BACKGROUND%;
+    }
+    .twikiHelp {
+       background-color:%ATTACHMENT_AND_FORM_BACKGROUND%;
+       color:%SHADE_DARKISH_TEXT%;
+       border-color:%SEPARATOR_BORDER%;
+    }
+    .twikiHelp b,
+    .twikiHelp strong,
+    .twikiHelp h1,
+    .twikiHelp h2,
+    .twikiHelp h3,
+    .twikiHelp h4,
+    .twikiHelp h5,
+    .twikiHelp h6 {
+       color:%SHADE_ALERT_TEXT%;
+    }
+    .twikiBroadcastMessage b,
+    .twikiBroadcastMessage strong {
+       color:%ALERT_TEXT%;
+    }
+    .twikiAlert,
+    .twikiAlert code {
+       color:%ALERT_TEXT%;
+    }
+    .twikiEmulatedLink {
+       color:%LINK_TEXT_NORMAL%;
+    }
+    .twikiPageForm table {
+       border-color:%TABLE_BORDER%;
+       background:%MAIN_BACKGROUND_COLOR%;
+    }
+    .twikiPageForm hr {
+       border-color:%FORM_BORDER%;
+       background-color:%FORM_BORDER%;
+       color:%FORM_BORDER%;
+    }
+    .twikiAccessKey {
+       color:inherit;
+       border-color:%GRAYED_OUT_TEXT%;
+    }
+    a:link .twikiAccessKey,
+    a:visited .twikiAccessKey {
+       color:inherit;
+    }
+    a:hover .twikiAccessKey {
+       color:inherit;
+    }
+    .twikiImage img {
+       border-color:%IMAGE_BORDER%;
+       background-color:%MAIN_BACKGROUND_COLOR%;
+    }
+    #patternTopBar .twikiImage img {
+       background-color:transparent;
+    }
+    .twikiImage a:hover img {
+       border-color:%LINK_TEXT_HOVER%;
+    }
+
+    /*   -----------------------------------------------------------
+       Pattern skin specific elements
+       -----------------------------------------------------------   */
+    #patternPage {
+       background-color:%MAIN_BACKGROUND_COLOR%;
+    }
+    .patternTop,
+    .patternHomePath .patternRevInfo,
+    .patternRevInfo {
+       color:%GRAYED_TEXT_COLOR%;
+    }
+    .patternRevInfo a:link,
+    .patternRevInfo a:visited {
+       color:%GRAYED_TEXT_COLOR%;
+    }
+    .patternRevInfo a:hover {
+       color:%LINK_TEXT_HOVER%;
+    }
+    .patternHomePath .patternRevInfo a:link,
+    .patternHomePath .patternRevInfo a:visited {
+       color:%LINK_TEXT_NORMAL%;
+    }
+    .patternHomePath {
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+    .patternHomePath a:link,
+    .patternHomePath a:visited {
+       color:%LINK_TEXT_NORMAL%;
+    }
+    .patternHomePath a:hover {
+       color:%LINK_TEXT_HOVER%;
+       text-decoration:underline;
+    }
+    .patternHomePath .twikiSeparator {
+       color:%GRAYED_TEXT_COLOR%;
+    }
+
+    /* Left bar */
+    #patternLeftBarContents,
+    #patternLeftBarContents .patternLeftBarPersonal {
+       background:none;
+       background-image:none;
+    }
+
+    #patternLeftBarContents,
+    #patternLeftBarContents a:link,
+    #patternLeftBarContents a:visited,
+    #patternLeftBarContents .patternLeftBarPersonal a:link,
+    #patternLeftBarContents .patternLeftBarPersonal a:visited {
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+    #patternLeftBarContents strong,
+    #patternLeftBarContents b {
+       color:%SHADE_SIDE_BAR_STRONG_TEXT%;
+       text-decoration:none;
+    }
+    #patternLeftBarContents a:hover,
+    #patternLeftBarContents .patternLeftBarPersonal a:hover,
+    #patternLeftBarContents strong a:hover,
+    #patternLeftBarContents strong .patternLeftBarPersonal a:hover,
+    #patternLeftBarContents b a:hover,
+    #patternLeftBarContents b .patternLeftBarPersonal a:hover {
+       color:%LINK_TEXT_HOVER%;
+       text-decoration:underline;
+    }
+
+    #patternLeftBarContents hr {
+       color:%SEPARATOR_BORDER%;
+       background-color:%SEPARATOR_BORDER%;
+    }
+    .patternTopicActions {
+       border-color:%MINOR_SEPARATOR_BORDER%;
+       background-color:%TOPIC_ACTION_BACKGROUND%;
+       color:%TOPIC_ACTION_TEXT%;
+    }
+    .patternTopicAction s,
+    .patternTopicAction strike {
+       color:%DISABLED_TEXT%;
+    }
+    .patternTopicAction .twikiSeparator {
+       color:#bec5d2;
+    }
+    .patternActionButtons a:link,
+    .patternActionButtons a:visited {
+       color:%LINK_TEXT_ACTION_BUTTON%;
+    }
+    .patternActionButtons a:hover {
+       color:%LINK_TEXT_HOVER%;
+    }
+    .patternTopicAction .twikiAccessKey {
+       color:%LINK_TEXT_ACTION_BUTTON%;
+       border-color:%LINK_TEXT_ACTION_BUTTON%;
+    }
+    .patternTopicAction a:hover .twikiAccessKey {
+       color:%LINK_TEXT_HOVER%;
+    }
+    .patternTopicAction label {
+       color:%GENERAL_TEXT%;
+    }
+    .patternHelpCol {
+       color:%GRAYED_OUT_TEXT%;
+    }
+    .patternSigLine {
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+    .patternToolBar a:link .twikiAccessKey,
+    .patternToolBar a:visited .twikiAccessKey {
+       color:inherit;
+       border-color:#333;
+    }
+    .patternToolBar a:hover .twikiAccessKey {
+       background-color:transparent;
+       color:inherit;
+       border-color:#333;
+    }
+    .patternSaveHelp {
+       background-color:%MAIN_BACKGROUND_COLOR%;
+    }
+
+    /* WebSearch, WebSearchAdvanced */
+    table#twikiSearchTable {
+       border-color:%FORM_STEP_BORDER%;
+    }
+    table#twikiSearchTable th,
+    table#twikiSearchTable td {
+       background-color:%GENERAL_BACKGROUND%;
+       border-color:%FORM_STEP_BORDER%;
+    }
+    table#twikiSearchTable hr {
+       border-color:%FORM_STEP_BORDER%;
+       background-color:%FORM_STEP_BORDER%;
+    }
+    table#twikiSearchTable th {
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+
+    /*   -----------------------------------------------------------
+       Search results
+       styles and overridden styles used in search.pattern.tmpl
+       -----------------------------------------------------------   */
+
+    h3.patternSearchResultsHeader,
+    h4.patternSearchResultsHeader {
+       background-color:%ATTACHMENT_AND_FORM_BACKGROUND%;
+       border-color:%SEPARATOR_BORDER%;
+    }
+    h4.patternSearchResultsHeader {
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+    .patternNoViewPage h4.patternSearchResultsHeader {
+       color:%HEADER_TEXT%;
+    }
+    .patternSearchResult .twikiBottomRow {
+       border-color:%MINOR_SEPARATOR_BORDER%;
+    }
+    .patternSearchResult .twikiAlert {
+       color:%ALERT_TEXT%;
+    }
+    .patternSearchResult .twikiSummary .twikiAlert {
+       color:%ALERT_TEXT_MUTED%;
+    }
+    .patternSearchResult .twikiNew {
+       background-color:%NEW_BACKGROUND%;
+       border-color:%NEW_TEXT%;
+       color:%NEW_TEXT%;
+    }
+    .patternViewPage .patternSearchResultsBegin {
+       border-color:%TABLE_BORDER%;
+    }
+
+    /* Search results in book view format */
+
+    .patternBookView .twikiTopRow {
+       background-color:transparent; /* set to WEBBGCOLOR in css.pattern.tmpl */
+       color:%MUTED_TEXT%;
+    }
+    .patternBookView .twikiBottomRow {
+       border-color:%TABLE_BORDER%;
+    }
+    .patternBookView .patternSearchResultCount {
+       color:%GRAYED_OUT_TEXT%;
+    }
+
+    /* preview.pattern.tmpl */
+
+    .twikiPreviewArea {
+       border-color:%ALERT_BORDER%;
+       background-color:%MAIN_BACKGROUND_COLOR%;
+    }
+
+    /* rdiff.pattern.tmpl */
+
+    .patternDiff {
+       border-color:%TABLE_HEADER_BACKGROUND%;
+    }
+    .patternDiff h4.patternSearchResultsHeader {
+       background-color:%TABLE_HEADER_BACKGROUND%;
+       color:%LIGHT_ON_DARK_TEXT_COLOR%;
+    }
+    .patternDiff h4.patternSearchResultsHeader a:link,
+    .patternDiff h4.patternSearchResultsHeader a:visited {
+       color:%LIGHT_ON_DARK_TEXT_COLOR%;
+    }
+    tr.twikiDiffDebug td {
+       border-color:%TABLE_BORDER%;
+    }
+    .patternDiffPage .twikiDiffTable th {
+       background-color:%DIFF_HEADER_BACKGROUND%;
+    }
+    /* Changed */
+    .twikiDiffChangedHeader,
+    tr.twikiDiffDebug .twikiDiffChangedText,
+    tr.twikiDiffDebug .twikiDiffChangedText {
+       background:#9f9; /* green - do not change */
+    }
+    /* Deleted */
+    .twikiDiffDeletedHeader,
+    tr.twikiDiffDebug .twikiDiffDeletedMarker,
+    tr.twikiDiffDebug .twikiDiffDeletedText {
+       background-color:#f99; /* red - do not change */
+    }
+    /* Added */
+    .twikiDiffAddedHeader,
+    tr.twikiDiffDebug .twikiDiffAddedMarker,
+    tr.twikiDiffDebug .twikiDiffAddedText {
+       background-color:#ccf; /* violet - do not change */
+    }
+    /* Unchanged */
+    tr.twikiDiffDebug .twikiDiffUnchangedText {
+       color:%GRAYED_OUT_TEXT%;
+    }
+    .twikiDiffUnchangedTextContents { }
+    .twikiDiffLineNumberHeader {
+       background-color:%DIFF_HEADER_BACKGROUND%;
+    }
+
+    /* IMAGES */
+    /* image positions are set here as well as these are dependent on the image */
+
+    .patternTopic h2.twikinetRoundedAttachments {
+       padding-top:0;
+       padding-right:11px;
+       background:url(bg_header_right.gif) top right no-repeat;
+    }
+    .patternTopic h2.twikinetRoundedAttachments .twikinetHeader {
+       display:block;
+       padding-top:.4em; /* same as h2 */
+       padding-left:11px;
+       padding-right:11px;
+       margin-left:-11px;
+       background:url(bg_header.gif) top left no-repeat;
+    }
+    .patternTopic .twikiFormSteps h2.twikinetRoundedAttachments,
+    .patternTopic .twikiFormSteps h2.twikinetRoundedAttachments .twikinetHeader,
+    .patternTopic blockquote h2.twikinetRoundedAttachments,
+    .patternTopic blockquote h2.twikinetRoundedAttachments .twikinetHeader {
+       background:none;
+    }
+    .twikiToc li {
+       background-image:url(bullet-toc.gif);
+       background-repeat:no-repeat;
+       background-position:0 .4em;
+    }
+    #patternTopBar {
+       background-image:url(bg_topbar_gradient.gif);
+       background-repeat:repeat-x;
+    }
+    #twikinetLogo {
+       background-image:url(logo_twiki_net_faded.gif);
+       background-repeat:no-repeat;
+    }
+    #patternLeftBar,
+    #patternWrapper {
+       background-image:url(bg_leftbar_gradient.gif);
+       background-repeat:repeat-y;
+    }
+    .patternPrintPage #patternOuter {
+       background:#fff; /* white - do not change */
+    }
+
+    /* start buttons */
+    .twikiSubmit,
+    .twikiSubmitDisabled {
+       background-image:url(bg_button_submit.gif);
+       background-repeat:repeat-x;
+    }
+    .twikiSubmit,
+    a.twikiSubmit:link,
+    a.twikiSubmit:visited {
+       background-position:0px 0px;
+       background-color:#9eafd0;
+       border-color:#dee4f0 #96a3bc #96a3bc #dee4f0;
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+    .twikiSubmit:hover,
+    a.twikiSubmit:hover {
+       background-position:0px -80px;
+       background-color:#7589b2;
+       border-color:#cbd3e4 #8391af #8391af #cbd3e4;
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+    .twikiSubmit:active,
+    a.twikiSubmit:active {
+       background-position:0px -160px;
+       background-color:#fff;
+       border-color:#96a3bc #dee4f0 #dee4f0 #96a3bc;
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+    .twikiButton,
+    a.twikiButton:link,
+    a.twikiButton:visited {
+       background-image:url(bg_button.gif);
+       background-repeat:repeat-x;
+       background-position:0px 0px;
+       border-color:#e9ebf1 #a2adbf #a2adbf #e9ebf1;
+       background-color:#d9dee7;
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+    .twikiButton:hover,
+    .twikiChangeFormButtonHolder .twikiButton:hover,
+    a.twikiButton:hover {
+       background-position:0px -80px;
+       border-color:#e9ebf1 #a2adbf #a2adbf #e9ebf1;
+       background-color:#fff;
+       color:%SHADE_DARKISH_TEXT%;
+    }
+    .twikiButton:active,
+    .twikiChangeFormButtonHolder .twikiButton:active,
+    a.twikiButton:active {
+       background-position:0px -160px;
+       border-color:#a2adbf #e9ebf1 #e9ebf1 #a2adbf;
+       background-color:#fff;
+       color:%SHADE_DARKISH_TEXT%;
+    }
+    .twikiSubmitDisabled,
+    .twikiSubmitDisabled:hover,
+    .twikiSubmitDisabled:active,
+    .twikiButtonDisabled,
+    .twikiButtonDisabled:hover,
+    .twikiButtonDisabled:active {
+       background-image:url(bg_button.gif);
+       background-repeat:repeat-x;
+       background-position:0px -240px;
+       border-color:#dce0e7;
+       background-color:#e1e5ed;
+       color:#ccc;
+    }
+    .twikiButtonCancel {
+       background-image:url(bg_button_cancel.gif);
+       background-repeat:repeat-x;
+       background-position:0px 0px;
+       border-color:#fcdfe0 #cca6ae #cca6ae #fcdfe0;
+       background-color:#c6afb6;
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+    .twikiButtonCancel:hover {
+       background-position:0px -80px;
+       border-color:#fcdfe0 #cca6ae #cca6ae #fcdfe0;
+       background-color:#b19aa0;
+       color:%SHADE_DARKISH_TEXT%;
+    }
+    .twikiButtonCancel:active {
+       background-position:0px -160px;
+       border-color:#cca6ae #fcdfe0 #fcdfe0 #cca6ae;
+       background-color:#fce2e2;
+       color:%SHADE_DARKISH_TEXT%;
+    }
+    /* end buttons */
+
+    .patternToolBar .patternButton a:link,
+    .patternToolBar .patternButton a:visited,
+    .patternToolBar .patternButton s,
+    .patternToolBar .patternButton strike {
+       background-image:url(bg_button.gif);
+       background-repeat:repeat-x;
+    }
+    .patternToolBar .patternButton a:link,
+    .patternToolBar .patternButton a:visited {
+       background-position:0px 0px;
+       border-color:#f8f6ec #b8b6ad #b8b6ad #f8f6ec;
+       background-color:#dbd9cf;
+       color:#333;
+    }
+    .patternToolBar .patternButton a:hover {
+       background-position:0px -80px;
+       border-color:#f4f2eb #a3a092 #a3a092 #f4f2eb;
+       background-color:#c2bfae;
+       color:#222;
+    }
+    .patternToolBar .patternButton a:active {
+       background-position:0px -160px;
+       border-color:#a3a092 #f4f2eb #f4f2eb #a3a092;
+       background-color:#e8e5d7;
+       color:#222;
+    }
+    .patternToolBar .patternButton s,
+    .patternToolBar .patternButton strike {
+       background-position:0px -240px;
+       border-color:#fcfbf9 #e3e2dd #e3e2dd #fcfbf9;
+       background-color:#edece6;
+       color:%DISABLED_TEXT%;
+    }
+    .patternTextareaButton {
+       border-color:#e9ebf1 #a2adbf #a2adbf #e9ebf1;
+       overflow:hidden;
+    }
+    .patternButtonFontSelector {
+       background-image:url(button_font_selector.gif);
+       width:33px;
+       height:16px;
+    }
+    .patternButtonFontSelectorProportional {
+       background-position:0 0;
+    }
+    .patternButtonFontSelectorMonospace {
+       background-position:0 -16px;
+    }
+    .patternButtonEnlarge,
+    .patternButtonShrink {
+       background-image:url(button_arrow.gif);
+       width:16px;
+       height:16px;
+    }
+    .patternButtonEnlarge {
+       background-position:0 0;
+    }
+    .patternButtonEnlarge:hover {
+       background-position:0 -42px;
+    }
+    .patternButtonEnlarge:active {
+       background-position:0 -84px;
+    }
+    .patternButtonShrink {
+       background-position:16px 0;
+    }
+    .patternButtonShrink:hover {
+       background-position:16px -42px;
+    }
+    .patternButtonShrink:active {
+       background-position:16px -84px;
+    }
+
+    /* common settings */
+    .patternLeftBarPersonal li,
+    li.patternLogOut,
+    li.patternLogIn {
+       padding-left:13px;
+       background-position:0 .4em;
+       background-repeat:no-repeat;
+    }
+    .patternLeftBarPersonal li {
+       background-image:url(bullet-personal_sidebar.gif);
+    }
+    .patternLeftBarPersonal li.patternLogOut {
+       background-image:url(bullet-lock.gif);
+    }
+    .patternLeftBarPersonal li.patternLogIn {
+       background-image:url(bullet-lock.gif);
+    }
+
+    /* TWikiNetSkin colors */
+
+    #twikinetTopToolBar {
+       border-color:%SHADE_TOPTOOLBAR_BORDER%;
+       background-color:%SHADE_TOPTOOLBAR_BACKGROUND%;
+    }
+    .twikinetWebName h2,
+    .twikinetWebName a:link,
+    .twikinetWebName a:visited {
+       background:none;
+       color:%SHADE_TOPTOOLBAR_WEBNAME_TEXT%;
+    }
+
+    /* TWikiNetSkin images */
+
+    #twikinetTopToolBar {
+       background-image:url(bg_toptoolbar_gradient.gif);
+       background-repeat:repeat-x;
+    }
+
+    /* background behind search and jump */
+    .twikinetSearchJumpLeft {
+       background-image:url(bg_search_jump.gif);
+       background-repeat:no-repeat;
+    }
+    .twikinetSearchJumpRight {
+       background-image:url(bg_search_jump.gif);
+       background-repeat:no-repeat;
+       background-position:top right;
+       width:5px;
+    }
+    .twikiInputField,
+    .twikiInputFieldReadOnly,
+    .twikiSelect {
+       background-image:url(bg_inputfield.gif);
+    }
+    .twikiInputField:active,
+    .twikiInputField:focus {
+       background-image:url(bg_inputfield_active.gif);
+    }
+    .twikinetJumpButton {
+       background-image:url(button_jump.gif);
+    }
+    .twikinetJumpButton:hover,
+    .twikinetJumpButton:active {
+       background-image:url(button_jump_hover.gif);
+    }
+    .twikinetSearchButton {
+       background-image:url(button_search.gif);
+    }
+    .twikinetSearchButton:hover,
+    .twikinetSearchButton:active {
+       background-image:url(button_search_hover.gif);
+    }
+    .twikinetToolBar a:link .rCRounded .rCTR,
+    .twikinetToolBar a:link .rCRounded .rCTL,
+    .twikinetToolBar a:link .rCRounded .rCBR,
+    .twikinetToolBar a:link .rCRounded .rCBL,
+    .twikinetToolBar a:visited .rCRounded .rCTR,
+    .twikinetToolBar a:visited .rCRounded .rCTL,
+    .twikinetToolBar a:visited .rCRounded .rCBR,
+    .twikinetToolBar a:visited .rCRounded .rCBL {
+       background-image:url(button_action.gif);
+    }
+    .twikinetToolBar a:hover .rCRounded .rCTR,
+    .twikinetToolBar a:hover .rCRounded .rCTL,
+    .twikinetToolBar a:hover .rCRounded .rCBR,
+    .twikinetToolBar a:hover .rCRounded .rCBL {
+       background-image:url(button_action_hover.gif);
+    }
+    .twikinetToolBar strike .rCRounded .rCTR,
+    .twikinetToolBar strike .rCRounded .rCTL,
+    .twikinetToolBar strike .rCRounded .rCBR,
+    .twikinetToolBar strike .rCRounded .rCBL {
+       background-image:url(button_action_disabled.gif);
+    }
+    .twikinetToolBar a .twikiLinkLabel {
+       color:%SHADE_BLUEISH_TEXT%;
+    }
+    .twikinetToolBar strike .twikiLinkLabel {
+       color:#cfd3d9;
+    }
+    .twikinetToolBar .twikinetEditIcon {
+       background-image:url(button_edit_icon.gif);
+       background-repeat:no-repeat;
+       background-position:2px 1px;
+       padding-left:25px;
+    }
+    .twikiTable th {
+       background-image:url(bg_table_header_gradient.gif);
+       background-repeat:repeat-x;
+    }
+    .twikiTable th.twikiSortedCol {
+       background-image:url(bg_table_header_sorted_gradient.gif);
+       background-repeat:repeat-x;
+    }
+
+    /* Rounded table */
+
+    .twikinetWrapperTableT {
+       background-color:%SHADE_TWIKITABLE_HEADER_BACKGROUND%;
+    }
+    .twikinetWrapperTable table.twikiTable th {
+       border-top-color:%SHADE_TWIKITABLE_HEADER_BACKGROUND%;
+    }
+    .twikinetWrapperTableTL {
+       background-image:url(table_corner_TL.gif);
+       background-repeat:no-repeat;
+    }
+    .twikinetWrapperTableTR {
+       background-image:url(table_corner_TR.gif);
+       background-repeat:no-repeat;
+       background-position:100% 0;
+    }
+    .twikinetWrapperTableB {
+       background-color:%NEUTRAL_BORDER%;
+    }
+    .twikinetWrapperTableBL {
+       background-image:url(table_corner_BL.gif);
+       background-repeat:no-repeat;
+       background-position:0 100%;
+       height:10px;
+    }
+    .twikinetWrapperTableBR {
+       background-image:url(table_corner_BR.gif);
+       background-repeat:no-repeat;
+       background-position:100% 100%;
+       height:10px;
+    }
+    .twikiAttachments .twikiTable th,
+    .twikiForm th.twikiFormTableHRow {
+       background-image:url(bg_attachments_header_gradient.gif);
+       background-repeat:repeat-x;
+    }
+    .twikiAttachments .twikiTable th.twikiFirstCol,
+    .twikiForm th.twikiFormTableHRow {
+       /* hide left line */
+       background-position:-1px 0;
+    }
+    .twikiAttachments .twikiTable th.twikiSortedCol,
+    .twikiForm th.twikiSortedCol {
+       background-image:url(bg_attachments_header_sorted_gradient.gif);
+    }
+    .twikiAttachments .twikiTable td.twikiSortedCol,
+    .twikiForm td.twikiSortedCol {
+       border-color:#dbdee7;
+    }
+
+    /* Generic rounded objects, for twikiAttachments, twikiForm and twikiHelp */
+    .twikinetRounded,
+    .twikiFormSteps {
+       background-color:%ATTACHMENT_AND_FORM_BACKGROUND%;
+       background-image:url(bg_form_bottom_gradient.gif);
+       background-repeat:repeat-x;
+       background-position:0 100%;
+    }
+    .twikinetRounded .rCRounded .rCTL {
+       background-image:url(rounded_TL.gif);
+    }
+    .twikinetRounded .rCRounded .rCTR {
+       background-image:url(rounded_TR.gif);
+    }
+    .twikinetRounded .rCRounded .rCBL {
+       background-image:url(rounded_BL.gif);
+    }
+    .twikinetRounded .rCRounded .rCBR {
+       background-image:url(rounded_BR.gif);
+    }
+
+    .twikinetRoundedTopicActions {
+       background:none;
+    }
+    .twikinetRoundedTopicActions .rCRounded .rCTL,
+    .twikinetRoundedTopicActions .rCRounded .rCTR,
+    .twikinetRoundedTopicActions .rCRounded .rCBL,
+    .twikinetRoundedTopicActions .rCRounded .rCBR {
+       background-image:url(bg_topicactions.gif);
+    }
+
+    .twikinetRoundedBroadcastMessage .rCRounded .rCTL,
+    .twikinetRoundedBroadcastMessage .rCRounded .rCTR,
+    .twikinetRoundedBroadcastMessage .rCRounded .rCBL,
+    .twikinetRoundedBroadcastMessage .rCRounded .rCBR {
+       background-image:url(bg_broadcastmessage.gif);
+    }
+    .twikinetRoundedBroadcastMessage .twikiBroadcastMessage {
+       background-image:url(icon_alert.gif);
+       background-repeat:no-repeat;
+       background-position:9px 12px;
+       padding-left:64px;
+       min-height:33px; /* at least height of icon */
+    }
+    .twikinetRoundedHelp {
+       background:none;
+    }
+    .twikinetRoundedHelp .rCRounded .rCTL,
+    .twikinetRoundedHelp .rCRounded .rCTR,
+    .twikinetRoundedHelp .rCRounded .rCBL,
+    .twikinetRoundedHelp .rCRounded .rCBR {
+       background-image:url(bg_help.gif);
+    }
+
+    #patternBottomBar {
+       background-image:url(bg_bottom_gradient.gif);
+       background-repeat:repeat-x;
+    }
+    #patternBottomBarContents #twikinetBadge {
+       float:right;
+       margin-left:10px;
+    }
+
+    #attachhelpshow img,
+    #attachhelphide img,
+    #topicattachmentslistshow img,
+    #topicattachmentslisthide img,
+    #edithelpshow img,
+    #edithelphide img,
+    #renamehelpshow img,
+    #renamehelphide img{
+       visibility:hidden;
+    }
+    #attachhelpshow,
+    #attachhelphide,
+    #topicattachmentslistshow,
+    #topicattachmentslisthide,
+    #edithelpshow,
+    #edithelphide,
+    #renamehelphide,
+    #renamehelpshow {
+       padding:0 0 0 7px;
+       margin:0 0 0 3px;
+    }
+    #attachhelpshow,
+    #topicattachmentslistshow,
+    #edithelpshow,
+    #renamehelpshow {
+       background:url(twisty_in.gif) no-repeat;
+       background-position:0 .1em;
+       background-position:0 50%;
+    }
+    #attachhelphide,
+    #topicattachmentslisthide,
+    #edithelphide,
+    #renamehelphide {
+       background:url(twisty_out.gif) no-repeat;
+       background-position:0 .1em;
+       background-position:0 50%;
+    }
+
+    /* Preloads button hover images */
+    .twikinetImageLoader {
+       background:url(button_action.gif);
+       background:url(button_action_hover.gif);
+       background:url(button_action_disabled.gif);
+       background:url(twisty_in.gif);
+       background:url(twisty_out.gif);
+       background:url(button_search_hover.gif);
+       background:url(button_jump_hover.gif);
+       visibility:hidden;
+       height:1px;
+    }
+    %ENDATTACH%
diff --git a/TWiki/TWikiNetSkinPlugin.mdwn b/TWiki/TWikiNetSkinPlugin.mdwn
new file mode 100644 (file)
index 0000000..7a3233a
--- /dev/null
@@ -0,0 +1,91 @@
+# <a name="TWikiNetSkin Plugin"></a> [[TWikiNetSkin]] Plugin
+
+Helps [[TWikiNetSkin]] to render tables and h2 headers. This plugin is only enabled if the skin is set to `twikinet`.
+
+## <a name="Syntax Rules"></a> Syntax Rules
+
+(none)
+
+## <a name="Plugin Settings"></a> Plugin Settings
+
+Plugin settings are stored as preferences variables. To reference a plugin setting write <code>**%&lt;plugin&gt;\_&lt;setting&gt;%**</code>, i.e. <code>**%TWIKINETSKINPLUGIN\_SHORTDESCRIPTION%**</code>
+
+- One line description, is shown in the [[TextFormattingRules]] topic:
+  - Set SHORTDESCRIPTION = Helps [[TWikiNetSkin]] to render tables and h2 headers
+
+- Debug plugin: ( TWiki sets `$debug` in your plugin. See output in `data/debug.txt`.)
+  - Set DEBUG = 0
+
+## <a name="Plugin Installation Instructions"></a> Plugin Installation Instructions
+
+- Download the ZIP file from the Plugin web (see below)
+- Unzip <code>**%TOPIC%.zip**</code> in your root ($TWIKI\_ROOT) directory. Content: <table border="1" cellpadding="0" cellspacing="0">
+  <tr>
+    <th bgcolor="#99CCCC"><strong> File: </strong></th>
+    <th bgcolor="#99CCCC"><strong> Description: </strong></th>
+  </tr>
+  <tr>
+    <td><code><b>data/TWiki/%TOPIC%.txt</b></code></td>
+    <td>   </td>
+  </tr>
+  <tr>
+    <td><code><b>lib/TWiki/Plugins/%TOPIC%.pm</b></code></td>
+    <td>   </td>
+  </tr>
+</table>
+
+- Optionally, if it exists, run <code>**%TOPIC%\_installer**</code> to automatically check and install other TWiki modules that this module depends on. You can also do this step manually.
+- Alternatively, manually make sure the dependencies listed in the table below are resolved. None
+- Visit `configure` in your TWiki installation, and enable the plugin in the \{Plugins\} section.
+- Set the skin to `twikinet` (together with `pattern`): %BR% `* Set SKIN = twikinet,pattern`
+
+## <a name="Plugin Info"></a> Plugin Info
+
+<table border="1" cellpadding="0" cellspacing="0">
+  <tr>
+    <td align="right"> Plugin Author: </td>
+    <td> TWiki:Main.ArthurClemens </td>
+  </tr>
+  <tr>
+    <td align="right"> License: </td>
+    <td> GPL (<a href="http://www.gnu.org/copyleft/gpl.html" target="_top">GNU General Public License</a>) </td>
+  </tr>
+  <tr>
+    <td align="right"> Plugin Version: </td>
+    <td> 17859 (30 Mar 2009) </td>
+  </tr>
+  <tr>
+    <td align="right"> Change History: </td>
+    <td>  </td>
+  </tr>
+  <tr>
+    <td align="right"> 30 Jul 2007: </td>
+    <td> Initial version </td>
+  </tr>
+  <tr>
+    <td align="right"> TWiki Dependency: </td>
+    <td> $TWiki::Plugins::VERSION 1.1 </td>
+  </tr>
+  <tr>
+    <td align="right"> Dependencies: </td>
+    <td> %$DEPENDENCIES </td>
+  </tr>
+  <tr>
+    <td align="right"> TWiki:Plugins/Benchmark: </td>
+    <td>[[TWiki/GoodStyle]] 99%, [[TWiki/FormattedSearch]] 99%, %TOPIC% 99% </td>
+  </tr>
+  <tr>
+    <td align="right"> Plugin Home: </td>
+    <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%</a></td>
+  </tr>
+  <tr>
+    <td align="right"> Feedback: </td>
+    <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev</a></td>
+  </tr>
+  <tr>
+    <td align="right"> Appraisal: </td>
+    <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal</a></td>
+  </tr>
+</table>
+
+**_Related Topics:_** [[TWikiPlugins]], [[DeveloperDocumentationCategory]], [[AdminDocumentationCategory]], [[TWikiPreferences]]
diff --git a/TWiki/TWikiNetSkinWebCreateNewTopicTemplate.mdwn b/TWiki/TWikiNetSkinWebCreateNewTopicTemplate.mdwn
new file mode 100644 (file)
index 0000000..408111c
--- /dev/null
@@ -0,0 +1,3 @@
+%TMPL:INCLUDE\{"WebCreateNewTopic"\}%
+
+%\{"hide page top controls"\}% %TMPL:DEF\{"toptoolbar:buttons"\}%%TMPL:END%
index c280998..6cd6cd6 100644 (file)
@@ -163,7 +163,7 @@ Preference settings local to your site should be set in [[Main.TWikiPreferences|
 ### <a name="Search Settings"></a> Search Settings
 
 - Default type for search, one of: keyword (for search engine like syntax), regex (for [[RegularExpression]] search), or literal (for verbatim search)
-  - Set SEARCHDEFAULTTTYPE = keyword
+  - Set SEARCHDEFAULTTYPE = keyword
 - Default for `%SEARCH{}%` variable, one of: keyword, regex, or literal
   - Set SEARCHVARDEFAULTTYPE = literal
 - Stop words, e.g., common words and characters to exclude from a keyword search:
@@ -226,7 +226,7 @@ Preference settings local to your site should be set in [[Main.TWikiPreferences|
 ### <a name="Legacy support"></a> Legacy support
 
 - Support for legacy "EDITTOPIC", used to be hard-coded, now replaced by TMPL:P conditional instantiation
-  - Set EDITURL = <http://www.dementia.org/twiki/edit/%WEB%/%TOPIC%?t=1277827909>
+  - Set EDITURL = <http://www.dementia.org/twiki/edit/%WEB%/%TOPIC%?t=1277828060>
   - Set EDITTOPIC = [Edit](%EDITURL% Edit Topic - deprecated usage - please see release notes)
 
 ## <a name="Plugins Settings"></a> Plugins Settings
@@ -337,7 +337,7 @@ Preference settings local to your site should be set in [[Main.TWikiPreferences|
 - Format of a [[NewWikiWord]] link:
 - Note that `$text` is the topic link text, `$topic` is the name of the new topic, and `$web` is the name of the web for the new topic. Values for the 3 are taken from the link syntax `[[$web.$topic][$text]]`. For normal plain WikiWord links `$text` and `$topic` are the same. The value of `$web` is the current web unless the link is in the format `$web.$topic`.
   - default setting:
-    - Set NEWLINKFORMAT = <span>$text[?](http://www.dementia.org/twiki/edit/$web/$topic?topicparent=%WEB%.%TOPIC% Create this topic)</span>
+    - Set NEWLINKFORMAT = <span>[$text](http://www.dementia.org/twiki/edit/$web/$topic?topicparent=%WEB%.%TOPIC% $text (this topic does not yet exist; you can create it))</span>
   - alternative setting:
     - #Set NEWLINKFORMAT = [$text](http://www.dementia.org/twiki/edit/$web/$topic?topicparent=%WEB%.%TOPIC% Create this topic)
 
index 4544363..cfea33e 100644 (file)
     <td> S </td>
   </tr>
   <tr>
-    <td> SEARCHDEFAULTTTYPE </td>
+    <td> SEARCHDEFAULTTYPE </td>
     <td> select </td>
     <td> 1 </td>
     <td> keyword,literal,regex </td>
index f54040a..f6cd617 100644 (file)
@@ -1,4 +1,4 @@
-# <a name="TWiki Release 4.1.2 (Edinburgh),"></a><a name=" TWiki Release 4.1.2 (Edinburgh)"></a> TWiki Release 4.1.2 (Edinburgh), 00:35:32 06 December 2008
+# <a name="TWiki Release 4.1.2 (Edinburgh),"></a><a name=" TWiki Release 4.1.2 (Edinburgh)"></a> TWiki Release 4.1.2 (Edinburgh), 02:05:01 30 March 2009
 
 _Note: This is the release note for the previous major release version 4.1.X. This note and the [[TWikiReleaseNotes04x00]] are included with 4.2.X because they contain valuable information for people upgrading from earlier versions. Both for the admin and the users. See [[TWikiReleaseNotes04x02]] for the 4.2.X release notes_
 
@@ -1401,7 +1401,7 @@ None
 
 ## <a name="TWiki 4.1.2 Patch Release Detail"></a> TWiki 4.1.2 Patch Release Details
 
-The 4.1.2 release was built from SVN <http://svn.twiki.org/svn/twiki/Patch04x01> revision 17773 (06 Dec 2008) (00:35:32 06 December 2008).
+The 4.1.2 release was built from SVN <http://svn.twiki.org/svn/twiki/Patch04x01> revision 17948 (30 Mar 2009) (02:05:01 30 March 2009).
 
 TWiki 4.1.1 Fixes
 
index a8b4d0e..0e506a9 100644 (file)
@@ -1,11 +1,10 @@
-# <a name="TWiki Release 4.2.4 (Georgetown)"></a><a name=" TWiki Release 4.2.4 (Georgetown"></a> TWiki Release 4.2.4 (Georgetown), 00:35:32 06 December 2008
+# <a name="TWiki Release 4.2.2 (Freetown),"></a><a name=" TWiki Release 4.2.2 (Freetown),"></a> TWiki Release 4.2.2 (Freetown), 02:05:01 30 March 2009
 
 <div>
   <ul>
     <li><a href="#Introduction"> Introduction</a></li>
     <li><a href="#Pre-installed Extensions"> Pre-installed Extensions</a></li>
     <li><a href="#New Features Highlights"> New Features Highlights</a></li>
-    <li><a href="#Important Changes since 4.2.4"> Important Changes since 4.2.4 </a></li>
     <li><a href="#Important Changes since 4.2.3"> Important Changes since 4.2.3</a></li>
     <li><a href="#Important Changes since 4.2.2"> Important Changes since 4.2.2</a></li>
     <li><a href="#Important Changes since 4.2.1"> Important Changes since 4.2.1</a><ul>
     </li>
     <li><a href="#API Enhancements (Func)"> API Enhancements (Func)</a></li>
     <li><a href="#Deprecation Notices"> Deprecation Notices</a></li>
-    <li><a href="#TWiki 4.2.0 Minor Release - Deta"> TWiki 4.2.0 Minor Release - Details</a><ul>
-        <li><a href="#Fixes"> Fixes</a></li>
-        <li><a href="#Enhancements"> Enhancements</a></li>
-      </ul>
-    </li>
-    <li><a href="#TWiki 4.2.1 Patch Release - Deta"> TWiki 4.2.1 Patch Release - Details</a><ul>
-        <li><a href="#Fixes"> Fixes</a></li>
-        <li><a href="#Enhancements"> Enhancements</a></li>
-      </ul>
-    </li>
-    <li><a href="#TWiki 4.2.2 Patch Release - Deta"> TWiki 4.2.2 Patch Release - Details</a><ul>
-        <li><a href="#Fixes"> Fixes</a></li>
-        <li><a href="#Enhancements"> Enhancements</a></li>
-      </ul>
-    </li>
-    <li><a href="#TWiki 4.2.3 Patch Release - Deta"> TWiki 4.2.3 Patch Release - Details</a><ul>
-        <li><a href="#Fixes"> Fixes</a></li>
-        <li><a href="#Enhancements"> Enhancements</a></li>
-      </ul>
-    </li>
-    <li><a href="#TWiki 4.2.4 Patch Release - Deta"> TWiki 4.2.4 Patch Release - Details</a><ul>
-        <li><a href="#Fixes"> Fixes</a></li>
-        <li><a href="#Enhancements"> Enhancements</a></li>
-      </ul>
-    </li>
+    <li><a href="#TWiki 4.2.0 Minor Release - Deta"> TWiki 4.2.0 Minor Release - Details</a></li>
+    <li><a href="#Fixes"> Fixes</a></li>
+    <li><a href="#Enhancements"> Enhancements</a></li>
+    <li><a href="#TWiki 4.2.1 Patch Release - Deta"> TWiki 4.2.1 Patch Release - Details</a></li>
+    <li><a href="#Fixes"> Fixes</a></li>
+    <li><a href="#Enhancements"> Enhancements</a></li>
+    <li><a href="#TWiki 4.2.2 Patch Release - Deta"> TWiki 4.2.2 Patch Release - Details</a></li>
+    <li><a href="#Fixes"> Fixes</a></li>
+    <li><a href="#Enhancements"> Enhancements</a></li>
   </ul>
 </div>
 
@@ -70,7 +53,7 @@ TWiki 4.2.2 is a patch release which only contains bug fixes. The major issues f
 
 TWiki 4.2.3 is a patch release containing only the configure script as a security fix for TWiki:Codev.SecurityAlert-CVE-2008-3195.
 
-TWiki 4.2.4 is a patch release which only contains over 30 bug fixes. This release also has a security fix for TWiki:Codev.SecurityAlert-CVE-2008-5304 and TWiki:Codev.SecurityAlert-CVE-2008-5305
+TWiki 4.2.4 is a patch release which only contains bug fixes.
 
 It is highly recommended to upgrade TWiki 4.2.x to 4.2.4. Users will find the 4.2.4 much more stable in daily use.
 
@@ -112,14 +95,8 @@ TWiki 4.2.4 is shipped with
   - Table of Content (TOC) feature enhanced
   - User Mapping (mapping between login name and WikiName) code has been extended to allow pluggable modules to integrate with all sorts of alternative authentication and Management schemes. For normal cases you use the default TWikiUserMapping which is using the Main.TWikiUsers topic to map between login and WikiName. A new BaseUserMapping is provided for TWikis where you only have guests and an administrator. In this case you use the login and password given in configure to login as an admin.
 
-## <a name="Important Changes since 4.2.4"></a> Important Changes since 4.2.4
-
-This release was targeted for fixing maximum number of bugs. We have also fixed security issues listed at TWiki:Codev.SecurityAlert-CVE-2008-5304 and TWiki:Codev.SecurityAlert-CVE-2008-5305
-
 ## <a name="Important Changes since 4.2.3"></a> Important Changes since 4.2.3
 
-This release was targeted to fix the configure script as described security issue in TWiki:Codev.SecurityAlert-CVE-2008-3195.
-
 ## <a name="Important Changes since 4.2.2"></a> Important Changes since 4.2.2
 
 TWiki 4.2.3 is a patch release containing only the configure script as a security fix for TWiki:Codev.SecurityAlert-CVE-2008-3195.
@@ -280,7 +257,7 @@ In Func getOopsUrl and permissionsSet have been declared deprecated. There is no
 
 The 4.2.0 release was built from SVN <http://svn.twiki.org/svn/twiki/branches/TWikiRelease04x02> revision 16277 (22 Jan 2008)
 
-### <a name="Fixes"></a> Fixes
+## <a name="Fixes"></a> Fixes
 
 <table border="1" cellpadding="0" cellspacing="0">
   <tr>
@@ -1081,7 +1058,7 @@ The 4.2.0 release was built from SVN <http://svn.twiki.org/svn/twiki/branches/TW
   </tr>
   <tr>
     <td>[[BUGS/Item3803]]</td>
-    <td> %USERINFO{format="$groups"}% crashes </td>
+    <td> %!USERINFO{format="$groups"}% crashes </td>
   </tr>
   <tr>
     <td>[[BUGS/Item3796]]</td>
@@ -1193,7 +1170,7 @@ The 4.2.0 release was built from SVN <http://svn.twiki.org/svn/twiki/branches/TW
   </tr>
   <tr>
     <td>[[BUGS/Item3703]]</td>
-    <td> &amp;nbsp; in the size field of a form will crash the forms code </td>
+    <td> &amp; nbsp; in the size field of a form will crash the forms code </td>
   </tr>
   <tr>
     <td>[[BUGS/Item3690]]</td>
@@ -1201,7 +1178,7 @@ The 4.2.0 release was built from SVN <http://svn.twiki.org/svn/twiki/branches/TW
   </tr>
   <tr>
     <td>[[BUGS/Item3689]]</td>
-    <td> CommentPlugin location only works if it is above the %COMMENT... variable </td>
+    <td> CommentPlugin location only works if it is above the %COMMENT... tag </td>
   </tr>
   <tr>
     <td>[[BUGS/Item3688]]</td>
@@ -1385,7 +1362,7 @@ The 4.2.0 release was built from SVN <http://svn.twiki.org/svn/twiki/branches/TW
   </tr>
   <tr>
     <td>[[BUGS/Item2772]]</td>
-    <td> Mailto link should use %20 instead of &amp;#32; for spaces </td>
+    <td> Mailto link should use %20 instead of for spaces </td>
   </tr>
   <tr>
     <td>[[BUGS/Item2690]]</td>
@@ -1469,7 +1446,7 @@ The 4.2.0 release was built from SVN <http://svn.twiki.org/svn/twiki/branches/TW
   </tr>
 </table>
 
-### <a name="Enhancements"></a> Enhancements
+## <a name="Enhancements"></a> Enhancements
 
 <table border="1" cellpadding="0" cellspacing="0">
   <tr>
@@ -1730,7 +1707,7 @@ The 4.2.0 release was built from SVN <http://svn.twiki.org/svn/twiki/branches/TW
 
 The 4.2.1 release was built from SVN <http://svn.twiki.org/svn/twiki/branches/TWikiRelease04x02> revision 17311 (03 Aug 2008)
 
-### <a name="Fixes"></a> Fixes
+## <a name="Fixes"></a> Fixes
 
 <table border="1" cellpadding="0" cellspacing="0">
   <tr>
@@ -2367,7 +2344,7 @@ The 4.2.1 release was built from SVN <http://svn.twiki.org/svn/twiki/branches/TW
   </tr>
 </table>
 
-### <a name="Enhancements"></a> Enhancements
+## <a name="Enhancements"></a> Enhancements
 
 None!
 
@@ -2375,7 +2352,7 @@ None!
 
 The 4.2.2 release was built from SVN <http://svn.twiki.org/svn/twiki/branches/TWikiRelease04x02> revision 17396 (10 Aug 2008).
 
-### <a name="Fixes"></a> Fixes
+## <a name="Fixes"></a> Fixes
 
 <table border="1" cellpadding="0" cellspacing="0">
   <tr>
@@ -2420,166 +2397,8 @@ The 4.2.2 release was built from SVN <http://svn.twiki.org/svn/twiki/branches/TW
   </tr>
 </table>
 
-### <a name="Enhancements"></a> Enhancements
+## <a name="Enhancements"></a> Enhancements
 
 None!
 
-## <a name="TWiki 4.2.3 Patch Release - Deta"></a> TWiki 4.2.3 Patch Release - Details
-
-### <a name="Fixes"></a> Fixes
-
-Only security issue from "configure" script as described in TWiki:Codev.SecurityAlert-CVE-2008-3195. was fixed in this release.
-
-### <a name="Enhancements"></a> Enhancements
-
-None!
-
-## <a name="TWiki 4.2.4 Patch Release - Deta"></a> TWiki 4.2.4 Patch Release - Details
-
-### <a name="Fixes"></a> Fixes
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td>[[BUGS/Item5967]]</td>
-    <td> viewfile partly broken </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6136]]</td>
-    <td> User input is passed to the perl "eval" command without first being sanitized. </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item5937]]</td>
-    <td> move initialization of SwitchBoard to TWiki.spec </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6089]]</td>
-    <td> backslash at end of line inside verbatim and pre being used as line continuation </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6135]]</td>
-    <td> changes required in TWikiUserMappings.pm required to support registration in case PasswordManager is LdapUser </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item5961]]</td>
-    <td> WysiwygPlugin and TWiki's odd idea of needing a space before *'s causes user surprise. </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item5865]]</td>
-    <td> TablePlugin should support rowspan from header row </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6082]]</td>
-    <td> deep recursion bug in query search </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item5979]]</td>
-    <td> add non-alarmist PerlOnRedHatIsSlow detection to configure </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6005]]</td>
-    <td> EditTable changes "label"-formatted cell in unexpected way </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6061]]</td>
-    <td> TWiki::Func::getContext documentation </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item5939]]</td>
-    <td> Rogue &lt;p /&gt; below &lt;/html&gt; on every topic in every web </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6108]]</td>
-    <td> Add documentation for customising the registration emails </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6054]]</td>
-    <td> No longer possible to have a twisty on one line without linebreak </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item5176]]</td>
-    <td> %SCRIPTSUFFIX is added twice in TOC links </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6060]]</td>
-    <td> configure's get more extensions seems to require LWP </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6043]]</td>
-    <td> TWiki::Sandbox::sysCommand leads to errors with Plugins.FastCGIEngineContrib </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item5991]]</td>
-    <td> JSCalendarContrib does not work correctly in IE7 </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6026]]</td>
-    <td> With header format emtpy table is initialized with one column only </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6050]]</td>
-    <td> statistics script fails when cuid is not equal login name (as login is whats in the log files...) </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6095]]</td>
-    <td> Registration confirmation page fails to display when user confirmation e-mail can't be sent </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item5914]]</td>
-    <td> TWiki::Request::url() must support -rewrite, -absolute and -relative </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item5852]]</td>
-    <td> Split out operators into seperate modules, so that extensions can plug in new operators </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item5994]]</td>
-    <td> Turn on taint mode in configure and fix the problems </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item5943]]</td>
-    <td> TWikiRegistrationAgent should be in Main's ALLOWWEBCHANGE by default </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6031]]</td>
-    <td> TablePlugin date sorting is broken. </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item2525]]</td>
-    <td> TablePlugin produces bad links for sorting when using "short" URLs </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item5957]]</td>
-    <td> htdigest format password file gets stomped on password or email change/reset </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6066]]</td>
-    <td> MailerContrib makes an assumption that cuid equal loginname </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item5910]]</td>
-    <td> %TOC% variable creates links with unecessary query string </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item5922]]</td>
-    <td> $formfield data not being displayed in formatted searches </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6022]]</td>
-    <td> %ENCODE{}% treats % as safe character </td>
-  </tr>
-  <tr>
-    <td>[[BUGS/Item6062]]</td>
-    <td> EditTablePlugin destroys verbatim-tags </td>
-  </tr>
-</table>
-
-### <a name="Enhancements"></a> Enhancements
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td>[[BUGS/Item4875]]</td>
-    <td> Add javascript function 'makeSafeForTableEntry' </td>
-  </tr>
-</table>
-
 **_Related Topic:_** [[TWikiHistory]]
diff --git a/TWiki/TWikiReleaseNotes04x03.mdwn b/TWiki/TWikiReleaseNotes04x03.mdwn
new file mode 100644 (file)
index 0000000..cecd5a9
--- /dev/null
@@ -0,0 +1,291 @@
+# <a name="TWiki Release 4.3 (Georgetown),"></a><a name=" TWiki Release 4.3 (Georgetown),"></a> TWiki Release 4.3 (Georgetown), 2009-03-30
+
+<div>
+  <ul>
+    <li><a href="#Introduction"> Introduction</a></li>
+    <li><a href="#Pre-installed Extensions"> Pre-installed Extensions</a></li>
+    <li><a href="#New Features Highlights"> New Features Highlights</a></li>
+    <li><a href="#Important Changes in 4.3.0"> Important Changes in 4.3.0</a><ul>
+        <li><a href="#Highlights of bug fixes in 4.3.0"> Highlights of bug fixes in 4.3.0</a></li>
+      </ul>
+    </li>
+    <li><a href="#Important Changes in Recent Rele"> Important Changes in Recent Releases</a></li>
+    <li><a href="#Deprecation Notices"> Deprecation Notices</a></li>
+    <li><a href="#TWiki 4.3.0 Minor Release - Deta"> TWiki 4.3.0 Minor Release - Details</a></li>
+    <li><a href="#Enhancements in TWiki 4.3.0"> Enhancements in TWiki 4.3.0</a></li>
+    <li><a href="#Fixes in TWiki 4.3.0"> Fixes in TWiki 4.3.0</a></li>
+  </ul>
+</div>
+
+## <a name="Introduction"></a> Introduction
+
+TWiki 4.3.0 released on 30 Mar 2009 introduces security enhancements, usability enhancements, feature enhancements, and adds extensions to strengthen TWiki as an enterprise collaboration platform.
+
+It is highly recommended to upgrade to TWiki 4.3.0. Users will find this release much more stable and secure in daily use.
+
+## <a name="Pre-installed Extensions"></a> Pre-installed Extensions
+
+TWiki 4.3 is ships with:
+
+- **Plugins:** CommentPlugin, EditTablePlugin, EmptyPlugin, HeadlinesPlugin, InterwikiPlugin, PreferencesPlugin, RenderListPlugin, SlideShowPlugin, SmiliesPlugin, SpreadSheetPlugin, TablePlugin, TinyMCEPlugin, TWikiNetSkinPlugin, TwistyPlugin, WysiwygPlugin
+- **Contribs:** BehaviourContrib, JSCalendarContrib, MailerContrib, TipsContrib, TWikiUserMappingContrib, TwistyContrib
+- **Skins:** ClassicSkin, PatternSkin, TWikiNetSkin,
+
+**_Note:_** HeadlinesPlugin, TWikiNetSkin and TWikiNetSkinPlugin are new in TWiki 4.3.
+
+## <a name="New Features Highlights"></a> New Features Highlights
+
+- **Security Enhancements**
+  - Reduced risk of XSS ([cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting))
+  - S/MIME support to sign administrative e-mails
+- **Usability Enhancements**
+  - Replace question mark links with red-links to point to non-existing topics
+- **Enterprise Collaboration Enhancements**
+  - Pre-installed HeadlinesPlugin to show headline newsfeeds in TWiki topics
+  - Pre-installed TWikiNetSkin, TWikiNetSkinPlugin for corporate look and feel
+- **Search Enhancements**
+  - Add footer parameter to Formatted Search
+  - Add number of topics to Formatted Search
+- **Miscellaneous Feature Enhancements**
+  - Control over variable expansion at topic creation time
+  - 17 new TWikiDocGraphics images
+  - Include URL supports list of domains to exclude from proxy
+  - Adding Korean language
+- **Plugin Enhancements**
+  - SpreadSheetPlugin: 5 new functions
+
+## <a name="Important Changes in 4.3.0"></a> Important Changes in 4.3.0
+
+### <a name="Highlights of bug fixes in 4.3.0"></a> Highlights of bug fixes in 4.3.0
+
+- Security:
+  - Review code for robustness and security
+  - Secure configure script with taint mode turned on
+- Rendering:
+  - %TOC% does not distinguish two headlines that have the same text
+  - TablePlugin produces bad links for sorting when using "short" URLs
+  - %SCRIPTSUFFIX% is added twice in %TOC% links
+  - Incorrect Content-length breaks HTTP headers, a.o. pound fail results
+  - TablePlugin: Date sorting is broken
+  - Bullet lists in form fields are not rendered properly
+  - TWiki Forms expand variables like $nop, $quote $percnt
+  - TwistyPlugin: Twisty can't be placed in TWiki table cells
+- Users and groups:
+  - TWikiGroups shows all members twice
+- Editing:
+  - WysiwygPlugin: Bolding single character within a word introduces spaces around bolded character
+- Miscellaneous:
+  - configure's get more extensions does not work well without LWP
+  - CommentPlugin: Lost data if it's targeted before/after a missing anchor
+  - Plugin installation fails on windows: extender.pl line 684
+  - Statistics script does not handle properly topics with special characters
+
+See the full list of bug fixes at the bottom of this topic.
+
+## <a name="Important Changes in Recent Rele"></a> Important Changes in Recent Releases
+
+## <a name="Deprecation Notices"></a> Deprecation Notices
+
+The %MAINWEB% and %TWIKIWEB% variables have been deprecated. For compatibility reasons they are unlikely to ever be removed completely, but you should use the %USERSWEB% and %SYSTEMWEB% variables instead.
+
+In Func getOopsUrl and permissionsSet have been declared deprecated. There is no plan to remove them yet.
+
+## <a name="TWiki 4.3.0 Minor Release - Deta"></a> TWiki 4.3.0 Minor Release - Details
+
+The 4.3.0 release was built from SVN <http://svn.twiki.org/svn/twiki/branches/TWikiRelease04x03> revision 17948 (30 Mar 2009)
+
+## <a name="Enhancements in TWiki 4.3.0"></a> Enhancements in TWiki 4.3.0
+
+<table border="1" cellpadding="0" cellspacing="0">
+  <tr>
+    <td>[[BUGS/Item3647]]</td>
+    <td> Usability: Control over variable expansion in topic templates </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item5025]]</td>
+    <td> InterwikiPlugin: Allow special characters in "Page" of Site:Page </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6148]]</td>
+    <td> HeadlinesPlugin: Support for {PROXY}{HOST} and {PROXY}{PORT} configure settings </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6176]]</td>
+    <td> Search: Add footer parameter to Formatted Search </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6180]]</td>
+    <td> HeadlinesPlugin: Support for {PROXY}{SkipProxyForDomains} configure setting, USERAGENTNAME plugin setting </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6184]]</td>
+    <td> Search: Add Number of Topics to Formatted Search </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6189]]</td>
+    <td> Usability: Replace question mark links with red links to point to non-existing topics </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6199]]</td>
+    <td> Enhancement: Add TWikiNetSkin to Distribution </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6200]]</td>
+    <td> Enhancement: Add HeadlinesPlugin to Distribution </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6222]]</td>
+    <td> SpreadSheetPlugin: New functions $EMPTY(), $INSERTSTRING(), $LEFTSTRING(), $RIGHTSTRING(), $SUBSTRING() functions </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6226]]</td>
+    <td> Include: Specify a list of domains to exclude from proxy with {PROXY}{SkipProxyForDomains} setting </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6227]]</td>
+    <td> Documentation: 17 new TWikiDocGraphics images </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6228]]</td>
+    <td> Security: Option to send signed e-mail with S/MIME </td>
+  </tr>
+</table>
+
+## <a name="Fixes in TWiki 4.3.0"></a> Fixes in TWiki 4.3.0
+
+<table border="1" cellpadding="0" cellspacing="0">
+  <tr>
+    <td>[[BUGS/Item1607]]</td>
+    <td> %TOC% does not distinguish two headlines that have the same text </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item2525]]</td>
+    <td> TablePlugin produces bad links for sorting when using "short" URLs </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item4835]]</td>
+    <td> SpreadSheetPlugin: SUBSTITUTE error when text=old and replace is empty </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item5176]]</td>
+    <td> %SCRIPTSUFFIX% is added twice in %TOC% links </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item5471]]</td>
+    <td> SpreadSheetPlugin: The character 0 cannot be replaced using the REPLACE-funtion </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item5910]]</td>
+    <td> TablePlugin: %TOC% variable creates links with unecessary query string </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item5914]]</td>
+    <td> TWiki::Request::url() must support -rewrite, -absolute and -relative </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item5920]]</td>
+    <td> TWikiGroups shows all members twice </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item5939]]</td>
+    <td> Rogue &lt;p /&gt; below &lt;/html&gt; on every topic in every web </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item5960]]</td>
+    <td> Incorrect Content-length breaks HTTP headers, a.o. pound fail results </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item5961]]</td>
+    <td> WysiwygPlugin: Bolding single character within a word introduces spaces around bolded character </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item5991]]</td>
+    <td> JSCalendarContrib: Does not work correctly in IE7 </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item5994]]</td>
+    <td> Secure configure script with taint mode turned on </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6005]]</td>
+    <td> EditTablePlugin: "label"-formatted cell changed in unexpected way </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6022]]</td>
+    <td> %ENCODE{}% treats % as safe character </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6026]]</td>
+    <td> With header format emtpy table is initialized with one column only </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6031]]</td>
+    <td> TablePlugin: Date sorting is broken. </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6041]]</td>
+    <td> TinyMCE bug with Firefox 3 and bulleted lists </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6050]]</td>
+    <td> statistics script fails when cuid is not equal login name (as login name is what's in the log files...) </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6054]]</td>
+    <td> TwistyPlugin: No longer possible to have a twisty on one line without linebreak </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6060]]</td>
+    <td> configure's get more extensions does not work well without LWP </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6061]]</td>
+    <td> TWiki::Func::getContext documention </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6138]]</td>
+    <td> Bullet lists in form fields are not rendered properly </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6163]]</td>
+    <td> CommentPlugin: Lost data if it's targeted before/after a missing anchor. </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6167]]</td>
+    <td> TWiki Forms expand variables like $nop, $quote $percnt </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6170]]</td>
+    <td> Plugin installation fails on windows: extender.pl line 684 </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6171]]</td>
+    <td> Per RFC 5321, single quote is allwed in e-mail addresses </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6178]]</td>
+    <td> Statistics script does not handle properly topics with special characters </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6185]]</td>
+    <td> Missing newline in Formatted Search if footer used </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6186]]</td>
+    <td> Review code for robustness and security </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6208]]</td>
+    <td> WebChanges does not work on Windows </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6220]]</td>
+    <td> TwistyPlugin: Twisty can't be placed in TWiki table cells </td>
+  </tr>
+  <tr>
+    <td>[[BUGS/Item6223]]</td>
+    <td> Users can't edit content in Main web </td>
+  </tr>
+</table>
+
+**_Related Topic:_** [[TWikiHistory]]
index 8bcc867..461e22a 100644 (file)
@@ -68,7 +68,7 @@ The following Perl modules are used by TWiki:
     <th bgcolor="#99CCCC"><strong> Preferred version </strong></th>
   </tr>
   <tr>
-    <td> Algorithm::Diff (included) </td>
+    <td> Algorithm::Diff (included in TWiki distribution) </td>
     <td>   </td>
   </tr>
   <tr>
@@ -88,7 +88,11 @@ The following Perl modules are used by TWiki:
     <td> &gt;=2.121 </td>
   </tr>
   <tr>
-    <td> Error (included) </td>
+    <td> Encode </td>
+    <td> &gt;=2.1 </td>
+  </tr>
+  <tr>
+    <td> Error (included in TWiki distribution) </td>
     <td>   </td>
   </tr>
   <tr>
@@ -116,7 +120,7 @@ The following Perl modules are used by TWiki:
     <td> &gt;=1.10 </td>
   </tr>
   <tr>
-    <td> Text::Diff (included) </td>
+    <td> Text::Diff (included in TWiki distribution) </td>
     <td>   </td>
   </tr>
   <tr>
index 5ff1106..65d8463 100644 (file)
@@ -14,7 +14,12 @@ _Definition of the templates used to render all HTML pages displayed in TWiki_
           </ul>
         </li>
         <li><a href="#Template Topics"> Template Topics</a><ul>
-            <li><a href="#Variable Expansion"> Variable Expansion</a></li>
+            <li><a href="#Variable Expansion"> Variable Expansion</a><ul>
+                <li><a href="#1. Default variable expansion"> 1. Default variable expansion</a></li>
+                <li><a href="#2. Preventing variable expansion"> 2. Preventing variable expansion</a></li>
+                <li><a href="#3. Control over variable expansi"> 3. Control over variable expansion</a></li>
+              </ul>
+            </li>
             <li><a href="#Specifying a Form"> Specifying a Form</a></li>
             <li><a href="#Automatically Generated Topic Na"> Automatically Generated Topic Names</a></li>
             <li><a href="#Template Topics in Action"> Template Topics in Action</a></li>
@@ -213,7 +218,13 @@ When you create a new topic using the `edit` script, TWiki locates a topic to us
 
 ### <a name="Variable Expansion"></a> Variable Expansion
 
-When the following variables are used in a template topic, they automatically get expanded when new topic is created based on it:
+[[TWikiVariables]] located in template topics get expanded as follows when a new topic is created.
+
+<a name="DefaultVariableExpansion"></a>
+
+#### <a name="1. Default variable expansion"></a> 1. Default variable expansion
+
+The following variables used in a template topic automatically get expanded when new topic is created based on it:
 
 <table border="1" cellpadding="0" cellspacing="0">
   <tr>
@@ -254,7 +265,7 @@ When the following variables are used in a template topic, they automatically ge
   </tr>
   <tr>
     <td><code>%URLPARAM{"name"}%</code></td>
-    <td> Value of a named URL parameter </td>
+    <td> Value of a named URL parameter. See [[Main/VarURLPARAM]]. </td>
   </tr>
   <tr>
     <td><code>%WIKINAME%</code></td>
@@ -266,18 +277,50 @@ When the following variables are used in a template topic, they automatically ge
   </tr>
 </table>
 
-`%STARTSECTION{type="templateonly"}%%BR%...%BR%%ENDSECTION{type="templateonly"}%` markers are used to embed text that you _do not_ want expanded when a new topic based on the template topic is created. For example, you might want to write in the template topic:
+<a name="PreventingVariableExpansion"></a>
+
+#### <a name="2. Preventing variable expansion"></a> 2. Preventing variable expansion
+
+In a template topic, embed text that you _do not_ want expanded inside a `%STARTSECTION{type="templateonly"}% ... %ENDSECTION{type="templateonly"}%` section. For example, you might want to write this in the template topic:
 
     %STARTSECTION{type="templateonly"}%
     This template can only be changed by:
        * Set ALLOWTOPICCHANGE = %USERSWEB%.TWikiAdminGroup
     %ENDSECTION{type="templateonly"}%
 
-This will restrict who can edit the template topic, but will get removed when a new topic based on that template topic is created.
+This will restrict who can edit the template topic, but will be removed when a new topic based on that template topic is created.
+
+`%NOP%` can be used to prevent expansion of TWiki variables that would otherwise be expanded during topic creation. For example, escape `%SERVERTIME%` with `%SER%NOP%VERTIME%`.
+
+<a name="ControlOverVariableExpansion"></a>
+
+#### <a name="3. Control over variable expansi"></a> 3. Control over variable expansion
+
+You can forcefully expand [[TWikiVariables]] by placing them inside a `type="expandvariables"` section in the template topic, such as:
+
+    %STARTSECTION{ type="expandvariables" }% ... %ENDSECTION{ type="expandvariables" }%
+
+Example:
+
+If you have the following content in a template topic:
+
+    %STARTSECTION{ type="expandvariables" }%
+       * %TWIKIWEB%.ATasteOfTWiki - view a short introductory presentation on TWiki for beginners
+       * %TWIKIWEB%.WelcomeGuest - starting points on TWiki
+       * %TWIKIWEB%.TWikiUsersGuide - complete TWiki documentation
+       * Sandbox.%HOMETOPIC% - try out TWiki on your own
+       * Sandbox.%TOPIC%Sandbox - just for me
+    %ENDSECTION{ type="expandvariables" }%
+
+you will get this raw text in new topics based on that template topic:
 
-`%NOP%` can be used to prevent expansion of TWiki variables that would otherwise be expanded during topic creation e.g.i escape `%SERVERTIME%` with `%SER%NOP%VERTIME%`.
+       * TWiki.ATasteOfTWiki - view a short introductory presentation on TWiki for beginners
+       * TWiki.WelcomeGuest - starting points on TWiki
+       * TWiki.TWikiUsersGuide - complete TWiki documentation
+       * Sandbox.WebHome - try out TWiki on your own
+       * Sandbox.JimmyNeutronSandbox - just for me
 
-All other variables are unchanged, e.g. are carried over "as is" into the new topic.
+<a name="SpecifyingForm"></a>
 
 ### <a name="Specifying a Form"></a> Specifying a Form
 
@@ -335,4 +378,4 @@ When you use [[TWikiVariables]] such as %PUBURL% and %PUBURLPATH% in templates y
 
 **_Related Topics:_** [[TWikiSkins]], [[DeveloperDocumentationCategory]], [[AdminDocumentationCategory]]
 
--- **_Contributors:_** TWiki:Main.PeterThoeny, TWiki:Main.MikeMannix, TWiki:Main.DavidLeBlanc, TWiki:Main.CrawfordCurrie
+-- **_Contributors:_** TWiki:Main.PeterThoeny, TWiki:Main.MikeMannix, TWiki:Main.DavidLeBlanc, TWiki:Main.CrawfordCurrie, TWiki:Main.SopanShewale
index 69816dc..af492ad 100644 (file)
@@ -145,7 +145,7 @@ Another great TWiki extension from the [![](http://www.dementia.org/twiki//view/
   </tr>
   <tr>
     <td align="right"> Plugin Version: </td>
-    <td> 03 Aug 2008 17302 (06 Dec 2008) </td>
+    <td> 03 Aug 2008 17302 (30 Mar 2009) </td>
   </tr>
   <tr>
     <td align="right"> Copyright: </td>
index d2aaab2..8365dca 100644 (file)
@@ -193,7 +193,7 @@ You can also set the global TWiki variable TWISTYCONTRIB\_DEBUG to 1 to make the
   </tr>
   <tr>
     <td align="right"> Version: </td>
-    <td> 17595 (06 Dec 2008) </td>
+    <td> 17595 (30 Mar 2009) </td>
   </tr>
   <tr>
     <td align="right"> Change History: </td>
index 1cbc42c..8fbf776 100644 (file)
     <td> required (can be empty) </td>
   </tr>
   <tr>
+    <td><code>type="safe"</code></td>
+    <td> Encode special characters into HTML entities to avoid XSS exploits: <code>"&lt;"</code>, <code>"&gt;"</code>, <code>"%"</code>, single quote (<code>'</code>) and double quote (<code>"</code>) </td>
+    <td><code>type="url"</code></td>
+  </tr>
+  <tr>
     <td><code>type="entity"</code></td>
     <td> Encode special characters into HTML entities, like a double quote into <code>&amp;#034;</code>. Does <strong>not</strong> encode <code>\n</code> or <code>\r</code>. </td>
     <td><code>type="url"</code></td>
@@ -40,7 +45,9 @@
   </tr>
 </table>
 - Example: `%ENCODE{"spaced name"}%` expands to `spaced%20name`
-- **_%X% Note:_** Values of HTML input fields must be entity encoded.%BR% Example: `<input type="text" name="address" value="%ENCODE{ "any text" type="entity" }%" />`
-- **_%X% Note:_** Double quotes in strings must be escaped when passed into other TWiki variables.%BR% Example: `%SEARCH{ "%ENCODE{ "string with "quotes"" type="quotes" }%" noheader="on" }%`
+- **_%X% Notes:_**
+  - Values of HTML input fields must be entity encoded.%BR% Example: `<input type="text" name="address" value="%ENCODE{ "any text" type="entity" }%" />`
+  - Double quotes in strings must be escaped when passed into other TWiki variables.%BR% Example: `%SEARCH{ "%ENCODE{ "string with "quotes"" type="quotes" }%" noheader="on" }%`
+  - Use `type="entity"` or `type="safe"` to protect user input from URL parameters and external sources against cross-site scripting (XSS). `type="entity"` is more aggressive, but some TWiki applications might not work. `type="safe"` provides a safe middle ground.
 
 - Related: [[URLPARAM|Main/VarURLPARAM]]
index ee325ce..a458b7f 100644 (file)
@@ -4,6 +4,8 @@
 
 - Syntax: `%ENDSECTION{"name"}%`
 - Syntax: `%ENDSECTION{type="include"}%`
+- Syntax: `%ENDSECTION{type="templateonly"}%`
+- Syntax: `%ENDSECTION{type="expandvariables"}%`
 - Supported parameter: <table border="1" cellpadding="0" cellspacing="0">
   <tr>
     <th bgcolor="#99CCCC"><strong> Parameter: </strong></th>
@@ -15,7 +17,7 @@
   </tr>
   <tr>
     <td><code>type="..."</code></td>
-    <td> Type of the section being terminated; supported types <code>"section"</code>, <code>"include"</code>, <code>"templateonly"</code>. </td>
+    <td> Type of the section being terminated; supported types <code>"section"</code>, <code>"include"</code>, <code>"templateonly"</code>, <code>"expandvariables"</code></td>
   </tr>
 </table>
 - If the `STARTSECTION` is named, the corresponding `ENDSECTION` must also be named with the same name. If the `STARTSECTION` specifies a type, then the corresponding `ENDSECTION` must also specify the same type. If the section is unnamed, `ENDSECTION` will match with the nearest unnamed `%STARTSECTION%` **of the same type** above it.
index adff4b5..b638b53 100644 (file)
@@ -2,6 +2,7 @@
 
 ### <a name="INCLUDE{&quot;page&quot;} -- include other"></a> INCLUDE\{"page"\} -- include other topic or web page
 
+- Merges the content of a specified page into the current one before rendering.
 - Syntax: `%INCLUDE{"page" ...}%`
 - Supported parameters: <table border="1" cellpadding="0" cellspacing="0">
   <tr>
index b6eb62b..9d30145 100644 (file)
     <td> Show webs with no hits </td>
   </tr>
   <tr>
-    <td><code>header="..."</code><br /><code>format="..."</code></td>
+    <td><code>header="..."</code><br /><code>format="..."</code><br /><code>footer="..."</code></td>
     <td> Custom format results: see <strong>[[Main/FormattedSearch]]</strong> for usage, variables &amp; examples </td>
     <td> Results in table </td>
   </tr>
index 0b26c11..de6573f 100644 (file)
@@ -6,10 +6,12 @@
 - Sections may be given a name to help identify them, and/or a type, which changes how they are used.
   - `type="section"` - the default, used for a generic section, such as a named section used by [[INCLUDE|Main/VarINCLUDE]].
   - `type="include"` - like `%STARTINCLUDE%` ... `%STOPINCLUDE%` except that you can have as many include blocks as you want (`%STARTINCLUDE%` is restricted to only one).
-  - `type="templateonly"` - start position of text to be removed when a template topic is used. This is used to embed text that you _do not_ want expanded when a new topic based on the template topic is created. See [[TWikiTemplates]] for more information.
-- Syntax: `%STARTSECTION{"name"}% ................ %ENDSECTION{"name"}%`
-- Syntax: `%STARTSECTION{type="include"}% ........ %ENDSECTION{type="include"}%`
-- Syntax: `%STARTSECTION{type="templateonly"}% ... %ENDSECTION{type="templateonly"}%`
+  - `type="templateonly"` - start position of text to be removed when a template topic is used. Use this to embed text that you _do not_ want expanded when a new topic based on the template topic is created. [[TWikiTemplates]] has more.
+  - `type="expandvariables"` - start position where [[TWikiVariables]] get expanded when a new topic is created. Normally only certain variables get expanded when a new topic based on the template topic is created. All variables get expanded within a `"expandvariables"` section. [[TWikiTemplates]] has more.
+- Syntax: `%STARTSECTION{"name"}% ................... %ENDSECTION{"name"}%`
+- Syntax: `%STARTSECTION{type="include"}% ........... %ENDSECTION{type="include"}%`
+- Syntax: `%STARTSECTION{type="templateonly"}% ...... %ENDSECTION{type="templateonly"}%`
+- Syntax: `%STARTSECTION{type="expandvariables"}% ... %ENDSECTION{type="expandvariables"}%`
 - Supported parameters: <table border="1" cellpadding="0" cellspacing="0">
   <tr>
     <th bgcolor="#99CCCC"><strong> Parameter: </strong></th>
   </tr>
   <tr>
     <td><code>type="..."</code></td>
-    <td> Type of the section; type <code>"section"</code>, <code>"include"</code> or <code>"templateonly"</code></td>
+    <td> Type of the section; type <code>"section"</code>, <code>"include"</code>, <code>"templateonly"</code>, or <code>"expandvariables"</code></td>
     <td><code>"section"</code></td>
   </tr>
 </table>
 - **_%X% Note:_** If a section is not given a name, it will be assigned one. Unnamed sections are assigned names starting with `_SECTION0` for the first unnamed section in the topic, `_SECTION1` for the second, etc..
-- **_%X% Note:_** You can define nested sections. It is not recommended to overlap sections, although it is valid in TWiki. Use named sections to make sure that the correct START and ENDs are matched. Section markers are **not** displayed when a topic is viewed.
+- **_%X% Note:_** You can define nested sections. Do not overlap sections. Use named sections to make sure that the correct START and ENDs are matched. Section markers are **not** displayed when a topic is viewed.
 - Related: [[ENDSECTION|Main/VarENDSECTION]], [[INCLUDE|Main/VarINCLUDE]], [[NOP|Main/VarNOP]], [[STARTINCLUDE|Main/VarSTARTINCLUDE]], [[STOPINCLUDE|Main/VarSTOPINCLUDE]]
index 80f070a..c65c10d 100644 (file)
     <td> no conversion </td>
   </tr>
   <tr>
+    <td><code>encode="off"</code></td>
+    <td> Turn off encoding. See important security note below </td>
+    <td> encode="safe" </td>
+  </tr>
+  <tr>
+    <td><code>encode="safe"</code></td>
+    <td> Encode special characters into HTML entities to avoid XSS exploits: <code>"&lt;"</code>, <code>"&gt;"</code>, <code>"%"</code>, single quote (<code>'</code>) and double quote (<code>"</code>) </td>
+    <td> (this is the default) </td>
+  </tr>
+  <tr>
     <td><code>encode="entity"</code></td>
     <td> Encode special characters into HTML entities. See [[Main/VarENCODE]] for more details. </td>
-    <td> no encoding </td>
+    <td> encode="safe" </td>
   </tr>
   <tr>
     <td><code>encode="url"</code></td>
     <td> Encode special characters for URL parameter use, like a double quote into <code>%22</code></td>
-    <td> no encoding </td>
+    <td> encode="safe" </td>
   </tr>
   <tr>
     <td><code>encode="quote"</code></td>
     <td> Escape double quotes with backslashes (<code>\"</code>), does not change other characters; required when feeding URL parameters into other TWiki variables </td>
-    <td> no encoding </td>
+    <td> encode="safe" </td>
   </tr>
   <tr>
     <td><code>multiple="on"</code> %BR% <code>multiple="[[$item]]"</code></td>
@@ -53,8 +63,8 @@
 </table>
 - Example: `%URLPARAM{"skin"}%` returns `print` for a `.../view/%WEB%/%INCLUDINGTOPIC%?skin=print` URL
 - **_%X% Notes:_**
-  - **IMPORTANT:** There is a risk that this variable could be misused for [cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting) (XSS).
-  - URL parameters passed into HTML form fields **_must be_** entity [[ENCODEd|Main/VarENCODE]].%BR% Example: `<input type="text" name="address" value="%URLPARAM{ "address" encode="entity" }%" />`
+  - **IMPORTANT:** There is a risk that this variable can be misused for [cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting) (XSS) if the encoding is turned off. The `encode="safe"` is the default, it provides a safe middle ground. The `encode="entity"` is more aggressive, but some TWiki applications might not work.
+  - URL parameters passed into HTML form fields must be entity [[ENCODEd|Main/VarENCODE]].%BR% Example: `<input type="text" name="address" value="%URLPARAM{ "address" encode="entity" }%" />`
   - Double quotes in URL parameters must be escaped when passed into other TWiki variables.%BR% Example: `%SEARCH{ "%URLPARAM{ "search" encode="quotes" }%" noheader="on" }%`
   - When used in a template topic, this variable will be expanded when the template is used to create a new topic. See [[TWikiTemplates#TemplateTopicsVars]] for details.
   - Watch out for TWiki internal parameters, such as `rev`, `skin`, `template`, `topic`, `web`; they have a special meaning in TWiki. Common parameters and view script specific parameters are documented at [[TWikiScripts]].
index 8f79d08..08aae02 100644 (file)
@@ -1,4 +1,4 @@
-# <a name="50 Recent Changes in %INCLUDINGW"></a> 50 Recent Changes in %INCLUDINGWEB% Web <span><font>retrieved at 16:04 (GMT)</font></span>
+# <a name="50 Recent Changes in %INCLUDINGW"></a> 50 Recent Changes in %INCLUDINGWEB% Web <span><font>retrieved at 16:14 (GMT)</font></span>
 
 # <a name="TWiki Installation Error"></a> TWiki Installation Error
 
index d3d95e7..4e6a897 100644 (file)
@@ -19,7 +19,7 @@ TWiki is a flexible, powerful, secure, yet simple web-based collaboration platfo
 - [[Frequently Asked Questions|Main/TWikiFAQ]] - about TWiki
 - [[Reference Manual|Main/TWikiReferenceManual]] - documentation for system administrators
 - [[Admin Tools|Main/AdminToolsCategory]] - manage the TWiki site
-- [[TWiki-4.2 Release Notes|Main/TWikiReleaseNotes04x02]] - describes what's new in this release
+- [[TWiki-4.3 Release Notes|Main/TWikiReleaseNotes04x03]] - describes what's new in this release
 
 ## <a name="%WEB% Web Utilities"></a> %WEB% Web Utilities
 
@@ -37,7 +37,7 @@ TWiki is a flexible, powerful, secure, yet simple web-based collaboration platfo
 
 ## <a name="Disclaimer"></a> Disclaimer
 
-- TWiki<sup>®</sup> is a registered trademarks of TWiki founder [Peter Thoeny](http://twiki.org/cgi-bin/view/Main/PeterThoeny), [TWIKI.NET](http://twiki.net/). The [[TWiki logo|Main/TWikiLogos]] and the "Collaborate with TWiki" tagline are trademarks of Peter Thoeny.
+- TWiki<sup>®</sup> is a registered trademarks of TWiki founder [Peter Thoeny](http://twiki.org/cgi-bin/view/Main/PeterThoeny), [TWIKI.NET](http://www.twiki.net/). The [[TWiki logo|Main/TWikiLogos]] and the "Collaborate with TWiki" tagline are trademarks of Peter Thoeny.
 - Twiki (with a lower case "w") is a robot character from the _Buck Rogers™ in the 25th Century_ TV series. TWiki (with an upper case "W") is not affiliated with the Dille Family Trust, the registered trademark owner of the _Buck Rogers_ name.
 - TWiki is developed as Free Software under the [[GNU/GPL|Main/GnuGeneralPublicLicense]].
 - Get the latest version from [TWiki.org downloads](http://TWiki.org/download.html).
index 1cf823b..8c21173 100644 (file)
@@ -237,7 +237,7 @@ Many thanks to the following sponsors for supporting this work:
   </tr>
   <tr>
     <td align="right"> Plugin Version: </td>
-    <td> 17680 (06 Dec 2008) </td>
+    <td> 17829 (30 Mar 2009) </td>
   </tr>
   <tr>
     <td align="right"> Change History: </td>
diff --git a/Trash/TrashAttachment.mdwn b/Trash/TrashAttachment.mdwn
new file mode 100644 (file)
index 0000000..f6c538e
--- /dev/null
@@ -0,0 +1 @@
+# <a name="Placeholder for trashed attachme"></a> Placeholder for trashed attachments
diff --git a/Trash/WebAtom.mdwn b/Trash/WebAtom.mdwn
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/Trash/WebChanges.mdwn b/Trash/WebChanges.mdwn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/Trash/WebHome.mdwn b/Trash/WebHome.mdwn
new file mode 100644 (file)
index 0000000..5c1c8c8
--- /dev/null
@@ -0,0 +1,21 @@
+This is the Trash. Here you can undelete topics; deleted attachments are in [[TrashAttachment]].
+
+%RED% Security Note: %ENDCOLOR% By default, viewing the Trash web is restricted to %USERSWEB%.TWikiAdminGroup. If you would like to allow all users to view the Trash web, remove the `ALLOWWEBVIEW` restriction in [[WebPreferences]].
+
+# <a name="TWiki Installation Error"></a> TWiki Installation Error
+
+Incorrect format of search template (missing sections? There should be 4 %SPLIT% tags) [[more...|Main/WebChanges]]
+
+## <a name="%WEB% Web Utilities"></a> %WEB% Web Utilities
+
+<form action="http://www.dementia.org/twiki/search/%WEB%/">
+  <ul>
+    <li><input name="search" size="22" type="text" /> <input type="submit" value="Search" /> - [[Main/WebSearchAdvanced]]</li>
+    <li>[[Main/WebTopicList]] - all topics in alphabetical order </li>
+    <li>[[Main/WebChanges]] - recent topic changes in this web </li>
+    <li>[[Main/WebNotify]] - subscribe to an e-mail alert sent when topics change </li>
+    <li>[[Main/WebRss]], [[Main/WebAtom]] - RSS and ATOM news feeds of topic changes </li>
+    <li>[[Main/WebStatistics]] - listing popular topics and top contributors </li>
+    <li>[[Main/WebPreferences]] - preferences of this web </li>
+  </ul>
+</form>
diff --git a/Trash/WebIndex.mdwn b/Trash/WebIndex.mdwn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/Trash/WebLeftBar.mdwn b/Trash/WebLeftBar.mdwn
new file mode 100644 (file)
index 0000000..adeccd5
--- /dev/null
@@ -0,0 +1,6 @@
+- **[[  %INCLUDINGWEB% Web|INCLUDINGWEB/WebHome]]**
+- [[  Index|Main/WebTopicList]]
+- [[  Search|INCLUDINGWEB/WebSearch]]
+- [[  Changes|Main/WebChanges]]
+
+----
diff --git a/Trash/WebNotify.mdwn b/Trash/WebNotify.mdwn
new file mode 100644 (file)
index 0000000..47bc661
--- /dev/null
@@ -0,0 +1,5 @@
+This is a subscription service to be automatically notified by e-mail when topics change in this **%WEB%** web. This is a convenient service, so you do not have to come back and check all the time if something has changed. To subscribe, please add a bullet with your %SYSTEMWEB%.WikiName in alphabetical order to this list:
+
+- [[TWikiGuest]] - <example@your.company>
+
+**_Related topics:_** %SYSTEMWEB%.WebChangesAlert, %SYSTEMWEB%.TWikiRegistration
diff --git a/Trash/WebPreferences.mdwn b/Trash/WebPreferences.mdwn
new file mode 100644 (file)
index 0000000..eff5b84
--- /dev/null
@@ -0,0 +1,26 @@
+# <a name="%WEB% Web Preferences"></a><a name=" %WEB% Web Preferences"></a> %WEB% Web Preferences
+
+The following settings are **_web preferences_** of the [[%WEB%|WEB/WebHome]] web. These preferences overwrite the **_site-level preferences_** in [[%SYSTEMWEB%.TWikiPreferences|SYSTEMWEB/TWikiPreferences]] and [[Main.TWikiPreferences|Main/TWikiPreferences]], and can be overwritten by **_user preferences_** (your personal topic, eg: %USERSWEB%.admin in the [[%USERSWEB%|USERSWEB/WebHome]] web).
+
+<div>
+  <ul>
+    <li><a href="#Web Preferences Settings"> Web Preferences Settings</a></li>
+  </ul>
+</div>
+
+## <a name="Web Preferences Settings"></a> Web Preferences Settings
+
+These settings override the defaults for this web only. See [[full list of defaults with explanation|SYSTEMWEB/TWikiPreferences#DefaultWebPreferences]].
+
+- Set WEBBGCOLOR = #FF0099
+- Set SITEMAPWHAT = Place for trashed topics and attachments.
+- Set SITEMAPUSETO = ...get rid of unused stuff.
+- Set NOSEARCHALL = on
+
+- Restricted to adminsso that deleted topics can't be viewed by spies.
+  - Set ALLOWWEBVIEW = %USERSWEB%.TWikiAdminGroup
+  - Set ALLOWTOPICCHANGE = %USERSWEB%.TWikiAdminGroup
+  - Set ALLOWTOPICRENAME = %USERSWEB%.TWikiAdminGroup
+
+- Web preferences that are **not** allowed to be overridden by sub-web, user or topic preferences:
+  - Set FINALPREFERENCES = NOSEARCHALL, ATTACHFILESIZELIMIT, WIKIWEBMASTER, WEBCOPYRIGHT, WEBTOPICLIST, DENYWEBVIEW, ALLOWWEBVIEW, DENYWEBCHANGE, ALLOWWEBCHANGE, DENYWEBRENAME, ALLOWWEBRENAME
diff --git a/Trash/WebRss.mdwn b/Trash/WebRss.mdwn
new file mode 100644 (file)
index 0000000..594bd76
--- /dev/null
@@ -0,0 +1 @@
+http://www.dementia.org/twiki/view/%WEB% The %WEB% web of TWiki. TWiki is a Web-Based Collaboration Platform for the Enterprise.
diff --git a/Trash/WebSearch.mdwn b/Trash/WebSearch.mdwn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/Trash/WebSearchAdvanced.mdwn b/Trash/WebSearchAdvanced.mdwn
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/Trash/WebStatistics.mdwn b/Trash/WebStatistics.mdwn
new file mode 100644 (file)
index 0000000..115b3cf
--- /dev/null
@@ -0,0 +1,32 @@
+## <a name="Statistics for %WEB% Web"></a> Statistics for %WEB% Web
+
+<table border="1" cellpadding="0" cellspacing="0">
+  <tr>
+    <th bgcolor="#99CCCC"><strong> Month: </strong></th>
+    <th bgcolor="#99CCCC"><strong> Topic <br /> views: </strong></th>
+    <th bgcolor="#99CCCC"><strong> Topic <br /> saves: </strong></th>
+    <th bgcolor="#99CCCC"><strong> File <br /> uploads: </strong></th>
+    <th bgcolor="#99CCCC"><strong> Most popular <br /> topic views: </strong></th>
+    <th bgcolor="#99CCCC"><strong> Top contributors for <br /> topic save and uploads: </strong></th>
+  </tr>
+  <tr>
+    <td>
+    </td>
+    <td>
+    </td>
+    <td>
+    </td>
+    <td>
+    </td>
+    <td>
+    </td>
+    <td>
+    </td>
+  </tr>
+</table>
+
+**_Notes:_**
+
+- Do not edit this topic, it is updated automatically. (You can also [force](http://www.dementia.org/twiki/statistics/%WEB%) an update)
+- [[TWikiSiteTools|SYSTEMWEB/TWikiSiteTools#WebStatistics_site_statistics]] tells you how to enable the automatic updates of the statistics.
+- Suggestion: You could archive this topic once a year and delete the previous year's statistics from the table.
diff --git a/Trash/WebTopicList.mdwn b/Trash/WebTopicList.mdwn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/_default/WebAtom.mdwn b/_default/WebAtom.mdwn
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/_default/WebChanges.mdwn b/_default/WebChanges.mdwn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/_default/WebCreateNewTopic.mdwn b/_default/WebCreateNewTopic.mdwn
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/_default/WebHome.mdwn b/_default/WebHome.mdwn
new file mode 100644 (file)
index 0000000..99d4bd7
--- /dev/null
@@ -0,0 +1,21 @@
+# <a name="Welcome to the %WEB% web"></a><a name=" Welcome to the %WEB% web"></a> Welcome to the %WEB% web
+
+## <a name="Available Information"></a> Available Information
+
+- ...
+- ...
+- ...
+
+## <a name="%WEB% Web Utilities"></a> %WEB% Web Utilities
+
+<form action="http://www.dementia.org/twiki/search/%WEB%/">
+  <ul>
+    <li><input name="search" size="22" type="text" /> <input type="submit" value="Search" /> - [[Main/WebSearchAdvanced]]</li>
+    <li>[[Main/WebTopicList]] - all topics in alphabetical order </li>
+    <li>[[Main/WebChanges]] - recent topic changes in this web </li>
+    <li>[[Main/WebNotify]] - subscribe to an e-mail alert sent when topics change </li>
+    <li>[[Main/WebRss]], [[Main/WebAtom]] - RSS and ATOM news feeds of topic changes </li>
+    <li>[[Main/WebStatistics]] - listing popular topics and top contributors </li>
+    <li>[[Main/WebPreferences]] - preferences of this web </li>
+  </ul>
+</form>
diff --git a/_default/WebIndex.mdwn b/_default/WebIndex.mdwn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/_default/WebLeftBar.mdwn b/_default/WebLeftBar.mdwn
new file mode 100644 (file)
index 0000000..a3e8a43
--- /dev/null
@@ -0,0 +1,11 @@
+- **[[  %INCLUDINGWEB% Web|INCLUDINGWEB/WebHome]]**
+- [[  Create New Topic|Main/WebCreateNewTopic?topicparent=WebHome]]
+- [[  Index|Main/WebTopicList]]
+- [[  Search|INCLUDINGWEB/WebSearch]]
+- [[  Changes|Main/WebChanges]]
+- [[  Notifications|Main/WebNotify]]
+- [[  RSS Feed|Main/WebRss]]
+- [[  Statistics|Main/WebStatistics]]
+- [[  Preferences|Main/WebPreferences]]
+
+----
diff --git a/_default/WebNotify.mdwn b/_default/WebNotify.mdwn
new file mode 100644 (file)
index 0000000..47bc661
--- /dev/null
@@ -0,0 +1,5 @@
+This is a subscription service to be automatically notified by e-mail when topics change in this **%WEB%** web. This is a convenient service, so you do not have to come back and check all the time if something has changed. To subscribe, please add a bullet with your %SYSTEMWEB%.WikiName in alphabetical order to this list:
+
+- [[TWikiGuest]] - <example@your.company>
+
+**_Related topics:_** %SYSTEMWEB%.WebChangesAlert, %SYSTEMWEB%.TWikiRegistration
diff --git a/_default/WebPreferences.mdwn b/_default/WebPreferences.mdwn
new file mode 100644 (file)
index 0000000..2f6a3a9
--- /dev/null
@@ -0,0 +1,63 @@
+# <a name="%WEB% Web Preferences"></a><a name=" %WEB% Web Preferences"></a> %WEB% Web Preferences
+
+The following settings are **_web preferences_** of the [[%WEB%|WEB/WebHome]] web. These preferences overwrite the **_site-level preferences_** in [[%SYSTEMWEB%.TWikiPreferences|SYSTEMWEB/TWikiPreferences]] and [[Main.TWikiPreferences|Main/TWikiPreferences]], and can be overwritten by **_user preferences_** (your personal topic, eg: %USERSWEB%.admin in the [[%USERSWEB%|USERSWEB/WebHome]] web).
+
+<div>
+  <ul>
+    <li><a href="#Web Preferences Settings"> Web Preferences Settings</a></li>
+  </ul>
+</div>
+
+## <a name="Web Preferences Settings"></a> Web Preferences Settings
+
+These settings override the defaults for this web only. See [[full list of defaults with explanation|SYSTEMWEB/TWikiPreferences#DefaultWebPreferences]]. Many of the settings below are commented out. Remove the # sign to enable a local customisation.
+
+- List of topics of the %WEB% web:
+  - #Set WEBTOPICLIST = %WEBTOPICLIST%
+
+<div style="background-color: %WEBBGCOLOR%; float: right">  %WEBBGCOLOR%  </div>
+
+- Web-specific background color: (Pick a lighter one of the %SYSTEMWEB%.StandardColors).
+  - Set WEBBGCOLOR = #DDDDDD
+  - **_Note:_** This setting is automatically configured when you create a web
+
+- Image, URL and alternate tooltip text of web's logo.%BR% **_Note:_** Don't add your own local logos to the %SYSTEMWEB%.TWikiLogos topic; create your own logos topic instead.
+  - #Set WEBLOGOIMG = %WEBLOGOIMG%
+  - #Set WEBLOGOURL = %WEBLOGOURL%
+  - #Set WEBLOGOALT = %WEBLOGOALT%
+
+- List this web in the %SYSTEMWEB%.SiteMap. If you want the web listed, then set SITEMAPLIST to `on`, do not set NOSEARCHALL, and add the "what" and "use to..." description for the site map. Use links that include the name of the web, i.e. %WEB%.Topic links.%BR% **_Note:_** Unlike other variables, the setting of SITEMAPLIST is **not** inherited from parent webs. It has to be set in **every** web that is to be listed in the %SYSTEMWEB%.SiteMap %BR%
+  - Set SITEMAPLIST = on
+  - Set SITEMAPWHAT =
+  - Set SITEMAPUSETO =
+  - **_Note:_** Above settings are automatically configured when you create a web
+
+- Exclude web from a `web="all"` search: (Set to `on` for hidden webs).
+  - Set NOSEARCHALL =
+  - **_Note:_** This setting is automatically configured when you create a web
+
+- Prevent automatic linking of [[WikiWords]] and acronyms (if set to `on`); link WikiWords (if empty); can be overwritten by web preferences:
+  - #Set NOAUTOLINK = %NOAUTOLINK%
+  - **_Note:_** You can still use the `[[...][...]]` syntax to link topics if you disabled WikiWord linking. The `<noautolink> ... </noautolink>` syntax can be used to prevents links within a block of text.
+
+- Default template for **new topics** for this web:
+  - [[WebTopicEditTemplate]]: Default template for new topics in this web. (Site-level is used if topic does not exist)
+  - [[%SYSTEMWEB%.WebTopicEditTemplate|SYSTEMWEB/WebTopicEditTemplate]]: Site-level default topic template
+
+- Comma separated list of **forms** that can be attached to topics in this web. See %SYSTEMWEB%.TWikiForms for more information.
+  - Set WEBFORMS =
+
+- Users or groups who **_are not_** / **_are_** allowed to **_view_** / **_change_** / **_rename_** topics in the %WEB% web: (See %SYSTEMWEB%.TWikiAccessControl).
+  - Set DENYWEBVIEW =
+  - Set ALLOWWEBVIEW =
+  - Set DENYWEBCHANGE =
+  - Set ALLOWWEBCHANGE =
+  - Set DENYWEBRENAME =
+  - Set ALLOWWEBRENAME =
+
+- Users or groups allowed to change or rename this %TOPIC% topic: (e.g., %USERSWEB%.TWikiAdminGroup)
+  - Set ALLOWTOPICCHANGE =
+  - Set ALLOWTOPICRENAME =
+
+- Web preferences that are **not** allowed to be overridden by sub-web, user or topic preferences:
+  - Set FINALPREFERENCES = NOSEARCHALL, ATTACHFILESIZELIMIT, WIKIWEBMASTER, WEBCOPYRIGHT, WEBTOPICLIST, DENYWEBVIEW, ALLOWWEBVIEW, DENYWEBCHANGE, ALLOWWEBCHANGE, DENYWEBRENAME, ALLOWWEBRENAME
diff --git a/_default/WebRss.mdwn b/_default/WebRss.mdwn
new file mode 100644 (file)
index 0000000..594bd76
--- /dev/null
@@ -0,0 +1 @@
+http://www.dementia.org/twiki/view/%WEB% The %WEB% web of TWiki. TWiki is a Web-Based Collaboration Platform for the Enterprise.
diff --git a/_default/WebSearch.mdwn b/_default/WebSearch.mdwn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/_default/WebSearchAdvanced.mdwn b/_default/WebSearchAdvanced.mdwn
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/_default/WebStatistics.mdwn b/_default/WebStatistics.mdwn
new file mode 100644 (file)
index 0000000..115b3cf
--- /dev/null
@@ -0,0 +1,32 @@
+## <a name="Statistics for %WEB% Web"></a> Statistics for %WEB% Web
+
+<table border="1" cellpadding="0" cellspacing="0">
+  <tr>
+    <th bgcolor="#99CCCC"><strong> Month: </strong></th>
+    <th bgcolor="#99CCCC"><strong> Topic <br /> views: </strong></th>
+    <th bgcolor="#99CCCC"><strong> Topic <br /> saves: </strong></th>
+    <th bgcolor="#99CCCC"><strong> File <br /> uploads: </strong></th>
+    <th bgcolor="#99CCCC"><strong> Most popular <br /> topic views: </strong></th>
+    <th bgcolor="#99CCCC"><strong> Top contributors for <br /> topic save and uploads: </strong></th>
+  </tr>
+  <tr>
+    <td>
+    </td>
+    <td>
+    </td>
+    <td>
+    </td>
+    <td>
+    </td>
+    <td>
+    </td>
+    <td>
+    </td>
+  </tr>
+</table>
+
+**_Notes:_**
+
+- Do not edit this topic, it is updated automatically. (You can also [force](http://www.dementia.org/twiki/statistics/%WEB%) an update)
+- [[TWikiSiteTools|SYSTEMWEB/TWikiSiteTools#WebStatistics_site_statistics]] tells you how to enable the automatic updates of the statistics.
+- Suggestion: You could archive this topic once a year and delete the previous year's statistics from the table.
diff --git a/_default/WebTopicList.mdwn b/_default/WebTopicList.mdwn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/_empty/WebPreferences.mdwn b/_empty/WebPreferences.mdwn
new file mode 100644 (file)
index 0000000..e69de29