PWS as a plain web-server

Mark Guzdial guzdial at
Mon Dec 14 16:46:26 UTC 1998

At 3:40 PM +0100 12/14/98, Bert Freudenberg wrote:
>I guess this all will be easier to accomplish in a restructured PWS ...

I think you'd be better off working on a new webserver, rather than
restructuring PWS.  As we've been discussing over on the PWS list, I made
certain trade-offs that made easier the kinds of collaborative applications
that we work on here:
- The actions table allows for lots of flexibility in interpreting URLs,
but that also slows things down.  If you take a standard URL definition,
you can create shortcuts that PWS doesn't.
- The embedded-Smalltalk allows me to create single HTML files that act as
CGIs, and have lots of flexibility in templates and the like.  But it's
inefficient and slow and requires the image to keep the Smalltalk compiler
- PWS itself doesn't know anything about user authentication, but the
pieces are there for individual ServerActions to handle it however they
want.  This has allowed us to create a variety of different kinds of
permissions structures for swikis (PSwikis, AuthorizedWriteSwikis, etc.).
But it does make administration more complicated and authentication can be
non-standard across servlets.

And so on.  I made the decisions that I did for the kinds of apps that we do.

If you want to create a more-compliant and much-faster Squeak webserver, I
suggest starting from the guts of PWS (which is actually the guts of Georg
Gollman's webserver with John Maloney's additions on things like the
ConnectionQueue, since that's where I started :-) and rebuild the rest --
how servlets/CGIs get processed, how MIME is handled (which has been pushed
way down into ServerActions, but is usually handled at the webserver
level), how URLs are interpreted, how authenticated realms are implemented,

If you want Swiki, implement it on top of what you get. Ward did Wiki in
Perl on traditional webserver.  There's nothing in Swiki that PWS is
uniquely qualified for.  What Swiki in PWS has bought us is the ability to
generate lots of different kinds of Swikis for exploring different issues
with different audiences -- because that's what we do here.  But if you
just want Wikis, you don't have to buy-in to PWS's inefficiencies and
tradeoffs to get it.

(For anyone's interest, I've a couple of papers on our work with Swikis
now: and


Mark Guzdial : Georgia Tech : College of Computing : Atlanta, GA 30332-0280
(404) 894-5618 : Fax (404) 894-0673 : guzdial at

More information about the Squeak-dev mailing list