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