Soft Wiki

An experimental all-software WikiWithProgrammableContent by ZygoBlaxell.

Note all links on this page refer to a Wiki on a different site, c2.com.

See SoftWiki in inaction.

General description:

There exist two units of code that are not, and except in unusual circumstances, should not ever be editable through SoftWiki itself. Both units of code exist outside of the "normal" SoftWiki environment:

There are two units of code that may or may not be editable by users because of site-specific policy. Both units of code may exist and even be editable inside the SoftWiki environment if the WikiWikiClone operator chooses to allow it:

Hard resource limits are implemented in SoftWiki using a loadable C extension to Tcl which sets limits on a Unix process. These limits cannot be overridden inside the safe Tcl interpreter, but of course are trivial to override inside the boot script. They are:

SoftWiki visible features of the database server: Less-visible features: The following are probably good ideas, but there are issues to be worked out first before they become practical:


I've been asked many times "why Tcl?", or more about supporting non-Tcl languages in SoftWiki (Python, Perl, Java, Guile, Lisp, Scheme...). Certainly I'd like to be able to use other languages, but there are some issues to resolve first:

All these are possible in PythonLanguage: in particular, you can selectively hide functions from the namespace.

So far, Perl and Guile/Scheme are being considered as SoftWiki's second languages.

The issue of multiple language support raises some interesting (and as yet not entirely resolved) problems:

Thanks for the comments so far. They're really helping me to better understand the problem. --ZygoBlaxell
MikeStump suggests SoftWiki as a first step toward a truly global source code management system. It's a nice idea, but all I designed SoftWiki for was to be a maintenance-enhanced WikiWikiWeb.
See also: XpSystem
EditText of this page (last edited September 25, 2000)
FindPage by searching (or browse LikePages or take a VisualTour)