=== Top of the Swiki === Attachments ===
The Architecture
Addresses
- addresses are smalltalk blocks
- for instance, swiki/4.edit has an 'edit' address
- book and request are sent to the 'edit.page' address and what returns is the page content (a string)
- addresses are compiled and loaded into memory at startup
Templates
- templates are the HTML files which are used by the addresses to display information
- for instance, the default template (for viewing) is 'default.page' (page since it is only to be used for pages)
- templates call actions by having the name of the action surrounded by '<?' and '?>'
- for instance, '<?bookname?>' maps to 'book pages at: 1 showName'
- a book template can only call book actions
- a page template can call both book and page actions
- templates are loaded into memory at startup
Actions
- actions are smalltalk blocks called by templates to add functionality
- a book action receives request and book
- a page action receives request, page, and book
- actions are compiled and loaded into memory at startup
Settings
- the 'settings.xml' file contains the static objects that the Swiki will need to run, such as formatter, color scheme, file locations, etc.
- these settings are compiled and loaded into memory at startup
Shelf
Books
Pages
- the pages are processed at startup (text and old versions are not loaded into memory for memory conservation)
- do NOT edit pages manually while the server is running since this can cause errors