[Seaside] Ports of Seaside - are there useful modules

Jeffrey Odell jeffo@esprithealth.com
Mon, 22 Apr 2002 19:52:24 -0400


I'd be happy to give it a try in VisualAge - can you post the TestCase?
And, is this test case a universal case for continuation?  Can I test
Dolphin, SmallScript, etc. with it?

My original question was prompted by the fact I have a bunch of code in
Dolphin I'd like to keep there.  However, I also have some VisualAge
stuff that would benefit from Seaside.

I really liked the tutorial, and would be happy to pursue further.

jlo

-----Original Message-----
From: Avi Bryant [mailto:avi@beta4.com] 
Sent: Monday, April 22, 2002 7:47 PM
To: Jeffrey Odell
Cc: seaside@lists.squeakfoundation.org
Subject: Re: [Seaside] Ports of Seaside - are there useful modules


On Mon, 22 Apr 2002, Jeffrey Odell wrote:

> It seems that the unique session management concept of Seaside depends

> on continuations.  If your favorite Smalltalk doesn't have them, 
> porting is inhibited.
>
> Having said that, how modular is Seaside?  Are there other subsystems 
> of Seaside worth porting to other Smalltalks that are useful on their 
> own right?  Or is the essential value lost without continuations?

Well, Seaside is roughly based on the design of WebObjects, which
doesn't use continuations; the templates and bindings system, the
subcomponent model, the basic session management, etc, would all work
without them: basically you would have to lose the callPage: primitive,
but you'd still have jumpToPage:, and you can do a lot with that.  It's
still a lot nicer than, say, SSP.

However, I'd say that continuations make up about half of the advantage
of Seaside; that is, Seaside + continuations is, IMHO, about as much
nicer to work in than WebObjects, as WebObjects is nicer to work in than
JSP & co.  So there'd have to be a pretty compelling reason for me to
work in a Smalltalk without them - the choice of Squeak or VW meets my
needs pretty well.

Does anyone know if continuations can be implemented in VisualAge,
anyway? I believe it has thisContext and #swapSender:, does it not? I
can post a small TestCase for them if anyone wants to try.

Cheers,
Avi