3 <li><a href="#TWiki Implementation Notes"> TWiki Implementation Notes</a><ul>
4 <li><a href="#Platforms and System Requirement"> Platforms and System Requirements </a></li>
5 <li><a href="#Directory Structure"> Directory Structure</a><ul>
6 <li><a href="#Files in twiki"> Files in <code>twiki</code></a></li>
7 <li><a href="#Files in twiki/bin"> Files in <code>twiki/bin</code></a></li>
8 <li><a href="#Files in twiki/lib"> Files in <code>twiki/lib</code></a></li>
9 <li><a href="#Files in twiki/lib/TWiki"> Files in <code>twiki/lib/TWiki</code></a></li>
10 <li><a href="#Files in twiki/lib/TWiki/Plugins"> Files in <code>twiki/lib/TWiki/Plugins</code></a></li>
11 <li><a href="#Files in twiki/pub"> Files in <code>twiki/pub</code></a></li>
12 <li><a href="#Files in twiki/data"> Files in <code>twiki/data</code></a></li>
13 <li><a href="#Files in twiki/templates"> Files in <code>twiki/templates</code></a></li>
21 ## <a name="TWiki Implementation Notes"></a> TWiki Implementation Notes
23 ### <a name="Platforms and System Requirement"></a> Platforms and System Requirements
25 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..._** ]
27 <table border="1" cellpadding="0" cellspacing="0">
29 <th bgcolor="#99CCCC" colspan="3"><strong> Required Environment by Platform </strong></th>
32 <th bgcolor="#99CCCC"><strong> Packages: </strong></th>
33 <th bgcolor="#99CCCC"><strong> Linux/Unix: </strong></th>
34 <th bgcolor="#99CCCC"><strong> Windows: </strong></th>
38 <td align="center"> 5.x </td>
39 <td align="center"> 5.x </td>
42 <td> Non-standard Perl modules </td>
44 <td><code>MIME::Base64</code>, Digest::SHA1 (for password generation) </td>
47 <td> Optional Perl modules </td>
48 <td><code>Net::SMTP</code> (or sendmail) </td>
49 <td align="center"><code>Net::SMTP</code></td>
53 <td align="center"> 5.7 </td>
54 <td align="center"> 5.7 (including <code>diff</code></td>
57 <td> Other external programs </td>
58 <td align="center"><code>ls</code>, <code>fgrep</code>, <code>egrep</code></td>
59 <td align="center"><code>ls</code>, <code>fgrep</code>, <code>egrep</code></td>
63 <td align="center"> Apache </td>
64 <td align="center"> Apache, IIS </td>
67 <td><em>OS versions</em></td>
68 <td align="center"><strong><em>Linux, Unix...</em></strong></td>
69 <td align="center"><strong><em>every last Win?!</em></strong></td>
73 ### <a name="Directory Structure"></a> Directory Structure
75 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:
77 <table border="1" cellpadding="0" cellspacing="0">
79 <th bgcolor="#99CCCC"><strong> Directory: </strong></th>
80 <th bgcolor="#99CCCC"><strong> Files: </strong></th>
81 <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
84 <td><code><b>twiki</b></code></td>
85 <td align="center">[[Main/WebHome#TWikiFiles]]</td>
86 <td> Start-up info </td>
89 <td><code><b>twiki/bin</b></code></td>
90 <td align="center">[[Main/WebHome#BinFiles]]</td>
91 <td> Perl scripts </td>
94 <td><code><b>twiki/lib</b></code></td>
95 <td align="center">[[Main/WebHome#LibFiles]]</td>
96 <td> Configuration file & main library </td>
99 <td><code><b>twiki/lib/TWiki</b></code></td>
100 <td align="center">[[Main/WebHome#LibTWiki]]</td>
101 <td> Perl modules </td>
104 <td><code><b>twiki/lib/TWiki/Plugins</b></code></td>
105 <td align="center">[[Main/WebHome#libtwikiplugins]]</td>
106 <td>[[Main/TWikiPlugins]] Perl modules </td>
109 <td><code><b>twiki/pub</b></code></td>
110 <td align="center">[[Main/WebHome#PubFiles]]</td>
111 <td> Public support files (ex: [[Main/FileAttachments]], images) and RCS histories) </td>
114 <td><code><b>twiki/data</b></code></td>
115 <td align="center">[[Main/WebHome#DataFiles]]</td>
116 <td> Topic text (page content) and RCS histories; </td>
119 <td><code><b>twiki/templates</b></code></td>
120 <td align="center">[[Main/WebHome#TemplatesFiles]]</td>
121 <td> HTML templates, used by TWiki scripts </td>
125 **_Note: about the additional directories in data, elsewhere_**
127 <a name="TWikiFiles"></a>
129 #### <a name="Files in twiki"></a> Files in `twiki`
133 <a name="BinFiles"></a>
135 #### <a name="Files in twiki/bin"></a> Files in `twiki/bin`
137 <table border="1" cellpadding="0" cellspacing="0">
139 <th bgcolor="#99CCCC"><strong> File: </strong></th>
140 <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
143 <td><code><b>.htaccess.txt</b></code></td>
144 <td> Authentication. Rename to .htaccess and customize if used </td>
147 <td><code><b>attach</b></code></td>
148 <td> Script that shows the attach file page ([[Main/FileAttachment]]) </td>
151 <td><code><b>delete</b></code></td>
152 <td> (not used yet) </td>
155 <td><code><b>edit</b></code></td>
156 <td> Script to edit a topic </td>
159 <td><code><b>geturl</b></code></td>
160 <td> Script to fetch URL data </td>
163 <td><code><b>mailnotify</b></code></td>
164 <td> Script called by cron job to notify users of changes </td>
167 <td><code><b>oops</b></code></td>
168 <td> Script that shows an OK or oops dialog </td>
171 <td><code><b>preview</b></code></td>
172 <td> Script to preview topic after edit </td>
175 <td><code><b>rdiff</b></code></td>
176 <td> Script to see differences of topics </td>
179 <td><code><b>rename</b></code></td>
180 <td> Script to rename/move topics and move attachments </td>
183 <td><code><b>register</b></code></td>
184 <td> Script to register new users </td>
187 <td><code><b>save</b></code></td>
188 <td> Script that saves a topic, called by preview </td>
191 <td><code><b>search</b></code></td>
192 <td> Script that displays search results </td>
195 <td><code><b>statistics</b></code></td>
196 <td> Script to create statistics topic </td>
199 <td><code><b>testenv</b></code></td>
200 <td> Script to test CGI environment variables </td>
203 <td><code><b>upload</b></code></td>
204 <td> Script that does file upload ([[Main/FileAttachment]]) </td>
207 <td><code><b>view</b></code></td>
208 <td> Script to view a topic ( <strong>the</strong> script ) </td>
211 <td><code><b>viewfile</b></code></td>
212 <td> Script to view an file attachment </td>
216 <a name="LibFiles"></a>
218 #### <a name="Files in twiki/lib"></a> Files in `twiki/lib`
220 <table border="1" cellpadding="0" cellspacing="0">
222 <th bgcolor="#99CCCC"><strong> File: </strong></th>
223 <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
226 <td><code><b>TWiki.pm</b></code></td>
227 <td> Main TWiki library </td>
230 <td><code><b>TWiki.cfg</b></code></td>
231 <td> For configuration, used by <code><b>TWiki.pm</b></code></td>
235 <a name="LibTWiki"></a>
237 #### <a name="Files in twiki/lib/TWiki"></a> Files in `twiki/lib/TWiki`
239 <table border="1" cellpadding="0" cellspacing="0">
241 <th bgcolor="#99CCCC"><strong> File: </strong></th>
242 <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
245 <td><code><b>Access.pm</b></code></td>
246 <td> Access control </td>
249 <td><code><b>Attach.pm</b></code></td>
250 <td> Attachment handling </td>
253 <td><code><b>Meta.pm</b></code></td>
254 <td> Meta data in topics </td>
257 <td><code><b>Net.pm</b></code></td>
258 <td> SMTP mail handling </td>
261 <td><code><b>Plugins.pm</b></code></td>
262 <td> Plugin handling </td>
265 <td><code><b>Prefs.pm</b></code></td>
266 <td> Preferences handling </td>
269 <td><code><b>Search.pm</b></code></td>
270 <td> Search engine, used by wiki.pm </td>
273 <td><code><b>Store.pm</b></code></td>
274 <td> Back-end storage, <code>*.txt</code> text file and <code>*.txt,v</code> RCS repository file handling </td>
278 <a name="LibTWikiPlugins"></a>
280 #### <a name="Files in twiki/lib/TWiki/Plugins"></a> Files in `twiki/lib/TWiki/Plugins`
282 <table border="1" cellpadding="0" cellspacing="0">
284 <th bgcolor="#99CCCC"><strong> File: </strong></th>
285 <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
288 <td><code><b>DefaultPlugin.pm</b></code></td>
289 <td> Default plugin </td>
292 <td><code><b>EmptyPlugin.pm</b></code></td>
293 <td> Empty plugin, use to create your own </td>
296 <td><code><b>InterwikiPlugin.pm</b></code></td>
297 <td> Refer to external Wikis and other Web sites </td>
301 <a name="PubFiles"></a>
303 #### <a name="Files in twiki/pub"></a> Files in `twiki/pub`
307 <a name="DataFiles"></a>
309 #### <a name="Files in twiki/data"></a> Files in `twiki/data`
313 <a name="TemplatesFiles"></a>
315 #### <a name="Files in twiki/templates"></a> Files in `twiki/templates`
319 -- [[MikeMannix]] - 28 Aug 2001