%X% Templates are picked up by following the [[standard TWiki rules|Main/TWikiTemplates#Finding_Templates]] for locating template files. Note that you can use `%TMPL:INCLUDE` to include other files of templates.
+%X% Note that from TWiki release 4.1.0 leading and trailing whitespace is no longer stripped. This means that when you upgrade to TWiki 4.1.X you may need to remove the first line break in your custom comment templates. See [[TWikiReleaseNotes04x01]] for more information.
+
### <a name="Customisation example"></a> Customisation example
Provide both a `PROMPT` and an `OUTPUT` definition:
<td> TWiki:Main.DavidWeller, TWiki:Main.PeterMasiar, TWiki:Main.CrawfordCurrie <a href="http://www.c-dot.co.uk" target="_top">http://www.c-dot.co.uk</a></td>
</tr>
<tr>
- <td> Change History: </td>
- <td> </td>
+ <td align="right"> Copyright: </td>
+ <td> © 2004, TWiki:Main.CrawfordCurrie<br />© 2004-2007 TWiki:TWiki.TWikiContributor </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> 12750 (04 Feb 2007) </td>
+ </tr>
+ <tr>
+ <td align="right"> Change History: </td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td align="right"> 12750 </td>
+ <td><a href="http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item3510" rel="nofollow">Item3510</a> added a note about the changed template spec in TWiki 4.1.0. Code remains unchanged </td>
</tr>
<tr>
<td align="right"> 11358 </td>
- <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item2802" rel="nofollow">Item2802</a> moved SHORTDESCRIPTION to .pm. Coded up TWiki:main.PankajPant's suggestions as <code>nopost</code> and <code>remove</code>. Added default text for the %COMMENT as requested by TWiki:Main.AndyGlew </td>
+ <td><a href="http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item2802" rel="nofollow">Item2802</a> moved SHORTDESCRIPTION to .pm. Coded up TWiki:main.PankajPant's suggestions as <code>nopost</code> and <code>remove</code>. Added default text for the %COMMENT as requested by TWiki:Main.AndyGlew </td>
</tr>
<tr>
<td align="right"> 11118 </td>
- <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item2322" rel="nofollow">Item2322</a> removed span tag around oneliner bullet output </td>
+ <td><a href="http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item2322" rel="nofollow">Item2322</a> removed span tag around oneliner bullet output </td>
</tr>
<tr>
<td align="right"> 8788 </td>
- <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item1465" rel="nofollow">Item1465</a> Item1577: reverted 8433 to fix inclusion of correct user templates </td>
+ <td><a href="http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item1465" rel="nofollow">Item1465</a> Item1577: reverted 8433 to fix inclusion of correct user templates </td>
</tr>
<tr>
<td align="right"> 8787 </td>
- <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item1573" rel="nofollow">Item1573</a> renamed standard templates topic to avoid naming clash on Windows, where filenames are case-insensitive </td>
+ <td><a href="http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item1573" rel="nofollow">Item1573</a> renamed standard templates topic to avoid naming clash on Windows, where filenames are case-insensitive </td>
</tr>
<tr>
<td align="right"> 8433 </td>
- <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item1465" rel="nofollow">Item1465</a> Fix 'TWiki.' to 'TWiki.'; also fixed include 'UserComments' to 'UserCommentsTemplate' (at least that is what the doc suggests) </td>
+ <td><a href="http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item1465" rel="nofollow">Item1465</a> Fix 'TWiki.' to 'TWiki.'; also fixed include 'UserComments' to 'UserCommentsTemplate' (at least that is what the doc suggests) </td>
</tr>
<tr>
<td align="right"> 7427 </td>
- <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item845" rel="nofollow">Item845</a> removed duplicate date in default comments; stick with server time </td>
+ <td><a href="http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item845" rel="nofollow">Item845</a> removed duplicate date in default comments; stick with server time </td>
</tr>
<tr>
<td align="right"> 7251 </td>
- <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item810" rel="nofollow">Item810</a> fix for user template inclusion; reorganised templates to make customisation easier </td>
+ <td><a href="http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item810" rel="nofollow">Item810</a> fix for user template inclusion; reorganised templates to make customisation easier </td>
</tr>
<tr>
<td align="right"> 5906 </td>
- <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item143" rel="nofollow">Item143</a> apache warning from comment plugin when CommentsTmpl.txt not found </td>
+ <td><a href="http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item143" rel="nofollow">Item143</a> apache warning from comment plugin when CommentsTmpl.txt not found </td>
</tr>
<tr>
<td align="right"> 5519 </td>
**_Related Topics:_** [[TWikiPreferences]], [[TWikiPlugins]]
--- TWiki:Main/CrawfordCurrie - 05:07:17 16 January 2007
+-- TWiki:Main/CrawfordCurrie - 01:11:36 05 February 2007
</tr>
<tr>
<td> i18n_enabled </td>
- <td> when user interface [[Main/I18N]] support is enabled (i.e., user can choose the language for UI) </td>
+ <td> when user interface I18N support is enabled (i.e., user can choose the language for UI) </td>
</tr>
<tr>
<td> inactive </td>
The TWiki object this login manager is attached to.
-This package has smell factor of **3**
+This package has smell factor of **2**
## <a name="TWiki::Client::_TemplateLogin"></a> [[TWiki::Client::TemplateLogin|Main/TWikiClientTemplateLoginDotPm]]
The general contract for methods in the class requires that errors are signalled using exceptions. TWiki::AccessControlException is used for access control exceptions, and Error::Simple for all other types of error.
-This package has smell factor of **18**
+This package has smell factor of **17**
## <a name="TWiki::Store::_RcsFile"></a> [[TWiki::Store::RcsFile|Main/TWikiStoreRcsFileDotPm]]
This package has smell factor of **3**
-There were a total of **201** smells
+There were a total of **199** smells
### <a name="LISTMAP( formula, list ) -- eval"></a> LISTMAP( formula, list ) -- evaluate and update each element of a list
-- In the formula you can use <code>**$item**</code> to indicate the element; <code>**$index**</code> to show the index of the list, starting at 1
+- In the formula you can use <code>**$item**</code> to indicate the element; <code>**$index**</code> to show the index of the list, starting at 1. If <code>**$item**</code> is omitted, the item is appended to the formula.
- Syntax: <code>**$LISTMAP( formula, list )**</code>
- Example: <code>**%CALC\{"$LISTMAP($index: $EVAL(2 \* $item), 3, 5, 7, 11)"\}%**</code> returns <code>**1: 6, 2: 10, 3: 14, 4: 22**</code>
- Related: <code>[[$COUNTITEMS()|Main/WebHome#FuncCOUNTITEMS]]</code>, <code>[[$COUNTSTR()|Main/WebHome#FuncCOUNTSTR]]</code>, <code>[[$LIST()|Main/WebHome#FuncLIST]]</code>, <code>[[$LISTIF()|Main/WebHome#FuncLISTIF]]</code>, <code>[[$LISTITEM()|Main/WebHome#FuncLISTITEM]]</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="LISTRAND( list ) -- get one rand"></a> LISTRAND( list ) -- get one random element of a list
- Syntax: <code>**$LISTRAND( list )**</code>
-- Example: <code>**%CALC\{"$LISTRRAND(Apple, Orange, Apple, Kiwi)"\}%**</code> returns one of the four elements
+- Example: <code>**%CALC\{"$LISTRAND(Apple, Orange, Apple, Kiwi)"\}%**</code> returns one of the four elements
- Related: <code>[[$COUNTITEMS()|Main/WebHome#FuncCOUNTITEMS]]</code>, <code>[[$COUNTSTR()|Main/WebHome#FuncCOUNTSTR]]</code>, <code>[[$LIST()|Main/WebHome#FuncLIST]]</code>, <code>[[$LISTIF()|Main/WebHome#FuncLISTIF]]</code>, <code>[[$LISTITEM()|Main/WebHome#FuncLISTITEM]]</code>, <code>[[$LISTMAP()|Main/WebHome#FuncLISTMAP]]</code>, <code>[[$LISTSHUFFLE()|Main/WebHome#FuncLISTSHUFFLE]]</code>, <code>[[$LISTSIZE()|Main/WebHome#FuncLISTSIZE]]</code>, <code>[[$LISTSORT()|Main/WebHome#FuncLISTSORT]]</code>, <code>[[$LISTUNIQUE()|Main/WebHome#FuncLISTUNIQUE]]</code>, <code>[[$RAND()|Main/WebHome#FuncRAND]]</code>, <code>[[$SUM()|Main/WebHome#FuncSUM]]</code>
<a name="FuncLISTREVERSE"></a>
</tr>
<tr>
<td align="right"> Copyright: </td>
- <td> © 2001-2006, <a href="mailto:Peter@Thoeny.org">Peter@Thoeny.org</a>, <a href="http://www.structuredwikis.com/" target="_top">StructuredWikis LLC</a></td>
+ <td> © 2001-2007, <a href="mailto:Peter@Thoeny.org">Peter@Thoeny.org</a>, <a href="http://www.structuredwikis.com/" target="_top">StructuredWikis LLC</a></td>
</tr>
<tr>
<td align="right"> License: </td>
</tr>
<tr>
<td align="right"> Plugin Version: </td>
- <td> 18 Dec 2006 (r12315) </td>
+ <td> 23 Jan 2007 (r12607) </td>
</tr>
<tr>
<td align="right"> Change History: </td>
<td> </td>
</tr>
<tr>
+ <td align="right"> 23 Jan 2007: </td>
+ <td> Enhanced documentation </td>
+ </tr>
+ <tr>
<td align="right"> 18 Dec 2006: </td>
<td> Added $LISTRAND(), $LISTSHUFFLE(), $LISTTRUNCATE(); fixed spurious newline at end of topic, contributed by TWiki:Main/MichaelDaum </td>
</tr>
**_Related Topics:_** [[TWikiPreferences]], [[TWikiPlugins]]
--- TWiki:Main/PeterThoeny - 18 Dec 2006
+-- TWiki:Main/PeterThoeny - 23 Jan 2007
**_Related web sites:_**
-- <http://www.cloford.com/resources/colours/websafe2.htm>
-- <http://html-color-codes.com/>
-- <http://the-light.com/colclick.html>
-- <http://www.triplecode.com/munsell/>
+- <http://html-color-codes.info/> - map of hexadecimal color codes, with color picker
+- <http://www.triplecode.com/munsell/> - color picker based on how people _perceive_ colors
+- <http://www.cloford.com/resources/colours/websafe2.htm> - Web-safe colors
**_Related Topics:_** [[UserDocumentationCategory]], [[AdminDocumentationCategory]]
**Since:** TWiki::Plugins::VERSION 1.020 (9 Feb 2004)
-**_Note:_** TWiki internally precompiles several regular expressions to represent various string entities in an [[I18N]]-compatible manner. Plugins authors are encouraged to use these in matching where appropriate. The following are guaranteed to be present. Others may exist, but their use is unsupported and they may be removed in future TWiki versions.
+**_Note:_** TWiki internally precompiles several regular expressions to represent various string entities in an I18N-compatible manner. Plugins authors are encouraged to use these in matching where appropriate. The following are guaranteed to be present. Others may exist, but their use is unsupported and they may be removed in future TWiki versions.
In the table below, the expression marked type 'String' are intended for use within character classes (i.e. for use within square brackets inside a regular expression), for example:
<div>
<ul>
<li><a href="#Appendix A: TWiki Development Ti"> Appendix A: TWiki Development Timeline</a><ul>
- <li><a href="#TWiki Release 4.1 (Edinburgh), 1"> TWiki Release 4.1 (Edinburgh), 17 Jan 2007</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="#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>
<a name="EdinburghRelease"></a>
-## <a name="TWiki Release 4.1 (Edinburgh), 1"></a> TWiki Release 4.1 (Edinburgh), 17 Jan 2007
+## <a name="TWiki Release 4.1 (Edinburgh), 1"></a> TWiki Release 4.1 (Edinburgh), 16 Jan 2007
**_New Features and Enhancements of TWiki Release 4.1_**
- Allow date format in form fields.
- Enhance REVINFO\{\} variable with same date qualifiers as GMTIME\{\}.
- [[WebTopicCreator]] - adding ability to select a template from any topic name ending in ...Template
- - Functionality of DateFieldPlugin merged into core
+ - Functionality of TWiki:Plugins.DateFieldPlugin merged into core
- **Enhancements of Pre-installed Plugins**
- [[CommentPlugin]]: Supports removal of comment prompt after a comment is made.
- **Bugfixes**
- More than 200 bugs fixed since 4.0.5
-**_Hall of Fame of TWiki Release 4.1_**
+<a name="EdinburghHallOfFame"></a> **_Hall of Fame of TWiki Release 4.1_**
Although many more people have been involved in creating TWiki-4.1, special thanks go to the most active contributors in the following areas:
If you find an omission please fix it at TWiki:TWiki.TWikiHistory. For the full list of contributors see [[TWikiContributor]].
+**_Note:_** Sequence of contributors under "Spec, code, testing", "Templates and skins" and "Documentation" is based on number of SVN check-ins for core and default extensions from 2006-02 to 2006-12. Sequence of contributors under "TWiki.org wiki champions" and "Customer support" is based on TWiki.org web statistics from 2006-02 to 2006-12.
+
See more details on the TWiki 4.1 release at [[TWikiReleaseNotes04x01]].
<a name="DakarRelease"></a>
<td bgcolor="#ecf2f8" style="width: 10%" width="10%"> TWiki:Main.PeterThoeny </td>
</tr>
<tr>
- <td bgcolor="#ffffff" style="width: 90%" width="90%"> Internationalization: Support use of UTF-8 URLs for [[Main/I18N]] characters in TWiki page and attachment names. <a href="http://TWiki.org/cgi-bin/view/Codev/EncodeURLsWithUTF8" target="_top">Details</a></td>
+ <td bgcolor="#ffffff" style="width: 90%" width="90%"> Internationalization: Support use of UTF-8 URLs for I18N characters in TWiki page and attachment names. <a href="http://TWiki.org/cgi-bin/view/Codev/EncodeURLsWithUTF8" target="_top">Details</a></td>
<td bgcolor="#ffffff" style="width: 10%" width="10%"> TWiki:Main.RichardDonkin </td>
</tr>
<tr>
# <a name="TWiki Installation Guide"></a> TWiki Installation Guide
-_Installation instructions for the TWiki 4.0 production release._
+_Installation instructions for the TWiki 4.1 production release._
If you are upgrading from a previous version of TWiki, you probably want to read [[TWikiUpgradeGuide]] instead.
- **Enable e-mail notification** - read [[TWikiSiteTools#WebNotify]] to get [[WebChangesAlerts]].
- **Automate update of site statistics** - read [[TWikiSiteTools#WebStatistics]]
- **Automate removal of expired sessions and lease files** - read [[TWikiScripts#tick_twiki_pl]].
+- **Enable internationalization** if needed - read TWiki:TWiki/InstallationWithI18N (supplemental documentation on TWiki.org)
- **Install Plugins** if needed - TWiki:Plugins is an extensive library of Plugins for TWiki, that enhance functionality in a huge number of ways. A few Plugins are pre-installed in the TWiki distribution. Installation instructions are included in Plugins you download from TWiki:Plugins.PluginPackage on TWiki.org.
-- **Review known issues** - visit TWiki:Codev.KnownIssuesOfTWiki04x00x00 and fix issues that apply to you.
+- **Review known issues** - visit TWiki:Codev.KnownIssuesOfTWiki04x01 and fix issues that apply to you.
## <a name="Troubleshooting"></a> Troubleshooting
# <a name="TWiki Release 4.0 (Dakar)"></a><a name=" TWiki Release 4.0 (Dakar)"></a> TWiki Release 4.0 (Dakar)
+_Note: This is the release note for the previous major release version 4.0.X. It is included with 4.1.X because it contains valuable information for people upgrading from earlier versions. Both for the admin and the users. See [[TWikiReleaseNotes04x01]] for the 4.1.X release notes_
+
'Dakar' is the first major release of the TWiki Enterprise Collaboration Platform in over a year. The focus of this release has been on refactoring the code in the interests of **security**, **efficiency** and **maintainability**, though a range of powerful new features are also included. The refactoring work has included tightening up the specification of certain key TWiki behaviours, which has resulted in some specification changes. The impact on end users has been minimised as far as possible.
**_Major New Features_**
-# <a name="TWiki Release 4.1 (Edinburgh), 1"></a><a name=" TWiki Release 4.1 (Edinburgh), "></a> TWiki Release 4.1 (Edinburgh), 17 Jan 2007
+# <a name="TWiki Release 4.1.1 (Edinburgh),"></a><a name=" TWiki Release 4.1.1 (Edinburgh)"></a> TWiki Release 4.1.1 (Edinburgh), 05 Feb 2007
<div>
<ul>
<li><a href="#Introduction"> Introduction</a></li>
<li><a href="#New Features Highlights"> New Features Highlights</a></li>
+ <li><a href="#Important Changes since 4.0.5"> Important Changes since 4.0.5</a><ul>
+ <li><a href="#Supported Perl version"> Supported Perl version</a></li>
+ <li><a href="#Template spec changed"> Template spec changed</a></li>
+ </ul>
+ </li>
+ <li><a href="#Important Changes since 4.1.0"> Important Changes since 4.1.0</a></li>
<li><a href="#Deprecation Notice"> Deprecation Notice</a></li>
<li><a href="#Bug Fix Highlights"> Bug Fix Highlights</a></li>
<li><a href="#TWiki 4.1.0 Minor Release - Deta"> TWiki 4.1.0 Minor Release - Details</a><ul>
<li><a href="#TWiki 4.1.0 Enhancements"> TWiki 4.1.0 Enhancements</a></li>
</ul>
</li>
+ <li><a href="#TWiki 4.1.1 Patch Release - Deta"> TWiki 4.1.1 Patch Release - Details</a><ul>
+ <li><a href="#TWiki 4.1.1 Fixes"> TWiki 4.1.1 Fixes</a></li>
+ <li><a href="#TWiki 4.1.0 Enhancements"> TWiki 4.1.0 Enhancements</a></li>
+ </ul>
+ </li>
</ul>
</div>
## <a name="Introduction"></a> Introduction
-TWiki Release 4.1 is a minor release. TWiki releases are either major (major new features and changes in architecture), minor (enhancements and bug fixes), or patch releases (bug fixes only) which can be installed as upgrades on production installations.
+TWiki Release 4.1.0 is a minor release. TWiki releases are either major (major new features and changes in architecture), minor (enhancements and bug fixes), or patch releases (bug fixes only) which can be installed as upgrades on production installations.
-TWiki Release 4.1 introduces some good enhancements and quite many bug fixes since 4.0.5. It requires some manual work to upgrade from TWiki 4.0.5 to 4.1.0. Depending on the tailoring you have made it may take between 10 minutes to two hours to do an upgrade. If you have not made any changes to the skins the upgrade is for sure an effort that takes less than 30 minutes.
+TWiki Release 4.1.0 introduces some good enhancements and quite many bug fixes since 4.0.5. It requires some manual work to upgrade from TWiki 4.0.5 to 4.1.0. Depending on the tailoring you have made it may take between 10 minutes to two hours to do an upgrade. If you have not made any changes to the skins the upgrade is for sure an effort that takes less than 30 minutes.
The development team has done everything to maintain full compatibility with topics generated in TWiki-4.0 and there are no changes to the topic format.
+TWiki 4.1.1 addresses a series of bugs found in the first 4 weeks after the release of TWiki 4.1.0.
+
## <a name="New Features Highlights"></a> New Features Highlights
- **Easier Installation and Upgrade**
- Allow date format in form fields.
- Enhance REVINFO\{\} variable with same date qualifiers as GMTIME\{\}.
- [[WebTopicCreator]] - adding ability to select a template from any topic name ending in ...Template
- - Functionality of DateFieldPlugin merged into core
+ - Functionality of TWiki:Plugins.DateFieldPlugin merged into core
- **Enhancements of Pre-installed Plugins**
- [[CommentPlugin]]: Supports removal of comment prompt after a comment is made.
- [[TablePlugin]]: Highlight the sorted column with custom colors; includes also a general cosmetic update of default colors.
- [[TablePlugin]]: Support for initsort on more than one table. A table with the initsort option is initsorted UNLESS it is sorted by clicking on a column header. If you click on a header of another table all other tables goes back to the default sort defined by initsort or not sorted if no initsort, and the new table is sorted based on the user clicking on a table header.
+## <a name="Important Changes since 4.0.5"></a> Important Changes since 4.0.5
+
+### <a name="Supported Perl version"></a> Supported Perl version
+
+TWiki 4.0.5 worked on Perl version 5.6.X. Reports from users has shown that unfortunately TWiki 4.1.0 does not support Perl versions older then 5.8.0. It is the goal that TWiki should work on at least Perl version 5.6.X but none of the developers have had access to Perl installations older than 5.8.0.
+
+Since TWiki 4.1.0 has some urgent bugs the development team decided to release TWiki 4.1.1 without resolving the issue with Perl 5.6.X. We will however address this and try and resolve it for a planned 4.1.2 release. The TWiki community is very interested in contributions from users that have fixes for the code which will enable TWiki to run on older versions of Perl.
+
+See the [WhatVersionsOfPerlAreSupported](http://twiki.org/cgi-bin/view/Codev/WhatVersionsOfPerlAreSupported) topic to keep up to date with the discussion how to get back support for earlier Perl versions.
+
+### <a name="Template spec changed"></a> Template spec changed
+
+Until TWiki 4.0.5 [[TWikiTemplates]] the text inside template definition blocks (anything between %TMPL:DEF\{"block"\}% and %TMPL:END% was stripped of leading and trailing white space incl new lines.
+
+This caused a lot of problems for skin developers when you wanted a newline before or after the block text.
+
+From TWiki 4.1.0 this has changed so that white space is no longer stripped. Skins like PatternSkin and NatSkin have been updated so that they work with the new behavior. But if you use an older skin or have written your own you will most likely need to make some adjustments.
+
+It is not difficult. The general rule is - if you get mysterious blank lines in your skin, the newline after the %TMPL:DEF\{"block"\}% needs to be removed. Ie. the content of the block must follow on the same line as the TMPL:DEF.
+
+The spec change have the same impact on [[CommentPlugin]] templates where you may have to remove the first line break after the TMPL:DEF. See the [[CommentPluginTemplate]] for examples of how comment template definitions should look like in TWiki-4.1.X
+
+An example: A CommentPlugin template that adds a comment as appending a row to a table. Before the spec change this would work.
+
+ <verbatim>
+ %TMPL:DEF{OUTPUT:tabletest}%%POS:BEFORE%
+ |%URLPARAM{"comment"}%| -- %WIKIUSERNAME% - %DATE% |
+ %TMPL:END%
+ </verbatim>
+
+From Twiki 4.1.0 the old template definition will add an empty line before the new table row. To fix it simply remove the new line before the table.
+
+ <verbatim>
+ %TMPL:DEF{OUTPUT:tabletest}%%POS:BEFORE%|%URLPARAM{"comment"}%| -- %WIKIUSERNAME% - %DATE% |
+ %TMPL:END%
+ </verbatim>
+
+The advantage of the spec change is that now you can add leading and trailing white space including new lines. This was not possible before.
+
+## <a name="Important Changes since 4.1.0"></a> Important Changes since 4.1.0
+
+An upgrader should note the following important changes.
+
+- The directory for passthrough files and session files have been replaced by a common directory for temporary files used by TWiki. Previously the two configure settings `{PassthroughDir}` and `{Sessions}{Dir}` were by default set to `/tmp`. These config settings have been replaced by `{TempfileDir}` with the default setting value `/tmp/twiki`. If the `twiki` directory does not exist twiki will create it first time it needs it. It is highly recommended no longer to use the tmp directory common to other web applications and the new default will work fine for most. You may want to delete all the old session files in /tmp after the upgrade to 4.1.1. They all start with cgisess\_. It is additionally highly recommended to limit write access to the `{TempfileDir}` for security reasons if you have non-admin users with login access to the webserver just like you would do with the other webserver directories.
+- Many bugs fixed. If you had to implement work arounds to make things work chances are that they are fixed now. See the detailed bugfix list below.
+
## <a name="Deprecation Notice"></a> Deprecation Notice
- Usage of [[TWikiForms]] for setting preferences has been deprecated in favor of TWiki:Plugins.PreferencesPlugin. PreferencesPlugin has been included since TWiki 4.0.0 to allow more convenient editing of preferences. This plugin provides input controls, such as menus, radio buttons, and checkboxes to select preference settings.
</tr>
</table>
+## <a name="TWiki 4.1.1 Patch Release - Deta"></a> TWiki 4.1.1 Patch Release - Details
+
+The 4.1.1 release was built from SVN <http://svn.twiki.org/svn/twiki/Patch04x01> revision 12768 (05 Feb 2007).
+
+### <a name="TWiki 4.1.1 Fixes"></a> TWiki 4.1.1 Fixes
+
+<table border="1" cellpadding="0" cellspacing="0">
+ <tr>
+ <td>[[BUGS/Item3561]]</td>
+ <td> Missing js and template files in MANIFEST </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3547]]</td>
+ <td> Passthrough files not cleaned up if not stored in same directory as session files </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3546]]</td>
+ <td> Session files should not be mixed with normal tmp files from other applications </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3545]]</td>
+ <td> Configure dies with: Not an ARRAY reference at Checker.pm line 191 </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3544]]</td>
+ <td> Deleting an attachment can cause TWiki to hang almost forever </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3543]]</td>
+ <td> Some TWikiFAQs don't the have correct TOPICPARENT </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3534]]</td>
+ <td> In INSTALL.html, add link to InstallingTWiki supplemental docs </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3533]]</td>
+ <td> Redirect to viewauth broken when using script suffix and apache login </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3529]]</td>
+ <td> configure stores access octals as string </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3528]]</td>
+ <td> BlackListPlugin: Redirects to an empty classic style screen when you get caught </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3523]]</td>
+ <td> CGI session files may contain newlines </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3520]]</td>
+ <td> TWiki.spec has wrong default for directory access rights. Is 775. Must be 755. </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3517]]</td>
+ <td> configure no longer warns against non-existing store settings </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3513]]</td>
+ <td> AUTOINCn produces unwanted lease file, breaking the workflow </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3511]]</td>
+ <td> Can't go to "next" screen in configure, using Win XP </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3510]]</td>
+ <td> CommentPlugin templates newline issue - doc updates needed </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3508]]</td>
+ <td> The mailnotify script has too restrictive access permission </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3507]]</td>
+ <td> In formatted search $web is not expanded in header </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3500]]</td>
+ <td> Several attachments missing in TWikiDocGraphics </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3496]]</td>
+ <td> SpreadSheetPlugin doc work for 4.2 </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3489]]</td>
+ <td> Formatted search breaks with formfield variables and when using nested search </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3488]]</td>
+ <td> Autoattaching a single file does not work </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3483]]</td>
+ <td> Error logging in when there is apache login and DENYWEBVIEW </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3478]]</td>
+ <td> Move DEPENDENCIES file from tools to lib </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3477]]</td>
+ <td> Erroneous display of Perl version in configure </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3476]]</td>
+ <td> Configure should warn instead of dying when perl is older then v5.8.0 </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3473]]</td>
+ <td> RCS error when running configure </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3472]]</td>
+ <td> WebLeftBar in PatternSkin does not display first bullet correctly if first line </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3471]]</td>
+ <td> Jump feature broken when a web does not have the WebTopicCreator topic </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3461]]</td>
+ <td> Make sure that the latest release notes are distinguished from old ones </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3452]]</td>
+ <td> Merge messes up complex form fields </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3352]]</td>
+ <td> Wrong title text for button in PatternSkin (patch candidate) </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3303]]</td>
+ <td> Multiple addresses in WIKIWEBMASTER causes email send fail </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item3201]]</td>
+ <td> Remove exclamation mark from welcoming "Hello XXX!" </td>
+ </tr>
+ <tr>
+ <td>[[BUGS/Item2838]]</td>
+ <td> Documentation on %WEB% is ambiguous </td>
+ </tr>
+</table>
+
+### <a name="TWiki 4.1.0 Enhancements"></a> TWiki 4.1.0 Enhancements
+
+None
+
**_Related Topic:_** [[TWikiHistory]]
And if you set $newtag to '', we replace the taken out block with the valuse itself
-- which i'm using to stop the rendering process, but then at the end put in the html directly (for tag. ---++ ObjectMethod \*renderRevisionInfo\* `($web,$topic,$meta,$rev,$format) -> $string` Obtain and render revision info for a topic. \* =$web= - the web of the topic \* =$topic= - the topic \* =$meta= if specified, get rev info from here. If not specified, or meta contains rev info for a different version than the one requested, will reload the topic \* =$rev= - the rev number, defaults to latest rev \* =$format= - the render format, defaults to =$rev - $time - $wikiusername= =$format= can contain the following keys for expansion: | =$web= | the web name | | =$topic= | the topic name | | =$rev= | the rev number | | =$comment= | the comment | | =$username= | the login of the saving user | | =$wikiname= | the wikiname of the saving user | | =$wikiusername= | the web.wikiname of the saving user | | =$date= | the date of the rev (no time) | | =$time= | the time of the rev | | =$min=, =$sec=, etc. | Same date format qualifiers as GMTIME | ---++ ObjectMethod \*summariseChanges\* `($user,$web,$topic,$orev,$nrev,$tml) -> $text` \* =$user= - user (null to ignore permissions) \* =$web= - web \* =$topic= - topic \* =$orev= - older rev \* =$nrev= - later rev \* =$tml= - if true will generate renderable TML (i.e. HTML with NOPs. if false will generate a summary suitable for use in plain text (mail, for example) Generate a (max 3 line) summary of the differences between the revs. If there is only one rev, a topic summary will be returned. If =$tml= is not set, all HTML will be removed. In non-tml, lines are truncated to 70 characters. Differences are shown using + and - to indicate added and removed text. ---++ ObjectMethod \*forEachLine\* `($text,\&fn,\%options) -> $newText` Iterate over each line, calling =\\&fn= on each. \\%options may contain: \* =pre= => true, will call fn for each line in pre blocks \* =verbatim= => true, will call fn for each line in verbatim blocks \* =noautolink= => true, will call fn for each line in =noautolink= blocks The spec of \\&fn is sub fn( \\$line, \\%options ) -> $newLine; the %options hash passed into this function is passed down to the sub, and the keys =in\_pre=, =in\_verbatim= and =in\_noautolink= are set boolean TRUE if the line is from one (or more) of those block types. The return result replaces $line in $newText. ---++ StaticMethod \*replaceTopicReferences\* `($text,\%options) -> $text` Callback designed for use with forEachLine, to replace topic references. \\%options contains: \* =oldWeb= => Web of reference to replace \* =oldTopic= => Topic of reference to replace \* =spacedTopic= => RE matching spaced out oldTopic \* =newWeb= => Web of new reference \* =newTopic= => Topic of new reference \* =inWeb= => the web which the text we are presently processing resides in \* =fullPaths= => optional, if set forces all links to full web.topic form For a usage example see TWiki::UI::Manage.pm ---++ StaticMethod \*replaceWebReferences\* `($text,\%options) -> $text` Callback designed for use with forEachLine, to replace web references. \\%options contains: \* =oldWeb= => Web of reference to replace \* =newWeb= => Web of new reference For a usage example see TWiki::UI::Manage.pm ---++ ObjectMethod \*replaceWebInternalReferences\* `(\$text,\%meta,$oldWeb,$oldTopic)` Change within-web wikiwords in $$text and $meta to full web.topic syntax. \\%options must include topics => list of topics that must have references to them changed to include the web specifier. ---++ StaticMethod \*renderFormFieldArg\* `($meta,$args) -> $text` Parse the arguments to a $formfield specification and extract the relevant formfield from the given meta data. ---++ StaticMethod \*breakName\* `($text,$args) -> $text` \* =$text= - text to "break" \* =$args= - string of format (\\d+)([,\\s\*]\\.\\.\\.)?) Hyphenates $text every $1 characters, or if $2 is "..." then shortens to $1 characters and appends "..." (making the final string $1+3 characters long) \_Moved from Search.pm because it was obviously unhappy there, as it is a rendering function\_
+- which i'm using to stop the rendering process, but then at the end put in the html directly (for tag. ---++ ObjectMethod \*renderRevisionInfo\* `($web,$topic,$meta,$rev,$format) -> $string` Obtain and render revision info for a topic. \* =$web= - the web of the topic \* =$topic= - the topic \* =$meta= if specified, get rev info from here. If not specified, or meta contains rev info for a different version than the one requested, will reload the topic \* =$rev= - the rev number, defaults to latest rev \* =$format= - the render format, defaults to =$rev - $time - $wikiusername= =$format= can contain the following keys for expansion: | =$web= | the web name | | =$topic= | the topic name | | =$rev= | the rev number | | =$comment= | the comment | | =$username= | the login of the saving user | | =$wikiname= | the wikiname of the saving user | | =$wikiusername= | the web.wikiname of the saving user | | =$date= | the date of the rev (no time) | | =$time= | the time of the rev | | =$min=, =$sec=, etc. | Same date format qualifiers as GMTIME | ---++ ObjectMethod \*summariseChanges\* `($user,$web,$topic,$orev,$nrev,$tml) -> $text` \* =$user= - user (null to ignore permissions) \* =$web= - web \* =$topic= - topic \* =$orev= - older rev \* =$nrev= - later rev \* =$tml= - if true will generate renderable TML (i.e. HTML with NOPs. if false will generate a summary suitable for use in plain text (mail, for example) Generate a (max 3 line) summary of the differences between the revs. If there is only one rev, a topic summary will be returned. If =$tml= is not set, all HTML will be removed. In non-tml, lines are truncated to 70 characters. Differences are shown using + and - to indicate added and removed text. ---++ ObjectMethod \*forEachLine\* `($text,\&fn,\%options) -> $newText` Iterate over each line, calling =\\&fn= on each. \\%options may contain: \* =pre= => true, will call fn for each line in pre blocks \* =verbatim= => true, will call fn for each line in verbatim blocks \* =noautolink= => true, will call fn for each line in =noautolink= blocks The spec of \\&fn is sub fn( \\$line, \\%options ) -> $newLine; the %options hash passed into this function is passed down to the sub, and the keys =in\_pre=, =in\_verbatim= and =in\_noautolink= are set boolean TRUE if the line is from one (or more) of those block types. The return result replaces $line in $newText. ---++ StaticMethod \*replaceTopicReferences\* `($text,\%options) -> $text` Callback designed for use with forEachLine, to replace topic references. \\%options contains: \* =oldWeb= => Web of reference to replace \* =oldTopic= => Topic of reference to replace \* =spacedTopic= => RE matching spaced out oldTopic \* =newWeb= => Web of new reference \* =newTopic= => Topic of new reference \* =inWeb= => the web which the text we are presently processing resides in \* =fullPaths= => optional, if set forces all links to full web.topic form For a usage example see TWiki::UI::Manage.pm ---++ StaticMethod \*replaceWebReferences\* `($text,\%options) -> $text` Callback designed for use with forEachLine, to replace web references. \\%options contains: \* =oldWeb= => Web of reference to replace \* =newWeb= => Web of new reference For a usage example see TWiki::UI::Manage.pm ---++ ObjectMethod \*replaceWebInternalReferences\* `(\$text,\%meta,$oldWeb,$oldTopic)` Change within-web wikiwords in $$text and $meta to full web.topic syntax. \\%options must include topics => list of topics that must have references to them changed to include the web specifier. ---++ StaticMethod \*renderFormFieldArg\* `($meta,$args) -> $text` Parse the arguments to a $formfield specification and extract the relevant formfield from the given meta data. \* =args= string containing name of form field In addition to the name of a field =args= can be appended with a commas followed by a string format (\\d+)([,\\s\*]\\.\\.\\.)?). This supports the formatted search function $formfield and is used to shorten the returned string or a hyphenated string. ---++ StaticMethod \*breakName\* `($text,$args) -> $text` \* =$text= - text to "break" \* =$args= - string of format (\\d+)([,\\s\*]\\.\\.\\.)?) Hyphenates $text every $1 characters, or if $2 is "..." then shortens to $1 characters and appends "..." (making the final string $1+3 characters long) \_Moved from Search.pm because it was obviously unhappy there, as it is a rendering function\_
<li><a href="#ClassMethod <strong>new</strong> ()"> ClassMethod new <tt>()</tt></a></li>
<li><a href="#ObjectMethod *finish*"> ObjectMethod finish <tt></tt></a></li>
<li><a href="#ObjectMethod <strong>readTopic</strong> ($user,"> ObjectMethod readTopic <tt>($user,$web,$topic,$version) -> ($metaObject,$text)</tt></a></li>
+ <li><a href="#ObjectMethod *_findAttachments*"> ObjectMethod _findAttachments <tt>($session,$web,$topic,$knownAttachments) -> @attachmentsFoundInPub</tt></a></li>
<li><a href="#ObjectMethod <strong>read_TopicRaw</strong> ($u"> ObjectMethod readTopicRaw <tt>($user,$web,$topic,$version) -> $topicText</tt></a></li>
<li><a href="#ObjectMethod <strong>moveAttachment</strong> ($"> ObjectMethod moveAttachment <tt>($oldWeb,$oldTopic,$oldAttachment,$newWeb,$newTopic,$newAttachment,$user)</tt></a></li>
<li><a href="#ObjectMethod *get_AttachmentStre"> ObjectMethod getAttachmentStream <tt>($user,$web,$topic,$attName) -> \*STREAM</tt></a></li>
The metadata and topic text are returned separately, with the metadata in a TWiki::Meta object. (The topic text is, as usual, just a string.)
+## <a name="ObjectMethod <strong>_findAttachments*"></a><a name="ObjectMethod *_findAttachments</strong> "></a> [[ObjectMethod]] **\_findAttachments** `($session,$web,$topic,$knownAttachments) -> @attachmentsFoundInPub`
+
+Synchronise the attachment list with what's actually on disk Returns an ARRAY of FILEATTACHMENTs. These can be put in the new meta using meta->put('FILEATTACHMENTS', $tree)
+
+This function is only called when the [[AutoAttachPubFiles]] configuration option is set.
+
+IDEA On Windows machines where the underlying filesystem can store arbitary meta data against files, this might replace/fulfil the COMMENT purpose
+
+TODO consider logging when things are added to metadata
+
## <a name="ObjectMethod <strong>read_TopicRaw</strong> ($u"></a> [[ObjectMethod]] **readTopicRaw** `($user,$web,$topic,$version) -> $topicText`
Reads the given version of a topic, without separating out any embedded meta-data. If the version is undef, then read the most recent version. The version number must be an integer or undef.
<tr>
<td> Jcode </td>
<td> </td>
- <td> Used for [[Main/I18N]] support with perl 5.6 </td>
+ <td> Used for I18N support with perl 5.6 </td>
</tr>
<tr>
<td> Locale::Maketext::Lexicon </td>
<td> >=0 </td>
- <td> Used for [[Main/I18N]] support </td>
+ <td> Used for I18N support </td>
</tr>
<tr>
<td> Net::SMTP </td>
<tr>
<td> Unicode::Map </td>
<td> </td>
- <td> Used for [[Main/I18N]] support with perl 5.6 </td>
+ <td> Used for I18N support with perl 5.6 </td>
</tr>
<tr>
<td> Unicode::Map8 </td>
<td> </td>
- <td> Used for [[Main/I18N]] support with perl 5.6 </td>
+ <td> Used for I18N support with perl 5.6 </td>
</tr>
<tr>
<td> Unicode::MapUTF8 </td>
<td> </td>
- <td> Used for [[Main/I18N]] support with perl 5.6 </td>
+ <td> Used for I18N support with perl 5.6 </td>
</tr>
<tr>
<td> Unicode::String </td>
<td> </td>
- <td> Used for [[Main/I18N]] support with perl 5.6 </td>
+ <td> Used for I18N support with perl 5.6 </td>
</tr>
<tr>
<td> URI </td>
<li><a href="#!_TWikiUsers topic in Main web"> TWikiUsers topic in Main web</a></li>
</ul>
</li>
+ <li><a href="#Important Changes since 4.0.5"> Important Changes since 4.0.5</a><ul>
+ <li><a href="#Supported Perl version"> Supported Perl version</a></li>
+ <li><a href="#Template spec changed"> Template spec changed</a></li>
+ </ul>
+ </li>
+ <li><a href="#Important Changes since 4.1.0"> Important Changes since 4.1.0</a><ul>
+ <li><a href="#New location for session files"> New location for session files</a></li>
+ </ul>
+ </li>
</ul>
</li>
</ul>
You additionally need to ensure that TWikiUsers has the `Set ALLOWTOPICCHANGE = TWikiAdminGroup, TWikiRegistrationAgent`. Otherwise people will not be able to register.
+## <a name="Important Changes since 4.0.5"></a> Important Changes since 4.0.5
+
+### <a name="Supported Perl version"></a> Supported Perl version
+
+TWiki 4.0.5 worked on Perl version 5.6.X. Reports from users has shown that unfortunately TWiki 4.1.0 does not support Perl versions older then 5.8.0. It is the goal that TWiki should work on at least Perl version 5.6.X but none of the developers have had access to Perl installations older than 5.8.0.
+
+Since TWiki 4.1.0 has some urgent bugs the development team decided to release TWiki 4.1.1 without resolving the issue with Perl 5.6.X. We will however address this and try and resolve it for a planned 4.1.2 release. The TWiki community is very interested in contributions from users that have fixes for the code which will enable TWiki to run on older versions of Perl.
+
+See the [WhatVersionsOfPerlAreSupported](http://twiki.org/cgi-bin/view/Codev/WhatVersionsOfPerlAreSupported) topic to keep up to date with the discussion how to get back support for earlier Perl versions.
+
+### <a name="Template spec changed"></a> Template spec changed
+
+Until TWiki 4.0.5 [[TWikiTemplates]] the text inside template definition blocks (anything between %TMPL:DEF\{"block"\}% and %TMPL:END% was stripped of leading and trailing white space incl new lines.
+
+This caused a lot of problems for skin developers when you wanted a newline before or after the block text.
+
+From TWiki 4.1.0 this has changed so that white space is no longer stripped. Skins like PatternSkin and NatSkin have been updated so that they work with the new behavior. But if you use an older skin or have written your own you will most likely need to make some adjustments.
+
+It is not difficult. The general rule is - if you get mysterious blank lines in your skin, the newline after the %TMPL:DEF\{"block"\}% needs to be removed. Ie. the content of the block must follow on the same line as the TMPL:DEF.
+
+The spec change have the same impact on [[CommentPlugin]] templates where you may have to remove the first line break after the TMPL:DEF. See the [[CommentPluginTemplate]] for examples of how comment template definitions should look like in TWiki-4.1.X
+
+An example: A CommentPlugin template that adds a comment as appending a row to a table. Before the spec change this would work.
+
+ <verbatim>
+ %TMPL:DEF{OUTPUT:tabletest}%%POS:BEFORE%
+ |%URLPARAM{"comment"}%| -- %WIKIUSERNAME% - %DATE% |
+ %TMPL:END%
+ </verbatim>
+
+From Twiki 4.1.0 the old template definition will add an empty line before the new table row. To fix it simply remove the new line before the table.
+
+ <verbatim>
+ %TMPL:DEF{OUTPUT:tabletest}%%POS:BEFORE%|%URLPARAM{"comment"}%| -- %WIKIUSERNAME% - %DATE% |
+ %TMPL:END%
+ </verbatim>
+
+The advantage of the spec change is that now you can add leading and trailing white space including new lines. This was not possible before.
+
+## <a name="Important Changes since 4.1.0"></a> Important Changes since 4.1.0
+
+### <a name="New location for session files"></a> New location for session files
+
+An upgrader upgrading to 4.1.1 should note the following important change
+
+The directory for passthrough files and session files have been replaced by a common directory for temporary files used by TWiki. Previously the two configure settings `{PassthroughDir}` and `{Sessions}{Dir}` were by default set to `/tmp`. These config settings have been replaced by `{TempfileDir}` with the default setting value `/tmp/twiki`. If the `twiki` directory does not exist twiki will create it first time it needs it.
+
+It is highly recommended no longer to use the tmp directory common to other web applications and the new default will work fine for most. You may want to delete all the old session files in /tmp after the upgrade to 4.1.1. They all start with cgisess\_. It is additionally highly recommended to limit write access to the `{TempfileDir}` for security reasons if you have non-admin users with login access to the webserver just like you would do with the other webserver directories.
+
**_Related Topics:_** [[AdminDocumentationCategory]], TWiki:TWiki.UpgradingTWiki, TWiki:TWiki.UpgradingTWiki04x00PatchReleases, TWiki:TWiki.InstallingTWiki#OtherPlatforms, TWiki:TWiki.ApacheConfigGenerator, TWiki:TWiki.SettingFileAccessRightsLinuxUnix
### <a name="TOPIC -- name of current topic"></a> TOPIC -- name of current topic
+- `%TOPIC%` expands to the name of the topic. If you are looking at the text of an included topic, it is the name of the included topic.
- Syntax: `%TOPIC%`
- Expands to: `%INCLUDINGTOPIC%`, renders as [[%INCLUDINGTOPIC%|Main/INCLUDINGTOPIC]]
- Related: [[BASETOPIC|Main/WebHome#VarBASETOPIC]], [[INCLUDINGTOPIC|Main/WebHome#VarINCLUDINGTOPIC]], [[TOPICLIST|Main/WebHome#VarTOPICLIST]], [[WEB|Main/WebHome#VarWEB]]
<a name="VarUSERINFO"></a>
-### <a name="USERINFO - retrieve details abou"></a> USERINFO - retrieve details about a user (by default the logged-in user)
+### <a name="USERINFO{"_WikiName"} -- retriev"></a> USERINFO\{"WikiName"\} -- retrieve details about a user
- Syntax: `%USERINFO%`
-- Expands to: =admin, Main.admin, =
-
-**To format that information differently:**
-
-- Syntax: `%USERINFO{format="$username is really $wikiname"}%`
-- Expands to: `admin is really admin`.
- - The tokens `$emails`, `$username`, `$wikiname`, `$wikiusername`, and `$groups` are available for use in the format string .By default, the info will be formatted as a comma-separated list of the username, wikiusername, and emails.
-
-**To get information about another user:**
-
-- Syntax: `%USERINFO{"TWikiGuest" format="$username is really $wikiname"}%`
-- Expands to: ``
- - The parameter should be the wikiname of a user. You can only get information about another user if the `{AntiSpam}{HideUserDetails}` configuration option is not enabled, or if you are an admin. _(User details are hidden in this TWiki)_
-
+- Expands to: `admin, Main.admin, ` (comma-separated list of the username, wikiusername, and emails)
+- With formatted output, using tokens `$emails`, `$username`, `$wikiname`, `$wikiusername`, and `$groups`:
+ - Example: `%USERINFO{ format="$username is really $wikiname" }%`
+ - Expands to: `admin is really admin`
+- Retrieve information about another user:
+ - Example: `%USERINFO{ "TWikiGuest" format="$username is really $wikiname" }%`
+ - Expands to: ``
+ - **_Note:_** The parameter should be the wikiname of a user. You can only get information about another user if the `{AntiSpam}{HideUserDetails}` configuration option is not enabled, or if you are an admin. _(User details are hidden in this TWiki)_
- Related: [[USERNAME|Main/WebHome#VarUSERNAME]], [[WIKINAME|Main/WebHome#VarWIKINAME]], [[WIKIUSERNAME|Main/WebHome#VarWIKIUSERNAME]], [[TWikiUserAuthentication]], [[ChangeEmailAddress]]
### <a name="WEB -- name of current web"></a> WEB -- name of current web
+- `%WEB%` expands to the name of the web where the topic is located. If you are looking at the text of an included topic, it is the web where the included topic is located.
- Syntax: `%WEB%`
- Expands to: `%WEB%`
- Related: [[BASEWEB|Main/WebHome#VarBASEWEB]], [[INCLUDINGWEB|Main/WebHome#VarINCLUDINGWEB]], [[TOPIC|Main/WebHome#VarTOPIC]]
- [[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.0 Release Notes|Main/TWikiReleaseNotes04x00]] - describes what's new in this release
+- [[TWiki-4.1 Release Notes|Main/TWikiReleaseNotes04x01]] - describes what's new in this release
## <a name="%WEB% Web Utilities"></a> %WEB% Web Utilities
-<div> Hello [[Main/Admin]]!%BR%<ul>
+<div> Hello [[Main/Admin]]%BR%<ul>
<li>[[Main/WebHome?logout=1]]</li>
</ul>
<div>
### <a name="Do you wish to create the topic"></a><a name="Do you wish to create the topic "></a> Do you wish to create the topic 'WebHome'?
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/arrowbright.gif" width="16" height="16" alt="arrowbright" /> [[Create 'WebHome'|Main/WebTopicCreator?newtopic=WebHome]]
+<img src="http://www.dementia.org/twiki//view/Main/WebHome/arrowbright.gif" width="16" height="16" alt="arrowbright" /> [[Create 'WebHome'|Main/%TOPIC%?create=on&newtopic=WebHome]]