Like all Squeak based efforts the Swiki UI is beautiful, which is why I installed it and started looking at the source.
I didn't really study the system yet, but I found quite a few things I liked.
The way Swiki uses Smalltalk inheritance to categorize Wiki sites, and to control their attirbutes is very elegant. The Swiki browser is a nice demonstration of inheritance.
I also like the flexible table driven design. It is basically based on XML metadata that tells Swiki how to fulfill different kinds of requests (more on this when I have more time).
Not only do the XML files parameterize the system, they specify the required actions by pointing to files that contain Smalltalk code. Now this is what I call a dynamic language!
I think the XML files are loaded into Smalltalk Dictionaries, which is also kind of nice (Dictionaries are part of what you get for free in ST), but this is really small potatoes compared to the overall design.
I just started looking at Swiki this morning, so I apologize for any mistakes. I hope to say more about this nice piece of software, and how its design utilizes ST, in the future.
This dirty little bash script should remedy the error:
for i in `find . -type f` ; do tr '\r' '\n' < $i> /tmp/tmpfile.rename.`basename $i` && mv /tmp/tmpfile.rename.`basename $i` $i && done
http://minnow.cc.gatech.edu/swiki/
Prepackaged downloads for Mac, Linux/Unix, and Windows are available at: http://minnow.cc.gatech.edu/swiki/15
Just uncompress and run. Click "Start" button. :)
I saw that someone thought that the source for Swiki was "broken". Since I couldn't figure out how to post (probably need to sign up) I emailed you instead. :-)
I assume he was talking about the source for Swiki (being a Squeak changeset) and it is actually correct by using CR as newline character since that is standard for Squeak (inherited from the first platform where Squeak was developed - the Mac).
A changeset is not meant to be read in an editor - it should be "filed in" into a Squeak environment for interactive browsing and Squeak will expect CRs as lineendings.