The Architecture
To Edit Addresses, Templates, Actions, etc.
- Start the server (using the ComSwiki Launcher)
- Bring up the window menu for the SwikiBrowser
- This is done by pressing the icon next to the X button
- Select 'open swiki browser...'
Updates made in the SwikiBrowser will take immediate effect.
Addresses
- addresses are smalltalk blocks
- for instance, swiki/4.edit has an 'edit' address
- request, response, shelf, book and page 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 'view' (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, response, shelf and book
- a page action receives request, response, shelf, book and page
- actions are compiled and loaded into memory at startup
Setup
- the 'setup.xml' file contains the information that the shelf will need to know to initialize that specific book.
- setup is not inherited
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
- settings are inherited
Shelf
- the shelf is the place where the requests come in. The shelf decides whether the request should be processed by a book or by itself.
Books
- the book holds the pages.
- the settings for the book are values it uses during processing and can be altered.
- the modules are things that are created at run time (usually through the initialize priv address) and are not stored.
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 serious problems