[smalltalk-central] Smalltalk-Central web application
Mark D. Roberts
mroberts at cincom.com
Tue Sep 26 02:47:35 BST 2006
As promised, I have put some documentation on the Smalltalk-Central web
application on line. This is a first step to make it possible to get others
involved in development of the site app itself.
To recap: the web application is implemented using server pages in the
VisualWorks Application Server. The app is built on top of a CMF called
Shoji, implemented using the same technology along with OmniBase.
The background here is that four years ago I wanted a real CMF built in
Smalltalk. The rest of the world has figured out that CMFs are the way to
go for building web sites, with packages like Zope and Plone becoming
wildly popular. As usual, the Smalltalk community was lagging badly behind,
and Wikis are too primitive for building a serious CMS. Frustration being
the mother of invention, I studied a bunch of commercial solutions,
gathered my requirements, and started building one myself. I called it
"Shoji", after the paper screens used in Japan, the metaphor being a
screen/filter between outside and inside that provides attractive natural
More information about the Shoji CMF is here:
Shoji was originally built for a SQL database, but I quickly hit many
problems with the VisualWorks EXDI (connection pooling doesn't work for
writes??) and I got tired of spinning my wheels trying to think through a
bunch of O-R mapping problems that had nothing to do with my application.
OmniBase was an attractive alternative so I tried that instead. The ease of
being able to persist objects sold me immediately.
The Shoji CMF has evolved considerably since then, but there are still some
features that are missing. For example, I wanted "templates", i.e., to be
able to save my server pages in the database and wrap them inside objects.
This would simplify many things. Alas, VisualWorks only allows server pages
to exist as files. For the future, it might make more sense to port the
whole thing to Seaside, but that's a big chunk of work, ugly URLs are a
show-stopper for me, and I wonder about the performance of Seaside (a few
dozen message sends to build up each HTML tag in a page?). I still want to
investigate Seaside, but really don't have the time now.
Anyway, so much for the background. To set up the S-C application on a
local machine, you need a ZIP file containing all the bits. Ask me if
Finally, as you have seen, each time I update the S-C site application, I
put an announcement here:
More information about the smalltalk-central