none
[openafs-wiki.git] / TWiki / TWikiSystemRequirements.mdwn
index 65d3e03..b559741 100644 (file)
 <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="#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 in twiki/templates"> Files in <code>twiki/templates</code></a></li>
-          </ul>
-        </li>
+    <li><a href="#TWiki System Requirements"> TWiki System Requirements</a><ul>
+        <li><a href="#Server Requirements"> Server Requirements</a></li>
+        <li><a href="#Client Requirements"> Client Requirements</a></li>
+        <li><a href="#Known Issues"> Known Issues</a></li>
       </ul>
     </li>
   </ul>
 </div>
 
-## <a name="TWiki Implementation Notes"></a> TWiki Implementation Notes
+# <a name="TWiki System Requirements"></a> TWiki System Requirements
 
-### <a name="Platforms and System Requirement"></a> Platforms and System Requirements
+_Server and client requirements for TWiki 01-Feb-2003_
 
-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..._** ]
+Low client and server requirements are core features that keep TWiki widely deployable, particularly across a range of browser platforms and versions.
+
+## <a name="Server Requirements"></a> Server Requirements
+
+TWiki is written in Perl 5, uses a number of shell commands, and requires [RCS (Revision Control System)](http://www.gnu.org/software/rcs/rcs.html), a GNU Free Software package. TWiki is developed in a basic Linux/Apache environment. It also works with Microsoft Windows, and should have no problem on any other platform that meets the requirements.
 
 <table border="1" cellpadding="0" cellspacing="0">
   <tr>
-    <th bgcolor="#99CCCC" colspan="3"><strong> Required Environment by Platform </strong></th>
+    <th bgcolor="#99CCCC" colspan="3"><strong> Required Server Environment </strong></th>
   </tr>
   <tr>
-    <th bgcolor="#99CCCC"><strong> Packages: </strong></th>
-    <th bgcolor="#99CCCC"><strong> Linux/Unix: </strong></th>
-    <th bgcolor="#99CCCC"><strong> Windows: </strong></th>
+    <th bgcolor="#99CCCC"><strong> Resource </strong></th>
+    <th bgcolor="#99CCCC"><strong> Unix </strong></th>
+    <th bgcolor="#99CCCC"><strong> Windows* </strong></th>
   </tr>
   <tr>
     <td> Perl </td>
-    <td align="center"> 5.x </td>
-    <td align="center"> 5.x </td>
+    <td align="center" colspan="2"> 5.005_03 or higher (5.6.1 recommended, <br /> 5.8.0 <strong>not</strong> recommended yet, see TWiki:Codev.UsingPerl58OnRedHat8) </td>
   </tr>
   <tr>
     <td> Non-standard Perl modules </td>
-    <td>   </td>
-    <td><code>MIME::Base64</code>, Digest::SHA1 (for password generation) </td>
-  </tr>
-  <tr>
-    <td> Optional Perl modules </td>
-    <td><code>Net::SMTP</code> (or sendmail) </td>
-    <td align="center"><code>Net::SMTP</code></td>
+    <td align="center"><code>Net::SMTP</code> (or <code>sendmail</code>) </td>
+    <td align="center"><code>Net::SMTP</code>, <code>MIME::Base64</code>, <code>Digest::SHA1</code></td>
   </tr>
   <tr>
     <td> RCS </td>
-    <td align="center"> 5.7 </td>
-    <td align="center"> 5.7 (including <code>diff</code></td>
-  </tr>
-  <tr>
-    <td> Other external programs </td>
-    <td align="center"><code>ls</code>, <code>fgrep</code>, <code>egrep</code></td>
-    <td align="center"><code>ls</code>, <code>fgrep</code>, <code>egrep</code></td>
-  </tr>
-  <tr>
-    <td> Web server </td>
-    <td align="center"> Apache </td>
-    <td align="center"> Apache, IIS </td>
-  </tr>
-  <tr>
-    <td><em>OS versions</em></td>
-    <td align="center"><strong><em>Linux, Unix...</em></strong></td>
-    <td align="center"><strong><em>every last Win?!</em></strong></td>
-  </tr>
-</table>
-
-### <a name="Directory Structure"></a> Directory Structure
-
-You can easily rename the root TWiki directory - <code>**twiki**</code> - to whatever you like by changing a configuration file value. For the simplest installation and future upgrades, you should leave the subdirectory structure exactly as is:
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <th bgcolor="#99CCCC"><strong> Directory: </strong></th>
-    <th bgcolor="#99CCCC"><strong> Files: </strong></th>
-    <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
-  </tr>
-  <tr>
-    <td><code><b>twiki</b></code></td>
-    <td align="center">[[Main/WebHome#TWikiFiles]]</td>
-    <td> Start-up info </td>
-  </tr>
-  <tr>
-    <td><code><b>twiki/bin</b></code></td>
-    <td align="center">[[Main/WebHome#BinFiles]]</td>
-    <td> Perl scripts </td>
-  </tr>
-  <tr>
-    <td><code><b>twiki/lib</b></code></td>
-    <td align="center">[[Main/WebHome#LibFiles]]</td>
-    <td> Configuration file &amp; main library </td>
-  </tr>
-  <tr>
-    <td><code><b>twiki/lib/TWiki</b></code></td>
-    <td align="center">[[Main/WebHome#LibTWiki]]</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>[[Main/TWikiPlugins]] Perl modules </td>
-  </tr>
-  <tr>
-    <td><code><b>twiki/pub</b></code></td>
-    <td align="center">[[Main/WebHome#PubFiles]]</td>
-    <td> Public support files (ex: [[Main/FileAttachments]], images) and RCS histories) </td>
-  </tr>
-  <tr>
-    <td><code><b>twiki/data</b></code></td>
-    <td align="center">[[Main/WebHome#DataFiles]]</td>
-    <td> Topic text (page content) and RCS histories; </td>
-  </tr>
-  <tr>
-    <td><code><b>twiki/templates</b></code></td>
-    <td align="center">[[Main/WebHome#TemplatesFiles]]</td>
-    <td> HTML templates, used by TWiki scripts </td>
-  </tr>
-</table>
-
-**_Note: about the additional directories in data, elsewhere_**
-
-<a name="TWikiFiles"></a>
-
-#### <a name="Files in twiki"></a> Files in `twiki`
-
-**_to follow_**
-
-<a name="BinFiles"></a>
-
-#### <a name="Files in twiki/bin"></a> Files in `twiki/bin`
-
-<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>.htaccess.txt</b></code></td>
-    <td> Authentication. Rename to .htaccess and customize if used </td>
-  </tr>
-  <tr>
-    <td><code><b>attach</b></code></td>
-    <td> Script that shows the attach file page ([[Main/FileAttachment]]) </td>
-  </tr>
-  <tr>
-    <td><code><b>delete</b></code></td>
-    <td> (not used yet) </td>
-  </tr>
-  <tr>
-    <td><code><b>edit</b></code></td>
-    <td> Script to edit a topic </td>
-  </tr>
-  <tr>
-    <td><code><b>geturl</b></code></td>
-    <td> Script to fetch URL data </td>
-  </tr>
-  <tr>
-    <td><code><b>mailnotify</b></code></td>
-    <td> Script called by cron job to notify users of changes </td>
-  </tr>
-  <tr>
-    <td><code><b>oops</b></code></td>
-    <td> Script that shows an OK or oops dialog </td>
-  </tr>
-  <tr>
-    <td><code><b>preview</b></code></td>
-    <td> Script to preview topic after edit </td>
+    <td align="center" colspan="2"> 5.7 or higher (including GNU <code>diff</code>) %BR% Optional, but the all-Perl RCS replacement is not currently recommended for live sites - see TWiki:Codev.RcsLite. </td>
   </tr>
   <tr>
-    <td><code><b>rdiff</b></code></td>
-    <td> Script to see differences of topics </td>
+    <td> GNU <code>diff</code></td>
+    <td align="center" colspan="2"> GNU <code>diff</code> 2.7 or higher is required when not using the all-Perl RcsLite. %BR% Install on PATH if not included with RCS (check version with <code>diff -v</code>) </td>
   </tr>
   <tr>
-    <td><code><b>rename</b></code></td>
-    <td> Script to rename/move topics and move attachments </td>
-  </tr>
-  <tr>
-    <td><code><b>register</b></code></td>
-    <td> Script to register new users </td>
-  </tr>
-  <tr>
-    <td><code><b>save</b></code></td>
-    <td> Script that saves a topic, called by preview </td>
-  </tr>
-  <tr>
-    <td><code><b>search</b></code></td>
-    <td> Script that displays search results </td>
-  </tr>
-  <tr>
-    <td><code><b>statistics</b></code></td>
-    <td> Script to create statistics topic </td>
-  </tr>
-  <tr>
-    <td><code><b>testenv</b></code></td>
-    <td> Script to test CGI environment variables </td>
-  </tr>
-  <tr>
-    <td><code><b>upload</b></code></td>
-    <td> Script that does file upload ([[Main/FileAttachment]]) </td>
-  </tr>
-  <tr>
-    <td><code><b>view</b></code></td>
-    <td> Script to view a topic ( <strong>the</strong> script ) </td>
-  </tr>
-  <tr>
-    <td><code><b>viewfile</b></code></td>
-    <td> Script to view an file attachment </td>
-  </tr>
-</table>
-
-<a name="LibFiles"></a>
-
-#### <a name="Files in twiki/lib"></a> Files in `twiki/lib`
-
-<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>TWiki.pm</b></code></td>
-    <td> Main TWiki library </td>
-  </tr>
-  <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> Access control </td>
-  </tr>
-  <tr>
-    <td><code><b>Attach.pm</b></code></td>
-    <td> Attachment handling </td>
-  </tr>
-  <tr>
-    <td><code><b>Meta.pm</b></code></td>
-    <td> Meta data in topics </td>
-  </tr>
-  <tr>
-    <td><code><b>Net.pm</b></code></td>
-    <td> SMTP mail handling </td>
-  </tr>
-  <tr>
-    <td><code><b>Plugins.pm</b></code></td>
-    <td> Plugin handling </td>
-  </tr>
-  <tr>
-    <td><code><b>Prefs.pm</b></code></td>
-    <td> Preferences handling </td>
-  </tr>
-  <tr>
-    <td><code><b>Search.pm</b></code></td>
-    <td> Search engine, used by wiki.pm </td>
-  </tr>
-  <tr>
-    <td><code><b>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> Default plugin </td>
+    <td> Other external programs </td>
+    <td align="center" colspan="2"><code>ls, fgrep, egrep</code></td>
   </tr>
   <tr>
-    <td><code><b>EmptyPlugin.pm</b></code></td>
-    <td> Empty plugin, use to create your own </td>
+    <td> Cron/scheduler </td>
+    <td align="center"><code>cron</code></td>
+    <td><code>cron</code> equivalents </td>
   </tr>
   <tr>
-    <td><code><b>InterwikiPlugin.pm</b></code></td>
-    <td> Refer to external Wikis and other Web sites </td>
+    <td> Web server </td>
+    <td align="center" colspan="2"> Apache 1.3 is well supported; Apache 2.0 is <strong>not</strong> recommended yet (see TWiki:Support.FailedAuthenticationWithApache2OnWinNT). %BR% For other servers, CGI support, authentication, extended path required </td>
   </tr>
 </table>
 
-<a name="PubFiles"></a>
-
-#### <a name="Files in twiki/pub"></a> Files in `twiki/pub`
+%X% **\*** _Current documentation mainly covers Linux and Apache installations. See [[WindowsInstallCookbook]] for a Windows installation guide. See TWiki:Codev.TWikiOn for help with installation on various platforms including Unix, MacOS X, Apache `mod_perl`, web hosts, etc._
 
-**_to follow_**
+<a name="ClientRequirements"></a>
 
-<a name="DataFiles"></a>
+## <a name="Client Requirements"></a> Client Requirements
 
-#### <a name="Files in twiki/data"></a> Files in `twiki/data`
+The TWiki [[standard installation|Main/TWikiInstallationGuide]] has extremely low browser requirements:
 
-**_to follow_**
+- HTML 3.2 compliant
+- generates XHTML 1.0 pages that are compatible with HTML 3.2
+- minimal use of JavaScript in the user interface (degrades gracefully)
+- no cookies
+- no CSS
 
-<a name="TemplatesFiles"></a>
+You can easily add functionality, by customizing [[TWikiTemplates]], for one, while tailoring the browser requirements to your situation.
 
-#### <a name="Files in twiki/templates"></a> Files in `twiki/templates`
+## <a name="Known Issues"></a> Known Issues
 
-**_to follow_**
+- The [[TWikiPlugins]] feature currently does not have compatibility guidelines for developers. Plugins can require just about anything - browser-specific functions, stylesheets (CSS), Java applets, cookies, specific Perl modules,... - check the individual Plugin specs.
+  - %H% Plugins included in the TWiki distribution do not add requirements.
 
--- [[MikeMannix]] - 28 Aug 2001
+-- [[MikeMannix]] - 12 Jan 2002