1 ## <a name="TWiki Implementation Notes"></a> TWiki Implementation Notes
3 ### <a name="Platform"></a> Platform
5 TWiki is written in Perl 5 and uses also 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 ### <a name="Directory Structure"></a> Directory Structure
9 <table border="1" cellpadding="0" cellspacing="0">
11 <th bgcolor="#99CCCC"><strong> Directory: </strong></th>
12 <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
15 <td><code><b>twiki/bin</b></code></td>
16 <td> TWiki Perl scripts </td>
19 <td><code><b>twiki/bin/TWiki</b></code></td>
20 <td> TWiki Perl modules </td>
23 <td><code><b>twiki/bin/TWiki/Plugins</b></code></td>
24 <td> Plugins modules </td>
27 <td><code><b>twiki/pub</b></code></td>
28 <td> Public files ([[Main/FileAttachments]], images) </td>
31 <td><code><b>twiki/data</b></code></td>
32 <td> source text </td>
35 <td><code><b>twiki/templates</b></code></td>
36 <td> HTML templates, used by TWiki scripts </td>
40 **_Note:_** You could move the <code>**twiki/bin/TWiki**</code> library directory (including <code>**Plugins**</code> ) to <code>**twiki/lib/TWiki**</code>; the scripts look for a <code>**"."**</code> and <code>**"../lib"**</code> relative library path.
42 #### <a name="Files in twiki/bin"></a> Files in twiki/bin
44 <table border="1" cellpadding="0" cellspacing="0">
46 <th bgcolor="#99CCCC"><strong> File: </strong></th>
47 <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
50 <td><code><b>.htaccess.txt</b></code></td>
51 <td> Authentication. Rename to .htaccess and customize if used </td>
54 <td><code><b>attach</b></code></td>
55 <td> Script that shows the attach file page ([[Main/FileAttachment]]) </td>
58 <td><code><b>delete</b></code></td>
59 <td> (not used yet) </td>
62 <td><code><b>edit</b></code></td>
63 <td> Script to edit a topic </td>
66 <td><code><b>geturl</b></code></td>
67 <td> Script to fetch URL data </td>
70 <td><code><b>mailnotify</b></code></td>
71 <td> Script called by cron job to notify users of changes </td>
74 <td><code><b>oops</b></code></td>
75 <td> Script that shows an OK or oops dialog </td>
78 <td><code><b>preview</b></code></td>
79 <td> Script to preview topic after edit </td>
82 <td><code><b>rdiff</b></code></td>
83 <td> Script to see differences of topics </td>
86 <td><code><b>register</b></code></td>
87 <td> Script to register new users </td>
90 <td><code><b>save</b></code></td>
91 <td> Script that saves a topic, called by preview </td>
94 <td><code><b>search</b></code></td>
95 <td> Script that displays search results </td>
98 <td><code><b>statistics</b></code></td>
99 <td> Script to create statistics topic </td>
102 <td><code><b>testenv</b></code></td>
103 <td> Script to test CGI environment variables </td>
106 <td><code><b>upload</b></code></td>
107 <td> Script that does file upload ([[Main/FileAttachment]]) </td>
110 <td><code><b>view</b></code></td>
111 <td> Script to view a topic ( <strong>the</strong> script ) </td>
114 <td><code><b>viewfile</b></code></td>
115 <td> Script to view an file attachment </td>
118 <td><code><b>TWiki.pm</b></code></td>
119 <td> Main TWiki library </td>
122 <td><code><b>TWiki.cfg</b></code></td>
123 <td> For initialization and configuration, used by <code><b>TWiki.pm</b></code></td>
127 #### <a name="Files in twiki/bin/TWiki"></a> Files in twiki/bin/TWiki
129 <table border="1" cellpadding="0" cellspacing="0">
131 <th bgcolor="#99CCCC"><strong> File: </strong></th>
132 <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
135 <td><code><b>Access.pm</b></code></td>
136 <td> Access control </td>
139 <td><code><b>Net.pm</b></code></td>
140 <td> SMTP mail handling </td>
143 <td><code><b>Plugins.pm</b></code></td>
144 <td> Plugin handling </td>
147 <td><code><b>Prefs.pm</b></code></td>
148 <td> Preferences handling </td>
151 <td><code><b>Search.pm</b></code></td>
152 <td> Search engine, used by wiki.pm </td>
155 <td><code><b>Store.pm</b></code></td>
156 <td> Back-end storage, <code>*.txt</code> text file and <code>*.txt,v</code> RCS repository file handling </td>
160 #### <a name="Files in twiki/bin/TWiki/Plugins"></a> Files in twiki/bin/TWiki/Plugins
162 <table border="1" cellpadding="0" cellspacing="0">
164 <th bgcolor="#99CCCC"><strong> File: </strong></th>
165 <th bgcolor="#99CCCC"><strong> Used for: </strong></th>
168 <td><code><b>DefaultPlugin.pm</b></code></td>
169 <td> Default plugin </td>
172 <td><code><b>EmptyPlugin.pm</b></code></td>
173 <td> Empty plugin, use to create your own </td>
177 -- [[PeterThoeny]] - 03 Mar 2001 <br />