[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