Hi,
I finally found the time to port the last SmallWiki (0.9.53) to squeak
(3.6). It is available on SqueakMap. It would be fine to get feedback
about bugs! I know that there are some, but I can't search all day long :-)
To do this port I have gone a complete different way according to the
following procedure:
VisualWorks
- load SW into a clean VisualWorks Image so that it would run
- load Fileout30 and enable it in the Settings Manager
- load SW-Patch.ws (attached) which creates a fileout with some patches
Squeak 3.6
- load the fileout
- load the Patch Unnamed2.29.cs (attached)
- compile a new SWWikiParser and SWWikiScanner
- run the tests
Because of this new procedure, it may not be compatible with older
versions for squeak where I once did a port using rosetta and then
merging all changes by hand.
While doing the whole thing I stumbled over many things that you should
keep in mind when doing SmallWiki 2 (Remember that I don't want to
offend you! This should be constructive criticism!):
- Do not do something like in AbstractExternalLinkChecker ... this
is really really bad! Move #isLinkBroken: as 'self
subclassResponsibility' to SmallWiki.Server class and implement a
specific Version in SwazooServer class.
- Do not rely on class names! Remember in squeak we have no
namespaces, so we have to rename all classes to 'SW', class name.
See also SW-Patch.ws for my rename automatism.
- Use meaningful categories for classes. In squeak we have no Store,
no Bundles and no Parcels. We have just categories which should
name like 'SmallWiki-<aSubCategory>-<aSubSubCategory>'.
See also SW-Patch.ws for a rename automatism.
- Do not use underscores in methodnames! Do not ever think about it!
In squeak _ is :=.
See also SW-Patch.ws for those methods.
- Do not use Namespace.Class in classes in the same Namespace.
Regards
Chris Burkert
--
http://www.chrisburkert.de/