We spent a day at Camp Smalltalk working with the old version of SmallWiki
and have been spending some time with the new one.
In the old one, Folder was a subclass of Page. This was reasonable. In the
new one, Page is a subclass of Folder, and this seems wrong. It looks like
Folder is never used, and all Pages can be Folders.
The worst part of the old SmallWiki was the callbacks. They are a horrible
design, virtually impossible to understand. I had hoped that the Seaside
version would fix them, but it didn't. Actions went away, and they weren't
that bad, aside from the callbacks. So, tell us why the Seaside version is
an improvement? In my opinion, it is a big step backward.
One of the bad features of the Seaside version is that actions are performed
in the user interface, not in the model. For example, a page is edited in
the #save version of EditRenderer, but in the accept (or maybe document:)
method of DocumentEditor. It looks like DocumentEditor does not create
history, so the trippy interface does something different from the Seaside
interface. This bug is due partly to bad design. There should be a single
place where documents are edited, like an Action. The model should change
the model.
We got an error in the new SmallWiki whenever we tried to put a new link on
a page. Is there a newer version?
-Ralph Johnson