[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
--
Lukas Renggli
http://www.lukas-renggli.ch
More information about the Seaside
mailing list