[Seaside] Some questions and remarks

Adrian Lienhard adi at netstyle.ch
Thu Apr 10 01:22:35 CEST 2003


Hi Seasiders!

> what happened to WAComponent>>parent?  Is there any mechanism for going up
> the gui hierarchy?
>
> Do I understand that calling "self call:" now replaces the calling
> component, as opposed to some Container higher up the hierarchy?
>
> It was nice when there was a certain component which would "catch" the
call
> because often there is a well-specified real-estate that you want to be
> swapping out.

(I'm still working with the "old" version (2.2), because I have to deploy
soon.)
In my application, I had often embedded four or more components in each
other in containers. Sometimes #call: should replace the calling component,
sometimes the component some stages above. I started to give "target"
references from component to component. But I don't like this aproach. And
to call "self parent parent ... call:.." is not better either. I haven't
looked at the new version yet. But it would probably be useful to think
about a better solution.

- Something maybe important to remember: I had implemented the
initialization of a component as leasy initialization which was called on
rendering. This gave really strange behaviour and I had quite a while to
figure out what it was. (I now remember having heard about this...)

- Then I still have the problem that in one component, the session ivar is
nil. Any ideas what that could cause? The component itself is stored in a
container which in turn is stored in a collection in another component...

- "Transactions": I'd like to prevent going back to a page after hitting the
submit-button (something like "order" in a shop). I have looked at
WATransactionTest example, but I can't figure out, how to use #isolate in my
case. Because, what I have are two possibile components that can be called
after the page that should be isolated. I hade something in mind like:

orderAction1
...do ordering...
self isolate: [
    self call: Component1AfterOrdering new.
    self answer]

orderAction2
...do another kind of ordering...
self isolate: [
    self call: Component2AfterOrdering new.
    self answer]

But this doesn't work. Because, the actual component should be in the
isolate block. How could I do this nicely?

- My development image has now grown to almost 70MB. How could the cache be
controlled/restricted? There are many cached components which will never be
used again, I think. What I see, is that for the sessions the LRU-cache is
used by default with a max value of 100. Does anybody else have big and
growing images?

- There is still a little bug in WAHTMLGenerator
tableRowWith: aBlock with: anotherBlock
 self
  tableRow: [self tableData: aBlock;
     tableData: aBlock]
---------------^^^^^
should be anotherBlock

In general, I really like to work with Seaside. It's just great! It would be
interesting to know what other people are doing with Seaside. A wiki page
could be created. This may be good to show new people that there exist
productive, prfessional applications...

Cheers,
Adrian



More information about the Seaside mailing list