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