Sputnik (software)

The Sputnik Wiki is a lightweight, cross-platform example of the wiki software application type. It is written in Lua and runs over multiple web servers (Apache/CGI and Kepler/Xavante). A basic Sputnik wiki runs in AbOUT 2000 LOC complete. The product's extensibility and configurability allows it to be morphed into other types of webapps, such as a photo album, bug tracker (in 120 lines of code), blog, or calendar.

Features

Differentiating features (among Wikis) include:

  • A Sputnik/Kepler installation uses 1Mb.
  • No-compile installation
  • Sputnik ships with the webapp stack included.
  • Lua installation not required
  • root/Administrator not required

Architecture

The Webapp architecture stacks up like this:

  • Configuration managed by configuration nodes, which perform actions sent to them as much as describe configuration.
  • Plugins via LuaRocks (Markup, Storage, Authentication/CAPTCHA, etc.)
  • Cosmo templates
  • Markup: Markdown, Medialike, or POD
  • Saci document storage system, somewhat similar to a CMS.
  • Versuim storage management API.
  • Storage options: Database (SQLite3 or MySQL) and Git
  • Kepler
  • Xavante, an http server using Copas (below)
  • Copas
  • LuaSocket
  • Lua

License

The Sputnik team grants use of the product under an Open Source MIT-styled (attribution) license.