Kiwi Kiwi

Yet another WikiWithProgrammableContent / SmartWiki.

KiwiKiwi considers pages to be things with plain text on them, and a set of key/value pairs to store metadata. They live within arbitrarily-named namespaces. Pages with code on them are by convention placed in the "code" namespace, but their only difference from non-code pages is that they have (hopefully) syntactically valid PerlLanguage on them.

Code is all executed in a Safe compartment - an interface to the code outside the compartment is provided by several global variables visible to the compartment ($CONTEXT, $REQUEST, $RESPONSE, $STORE).

Pages are rendered by locating the code for rendering the given page (by looking in the "code" and "bootstrap" metadata strings), and calling it. Thus pages can have arbitrary behaviour (for example, the Inspect page).

It's still in development; there's no page ownership or versioning yet, two features I intend to implement (mainly to disallow random people editing the code).

Running at http://www.mcs.vuw.ac.nz/~donald/cgi-bin/kiwikiwi

- DonaldGordon


EditText of this page (last edited August 20, 2003) or FindPage with title or text search