TWiki Implementation Notes 
  Platforms and System Requirements  
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... ]
|  Required Environment by Platform  | 
|  Packages:  |  Linux/Unix:  |  Windows:  | 
|  Perl  |  5.x  |  5.x  | 
|  Non-standard Perl modules  |     |  MIME::Base64, Digest::SHA1 (for password generation)  | 
|  Optional Perl modules  |  Net::SMTP (or sendmail)  |  Net::SMTP  | 
|  RCS  |  5.7  |  5.7 (including diff  | 
|  Other external programs  |  ls, fgrep, egrep  |  ls, fgrep, egrep  | 
|  Web server  |  Apache  |  Apache, IIS  | 
|  OS versions  |  Linux, Unix...  |  every last Win?!  | 
  Directory Structure 
You can easily rename the root TWiki directory - 
twiki - 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:
|  Directory:  |  Files:  |  Used for:  | 
 twiki  |  list  |  Start-up info  | 
 twiki/bin  |  list  |  Perl scripts  | 
 twiki/lib  |  list  |  Configuration file & main library  | 
 twiki/lib/TWiki  |  list  |  Perl modules  | 
 twiki/lib/TWiki/Plugins  |  list  |  TWikiPlugins Perl modules  | 
 twiki/pub  |  list  |  Public support files (ex: FileAttachments, images) and RCS histories)  | 
 twiki/data  |  list  |  Topic text (page content) and RCS histories;  | 
 twiki/templates  |  list  |  HTML templates, used by TWiki scripts  | 
Note: about the additional directories in data, elsewhere
   Files in twiki 
to follow
   Files in twiki/bin 
|  File:  |  Used for:  | 
 .htaccess.txt  |  Authentication. Rename to .htaccess and customize if used  | 
 attach  |  Script that shows the attach file page (FileAttachment)  | 
 delete  |  (not used yet)  | 
 edit  |  Script to edit a topic  | 
 geturl  |  Script to fetch URL data  | 
 mailnotify  |  Script called by cron job to notify users of changes  | 
 oops  |  Script that shows an OK or oops dialog  | 
 preview  |  Script to preview topic after edit  | 
 rdiff  |  Script to see differences of topics  | 
 rename  |  Script to rename/move topics and move attachments  | 
 register  |  Script to register new users  | 
 save  |  Script that saves a topic, called by preview  | 
 search  |  Script that displays search results  | 
 statistics  |  Script to create statistics topic  | 
 testenv  |  Script to test CGI environment variables  | 
 upload  |  Script that does file upload (FileAttachment)  | 
 view  |  Script to view a topic ( the script )  | 
 viewfile  |  Script to view an file attachment  | 
   Files in twiki/lib 
|  File:  |  Used for:  | 
 TWiki.pm  |  Main TWiki library  | 
 TWiki.cfg  |  For configuration, used by TWiki.pm  | 
   Files in twiki/lib/TWiki 
|  File:  |  Used for:  | 
 Access.pm  |  Access control  | 
 Attach.pm  |  Attachment handling  | 
 Meta.pm  |  Meta data in topics  | 
 Net.pm  |  SMTP mail handling  | 
 Plugins.pm  |  Plugin handling  | 
 Prefs.pm  |  Preferences handling  | 
 Search.pm  |  Search engine, used by wiki.pm  | 
 Store.pm  |  Back-end storage, *.txt text file and *.txt,v RCS repository file handling  | 
  Files in twiki/lib/TWiki/Plugins 
|  File:  |  Used for:  | 
 DefaultPlugin.pm  |  Default plugin  | 
 EmptyPlugin.pm  |  Empty plugin, use to create your own  | 
 InterwikiPlugin.pm  |  Refer to external Wikis and other Web sites  | 
   Files in twiki/pub 
to follow
   Files in twiki/data 
to follow
   Files in twiki/templates 
to follow
-- 
MikeMannix - 28 Aug 2001