Oddmuse

Oddmuse (2001) is a Perl-based Wiki engine, and free framework at the core of Raiazome. Its {a} single-file implementation, {b} flat-file, filesystem-based database, and {c} absence of external, non-stock dependencies make Oddmuse among the simplest (and justly free-est, profitably, of fees) Wiki engine in current development.

Synopsis

Oddmuse is, as it is derived of the like-optimized, Perl-based Wiki engine Usemod, optimized for:

  1. Space.
    1. Oddmuse consists of one file of less than 4,000 lines.
  2. Time.
    1. Oddmuse consists of two congruent tiers of code, HTML, and RSS caching.
  3. Code legibility.
    1. Oddmuse consists of well-documented, well-coded, literate code.
  4. Code extendability.
    1. Oddmuse consists of a welcoming entourage of third-party extensions; modules; plugins; themes; placid, small-scale improvements; and quaking, large-scale rewrites.

Setup

Oddmuse is freely downloadable, fastly installable, and friendly, fine-grainedly configurable. As volunteer ‘evangelism’ for Oddmuse, Raiazome publishes documentation, instructions, and examples for installation of Oddmuse on your own website — or, if you don’t have your own, a nearly free, NearlyFreeSpeech.net- or FreeShell.org-hosted website. See:

Raiazome also developed and presently also publishes several Oddmuse modules, which you are welcome to reuse in your Oddmuse setup. These are:

2008autolockAn Oddmuse-specific Perl module for locking wiki pages via regular expression matching on page names.
2008crossbarAn Oddmuse-specific Perl module for adding a site-wide footer, header, or other summary content to all Wiki pages.
2008flashboxAn Oddmuse-specific Perl module for embedding offsite-hosted Flash videos within Wiki pages — particularly, those hosted by Google Video, YouTube, and SlideShare.
2008hibernalAn Oddmuse-specific Perl module for refactoring journal and journal archival code (with, thereby, improved multi-blogging, CSS styling, HTML configuration, and third-party integration).
2008logoutAn Oddmuse-specific Perl module for logging out the current Oddmuse user.
2008poetryAn Oddmuse-specific Perl module for embedding whitespace-preserving poetry within Wiki pages.

Backup

Oddmuse is, also, owing to its flat-file distribution of server-side Wiki data onto the filesystem itself (rather than client/server-style mish-mash of external databases), simply backed-up and restored — via, for example, the venerable rsync utility. However, this is not without its own dumb conundrums: namely, that that utility takes over 100 command-line options. Some of these command-line options are ‘safe.’ Some of them, are not. And some do very little at all. (These, also, are probably ‘safe.’)

Raiazome has developed a well-documented, widely-customizable shell script for performing Oddmuse backup, restoration, and mirroring, without need for gluttonous examination and experimentation — often fatal, always trippy — of rsync options, errors, or execution. Developed in the needful coursework of “cron”-managed mirroring of the main Raiazome Wiki to its subsidiary mirror, this script has several years of industrial-strength, strenuous use behind it. See:

History

Oddmuse is derived from Usemod, the now-antiquated, quiescent, Perl-based Wiki engine on which Wikipedia initially ran — and MeatballWiki and ubiquitous, ceaseless others still run.

Authors

Brian Curry, Raiazome‘s principle (…though, perhaps, unprincipled) architect, also actively contributes to Oddmuse — assisting Alex Schröder, Oddmuse‘s principle architect, in its continued maintenance and development.

Other significant authors include: