[Seaside] Newbie questions

Avi Bryant avi at beta4.com
Mon Feb 23 21:49:25 CET 2004


On Feb 23, 2004, at 9:59 AM, Paul Mateescu wrote:

> However, I feel I cannot go very far with these. I mean, I *could* go,  
> but only if I trace the execution of the code, step by step (no class  
> comments - sigh - ), and that would take me very much time. Can anyone  
> point me to any other sources of learning?

I sometimes post information about Seaside on my blog - you can find  
just the relevant postings here:
http://www.cincomsmalltalk.com/userblogs/avi/blogView? 
searchCategory=continuations

Also, I did start a very rough sketch of some "minimalist  
documentation" for Seaside - you can find it at
http://beta4.com/~avi/mfa-docs/seaside/index.html

Unfortunately, there's not much there yet.  I'll happily accept  
contributions.

> How can I do this? I cannot use call-answer because I will then impose  
> a very strict way of using the intranet and I would require the users  
> to always go back. This would go against the way the intranet is made  
> now, that is allowing the users to browse the information freely in as  
> many ways as possible (of course, there are links to go back to the  
> main page or to some sections).

Yup, makes sense.  This is how I would do what you describe:

- Set up your top page to have a 'main' instance variable that is a  
WAStateHolder (so that its state backtracks properly).  This will  
contain the currently active component.  Along with whatever banner,  
nav, etc that it renders, it should render the current contents of  
main:

html render: main contents

- Add a #show: method to the top page that sets the contents of 'main':

show: aComponent
   main contents: aComponent

- Make sure that everyone can always get at the top page; one way of  
doing this would be to store it in the session.

- When the user clicks on (eg) 'customers', instead of doing "self  
call: someComponent", use "topPage show: someComponent'


> 3. I assume that if I continuously use call:s and no answers, I will  
> end up with some sort of overflow somewhere in the framework. Is it  
> correct?

Well, it won't overflow exactly, but you will end up with very long  
linked lists of components, and so rendering will get progressively  
slower since it has to iterate over the entire list each time.

> 4. WAView has dropped out from the framework? It was mentioned in this  
> mailing list, for instance in  
> http://lists.squeakfoundation.org/pipermail/seaside/2002-November/ 
> 000855.html
> However, I did not find a class with that name.

There is no WAView class currently.  The distinction between view and  
component tended to be a confusing one for people.

> Sorry for the rather long message. I will share a last thought:  
> although Seaside seems like the best framework I have ever seen, the  
> lack of documentation makes me wonder if I will ever be able to use  
> all its features in a decent way.

Yes, this is a known bug :).  I have an unfortunate bias towards  
improving the code at the expense of the documentation, Julian is  
typically busy with other stuff these days, and nobody else has stepped  
forward to save us by writing beautiful docs yet.  But I am always  
happy to answer questions on this mailing list, and it's something that  
we recognize as a problem and are working on, if slowly.

I'll also point out that if you're doing heavy work with Seaside, I'm  
available to provide support, training, or development work (in your  
case this would likely need to be remotely).  I always enjoy doing  
Seaside work instead of other stuff, and so give it a high priority...  
;)

>  I haven't even begun to think about cookies, authentication etc. But  
> anyway, great great work!

Thanks!

Avi



More information about the Seaside mailing list