## <a name="TWiki_Implementation_Notes"> TWiki Implementation Notes </a> ### <a name="Platform"> Platform </a> 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. ### <a name="Directory_Structure"> Directory Structure </a> <table border="1" cellpadding="1" cellspacing="0"> <tr> <th bgcolor="#99CCCC"><strong>Directory:</strong></th> <th bgcolor="#99CCCC"><strong>Used for:</strong></th> </tr> <tr> <td><code><b>twiki/bin</b></code></td> <td> TWiki Perl scripts </td> </tr> <tr> <td><code><b>twiki/bin/TWiki</b></code></td> <td> TWiki Perl modules </td> </tr> <tr> <td><code><b>twiki/bin/TWiki/Plugins</b></code></td> <td> Plugins modules </td> </tr> <tr> <td><code><b>twiki/pub</b></code></td> <td> Public files (<span style="background:"><font color="">File Attachments</font></span><a href="http://LOCATION/FileAttachments">?</a>, images) </td> </tr> <tr> <td><code><b>twiki/data</b></code></td> <td> source text </td> </tr> <tr> <td><code><b>twiki/templates</b></code></td> <td> HTML templates, used by TWiki scripts </td> </tr> </table> **_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. #### <a name="Files_in_twiki_bin"> Files in twiki/bin </a> <table border="1" cellpadding="1" 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 (<span style="background:"><font color="">File Attachment</font></span><a href="http://LOCATION/FileAttachment">?</a>) </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> </tr> <tr> <td><code><b>rdiff</b></code></td> <td> Script to see differences of topics </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 (<span style="background:"><font color="">File Attachment</font></span><a href="http://LOCATION/FileAttachment">?</a>) </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> <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 initialization and configuration, used by <code><b>TWiki.pm</b></code></td> </tr> </table> #### <a name="Files_in_twiki_bin_TWiki"> Files in twiki/bin/TWiki </a> <table border="1" cellpadding="1" 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>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="Files_in_twiki_bin_TWiki_Plugins"> Files in twiki/bin/TWiki/Plugins </a> <table border="1" cellpadding="1" 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> </tr> <tr> <td><code><b>EmptyPlugin.pm</b></code></td> <td> Empty plugin, use to create your own </td> </tr> </table> -- [[Main/PeterThoeny]] - 03 Mar 2001 <br />