## TWiki Implementation Notes ### Platform 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. ### Directory Structure
| Directory: | Used for: |
|---|---|
twiki/bin |
TWiki Perl scripts |
twiki/bin/TWiki |
TWiki Perl modules |
twiki/bin/TWiki/Plugins |
Plugins modules |
twiki/pub |
Public files (File Attachments?, images) |
twiki/data |
source text |
twiki/templates |
HTML templates, used by TWiki scripts |
**twiki/bin/TWiki** library directory (including **Plugins** ) to **twiki/lib/TWiki**; the scripts look for a **"."** and **"../lib"** relative library path.
#### 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 (File Attachment?) |
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 |
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 (File Attachment?) |
view |
Script to view a topic ( the script ) |
viewfile |
Script to view an file attachment |
TWiki.pm |
Main TWiki library |
TWiki.cfg |
For initialization and configuration, used by TWiki.pm |
| File: | Used for: |
|---|---|
Access.pm |
Access control |
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 |
| File: | Used for: |
|---|---|
DefaultPlugin.pm |
Default plugin |
EmptyPlugin.pm |
Empty plugin, use to create your own |