There is an simple but sophisticated ACL system to protect content
The wiki keeps its own sourcecode under wiki control
Wiki content can coexist with other static content in the same dir
Pluginable revision control (git provided)
Pluginable engines for compiling static content (types)
Extensible by adding new actions
Manages generic metadata
Focuses on generating static content, but can easily be extended for dynamic content
There is a small HowTo explaining basic usage.
moinmoin import
place jobs for mirroring websites and files (http, ftp, bittorrent, rsync, git..) in the wiki
Distributed, uWikis can subscribe pages on another uWiki whenever a page gets edited a notification is send to the subscibed wikis and they can syncronize the content
users can subscribe for email updates of pages
Regex Policy Daemon integration for spam filtering
Things to be done are coordinated at a Todo List.
a first uWiki is was implemented using Haserl with bash as scripting language. This makes it easy to prototype and extend the wiki but is intended to serve as kickstart for implementations in other languages.
We now working on a implementation using lua/cgilua. Stay tuned.
uWiki is placed itself in $DOCUMENT_ROOT/_uwiki/:
_uwiki This is the main CGI script dir which contains the actions the user can request plus some supplemental functions note: shall this be moved to _uwiki/cgi-bin or so?
_uwiki/_types contains a script for each type the wiki can handle. This scripts have a defined interface which making them independent of the underlying engine to be used.
_uwiki/_meta stores the metadata hierachy. Each file in the wiki can have some generic metadata associated, if so then there is a directory reflecting this file in the _meta hierachy (that is _uwiki/_meta/foo/bar.html/ for foo/bar.html). The metadata itself is stored in files with a leading underscore. The kinds of available metadata are implementation dependent, ACL's are stored in _acl, the type is stored in _type and so on.
_uwiki/_groups contains the group definitions for the ACL system. This are textfiles which have one user or group per line which shall be member of the named group, comments starting with # are also supported.
For oblivious reasons uWiki refuses to manage files with leading underscores.
To give it a wiki appeareance the Webserver is simply configured that the 404 Not Found document redirects to _uwiki/create which offers the user (sufficient permission assumed) a option to create this content.
A install document is available in case you would like to install the uWiki on your local machine.
This document is not intended for end users but rather as a guide for contributors to the development of the uWiki sources.
There is a public copy of theb source available at http:/uWiki/source/_uwiki/, this will soon become editable by users to add improvements, bugfixes and proposals. Note that this is not the live code which drives this wiki. The live version is under http:/_uwiki/ but requires special privileges to be accessed.