MuSwiki

Overview

While a student of Mark Guzdial, I built and studied some software called MuSwiki, a wiki that uses media objects rather than plain HTML. The key features of a MuSwiki are:

  • The use of Morphic media objects rather than plain HTML.
  • Pages look the same on anyone's browser.
  • Any user may update any page in the system.
  • Users are prevented from updating a page at the same time.
  • When one user updates a page, all other users viewing the same page are shown the new version.
  • Content may contain arbitrary Smalltalk code behind the scenes!

What it looks like

Here’s an example MuSwiki page, shown within a browser. In addition to having hyperlinks and graphic content, note that this page has active elements: the time-of-day is correct and ticking, and the waveform can be played as a sound and modified.

Source code

To try MuSwiki yourself, you will first need Squeak 2.8. Once you have a 2.8 image installed, you should install the following changesets:

After loading the above changesets, enter a Morphic project and start a new MuSwiki server as follows:

s _ MuSwikiServer on: 'MuSwikiPages'.
s startListeningOnPort: 9090.
s openAdminMorph.

Then, you can create browsers in the same or other images by using the following code:

MuSwikiBrowser new openInMorphic.