[Seaside] 2.5a6

Avi Bryant avi at beta4.com
Fri Jul 2 23:06:57 CEST 2004


Hi all,

I've put a new alpha release up.  The significant changes are:

- I've incorporated a number of small fixes to the XHTML produced by 
Seaside, submitted by Michel Bany.  For example, Seaside will no longer 
automatically assign "id" attributes to form inputs, because this was 
frequently leading to duplicate IDs.  At the same time, I changed the 
doctype to XHTML Transitional from XHTML Strict, because there is still 
widespread use among Seaside users of deprecated attributes such as 
"border".
- Sessions (and other request handlers) will be sent #unregistered when 
they are moved from the cache.  This is a good place to close database 
connections and do other such cleanup.
- A new pass has been added to the render loop, which sends 
#updateRoot: to every visible component or decoration.  The argument to 
#updateRoot: is a WAHtmlRoot object, which is responsible for managing 
the contents of the <head> section of the document, as well as the 
<html> and <body> tags (but not the contents of <body>).  Any updates 
to these elements (adding attributes, adding tags to the head) must be 
done during the #updateRoot: pass, which happens before the full render 
pass.  Useful methods on WAHtmlRoot include #title:, #docType:, 
#addScript:, #addStyle:, and accessors for the attributes of the 
<html>, <head>, and <body> tags (#htmlAttributes, #headAttributes, 
#bodyAttributes).
- The StyleGroup experiment has been removed, and replaced with 
WAStringLibrary.  The idea behind StringLibrary is this: subclasses of 
StringLibrary implement methods that return string literals with either 
CSS or Javascript code.  When configuring an application, you can add 
any libraries that have relevant scripts or styles, and all of the code 
in these libraries will be linked in to every page of the application.  
By default, applications include WAStandardStyles and 
WAStandardScripts; see these classes for examples.  The pen icon on 
halos will now open up a Library Browser, which lets you (or a 
designer) easily edit these libraries.
- WAHtmlAttributes now includes #addClass: so that you can easily add 
multiple (space separated) values to the "class" attribute.
- Several fixes from the list: don't encode chars over 128, allow 
custom attributes on checkboxes, conform to VW's #on:do: in WAWalkback.

Also included is work in progress on the new WACanvas rendering system, 
including a subclass (WARenderCompat) that provides backwards 
compatibility with WAHtmlRenderer.  There's no real reason for anyone 
to use WARenderCompat over WAHtmlRenderer, but it will help me with 
migration: as I extend the canvas system, more and more of the methods 
of WARenderCompat will be able to use high level canvas methods rather 
than sends to #tag:do: and #attributes, which will provide a running 
status of the canvas classes.

The next push is to get streaming truly working (at least with Swazoo, 
it may be too difficult with Comanche).  At that point, I'll release 
2.5b.

Avi



More information about the Seaside mailing list