[Seaside] Re: Seaside & Ruby Rails Compared

Ramon Leon rleon at insario.com
Fri Sep 9 20:53:51 CEST 2005


> Hi Ramon,
> 
> I've been trying to get a grip on Seaside/Magritte/Smallwiki2 
> and this helped a lot, thanks.
> 
> May I ask if you're using them right now ? I have tried the 
> prepared image and installed into 3.9a, and in both the 
> seaside session seems to hang when I try to save a change to a page.
> 
> Since I get no clues on the smallwiki list, I will beg here! :)

Yes, I'm using them, but it's very new to me, I spent about 8 hours
after work last night digging into it and trying to grok it, so anything
I say could be totally wrong, but I think I'm starting to get the basics
of it.  I use it with 3.8, Seaside2.6a2v5(current latest version),
SeasideAsync, and latest versions of Magritte-All and Smallwiki2-All,
haven't had any issues with saving pages or lockups.  Load those in a
fresh image and you shouldn't have any problems.

>From what I can see so far, it's a hybrid Adaptive Object Model,
Magritte descriptors can be used to describe existing classes, they are
collected into a MAContainer which can then be sent the message
asComponent to edit the descriptors, or sent to MAScaffolder
description: aContainer to get the actual component described by the
descriptors.  Descriptors have a matching default Seaside Component for
rendering them, several have more than one, which you can specify when
building the description.  

The Adaptive Object Model comes into play because apparently, unless I'm
mistaken, you can compose objects from descriptors dynamically, without
actually needing a class underneath.  Still digging into this part but
it seems that instances of MAScaffolder are adaptive objects, they have
a description that points to the MAContainer that built them,
essentially its type (Type Object Pattern), and a values dictionary
representing the values of its properties, keyed by the children
descriptors of it's type/description.  So instances of MAContainer
appears to be playing the class role, and instances of MAScaffolder play
the role of instances of that class.  With the little documentation
available, I can't guarantee my interpretation is correct, but that's
what I've learned so far from digging into it last night.  


More information about the Seaside mailing list