[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

[ANN] Nitro + Og 0.40.0

George Moschovitis

11/13/2006 10:22:00 AM

Hello everyone,

New versions of Nitro (Web Application Framework) and Og (Object
Relational Mapping) were released:

Homepage: http://www.nitrop...
Download: http://rubyforge.org... nitro
Mailing List: http://rubyforge.org... istinfo/nitro-general

This is the biggest release yet! Tons of new wonderful features, code
refactoring, bug fixes, documentation improvements and so much more.

Special thanks for this release fly to Jonas Pfeniger, Jonathan/Fabian
Buch and Michael Fellinger.

Most notable changes:

* Fully transparent Og managed objects. No need to use the special
property notation. Just use the standard attr_accessor macro:

class User
attr_accessor :name, String, :sql => 'VARCHAR(32)
attr_accessor :password, String
attr_accessor :age, :login_count, Fixnum

belongs_to :group
has_many :comments
joins_many :categories
end

Og automatically detects and manages this class!

* The Og adapter model was re-engineered from scratch. The new adapter
code is better refactored. It is now extremely easy to write new
adapters for various RDBMS systems.

* Og build mode. This avoids multiple sql queries when you are
'building' (ie attaching related objects) a new object.

* You can now easily lookup Og entities by name:

u = User[1] # classic

or

u = User['gmosx'] # this works as well!

for the new method to work you need to annotate the attribute to use
for named lookups:

class User
attr_accessor :name, String, :key => true
..
end

* Og set attribute, a nice helper to set only some attributes.

b = Book[1]
b.set_attribute :title => 'Hello' # updates only title in the DB
b.instance_attribute_set '@title', 'Hello' # Ruby style
b.set_attributes :title => '1', :hits => 3

* Much more intelligent dispatcher now handles nested controllers and
many 'edge' cases. For example:

Server.map = {
'/' => SiteController,
'/users' => UserController,
'/users/categories' => UserCategoryController,
'/users/comments' => UserCommentController
...
}

* Introduced the notion of Controls as extensions of the Elements
feature. The auto administration part was recoded to utilize the
Controls system. Ooh, and the admin screens now display validation
errors.

* Introduced Console/Script adapter. This is a new adapter that allows
you to programmatically send http requests to Nitro. You can send
GET/POST/etc request to any action you like with any request
parameters.

This adapter is used in the console mode. You can access it through
the $app variable. You can also use this adapter to perform
sophisticated testing, our specialized automation scripts.

* New and improved nitro command. Among many new features the new
command supports:

* Easy setup of clusters:

nitro --cluster 3

if the default port is 9000 starts 3 instances of the application
listening on 9000, 9001, 9002. This command is smart enough
to also name the instances for easy identification when you
give 'ps aux'.

Useful for Mongrel/FastCGI deployment.

* Automatic start of state servers. You need a 'state' server if tou
use Mongrel/Nitro to keep the distributed session and global variables
and any other common data you want to use.

* Output cache cleanup. Just start the console

nitro console

and give:

$cache.cleanup


* More flexible elements namespace selection, you can easier
have multiple skins in your web app, per controller, per
controller group etc. A low level example:

class MyController
ann :self, :elements => CustomSkin
end

* More flexible configuration system. See the updated examples for the details.

* Further improvements in the form builder. Among other things, it now
works better with flash parameters and handle errors.

* Greatly improved the Mongrel adapter. In fact nitro+mongrel running
behind apache is now the reference deployment method. We have removed
the unsupported SCGI adapter, please use Mongrel instead.

* The StaticInclude compiler now handles recursive includes.

* Brand new automatic administration part.The new implementation is
much simpler, elegant and easier to extend.

* Many more bug fixes and smaller improvements.



Nitro provides everything you need to develop professional Web
applications using Ruby and Javascript.

Nitro redefines Rapid Application Development by providing a
clean, yet efficient API, a layer of domain specific languages
implemented on top of Ruby and the most powerful and elegant
object relational mapping solution available everywhere.

have fun,
Nitro Team




--
http://gmos...
http://nitrop...

16 Answers

David Vallner

11/13/2006 10:13:00 PM

0

I've always meant to look at Nitro, except... I can't for the heck of it
find documentation that would let me "get it".

Is there any material that has a "manual" scope, i.e. goes into an
overview how the architecture and lets me see the big picture? Sifting
through tutorials and rdocs isn't quite much.

David Vallner

Marc Heiler

11/13/2006 10:29:00 PM

0

I recall being on the IRC channel quite some times. :)

I'd too like to side in and push you guys a little to do more on the
tutorials and docu side of things. ;)

But otherwise thumbs up!

--
Posted via http://www.ruby-....

James Britt

11/13/2006 11:06:00 PM

0

Marc Heiler wrote:
> I recall being on the IRC channel quite some times. :)
>
> I'd too like to side in and push you guys a little to do more on the
> tutorials and docu side of things. ;)


Hal Fulton's new edition of The Ruby Way has a section that discusses
Nitro.

--
James Britt

"Hackers will be expelled"
- The Breakfast Club (1985)

George Moschovitis

11/14/2006 8:35:00 AM

0

Hello David,

let me quote this from an email by James Britt:

> Hal Fulton's new release of The Ruby Way, 2nd ed. has a section on Nitro (written by me,
> as it happens).


-g.

--
http://gmos...
http://nitrop...

Hal E. Fulton

11/14/2006 8:59:00 AM

0

George Moschovitis wrote:
> Hello David,
>
> let me quote this from an email by James Britt:
>
>> Hal Fulton's new release of The Ruby Way, 2nd ed. has a section on
>> Nitro (written by me,
>> as it happens).

James did a great job on that. I didn't change much.
He was the biggest contributor to the book, besides me. :)


Hal

George Moschovitis

11/14/2006 9:05:00 AM

0

Hal,

Is this book released?

-g.

On 11/14/06, Hal Fulton <hal9000@hypermetrics.com> wrote:
> George Moschovitis wrote:
> > Hello David,
> >
> > let me quote this from an email by James Britt:
> >
> >> Hal Fulton's new release of The Ruby Way, 2nd ed. has a section on
> >> Nitro (written by me,
> >> as it happens).
>
> James did a great job on that. I didn't change much.
> He was the biggest contributor to the book, besides me. :)
>
>
> Hal
>
>


--
http://gmos...
http://nitrop...

Mark Somerville

11/14/2006 10:44:00 AM

0

On Tuesday 14 November 2006 09:05, George Moschovitis wrote:
> Hal,
>
> Is this book released?

Yep, got it right here :)

http://www.samspublishing.com/bookstore/product.asp?isbn=067232884...

Mark

>
> -g.
>
> On 11/14/06, Hal Fulton <hal9000@hypermetrics.com> wrote:
> > George Moschovitis wrote:
> > > Hello David,
> > >
> > > let me quote this from an email by James Britt:
> > >> Hal Fulton's new release of The Ruby Way, 2nd ed. has a section on
> > >> Nitro (written by me,
> > >> as it happens).
> >
> > James did a great job on that. I didn't change much.
> > He was the biggest contributor to the book, besides me. :)
> >
> >
> > Hal

James Britt

11/14/2006 7:06:00 PM

0

On 11/14/06, Hal Fulton <hal9000@hypermetrics.com> wrote:
> George Moschovitis wrote:
> > Hello David,
> >
> > let me quote this from an email by James Britt:
> >
> >> Hal Fulton's new release of The Ruby Way, 2nd ed. has a section on
> >> Nitro (written by me,
> >> as it happens).
>
> James did a great job on that. I didn't change much.
> He was the biggest contributor to the book, besides me. :)

Well, my contribution pales next to the volume of detail you assembled.

I did a little show-and-tell at the Phoenix Ruby group last night, and
passed around some recent books. I encouraged the group to get
your book as a followup to Programming Ruby. It pretty much covers
*everything*.

Quite impressive.

In some ways it is like the Ruby Cook Book from O'Reilly, but that
book does not (based on my sporadic reading) have the same sort of
cohesive thread offering more technical background detail.

I'm glad I could make a contribution, but I can't imagine the effort
required to get all that information together.

Everyone should go get a copy.

James

Hal E. Fulton

11/15/2006 12:16:00 AM

0

George Moschovitis wrote:
> Hal,
>
> Is this book released?

No... it escaped. ;)

Seriously, it has been available since the last week
in October. Online, that is -- most bookstores haven't
seen it yet, I think.


Hal



George Moschovitis

11/15/2006 8:22:00 AM

0

> Seriously, it has been available since the last week
> in October. Online, that is -- most bookstores haven't
> seen it yet, I think.


Will get it from Amazon, thanks :)

-g.

--
http://gmos...
http://nitrop...