[ANN] Nitro + Og 0.11.0


George Moschovitis

Hello everyone,

new versions of Nitro and Og were just released.

Homepage: http://www.rubyforge.com/projects/nitro

The platform continues to evolve and now supports the Apache web server
and the Oracle database out of the box. This version features improved
documentation, important bug fixes and many subtle improvements to
make programming
even more enjoyable. Many thanks to Matt Bowen for his help with this

Most notable additions:

* Configuration files for Apache/FastCGI.

* Og documentation (doc/og_tutorial.txt, doc/og_config.txt)

* Actions with parameters:

def list(username, oid)


calls list() with the correct parameters, no need to
use request['oid'], just use oid.

def list(username, oid)
puts oid # oid == request['oid']

WARNING: this feature requires the ParseTree library which
is not compatible with Windows. For the moment, this feature
is dissabled by default. To enable this feature, set
Nitro.resolve_action_arguments = true.

* New session store system, DRb sessions (stored in an independent
DRb server) are reimplemented.

Session.store_type = :drb

* TableBuilder helps in creating html tables.

* Integrated builders with the programmatic render. For example:

<div class="mytable">
#{o.build_table:)id => 'my_tab', :headers => headers, :values =>


<b>Object Form</b>

* Og Oracle adapter [EXPERIMENTAL].

* Og provides advanced metadata for the managed objects

class Article
property :title, String
property :body, String
has_many :comments, Comment

par = Article.properties_and_relations
=> [Property:)title), Property:)body), Og::HasMany:)comments)]

=> Comment

=> :article_oid

* Og Typemacros, here is an example:

def VarChar(size)
return String, :sql => "NOT NULL VARCHAR(#{size})"

property :title, VarChar(30)

* Option for faster startup, skip schema check.

* Many small Og improvements and fixes.

* FastCGI adapter bug fixes.

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

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 a
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

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 and SQLite 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

George Moschovitis


and check out the port of why_'s cool wiki implementation:



Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Latest member

Latest Threads