Soft Wiki

An experimental all-software WikiWithProgrammableContent by ZygoBlaxell.

Currently unavailable to the public until a suitable server host can be found.

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...). I'd certainly like to be able to use other languages, but there are some issues to resolve first:

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 XpSystem

I've made a system like this in Perl, based off UseMod. There is a small bootstrap program that runs a community-editable UseMod-like script. It's live and is able to accept modifications in its code. See SelfProgrammingWiki or .

-- BayleShanks


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