From: George Moschovitis Date: 2005-03-01T01:37:47+09:00 Subject: [ANN] Nitro + Og 0.11.0 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 release. 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) ... end http://www.mysite.com/list?username=tml;oid=2 calls list() with the correct parameters, no need to use request['oid'], just use oid. def list(username, oid) puts oid # oid == request['oid'] end 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:
#{o.build_table(:id => 'my_tab', :headers => headers, :values => values)
or

Object Form #{o.build_form(obj)}

* Og Oracle adapter [EXPERIMENTAL]. * Og provides advanced metadata for the managed objects class Article property :title, String property :body, String has_many :comments, Comment end par = Article.properties_and_relations => [Property(:title), Property(:body), Og::HasMany(:comments)] par[2].klass => Comment par[2].meta[:linkback] => :article_oid * Og Typemacros, here is an example: def VarChar(size) return String, :sql => "NOT NULL VARCHAR(#{size})" end 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 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 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 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 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