[ANN] Nitro + Og 0.14.0, Caching, Og Mixins, Important fixes

Hello everyone,

new versions of Nitro and Og were just released.

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

This release fixes *important* bugs amd improves various aspects of the
platform. Moreover, we included some great *new* features for your
pleasure.

Most notable additions:

* Fixed IMPORTANT bug in property inheritance.

* Fine grained caching. Nitro allows you to cache
  whole pages (output caching), actions and fine-grained
  fragments.

  class MyController < Controller
    cache_output :my_action

    def my_action
    end
  end

  Stores the whole page created by the my_action method
  to the disk to be displayed by the web server thus completely
  Nitro and Ruby.

  or

  <strong>Here is some cached code</strong>
  <cache>
    <ul>
    <?r for a in Article.all ?>
      <li>#{a.title}: #{a.body}</li>
    <?r end ?>
    </ul>
  </cache>

  or

  <strong>Another one</strong>
  <?r cache('variant', :admin => session[:admin]) do ?>
    ...
  <?r end ?>

  Cached fragments can be stored in memory, filesystem.

  While this feature is fully operational, the API will be finalised in
  the next version.

* Introduced support for Og mixins. In this version a List
  mixin is provided:

  class Article
    has_many :comments, Comment, :order => 'position DESC'
  end

  class Comment
    belongs_to :article, Article
    acts_as_list :scope => :article
  end

  comment.move_higher
  comment.move_next
  comment.move_top
  etc...

  An AR compatible API is provided. An alternative
  API is planned for the near future to give you more choice.

* Reimplemented filtering infrastructure, allows
  for inheritance, conditional application of filters
  (:only/:except) modifiers, more performant Filters
  as Strings and more.

* Fixed multipart support in fastcgi, added file upload
  example (tiny example).

* The webrick adapter reuses the fastcgi infrastructure, making
  the adapters more compatible with each other.

* Added many useful Og enchant methods.

* Cleaned up configuration files for lighttpd/apache.

* More compatible with win32.

* Fixed examples and 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 querieng 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.

Og is a combination of the best features of Active Record and the
former O-R mapping library included in Nitro (NDB). 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