TWiki Application Environment 
Server and client system requirements; file system structure
 Overview 
Maintaining minimum client and server requirements is necessary to keep TWiki deployment as broad as possible. 
 Server-Side Requirements 
TWiki is written in Perl 5 and uses a number of shell commands. It requires GNU RCS (Revision Control System) to be installed on the same system. TWiki is developed in a standard Linux/Apache environment. It can also work with Microsoft Windows and other platforms.
	
		
			|  Required Server Environment  | 
		
		
			|  Resource  | 
			 Unix  | 
			 Windows  | 
		
	
	
		
			|  Perl  | 
			 5.005_03 or higher  | 
		
		
			|  Non standard Perl modules  | 
			 Net::SMTP (or sendmail)  | 
			 Net::SMTP, MIME::Base64,  Digest::SHA1  | 
		
		
			|  RCS  | 
			 5.7 or higher  | 
		
		
			|  Other external programs  | 
			 ls, fgrep, egrep  | 
		
		
			|  Web server  | 
			 Apache; others (with support for CGI, authentication, extended path) *  | 
		
	
Current documentation covers Linux only. Compiling a basic 
TWikiOnWindows installation guide is an ongoing effort. 
 Client-Side Requirements 
The TWiki standard installation has extremely low browser requirements:
 
-  HTML 3.2 compliant
  -  minimal use of JavaScript in the user interface (degrades gracefully)
  -  no cookies
  -  no CSS
 
 
TWiki generates XHTML 1.0 code as long as it is compatible with HTML 3.2.
 Known Issues 
 
-  The new TWikiPlugins feature currently does not have any compatibility guidelines for developers. Plugins can require just about anything: browser-specific functions, stylesheets (CSS), Java, cookies, etc.
 
 
 TWiki File System 
You can rename the root TWiki directory - 
twiki - to whatever you like by changing it in the 
twiki.cfg configuration file. However, to keep the current installation and future upgrades simple, you should leave the subdirectory structure intact:
	
		
			|  Directory:  | 
			 Files:  | 
			 Used for:  | 
		
	
	
		
			 twiki  | 
			 list  | 
			 Start-up info  | 
		
		
			 twiki/bin  | 
			 list  | 
			 Perl scripts  | 
		
		
			 twiki/lib  | 
			 list  | 
			 Configuration file, main library, Perl system modules, Plugins  | 
		
		
			 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  | 
		
	
 File Descriptions 
A rundown of the individual files included in the current 01-Sep-2001 distribution, organized by TWiki root directories.
 Files in twiki 
Application info and the current reference documentation. 
Full file list:
	
		
			|  File:  | 
			 Used for:  | 
		
	
	
		
			 index.html  | 
			 A page with a link to first launch TWiki after install  | 
		
		
			 license.txt  | 
			 GNU General Public License and TWiki-specific info  | 
		
		
			 readme.txt  | 
			 General TWiki start-up info with relevant URLs  | 
		
		
			 TWikiDocumentation.html  | 
			 All documentation packaged as a single page  | 
		
		
			 TWikiHistory.html  | 
			 TWiki development timeline  | 
		
	
 Files in twiki/bin 
Perl CGI scripts. 
Full file list:
	
		
			|  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 under twiki/lib 
The new 
lib/TWiki/Plugins directories contain configuration, library and function files, and 
TWikiPlugins. 
Full file list:
	
		
			|  File:  | 
			 Used for:  | 
		
	
	
		
			 TWiki.pm  | 
			 Main TWiki library  | 
		
		
			 TWiki.cfg  | 
			 For configuration, used by TWiki.pm  | 
		
		
			 TWiki/Access.pm  | 
			 Access control  | 
		
		
			 TWiki/Attach.pm  | 
			 Attachment handling  | 
		
		
			 TWiki/Form.pm  | 
			 Form handling  | 
		
		
			 TWiki/Meta.pm  | 
			 Meta data in topics  | 
		
		
			 TWiki/Net.pm  | 
			 SMTP mail handling  | 
		
		
			 TWiki/Plugins.pm  | 
			 Plugin handling  | 
		
		
			 TWiki/Prefs.pm  | 
			 Preferences handling  | 
		
		
			 TWiki/Search.pm  | 
			 Search engine, used by wiki.pm  | 
		
		
			 TWiki/Store.pm  | 
			 Back-end storage, *.txt text file and *.txt,v RCS repository file handling  | 
		
		
			 TWiki/Plugins/DefaultPlugin.pm  | 
			 Handles some legacy rules  | 
		
		
			 TWiki/Plugins/EmptyPlugin.pm  | 
			 Empty plugin, use to create your own  | 
		
		
			 TWiki/Plugins/InterwikiPlugin.pm  | 
			 Use aliases as links for predefined URLs  | 
		
	
 Files under twiki/pub 
