[Seaside] Legacy system and Seaside

Julian Fitzell jfitzell at gmail.com
Thu Sep 10 06:58:36 UTC 2009


On Thu, Sep 10, 2009 at 1:05 AM, Thierry Thelliez
<thierry.thelliez.tech at gmail.com> wrote:
> Thanks Boris, the example helps.
>
> One more question. Can you pass a parameter within Seaside from one
> page to another? I am not asking about the regular Seaside way. This
> is in the context of an older application ported to Seaside.
>
> Assuming that I have a regular Seaside page pointing to another page:
>
>                canvas anchor
>                        callback: [ self show: LegacyPage new ];
>                        with: 'LegacyApp'.
>
> I would like to pass a variable to 'LegacyPage'. I implemented
> 'updateURL:' and 'initialRequest:' for LegacyPage (subclass of
> WABrowser).
>
> updateUrl: aUrl
>        super updateUrl: aUrl.
>        aUrl addParameter: 'v1' value: 'xyz'.
>
> initialRequest: aRequest
>        super initialRequest: aRequest.
>        self halt: 'initialQuest'.
>
>
> I never get to the halt above. What am I missing?

#initialRequest: and #updateUrl: are called automatically before
rendering on all the #children of a component. You are creating a new
component in the middle of your rendering method, which is after the
hooks would have been called. You also aren't storing it anywhere to
return in the #children method, so it won't have those hooks called on
the next request either.

Also, keep in mind that #initialRequest: is only called on the first
request of a session.

I'm not sure what to suggest because I'm not totally clear what you're
trying to accomplish with LegacyPage. Why not just make it a component
with an iframe in it or something? How is your legacy app going to
interact with the render/callback loop inherent in a Seaside
application/session?


More information about the seaside mailing list