1 ## <a name="TWiki Implementation Notes"></a> TWiki Implementation Notes
3 ### <a name="Platform"></a> Platform
5 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.
7 <table border="1" cellpadding="0" cellspacing="0">
9 <th bgcolor="#99CCCC" colspan="3"><strong> Required Environment by Platform </strong></th>
12 <th bgcolor="#99CCCC"><strong> Package(s): </strong></th>
13 <th bgcolor="#99CCCC"><strong> Unix: </strong></th>
14 <th bgcolor="#99CCCC"><strong> Windows: </strong></th>
18 <td align="center"> 5.x </td>
19 <td align="center"> 5.x </td>
22 <td> Non-standard Perl modules </td>
24 <td><code>MIME::Base64</code>, Digest::SHA1 (for password generation) </td>
27 <td> Optional Perl modules </td>
28 <td><code>Net::SMTP</code> (or sendmail) </td>
29 <td><code>Net::SMTP</code></td>
33 <td align="center"> 5.7 </td>
34 <td align="center"> 5.7 (including <code>diff</code></td>
37 <td> Other external programs </td>
38 <td align="center"><code>ls</code>, <code>fgrep</code>, <code>egrep</code></td>
39 <td align="center"><code>ls</code>, <code>fgrep</code>, <code>egrep</code></td>
43 <td align="center"> Apache </td>
44 <td align="center"> Apache, IIS </td>
48 ### <a name="Directory Structure"></a> Directory Structure
50 <table border="1" cellpadding="0" cellspacing="0">
52 <th bgcolor="#99CCCC"><strong> Directory: </strong></th>
53 <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
56 <td><code><b>twiki/bin</b></code></td>
57 <td> TWiki Perl scripts </td>
60 <td><code><b>twiki/lib/TWiki</b></code></td>
61 <td> TWiki Perl modules </td>
64 <td><code><b>twiki/lib/TWiki/Plugins</b></code></td>
65 <td> Plugins modules </td>
68 <td><code><b>twiki/pub</b></code></td>
69 <td> Public files ([[Main/FileAttachments]], images), plus RCS histories </td>
72 <td><code><b>twiki/data</b></code></td>
73 <td> source (topic) text, including RCS histories </td>
76 <td><code><b>twiki/templates</b></code></td>
77 <td> HTML templates, used by TWiki scripts </td>
81 #### <a name="Files in twiki/bin"></a> Files in twiki/bin
83 <table border="1" cellpadding="0" cellspacing="0">
85 <th bgcolor="#99CCCC"><strong> File: </strong></th>
86 <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
89 <td><code><b>.htaccess.txt</b></code></td>
90 <td> Authentication. Rename to .htaccess and customize if used </td>
93 <td><code><b>attach</b></code></td>
94 <td> Script that shows the attach file page ([[Main/FileAttachment]]) </td>
97 <td><code><b>delete</b></code></td>
98 <td> (not used yet) </td>
101 <td><code><b>edit</b></code></td>
102 <td> Script to edit a topic </td>
105 <td><code><b>geturl</b></code></td>
106 <td> Script to fetch URL data </td>
109 <td><code><b>mailnotify</b></code></td>
110 <td> Script called by cron job to notify users of changes </td>
113 <td><code><b>oops</b></code></td>
114 <td> Script that shows an OK or oops dialog </td>
117 <td><code><b>preview</b></code></td>
118 <td> Script to preview topic after edit </td>
121 <td><code><b>rdiff</b></code></td>
122 <td> Script to see differences of topics </td>
125 <td><code><b>rename</b></code></td>
126 <td> Script to rename/move topics and move attachments </td>
129 <td><code><b>register</b></code></td>
130 <td> Script to register new users </td>
133 <td><code><b>save</b></code></td>
134 <td> Script that saves a topic, called by preview </td>
137 <td><code><b>search</b></code></td>
138 <td> Script that displays search results </td>
141 <td><code><b>statistics</b></code></td>
142 <td> Script to create statistics topic </td>
145 <td><code><b>testenv</b></code></td>
146 <td> Script to test CGI environment variables </td>
149 <td><code><b>upload</b></code></td>
150 <td> Script that does file upload ([[Main/FileAttachment]]) </td>
153 <td><code><b>view</b></code></td>
154 <td> Script to view a topic ( <strong>the</strong> script ) </td>
157 <td><code><b>viewfile</b></code></td>
158 <td> Script to view an file attachment </td>
162 #### <a name="Files in twiki/lib"></a> Files in twiki/lib
164 <table border="1" cellpadding="0" cellspacing="0">
166 <th bgcolor="#99CCCC"><strong> File: </strong></th>
167 <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
170 <td><code><b>TWiki.pm</b></code></td>
171 <td> Main TWiki library </td>
174 <td><code><b>TWiki.cfg</b></code></td>
175 <td> For initialization and configuration, used by <code><b>TWiki.pm</b></code></td>
179 #### <a name="Files in twiki/lib/TWiki"></a> Files in twiki/lib/TWiki
181 <table border="1" cellpadding="0" cellspacing="0">
183 <th bgcolor="#99CCCC"><strong> File: </strong></th>
184 <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
187 <td><code><b>Access.pm</b></code></td>
188 <td> Access control </td>
191 <td><code><b>Attach.pm</b></code></td>
192 <td> Attachment handling </td>
195 <td><code><b>Meta.pm</b></code></td>
196 <td> Meta data in topics </td>
199 <td><code><b>Net.pm</b></code></td>
200 <td> SMTP mail handling </td>
203 <td><code><b>Plugins.pm</b></code></td>
204 <td> Plugin handling </td>
207 <td><code><b>Prefs.pm</b></code></td>
208 <td> Preferences handling </td>
211 <td><code><b>Search.pm</b></code></td>
212 <td> Search engine, used by wiki.pm </td>
215 <td><code><b>Store.pm</b></code></td>
216 <td> Back-end storage, <code>*.txt</code> text file and <code>*.txt,v</code> RCS repository file handling </td>
220 #### <a name="Files in twiki/lib/TWiki/Plugins"></a> Files in twiki/lib/TWiki/Plugins
222 <table border="1" cellpadding="0" cellspacing="0">
224 <th bgcolor="#99CCCC"><strong> File: </strong></th>
225 <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
228 <td><code><b>DefaultPlugin.pm</b></code></td>
229 <td> Default plugin </td>
232 <td><code><b>EmptyPlugin.pm</b></code></td>
233 <td> Empty plugin, use to create your own </td>
236 <td><code><b>InterwikiPlugin.pm</b></code></td>
237 <td> Refer to external Wikis and other Web sites </td>
241 -- [[MikeMannix]] - 26 Aug 2001