The 
pub directory stores data-related files, including images used by TWiki and 
FileAttachments. Attachments are stored in sub-directories created with the related topic name. 
Partial file list:
	
		
			|  File:  | 
			 Used for:  | 
		
	
	
		
			 favicon.ico  | 
			 ICO file  | 
		
		
			 twikilogo.gif  | 
			 GIF file  | 
		
		
			 twikilogo1.gif  | 
			 GIF file  | 
		
		
			 twikilogo2.gif  | 
			 GIF file  | 
		
		
			 twikilogo3.gif  | 
			 GIF file  | 
		
		
			 twikilogo4.gif  | 
			 GIF file  | 
		
		
			 wikiHome.gif  | 
			 GIF file  | 
		
		
			 icn/_filetypes.txt  | 
			 GIF file  | 
		
		
			 icn/bat.gif  | 
			 GIF file  | 
		
		
			 icn/bmp.gif  | 
			 GIF file  | 
		
		
			|  ...  | 
			 ...  | 
		
		
			 TWiki/FileAttachment/Sample.txt  | 
			 TEXT file  | 
		
		
			 TWiki/FileAttachment/Smile.gif  | 
			 GIF file  | 
		
		
			 TWiki/PreviewBackground/blankltgraybg.gif  | 
			 GIF file  | 
		
		
			 TWiki/PreviewBackground/blankwhitebg.gif  | 
			 GIF file  | 
		
		
			 TWiki/PreviewBackground/previewbg.gif  | 
			 GIF file  | 
		
		
			 TWiki/WabiSabi/wabisabi.gif  | 
			 GIF file  | 
		
	
 Files under twiki/data 
TWiki page data stored as individual text files. Each active web has its own subdirectory. The TWiki distribution includes four start-up webs - 
Main, 
TWiki, 
Know, 
Test - with documentation and demo content, and a 
_default directory containing all topics required to start a new web. 
Partial file list: 
	
		
			|  File:  | 
			 Used for:  | 
		
	
	
		
			 .htpasswd  | 
			 Basic Authentication (htaccess) password file  | 
		
		
			 debug.txt  | 
			 Program messages useful for debugging  | 
		
		
			 mime.types  | 
			 Recognized file formats  | 
		
		
			 warning.txt  | 
			 Diagnostic messages for identifying problems  | 
		
		
			|  _default directory can be copied to empty directory when creating new Webs  | 
		
		
			 _default/.changes  | 
			 Web-level record of topic changes  | 
		
		
			 _default/WebChanges.txt  | 
			 Display most recent topic changes in web  | 
		
		
			 _default/WebChanges.txt,v  | 
			 Revisions history (RCS)  | 
		
		
			 _default/WebHome.txt  | 
			 Default web home page  | 
		
		
			 _default/WebHome.txt,v  | 
			 Revisions history (RCS)  | 
		
		
			 _default/WebIndex.txt  | 
			 Lists all topics in a web  | 
		
		
			 _default/WebIndex.txt,v  | 
			 Revisions history (RCS)  | 
		
		
			 _default/WebNotify.txt  | 
			 Subscribe/unsubscribe to web changes email alert  | 
		
		
			 _default/WebNotify.txt,v  | 
			 Revisions history (RCS)  | 
		
		
			 _default/WebPreferences.txt  | 
			 Web-level preference settings  | 
		
		
			 _default/WebPreferences.txt,v  | 
			 Revisions history (RCS)  | 
		
		
			 _default/WebSearch.txt  | 
			 Web-level search options  | 
		
		
			 _default/WebSearch.txt,v  | 
			 Revisions history (RCS)  | 
		
		
			 _default/WebStatistics.txt  | 
			 Generates web usage statistics  | 
		
		
			 _default/WebStatistics.txt,v  | 
			 Revisions history (RCS)  | 
		
		
			|  ...  | 
			 ...  | 
		
	
 Files in twiki/templates 
