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:
- GenericServer.cs, which includes support for TCP servers in Squeak.
- filedict.8May1231pm.cs, a simple file-based database.
- MuSwiki3-6.cs. The code of MuSwiki itself.
After loading the above changesets, enter a Morphic project and start a new MuSwiki server as follows:
Then, you can create browsers in the same or other images by using the following code: