Hello everyone,

new versions of Nitro and Og were just released.

Homepage + Downloads: http://nitro.rubyforge.org

A snapshot of the latest developments. Many, many subtle improvements,
new features and a major cleanup of the source code. Thanks to James
Britt for significantly contributing to this release.

Most notable attitions:

* Aspect Oriented Programming support. This new system is used to
reimplement features such as Controller filters, Og callbacks and Og
observers. By using this unified system you can now add Observers to
controllers and use a metalanguage for wraping Og object callbacks:

  class Controller
    pre :force_login, :where => :prepend
    wrap Benchmark, :on => :index
    post :taraa, :on => login
  end

  module Timestamped
    pre :on => :og_insert { |this| this.create_time = Time.now }
    pre :on => :og_update { |this| this.update_time = Time.now }
    pre :on => [:og_insert, :og_update] { |this| this.create_time =
Time.now }
  end

This feature will be used extensivelly  in a future version to improve
logging, the shaders and more.

* Added support for Test Driven Development. Many helpers and utility
methods are added to the standard TestCase class, more will come in a
future version:

  handle(
    '/login',
    request = { 'password' => Blog.password }
  )
  assert_redirect
  assert_session_has(:owner)
  assert_session_equal(:username, 'George Moschovitis')
  assert_has_cookie('nauth')
  assert_has_no_cookie('wow')
  assert_cookie_equal('nauth', 'just an example, not used :)')

* CGI adapter (by James Britt)

* Major cleanup of the source. Converted the N namespace to Nitro, to
be more compatible with other Ruby projects.

* Add Og Timestamped mixin.

* Og improvements.

* Improved runner helper.

* Improved reloading support.

* Improved the Gem installation process.

* Fixed all reported bugs.


Nitro is an efficient, yet simple engine for developing professional
Web Applications using the Ruby language. Nitro aims to provide a
robust infrastructure for scalable web applications that can be
distributed over a server cluster. However, Nitro can also power simple
web applications for deployment on intranets or even personal
computers. Nitro integrates the powerful Og Object-Relational mapping
library.

Nitro is a multiparadigm application framework and will integrate ideas
from Rails, Wee, PHP, JSP and .NET

Nitro integrates the Og (ObjectGraph) object-relational mapping
library. Og provides transparent serialization of object graphs to an
RDBMS backend. Unlike other similar libraries Og maps standard Ruby
objects to SQL tables and not vice versa. Og provides a meta language
to describe the relations between objects, a flexible and intuitive API
for querying the database, raw access to the SQL language if needed
(for example to fine tune the automatically generated SQL tables, or
for custom queries), suports deserialization to Ruby objects or tuples,
automatically generates join tables for many_to_many relations and
provides a collection of usefull Mixins to synthesize common Entities.
Adapters for PostgreSQL, MySQL, SQLite and Oracle are included.

I hope this software will be useful for you, and I would love to
receive your suggestions, ideas and bug reports.


have fun,
George Moschovitis