Mon, 12 Aug 2002 19:14:51 -0700 (PDT)
I'm about to take off on vacation for a couple of weeks, and I thought I'd
say something about Seaside 2.0 before I go. I had hoped to release a
decent preview before I left (and before ESUG), but it doesn't look like
that's going to happen. But I'll tell you where we're at with it:
- Seaside 2.0 will be a full reimplementation. A primary goal is to
loosen up the paradigm and support a wider set of styles than the strict
component/template model enforced by current versions. To achieve this,
it's structured in a series of small layers. If you use all of the
layers, you get something fairly similar to the current framework;
however, you can choose to dump the top layers and go off in a completely
different direction if you prefer. I'm actually quite curious to see if
anyone does this.
- The core layers are implemented and basically stable. I've been calling
them, as a unit, "Borges". These include session management, html
rendering with an event/callback system for forms and links, and a
component system with snapshotting, embedding, and #callPage: similar to
current versions of Seaside. What Borges doesn't include is any kind of
high level presentation layer. However, it's an interesting base to play
with, and would also be a good thing to start with for those interested in
ports to other Smalltalks. Adventurous folk can get a snapshot from
http://beta4.com/squeak/aubergines/source/Borges.st . There's not that
much in the way of examples, but I'd be very interested in hearing
comments from anyone who has time to play around with it. As for
documentation, there's some information on the implementation at
http://beta4.com/squeak/aubergines/docs/seaside/borges.html, but it is
*not* intended for end users - it has more detail about the lower
layers than most people will want, and doesn't cover components at all.
- We're currently doing a lot of experimentation with presentation layers.
Although a templating system is in the works, the interesting stuff (for
me anyway) has been in programmatic specification of interfaces - last
weekend, for example, Julian and I hacked out a Tk-like layout manager for
HTML tables, and I've been playing with somewhat Morphic-like view classes
for listboxes and such. We've also been playing around with web-based
interface builders, using forms to specify connections between components
and templates. These tools will eventually become "Marquez", the top
half of Seaside 2, but right now they're totally in flux.
I look forward to comments from y'all...