[Seaside] #render: and #children. What if I don't?

Esteban A. Maringolo emaringolo at gmail.com
Thu Oct 16 17:36:45 UTC 2014


Mariano:

I also use components as "sophisticated tags", it is, just for
rendering as you do.

As far as I remember from older Seaside versions (dating back to the
"squeak enterprise aubergines server" naming), #children is used for
backtracking and proper handling of the "backbutton problem", it is,
to store the components along the transitions.

If you rely a lot on AJAX and backbutton is not an issue, I guess
#children might be totally ignored. But I couldn't tell.

tl;dr I don't know for sure either :)

Regards,
Esteban A. Maringolo


2014-10-16 13:43 GMT-03:00 Mariano Martinez Peck <marianopeck at gmail.com>:
> Hi guys,
>
> From what I understand, if we have a component called X which, as part of
> the #renderConentOn: (or derivative), does:
>
> ComponentX >> renderContentOn: html
> html render: self componentY
>
> Then we need to add componentY to the #chidlren:
>
> ComponentX >> children
> ^ Array with: self componentY
>
> So..not the question is...it seems in some places I forgot to add it to
> #chidlren and the component still render correctly. At the same time, I
> remember once I was fighting to find a bug and it was exactly because I
> forgot to add the component to #children. So... what exactly happens if I
> DON'T add the component as a #children? What does it get broken?
>
> The second question is...is a bit of a pain the #children. Why? Because I
> must store the component somewhere...which I may not requiere that. For
> example, if I have this code:
>
> html render: (MyWebMessageComponent new errorMessage: 'Problem with xxxx';
> yourself)
>
> then I must define an instVar for that component, assign to it before
> render, and then render...
>
> so the second question is...for this type of component that I render only
> "once" (the component is instantiated as part of the rendering phase and
> dead after), do I also have to add it to #children?
>
> Thanks in advance for any clarification.
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>


More information about the seaside mailing list