damon / mailandnews.com wrote in message news:<IvFQ7.54882$xS6.88966 / www.newsranger.com>...
> Avi,
 > 
 > Is IOWA is being developed.  It looks like a great system.  If
nothing else, can
 > more documentation be provided?
 
 So, ok...
 
 Although there was essentially no development on IOWA for much of
this year, it has started again rather in earnest, and I have a gig in
the new year that will require me to do a lot of work on and with
IOWA.  That's the good news.  The bad news is that, for a number of
reasons, the recent development has been done in Squeak instead of
Ruby.
 
 Once the new design has completely settled (ie, once this gig is
over, a few months from now), I fully intend to port or help someone
else port it back to Ruby, and hopefully have both versions maintained
from then on.  Until then, I don't have much time, personally, to keep
evolving the current Ruby version.  Which isn't to say that it's
"unsupported" - I'll still happily answer questions about it, apply
patches, etc, I just don't expect to be making any major releases for
the time being.
 
 The Squeak development version isn't public yet, and probably won't
be at least for a few weeks.  If you're extremely interested, email me
privately.  Some of the new features are -
 
 * Revamped, continuation-based control flow: there is now both
jumpToPage and callPage, which allows page views to be treated as
subroutines.  This is extremely cool - it means that methods like
 
 def removeItem(i)
    if(confirm("Do you really want to remove #{i}?"))
      items.remove(i)
      inform("Removed").
    end
 end
 
 which span multiple page views, are possible.

 * Macro-expanding template engine.  This can be used for various
nefarious purposes; internally, it's used to do things like expanding
 <a href="@foo"> into <a oid="foo">, for better integration with
WYSIWYG tools (which have dedicated entry fields for href, name, etc,
but not for oid).
 
 * Improved subcomponents, to allow a single class to be transparently
used either as a standalone page or as an embedded component, no
matter how complex.
 
 * Browser-based configuration and debugging tools, including a nifty
inspector.
 
 * Programmatic bindings, allowing new binding types (for example,
validating or converting bindings) to be defined.

 As for documentation  - I'm really bad at finding time to write
detailed documentation (hopefully that'll improve as IOWA becomes more
of a focus), but I'm really good at answering emails.  You can also
contact julian / beta4.com - Julian's been helping me out for the last
little bit, and will continue to do so.

Cheers,

Avi