[Seaside] Seaside2: separation between content and presentation

Avi Bryant seaside@lists.squeakfoundation.org
Sun, 1 Dec 2002 15:28:46 -0800 (PST)


On Sun, 1 Dec 2002, Alain Fischer wrote:

> Hi Seasiders,
>
> I have taken time to look at the new Seaside2. Congratulation, its a
> nice piece of work.
>
> I like the way you have handled the Component history through the
> ManagedObject class.
> There is only one minor drawback I see: We could not use the "inst var
> refs..." menu of the browser.

That's interesting, I hadn't thought of that one.
There's also an issue with inspecting/exploring components, although the
web-based inspector works properly.  I imagine this could also be fixed
with custom ObjectExplorerWrappers or some such, right?

> What is the future of Seaside2 (the Marquez part) ?
> When will be Marquez released even if it is experimental ?
> What is manner to handle this separation of you other web programmer ?

The way that I've been pushing in my own work is to have the programmer do
all the HTML (using HtmlRenderer) and the designer work purely with CSS.
However, that doesn't make sense in the scenario you're talking about
where you're given HTML templates to begin with.  I think your three
options below are probably the ones to consider for that case- let me look
at each of them:

> 1) Using the templates of seaside0.94
>      + very near to WebObjects, easy for simple templates
>      - hard to do when the templates are hierachical.

Your hierarchical point is a good one - if you mean what I think you mean,
it's that there's a tendency towards monolithic templates with no
lightweight way to refactor them.  This is one reason I don't want to go
back to that style of template.  The other main reason I dislike such
templates is that you end up with the core of the component in a string
literal or external text file - hard to refactor, things like "senders of"
don't work, you get no tool support (typo-checks at compile time, etc),
and, worst of all, it's not smalltalk - so you're limited by whatever the
(necessarily ugly) template language provides.  WO-style bindings are also
a source of a lot of confusion for new users (unless you have the luxury
of WOBuilder).

> 2) Using XML/XSL style sheet (transformation could be on client browser
> or on the server side)
>       + w3c standard
>       - not well supported on browser, authoring tools and web designer.

I haven't actually thought about this one, but it's an interesting idea -
we could have an XMLRenderer that produced files suitable for translation.
Think many web designers would go for that?  CSS seems like an easier sell
(and I'd rather not work with XSLT, personally, if I can avoid it).

> 3) Converting html page in HTMLGenerator code
>      A way to explore. Perhaps coupled with the refactoring browser to
> cut one page in hierachical component.

If all you want is a one time operation of "suck in HTML template, produce
HTMLRenderer code, and go from there", this should be quite easy to do.
The harder part is round tripping it - being able to reintegrate later
changes to the template.  I don't have a good sense of how that could
work, which is the main reason we haven't released anything like that.

>      Some tool like object explorer modified to see only html structure
> could bee good too.

Can you elaborate on that?

Also, if I may ask, just out of curiosity: what would it require for you
to start doing some contracts with Seaside rather than WebObjects?  I
imagine it's a fairly long list, but I'd love to know what it was.

Cheers,
Avi