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