<li><a href="#Write Access Restriction by Web"> Write Access Restriction by Web</a></li>
<li><a href="#Rename Access Restriction by Top"> Rename Access Restriction by Topic</a></li>
<li><a href="#Rename Access Restriction by Web"> Rename Access Restriction by Web</a></li>
- <li><a href="#Read Access Restriction by Web"> Read Access Restriction by Web</a><ul>
- <li><a href="#Read Access Restriction Notes"> Read Access Restriction Notes</a></li>
- </ul>
- </li>
+ <li><a href="#Read Access Restriction by Web"> Read Access Restriction by Web</a></li>
+ <li><a href="#Read Restriction Known Issues"> Read Restriction Known Issues</a></li>
<li><a href="#The _SuperAdminGroup"> The SuperAdminGroup</a></li>
</ul>
</li>
- Set DENYWEBVIEW = < list of users and groups >
- Set ALLOWWEBVIEW = < list of users and groups >
-#### <a name="Read Access Restriction Notes"></a> Read Access Restriction Notes
+### <a name="Read Restriction Known Issues"></a> Read Restriction Known Issues
- The view restriction is not suitable for very sensitive content since there is a way to circumvent the read access restriction.
- Read access restriction only works if the view script is authenticated, that means that users need to log on also just to read topics. [TWiki Installation](TWikiDocumentation#installation) has more on basic authentication based on the `.htaccess` file.
-- There is a workaround if you prefer to to have unrestricted access to view topics located in normal webs, and to authenticate users only for webs where view restriction is enabled:
+- There is a workaround if you prefer to have unrestricted access to view topics located in normal webs, and to authenticate users only for webs where view restriction is enabled:
- Leave the `view` script non authenticated in the `.htaccess` file.
- Enable the `$doRememberRemoteUser` flag in `wikicfg.pm` as described in [TWiki Authentication](TWikiDocumentation#authentication). %WIKITOOLNAME% will now remember the IP address of an authenticated user.
- Copy the `view` script to `viewauth` (or better, create a symbolic link)
- Add `viewauth` to the list of authenticated scripts in the .htaccess file.
- - When a user accesses a web where you enabled view restriction, %WIKITOOLNAME% will redirect from the `view` script to the `viewauth` script once (this hapens only if the user has never edited a topic). Doing so will ask for authentication. The `viewauth` script shows the requested topic if the user could log on and if the user is authorized to see that web.
+ - When a user accesses a web where you enabled view restriction, %WIKITOOLNAME% will redirect from the `view` script to the `viewauth` script once (this happens only if the user has never edited a topic). Doing so will ask for authentication. The `viewauth` script shows the requested topic if the user could log on and if the user is authorized to see that web.
- If you enable view restriction for a web, it is recommended to restrict search "all webs" from searching this web. Enable this restriction with the `NOSEARCHALL` variable in its [[WebPreferences]], like:
- Set NOSEARCHALL = on
- It is not recommended to restrict view access to individual topics since all content is searchable **_within_** a web.
-- The view restriction is not suitable for very sensitive content since there is a way to circumvent the read access restriction.
-### <a name="The _SuperAdminGroup"></a> The [[SuperAdminGroup]]
+### <a name="The _SuperAdminGroup"></a> The SuperAdminGroup
The above schema can lock completely a topic in case of a typing error of the ALLOWTOPICCHANGE setting (see [UnchangeableTopicBug](http://www.twiki.org/cgi-bin/view/Codev/UnchangeableTopicBug)). To avoid this:
<div>
<ul>
- <li><a href="#TWiki Implementation Notes"> TWiki Implementation Notes</a><ul>
- <li><a href="#Platforms and System Requirement"> Platforms and System Requirements </a></li>
- <li><a href="#Directory Structure"> Directory Structure</a><ul>
+ <li><a href="#TWiki Software Environment"> TWiki Software Environment</a><ul>
+ <li><a href="#System Requirements"> System Requirements</a></li>
+ <li><a href="#TWiki Directory Structure"> TWiki Directory Structure</a></li>
+ <li><a href="#File Descriptions"> File Descriptions</a><ul>
<li><a href="#Files in twiki"> Files in <code>twiki</code></a></li>
<li><a href="#Files in twiki/bin"> Files in <code>twiki/bin</code></a></li>
- <li><a href="#Files in twiki/lib"> Files in <code>twiki/lib</code></a></li>
- <li><a href="#Files in twiki/lib/TWiki"> Files in <code>twiki/lib/TWiki</code></a></li>
- <li><a href="#Files in twiki/lib/TWiki/Plugins"> Files in <code>twiki/lib/TWiki/Plugins</code></a></li>
- <li><a href="#Files in twiki/pub"> Files in <code>twiki/pub</code></a></li>
- <li><a href="#Files in twiki/data"> Files in <code>twiki/data</code></a></li>
+ <li><a href="#Files under twiki/lib"> Files under <code>twiki/lib</code></a></li>
+ <li><a href="#Files under twiki/pub"> Files under <code>twiki/pub</code></a></li>
+ <li><a href="#Files under twiki/data"> Files under <code>twiki/data</code> </a></li>
<li><a href="#Files in twiki/templates"> Files in <code>twiki/templates</code></a></li>
</ul>
</li>
</ul>
</div>
-## <a name="TWiki Implementation Notes"></a> TWiki Implementation Notes
+## <a name="TWiki Software Environment"></a> TWiki Software Environment
-### <a name="Platforms and System Requirement"></a> Platforms and System Requirements
+### <a name="System Requirements"></a> System Requirements
-TWiki is written in **Perl 5** and also uses some **shell commands**. The current implementation runs best on a Unix machine, but it is also possible on Microsoft Windows. **RCS** (for revision control) must be installed on the system. [ **_MM: Locate elsewhere and/or include one-liner and link for RCS..._** ]
+TWiki is written in **Perl 5** and also uses some **shell commands**. It also requires that **GNU RCS** (Revision Control System) is installed on the same system. The current implementation runs best on a Linux machine, but it can also run with Microsoft Windows.
<table border="1" cellpadding="0" cellspacing="0">
<tr>
</tr>
</table>
-### <a name="Directory Structure"></a> Directory Structure
+### <a name="TWiki Directory Structure"></a> TWiki Directory Structure
-You can easily rename the root TWiki directory - <code>**twiki**</code> - to whatever you like by changing it in the <code>**twiki.cfg**</code> configuration file. However, to keep the current installation and future upgrades simple, you should leave the subdirectory structure - the folder names and locations - exactly as is:
+You can easily rename the root TWiki directory - <code>**twiki**</code> - to whatever you like by changing it in the <code>**twiki.cfg**</code> configuration file. However, to keep the current installation and future upgrades simple, you should leave the subdirectory structure intact:
<table border="1" cellpadding="0" cellspacing="0">
<tr>
</tr>
<tr>
<td><code><b>twiki/lib/TWiki</b></code></td>
- <td align="center">[[Main/WebHome#LibTWiki]]</td>
+ <td align="center">[[Main/WebHome#LibFiles]]</td>
<td> Perl modules </td>
</tr>
<tr>
<td><code><b>twiki/lib/TWiki/Plugins</b></code></td>
- <td align="center">[[Main/WebHome#libtwikiplugins]]</td>
+ <td align="center">[[Main/WebHome#LibFiles]]</td>
<td>[[Main/TWikiPlugins]] Perl modules </td>
</tr>
<tr>
</tr>
</table>
-**_Note: about the additional directories in data, elsewhere_**
+### <a name="File Descriptions"></a> File Descriptions
+
+A rundown of the individual files in the current %VERSION% distribution, organized by TWiki root directories. Note that there may be minor differences in the start-up <code>**data**</code> files.
<a name="TWikiFiles"></a>
<a name="LibFiles"></a>
-#### <a name="Files in twiki/lib"></a> Files in `twiki/lib`
+#### <a name="Files under twiki/lib"></a> Files under `twiki/lib`
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td><code><b>TWiki.cfg</b></code></td>
<td> For configuration, used by <code><b>TWiki.pm</b></code></td>
</tr>
-</table>
-
-<a name="LibTWiki"></a>
-
-#### <a name="Files in twiki/lib/TWiki"></a> Files in `twiki/lib/TWiki`
-
-<table border="1" cellpadding="0" cellspacing="0">
- <tr>
- <th bgcolor="#99CCCC"><strong> File: </strong></th>
- <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
- </tr>
<tr>
- <td><code><b>Access.pm</b></code></td>
+ <td><code><b>TWiki/Access.pm</b></code></td>
<td> Access control </td>
</tr>
<tr>
- <td><code><b>Attach.pm</b></code></td>
+ <td><code><b>TWiki/Attach.pm</b></code></td>
<td> Attachment handling </td>
</tr>
<tr>
- <td><code><b>Meta.pm</b></code></td>
+ <td><code><b>TWiki/Meta.pm</b></code></td>
<td> Meta data in topics </td>
</tr>
<tr>
- <td><code><b>Net.pm</b></code></td>
+ <td><code><b>TWiki/Net.pm</b></code></td>
<td> SMTP mail handling </td>
</tr>
<tr>
- <td><code><b>Plugins.pm</b></code></td>
+ <td><code><b>TWiki/Plugins.pm</b></code></td>
<td> Plugin handling </td>
</tr>
<tr>
- <td><code><b>Prefs.pm</b></code></td>
+ <td><code><b>TWiki/Prefs.pm</b></code></td>
<td> Preferences handling </td>
</tr>
<tr>
- <td><code><b>Search.pm</b></code></td>
+ <td><code><b>TWiki/Search.pm</b></code></td>
<td> Search engine, used by wiki.pm </td>
</tr>
<tr>
- <td><code><b>Store.pm</b></code></td>
+ <td><code><b>TWiki/Store.pm</b></code></td>
<td> Back-end storage, <code>*.txt</code> text file and <code>*.txt,v</code> RCS repository file handling </td>
</tr>
-</table>
-
-<a name="LibTWikiPlugins"></a>
-
-#### <a name="Files in twiki/lib/TWiki/Plugins"></a> Files in `twiki/lib/TWiki/Plugins`
-
-<table border="1" cellpadding="0" cellspacing="0">
- <tr>
- <th bgcolor="#99CCCC"><strong> File: </strong></th>
- <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
- </tr>
<tr>
- <td><code><b>DefaultPlugin.pm</b></code></td>
+ <td><code><b>TWiki/Plugins/DefaultPlugin.pm</b></code></td>
<td> Default plugin </td>
</tr>
<tr>
- <td><code><b>EmptyPlugin.pm</b></code></td>
+ <td><code><b>TWiki/Plugins/EmptyPlugin.pm</b></code></td>
<td> Empty plugin, use to create your own </td>
</tr>
<tr>
- <td><code><b>InterwikiPlugin.pm</b></code></td>
+ <td><code><b>TWiki/Plugins/InterwikiPlugin.pm</b></code></td>
<td> Refer to external Wikis and other Web sites </td>
</tr>
</table>
<a name="PubFiles"></a>
-#### <a name="Files in twiki/pub"></a> Files in `twiki/pub`
+#### <a name="Files under twiki/pub"></a> Files under `twiki/pub`
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<th bgcolor="#99CCCC"><strong> File: </strong></th>
<th bgcolor="#99CCCC"><strong> Used for: </strong></th>
</tr>
-</table>
-
-<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td><code><b>favicon.ico</b></code></td>
<td> xxxx </td>
<a name="DataFiles"></a>
-#### <a name="Files in twiki/data"></a> Files in `twiki/data`
+#### <a name="Files under twiki/data"></a> Files under `twiki/data`
<table border="1" cellpadding="0" cellspacing="0">
<tr>