Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > [ANN] Nitro + Og 0.10.0

Reply
Thread Tools

[ANN] Nitro + Og 0.10.0

 
 
George Moschovitis
Guest
Posts: n/a
 
      02-15-2005
Hello everyone,

new versions of Nitro and Og were just released.

Homepage: http://www.navel.gr/nitro
Download: http://www.rubyforge.com/projects/nitro

Another strong release featuring a completely recoded Og implementation
and redesigned Og adapter (formely backend) system. An SQLite3 adapter
is also provided. Moreover, the Nitro installation process is improved,
and many small changes make the framework more elegant and easier to
use: the updated examples reflect this!

Most notable additions:

* Improved Og implementation (cleaner code) and new Og adapter
subsystem.

* New SQLite3 Og adapter, improvements in MySQL and PostgreSQL adapters
(WARNING: needs version 1.1.0 of Sqlite3-Ruby).

* Added install.rb for easier installation of the tar.gz distribution.

* Better GemSpec for easier installation by RubyGems.

* Action/template/xsl auto-reloading system in debug mode, new
implementation, works again.

* New Nitro configuration system, with rational default parameters.

* --console option attaches an irb session to a running instace of an
application (works again).

* Og supports optional typechecking by using property metadata.

* request alias for context to be compatible with older versions of
nitro and Webrick/jsp and other frameworks.

* Improved the examples, cleaner code, work from any directory.

* Removed more obsolete code and improved directory structure.

* and many more smaller fixes.

WARNING: If you used an earlier version of Og you may need to drop your
database and let Og recreated it automatically.

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

 
Reply With Quote
 
 
 
 
Michael Neumann
Guest
Posts: n/a
 
      02-15-2005
George Moschovitis wrote:
> Hello everyone,
>
> new versions of Nitro and Og were just released.
>
> Homepage: http://www.navel.gr/nitro
> Download: http://www.rubyforge.com/projects/nitro
>
> Another strong release featuring a completely recoded Og implementation
> and redesigned Og adapter (formely backend) system. An SQLite3 adapter
> is also provided. Moreover, the Nitro installation process is improved,
> and many small changes make the framework more elegant and easier to
> use: the updated examples reflect this!
>
> Most notable additions:
>
> * Improved Og implementation (cleaner code) and new Og adapter
> subsystem.
>
> * New SQLite3 Og adapter, improvements in MySQL and PostgreSQL adapters
> (WARNING: needs version 1.1.0 of Sqlite3-Ruby).


Wow. That's very good news. That makes database examples much easier, as
everyone will be able to try them without installing and configuring
Mysql or Postgresql. Thanks!

How to install the SQLite3 library? Could you give the gem name?

Hm, just an idea: Make a "og-sqlite3" meta gem, which serves just for
installing the SQLite3 dependencies.

> * Added install.rb for easier installation of the tar.gz distribution.
>
> * Better GemSpec for easier installation by RubyGems.
>
> * Action/template/xsl auto-reloading system in debug mode, new
> implementation, works again.
>
> * New Nitro configuration system, with rational default parameters.
>
> * --console option attaches an irb session to a running instace of an
> application (works again).


Could you explain how this works and how this can be useful (I'm sure it
*is* useful, but I don't know exactly what it is .

> * Og supports optional typechecking by using property metadata.


Can you give a little example?

Regards,

Michael


 
Reply With Quote
 
 
 
 
George Moschovitis
Guest
Posts: n/a
 
      02-15-2005
Hello Michael,

> Wow. That's very good news. That makes database examples much easier, as
> everyone will be able to try them without installing and configuring
> ...
> installing the SQLite3 dependencies.


Yeap, sqlite3 is cool indeed, and Jamis's library is even better.

Please note that you need the (as-of-yet) unreleased version 1.1.0 of
Sqlite3-Ruby. Jamis Buck was kind enough to make some small changes to
the library to better support Og but havent released the new version yet.

I also run some tests with prepared statements in Og/Sqlite but is not
ready yet.

>> * --console option attaches an irb session to a running instace of an
>> application (works again).

>
> Could you explain how this works and how this can be useful (I'm sure it
> *is* useful, but I don't know exactly what it is .


well lets say you are running your site with this command:

$ ruby path/to/mysite/run.rb --lhttpd

(using the lighttpd/fastcgi adapter)

then you want to debug the site or interrogate some internal structures.
You just issue:

$ ruby path/to/mysite/run.rb --console

and you end up in a irb console with the correct environment of the
running site. This will be more usefull in the next releas when I
re-enable the distributed sessions (drb/memcache).

This works more or less like the Rails version.

>> * Og supports optional typechecking by using property metadata.

>
> Can you give a little example?


sure, first of all, enable typechecking:

Property.type_checking = true

then define your class:

class Article
prop_accessor :name, String
end

the try to violate tha prop_accessor type:

a = Article.new
a.name = 123 # => You get an exception!

useful to catch some bugs.

btw, this is NOT an restricted to Og application, this is not
an Og feature.



regards,
George
 
Reply With Quote
 
Jamis Buck
Guest
Posts: n/a
 
      02-15-2005
On 20:39 Tue 15 Feb , George Moschovitis wrote:
> Hello Michael,
>
> >Wow. That's very good news. That makes database examples much easier, as
> >everyone will be able to try them without installing and configuring
> > ...
> >installing the SQLite3 dependencies.

>
> Yeap, sqlite3 is cool indeed, and Jamis's library is even better.
>
> Please note that you need the (as-of-yet) unreleased version 1.1.0 of
> Sqlite3-Ruby. Jamis Buck was kind enough to make some small changes to
> the library to better support Og but havent released the new version yet.


I will be releasing 1.1.0 of SQLite3/Ruby ASAP. If you want to use it
sooner, you can use the version in svn:

http://www.jamisbuck.org/svn/sqlite3-ruby

Sorry for the delay.

--
Jamis Buck
http://www.velocityreviews.com/forums/(E-Mail Removed)
http://jamis.jamisbuck.org
------------------------------
"I am Victor of Borge. You will be assimil-nine-ed."



 
Reply With Quote
 
Florian Gross
Guest
Posts: n/a
 
      02-15-2005
George Moschovitis wrote:

> sure, first of all, enable typechecking:
>
> Property.type_checking = true
>
> then define your class:
>
> class Article
> prop_accessor :name, String
> end
>
> the try to violate tha prop_accessor type:
>
> a = Article.new
> a.name = 123 # => You get an exception!
>
> useful to catch some bugs.
>
> btw, this is NOT an restricted to Og application, this is not
> an Og feature.


Interesting stuff.

I'm currently working on the ruby-contract library (see
ruby-contract.rubyforge.org) that would allow you to do something
similar like this:

class Article
attr_accessor :name
signature :name=, String
signature :name, :return => String # optional
end

I've also implemented type adaption so the above would also accept
anything that implements the .to_str method correctly. (Pathname and so on)

Feedback or questions are very welcome.
 
Reply With Quote
 
George Moschovitis
Guest
Posts: n/a
 
      02-16-2005
> Interesting stuff.
> ...
> Feedback or questions are very welcome.


Hello Florian,

I 'll go to download your library, seems to me this does more or less
the same. Perhaps we could cooperate on this and come up with a single
library that still works with Og.

Btw, perhaps I should contact you by email, I would like to use some of
your magic tricks EvilRuby tricks in Nitro.

best regards,
George.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Nitro] [ANN] Nitro/Og 0.31.0 gabriele renzi Ruby 22 08-01-2006 12:33 PM
Nitro Ax Full Tower Server Case @ A True Review Silverstrand Front Page News 0 11-25-2005 10:27 PM
[ANN] Nitro Web Engine 0.2.0 George Moschovitis Ruby 2 10-27-2004 08:03 AM
[ANN] Nitro 0.1.2 George Moschovitis Ruby 2 10-21-2004 08:49 AM
DVD Verdict reviews: NITRO DIGGERS, CRASH ENCOUNTERS, and more! DVD Verdict DVD Video 0 06-26-2004 09:01 AM



Advertisments