[Seaside] state of the aubergine

Avi Bryant avi@beta4.com
Sat, 20 Apr 2002 17:03:47 -0700 (PDT)


Since there's not a huge amount of activity on this list, it's somewhat
hard to gauge just what's going on out there, seaside-wise.  So I thought
I'd throw some questions out that might help me figure out, as I amass
little bits of time here and there to work on this stuff, what I should be
doing.

First of all, how many of you are actively using Seaside?  There are 35 or
so people on this list, but Kamil and Alain are the only ones that I know
have gone much further than looking through the tutorials.  It would be
good to have a better idea of where you guys are at, how interested you
are, what's holding you back from using it more, etc.

Second of all, what should I be doing in the documentation department?  I
know that, eg, a tutorial on using subcomponents is long overdue, but have
people managed to figure them out from the examples anyway?  Would it be
useful, when I don't have time for a full tutorial, for me to start
throwing out random short descriptions of features that people might
otherwise not know about?  For example:

-----------------------
BodyContent.  Each embedded subcomponent has an implicit BodyContent
element.  This is used to insert the contents appearing inside the
subcomponent's tag inside the parent template.  For example, if you had a
(rather useless) BoldItalicPage, you might use it in the parent template
like so:

SomePage>>html
  ^ '<BoldItalicPage sea:id="sub">foo</BoldItalicPage>'

in which case, if you used BodyContent like so:

BoldItalicPage>>html
  ^ '<b>[BodyContent]</b><i>[BodyContent]</i>'

the final output would be <b>foo</b><i>foo</i>.

You can also bind values to the BodyContent element; if you do, these will
appear as template-local variables in the scope of the body content of the
parent element.  As another silly example, if you have the following
template in the parent:

SomePage>>html
  ^ '<BindToXPage sea:id="sub">this is a test: [x]</BindToXPage>

and the following bindings in the child:

BindToXPage>>addBindingsTo: template
  (template elementNamed: 'BodyContent')
    set: #x to: 'foo'

and the following template in the child:

BindToXPage>>html
  ^ '<b>[BodyContent]</b>'

Then you would get the following output:
  <b>this is a test: foo</b>

---------------------------------------------------

Third of all, what are the features that Seaside needs before people feel
comfortable doing development in it?  One obvious lack is good persistence
support.  For example, if it came with a lightweight object-relational
mapping system, would it suddenly become much more viable?  What if there
were a connection to Oracle?  What if there were a Squeak port of GLORP?
Or, what if there were a VisualWorks port of Seaside?

I'm asking all of this because currently, development on Seaside is almost
exclusively motivated by the needs of my projects, which may or may not
have any bearing on the needs of others.  I encourage y'all to speak out
so that this can change.

Email me privately or respond to the list, but I'd like to hear from you.

Cheers,
Avi