avi at beta4.com
Fri Jul 2 23:06:57 CEST 2004
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
- 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,
- 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
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
More information about the Seaside