[Seaside] Why do I have to use #children here?

Sebastian Nozzi sebnozzi at googlemail.com
Wed Oct 22 20:03:02 UTC 2008

Hello Seasiders!

I run into following issue, for which I found an (unexpected!)
solution. I have to use #children, but I didn't think I had to,
according to the documentation... Here's how to reproduce it:

Let's say MainPanel (root component) and OtherPanel are subclasses of

MainPanel has an otherPanel instance variable refering to an
OtherPanel (always the same).

MainPanel renders an anchor which "shows" the OtherPanel held in the
instance variable.

OtherPanel renders an anchor with "self answer".

MainPanel does NOT implement #children.

Now, this causes an error:

1) from the MainPanel, click on the link which leads to the OtherPanel
2) press the browser's back button
3) again, click on the link which leads to the OtherPanel
4) click on the back LINK (of OtherPanel)
5) Error: MessageNotUnderstood: MainPanel>>owner

Now, if I implement #children in MainPanel and return a collection
with otherPanel, everything works fine.


>From the documentation of #children I thought that components that are
called/shown are *not* children.

What did I miss?

Thanks in advance!!!


P.S. Upon request, I can provide fileOuts of the classes and/or the error.

More information about the seaside mailing list