[Seaside] 2.5a5

Avi Bryant avi at beta4.com
Sat Jun 12 10:09:11 CEST 2004


Hi all,

I've just released Seaside 2.5a5 to SqueakMap.  The changes are:

- the recently introduced use of events for #answer: has been changed 
from a general facility to a pattern; which is to say, there's now a 
specific #handleAnswer: method on Decoration rather than 
#handleEvent:with:.  It's certainly possible that we'll add more events 
in the future, but for now the generalized system smacked of YAGNI.
- Callback processing has been improved.  There most visible effect is 
the addition of a "cancel" callback as suggested by Rado; this means 
that you can render #cancelButtonWithAction:, and if it is the submit 
button used, the rest of the form submission will be ignored.  There's 
also a different error if you omit a subcomponent from #children; 
rather than complaining at render time (which used ugly stack-walking 
hacks), it will complain during request processing if it ends up with 
callbacks that it can't match to a current child (this will also more 
accurately catch issues with the result of #children changing between 
response and request, per the recent thread started by Romain).  And 
#defaultAction: on forms should work properly again.
- I've also added support for "idempotent" action callbacks, for 
actions that could be executed any number of times without ill effect.  
Currently this is used by a new #anchorWithCallback:do: method, which 
is like #anchorWithAction:do: but won't have any automatic redirects 
during the course of the action - so browser reloads may cause the 
action to run again.  It could also be used to support GET forms 
instead of the current POST forms, though there's no API for this yet.  
Some day we may also find a way to use it as a cue for search engines - 
it should be fine for a crawler to follow #anchorWithCallback: links 
but not #anchorWithAction: links.  Incidentally, if someone can come up 
with a more revealing pair of names for those selectors, I'm open to 
suggestions.

We're getting near to feature-complete; the last thing on my list for 
2.5 is localization, so we're probably only a couple of releases from 
beta.  So if you have comments on the way things have been going, speak 
now...

Avi



More information about the Seaside mailing list