Version 7 of Wikit in abstract

Updated 2004-07-25 14:25:47

Conceptually, a Wikit is a searchable collection of inter-referential pages entered in a markup language and displayable/editable by several user interfaces.

Wikit functionality falls into four general and orthogonal categories:

1. Content and Title Keyword Search

As snitvfs points out, keyword and title keyword search functionality is directly supported by metakit views, using the mk::select facility -keyword. This is also provided by mkvfs as a special case of its pass-through to metakit select.

2. Titles: Linkage between pages

Wikit provides the ability to reference pages in a [keyword] form within markup, where the keyword maps to a page title.

This is implemented by a metakit view mapping referring->referenced pages, which is updated by inspection of pages upon creation, editing and re-titling. mkvfs could store titles as a file attribute and make them searchable as for content.

3. Markup Language with display conversions

Wikit has a markup language described in Formatting Rules. It is re-parsed then converted on-the-fly to several different user interface formats, specifically HTML and Tk Text widget commands.

Absent a page-typing system, only one kind of markup is supported. Given a more general page store, content typing could be used to store and deliver arbitrary file types. mkvfs can be generalised to support arbitrary meta-data such as mime-type by means of file attribute.

Different markups would be possible, as would

4. User Interfaces - Tk GUI and HTTP/HTML

5. Revision History

This could be provided by a versioning virtual filesystem

6. Image Storage

Images can be stored in the Wikit, details of this mechanism are unclear to the author.

7. User and Modification Control

Wikit provides rudimentary modification control by specifying a hard-coded list of page numbers which may only be edited via the Tk GUI, or from localhost by HTTP. mkvfs supports unix access and ownership semantics, with user identification in a separate module.

- CMcC 20040726