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