[Seaside] Significant differences between Continuation Class & WAContinuation Class?

Lukas Renggli renggli at gmail.com
Tue Sep 8 19:15:11 UTC 2009

I don't think that SqueakSource2 works in Seaside 3.0.

> !PDMain class methodsFor: 'as yet unclassified' stamp: 'PaulDeBruicker
> 9/8/2009 12:54'!
> initialize
>        "
>        PDMain initialize
>        "
>        super initialize.
>       (WAAdmin register: self asApplicationAt: 'Scratch')

You should never call super initialize on the class side, only on the
instance side.

I've tried the code in Seaside 2.8 where it works without problems.

The thing in Seaside 3.0 is that we do not use full-continuations
anymore, but partial ones. Thus if you capture a full continuation
this includes everything including the response handlers, the server
and response socket. So if you restore a full continuation you'll also
write the response to an old socket that is not valid anymore. More
information on this you find in the following blog post of Julian:

In fact to solve your problem no knowledge of continuations is needed.
The problem can be solved much simpler. I guess the original author
just wanted to write smart code :-)

renderContentOn: html
	html render: 'Click the button to generate a continuation Url'.
	html form: [
		html submitButton
			callback: [ self generateUrlOn: html ];
			with: 'Go' ]

generateUrlOn: html
	| url |
	url := html context actionUrl
		withParameter: (html callbacks
			store: (WAActionCallback on: [ self inform: 'Got Me' ])).
	Transcript show: url asString.
	self inform: 'The url is: ' , url asString


Lukas Renggli

More information about the seaside mailing list