[Seaside] odds and ends

Avi Bryant avi.bryant at gmail.com
Wed Jun 29 16:34:54 CEST 2005


Just a few assorted Seaside-related things that have been on my mind
(I guess if there was a Seaside blog, these would be postings
there...).

- It seems like the recently announced "sitemaps" support from Google
would be a good basis for a second-generation tool like Cees' "Janus"
package.  For those that don't know it: Janus is an attempt to make
Seaside apps more friendly for search engines.  It relies on detecting
the user-agent of a search engine's crawler, and then presenting a
modified view of the site (which is technically an "illegal" SEO
technique that could get you blacklisted, but anyway).  This modified
view is completely flattened: it presents a single index page with a
link to every URL that you want to have as a static entry point into
the site; behind each of these URLs is a specially rendered version of
the page that has all of the content intact but all of the links
disabled, so that the crawler doesn't follow them.  This allows the
search engine to present results that are deep links into the site
(eg, to the tric.nl wiki, which is the only Janus deployment I know
about), without having the crawler ever fully enter a Seaside session.

Sitemaps would allow essentially the same technique but in a more
officially sanctioned way.  Simply present a sitemap that serves the
same role as the Janus index page, listing all of the static entry
points (these have to be registered or derived somehow in an
app-specific way).  Then have each of these served with a nofollow
meta tag so that none of their further, dynamic links get crawled. 
Almost exactly the same effect, with much less special casing.

- I've earlier mentioned the Prototype javascript library as something
we might look at supporting.  Script.aculo.us is a recently announced
superset of Prototype that's even more compelling; particularly nice
is its support for drag and drop (allowing you to replicate, say, the
drag-and-drop reordering of todo items in Backpack, or the slick
shopping cart of the Panic.com store).  I've committed a very brief
start at a package to wrap this for easy Seaside use to the
SqueakSource repository, but there's lots more to be done there if
someone wants to pick it up.

- Does anyone actually use, or understand, the full generality of the
configuration framework from 2.5?  I was recently using a 2.3 app and
remembered how relatively simple and friendly the config pages for
apps were.  What would people think about a re-simplification, keeping
some aspects of the 2.5 config (like the ability to define
SystemConfigurations, with default values, in code, and add these to
deployed app instances), but removing some of the more baroque parts
(like the inheritance structure for configurations, and the idea of
"site defaults" as an extra layer between the code defaults and the
individual apps)?

- Mostly, when fixes have come in, I've been integrating them with the
2.6a branch but not backporting them to 2.5.  How important is it to
do that backporting, and is there anyone that wants to take it on?  In
general, I feel like I could use some help with release management
tasks like bug tracking and integration.

Ok, that's it for now.

Cheers,
Avi


More information about the Seaside mailing list