Templates used to control appearance of all rendered pages. 
Full file list:
	
		
			|  File:  | 
			 Used for:  | 
		
	
	
		
			 oopsbadpwformat.tmpl  | 
			 Error message  | 
		
		
			 attachagain.tmpl  | 
			 Control screen  | 
		
		
			 attachnew.tmpl  | 
			 Control screen  | 
		
		
			 changeform.tmpl  | 
			 Control screen  | 
		
		
			 changes.tmpl  | 
			 Displays WebChanges list of recently changed topics  | 
		
		
			 edit.iejs.tmpl  | 
			 xxxx  | 
		
		
			 edit.tmpl  | 
			 Main edit window  | 
		
		
			 mailnotify.tmpl  | 
			 xxxx  | 
		
		
			 moveattachment.tmpl  | 
			 Control screen  | 
		
		
			 oopsaccesschange.tmpl  | 
			 Error message  | 
		
		
			 oopsaccessgroup.tmpl  | 
			 Error message  | 
		
		
			 oopsaccessrename.tmpl  | 
			 Error message  | 
		
		
			 oopsaccessview.tmpl  | 
			 Error message  | 
		
		
			 oopsauth.tmpl  | 
			 Error message  | 
		
		
			 attach.tmpl  | 
			 Error message  | 
		
		
			 oopschangepasswd.tmpl  | 
			 Error message  | 
		
		
			 oopsempty.tmpl  | 
			 Error message  | 
		
		
			 oopslocked.tmpl  | 
			 Error message  | 
		
		
			 oopslockedrename.tmpl  | 
			 Error message  | 
		
		
			 oopsmissing.tmpl  | 
			 Error message  | 
		
		
			 oopsmoveerr.tmpl  | 
			 Error message  | 
		
		
			 oopsnoformdef.tmpl  | 
			 Error message  | 
		
		
			 oopsnotwikiuser.tmpl  | 
			 Error message  | 
		
		
			 oopsnoweb.tmpl  | 
			 Error message  | 
		
		
			 oopspreview.tmpl  | 
			 Error message  | 
		
		
			 oopsregexist.tmpl  | 
			 Error message  | 
		
		
			 oopsregpasswd.tmpl  | 
			 Error message  | 
		
		
			 oopsregrequ.tmpl  | 
			 Error message  | 
		
		
			 oopsregthanks.tmpl  | 
			 Error message  | 
		
		
			 oopsregwiki.tmpl  | 
			 Error message  | 
		
		
			 oopsrenameerr.tmpl  | 
			 Error message  | 
		
		
			 oopsresetpasswd.tmpl  | 
			 Error message  | 
		
		
			 oopsrev.tmpl  | 
			 Error message  | 
		
		
			 oopssave.tmpl  | 
			 Error message  | 
		
		
			 oopssaveerr.tmpl  | 
			 Error message  | 
		
		
			 oopssendmailerr.tmpl  | 
			 Error message  | 
		
		
			 oopstopicexists.tmpl  | 
			 Error message  | 
		
		
			 oopsupload.tmpl  | 
			 Error message  | 
		
		
			 oopswrongpassword.tmpl  | 
			 Error message  | 
		
		
			 preview.tmpl  | 
			 Preview Changes screen  | 
		
		
			 rdiff.tmpl  | 
			 Displays text changes before & after (Diffs)  | 
		
		
			 register.tmpl  | 
			 Registration page  | 
		
		
			 registernotify.tmpl  | 
			 xxxx  | 
		
		
			 rename.tmpl  | 
			 Doing a new topic rename, user chooses web & topic  | 
		
		
			 renamebase.tmpl  | 
			 Used by other rename templates  | 
		
		
			 renameconfirm.tmpl  | 
			 Confirms a pre-specified rename, ex: undoing a rename  | 
		
		
			 renamerefs.tmpl  | 
			 Rename done, but some references not changed (topics were  locked)  | 
		
		
			 search.tmpl  | 
			 xxxx  | 
		
		
			 searchbookview.tmpl  | 
			 Search results with full topic content  | 
		
		
			 searchmeta.tmpl  | 
			 xxxx  | 
		
		
			 searchrenameview.tmpl  | 
			 Used by rename to list references to topic being renamed  | 
		
		
			 twiki.tmpl  | 
			 Base template definitions used by other templates  | 
		
		
			 view.plain.tmpl  | 
			 Alternate topic header/footer view  | 
		
		
			 view.print.tmpl  | 
			 Alternate topic header/footer view  | 
		
		
			 view.tmpl  | 
			 Main topic view  | 
		
	
-- 
MikeMannix?  - 29 Aug 2001