Hello everyone, New versions of Nitro (Web Application Framework) and Og (Object Relational Mapping) were released: Homepage: http://www.nitrohq.com Download: http://rubyforge.org/projects/ nitro Mailing List: http://rubyforge.org/mailman/l istinfo/nitro-general The summer vacations are over and there is a brand new Nitro release. There is a preview of the new Scaffolder (also handles Og relations), support for Tagging (folksonomy), lots of small features and improvements and many bug fixes. Additionally, the code has been restructured to utilize the excellent Nano and Mega support libraries. Most notable additions: * Scaffolding reloaded. The scaffolding infrastructure is reimplemented to generate more flexible code. The automatically generated forms allow for visualization and editing of Og relations such as HasMany and BelongsTo. For example when rendering a BelongsTo relation all possible parents are presented with a select element. When rendering a HasMany relation a list of all children is presented. Moreover, an experimental admin component is provided. Just add the line: require 'part/admin' and surf http://www.mysite.com/admin To enter a simple administration screen. WARNING: This feature is considered a preview and will be improved in a future version. * Major cleanup in the Glue subproject. Some files are moved to the nano/mega project. Nano/Mega is now used throughout Nitro and really makes development so much easier. * Introduced Og Taggable mixin. It was never easier to add tagging to your application. class Article include Og::Taggable .. end article.tag('navel', 'gmosx', 'nitro') article.tags article.tag_names Article.find_with_tags('navel', 'gmosx') Article.find_with_any_tag('name', 'gmosx') t = Article::Tag.find_by_name('ruby') t.articles t.articles.count For an example usage of this Mixin, consult the Spark sources. * Added support for relative and absolute URLs in redirects and renders. This feature simplifies the creation of reusable components. * Support for assigning compound objects from the request. Here is an example: class Article property :title, String property :body, String end <form> <input type="text" name="article.title" /> <input type="text" name="article.body" /> </form> article = request.assign('article') Alternatively you can use the article[title] article[body] notation. * Added simple Benchmarking mixin. * Added support for 'evolving' a single Og managed class. Useful when you are in development mode and change your schema. * Added support for session garbage collection. * Many many small bug fixes in Og and Nitro. Nitro provides everything you need to develop professional Web applications using Ruby and Javascript. Nitro redefines Rapid Application Development by providing a clean, yet efficient API, a layer of domain specific languages implemented on top of Ruby and the most powerful and elegant object relational mapping solution available everywhere. Nitro is Web 2.0 ready, featuring excellent support for AJAX, XML, Syndication while staying standards compliant. Nitro gives choice to the developer: Multiple paradigms are implemented, incorporating ideas from Rails, CherryPy, Catalyst, Wee, PHP, JSP and Microsoft.NET and more. The developer is free to choose the pattern that better fits his application. This kind of freedom makes Nitro applicable to a wide range of applications, spanning from big, scalable web sites with thousands of concurrent users to simple solutions for deployment on intranet desktops. have fun :) George Moschovitis -- http://www.gmosx.com http://www.navel.gr http://www.nitrohq.com