[Seaside] LiveUpdates and Request for Merging :-)

Lukas Renggli renggli at gmail.com
Sat Oct 29 21:37:56 UTC 2005

Hi Avi,

I ask that you replacing the current implementation of
#urlForLiveRequest: with the following code:

urlForLiveRequest: aBlock
	| request text response renderer document |

	" this is new "
	request := Continuation currentDo: [ :cc |
		^ WACurrentSession value
			actionUrlForContinuation: cc ].

	" this left unchanged "
	text := request at: 's' ifAbsent: [ ].
	response := WAResponse new.
	renderer := WARenderCanvas
		context: self context copy
		callbacks: self callbacks.
	document := WAHtmlStreamDocument new
		stream: response stream.
	renderer context document: document.
	aBlock value: text value: renderer.
	document close.
	WACurrentSession value
		returnResponse: response.

The original implementation does not use a continuation and therefor
evaluates the rendering block in quite a strange context. I tested my
enhancement with the included tests and do not see problems.

So you certainly ask, why don't I just publish my modification to
SqueakSource? I will do but ...

I noticed that I sort of started to fork Seaside, even tough I am
always trying to merge in the latest changes of all other commits. I
am forced to fix and enhance a lot of things for Magritte and
SmallWiki 2 in Seaside, that I cannot just do with method extensions.
The change that I require above is yet in another package
(SeasideAsync), and I will have to fork that as well if you don't
update the official packages. Having an official Seaside and one for
Magritte/SmallWiki will lead to confusion, as it already did ... :-(

Please could you merge in my changes from time to time?


Lukas Renggli

More information about the Seaside mailing list