Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > [ANN] Nitro + Og 0.24.0, Annotations, KirbyBase, SCGI, Og Evolution, Gen, Dynamic CSS...

Reply
Thread Tools

[ANN] Nitro + Og 0.24.0, Annotations, KirbyBase, SCGI, Og Evolution, Gen, Dynamic CSS...

 
 
George Moschovitis
Guest
Posts: n/a
 
      10-28-2005
Dear devs,

new versions of Nitro and Og were just released!

homepage: http://www.nitrohq.com
download: http://rubyforge.org/projects/nitro/
mailing list: http://rubyforge.org/pipermail/nitro-general/

--

A snapshot of the latest developments. This version features
tons of big and small features and bug fixes that were
implemented during the last month. Special thanks fly to
Tom, Chris, Guill, Rob, Aleksi, and all others that sent
patches and code.

Most notable additions:


* Totaly recoded annotation / property system. The property
system is now based on Facet annotations and inheritors.
You can now annotate every object, attribute or method
in Nitro. For example you can annotate your actions with
routing rules or sitemap strings etc, etc. One unified
system for annotations and metadata is used throughout
the whole Framework.

Here is an example:

class A
attr_accessor :val
ann :val, :klass =3D> String
ann :self, :doc =3D> 'Self annotation'
end

A.ann.val.class =3D> String
A.ann.self.doc =3D>

if A.ann.val[:class]

etc, etc...

* Implemented one of the most requested features. An Og
frontend for KirbyBase. The KirbyBase store does not yet
support all features, but is really useful. For example
it can power the Spark wiki example. Switching between
KirbyBase, Mysql, Postgres, Sqlite, etc by changing
one line of code is really cool

* Better Seperation of Concerns for Og managed classes. Og
can now annotate and handle classes from other libraries.
Lets say you have the following class:

class User
attr_accessor :name
attr_accessor :body
end

Using Ruby's open classes and Nitro's advanced annotation
system you can easily prepare this class for Og management

class User
ann :user, :klass =3D> String
ann :body, :klass =3D> String
end

or even better:

class User
property :user, String
property :body, String
end

This style promotes SOC: You define your classes in one
place and annotate them for Og in another place.

* Introduced a simple code generation framework. Two example
generators are included:

* app: generates the directory structure for a new
nitro application.

* form: generates an xhtml form for a Ruby class.
This generator leverages the annotations of the
object class.

* Improved scaffolding code and django style auto
administration system. The new scaffolder supports all
Og relation types and provides an intuitive DHTML
interface for editing.

* SCGI (http://python.ca/nas/scgi/protocol.txt) support.
Thanks to a refactoring of Nitro's cgi code this
version integrates with Zed Shaw's SCGI adapter. This
provides FastCGI's performance with an easy
installation.

* Experimental HTTP streaming support. Here is a
simple example:

def index
response.content_type =3D "text/plain"
stream do
5.times do |i|
print "#{i}"*10000 + "\n"
sleep 1
end
end
end

* Simple Og automatic evolution system. Lets say you have a class Article

class Article
property :title, String
property :nbody, String
property :dumy, Fixnum
end

lets you want to change your
class to this one:

class NewArticle
property :ntitle, String
property :nbody, String
property :new, Float
end

First you export the database:

og.export

Then you import the database. Some rules
are needed when renaming classes or properties.
New properties or deleted properties are handled
automatically.

rules =3D {
:Article =3D> {
:self =3D> :NewArticle, # rename the class
:title =3D> :ntitle,
:body =3D> :nbody
}
}
og.import :evolution =3D> rules

Thats all. In a future version this will be integrated into
the default runner scripts.

* Og helpers to create simple rdbms management scripts. Here
is an example:

mysql "-u root -p", <<-END
drop database if exists weblog_development;
create database weblog_development;
grant all on weblog_development.* to #{`id -un`.strip}@localhost;
END

At the moment this is only available for Mysql.

* Added support for dynamic CSS using Nitro's advanced templating
system. Create the dynamic CSS file with an .csst extension in
your template root.

<?r
green =3D '#79b500'
background =3D '#fff'
?>

.page {
background: #{green}

<?r 10.times do ?>
padding: 5px;
<?r end ?>

// or even

<% 3.times do %>
margin: 5px;
<% end %>
}
..

then, add this line in run.rb:

Compiler.precompile 'style.css'

The CSS file will be regenerated automatically whenever the
template changes...

* Updated to support latest Prototype, Scriptaculous etc.

* Cleaned up Og implementation.

* Fixed minor Ruby 1.8.3 compatibility issues.

* Even better integration with Ruby Facets.

* Tons of bug fixes and small but useful features.

--

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.

Nitro is Web 2.0 ready, featuring excellent support for AJAX,
XML, Syndication while staying standards compliant.

Og (ObjectGraph) is a powerful and elegant object-relational mapping
library. Og manages the lifecycle of Ruby objects and provides
transparent serialization of object graphs to stores (typically
RDBM systems).

--

enjoy,
George Moschovitis


--
http://www.nitrohq.com
http://www.navel.gr


 
Reply With Quote
 
 
 
 
Trans
Guest
Posts: n/a
 
      10-28-2005
Congrats on getting the new release out. I know this one was a
humdinger

T.

 
Reply With Quote
 
 
 
 
Zed A. Shaw
Guest
Posts: n/a
 
      10-29-2005
Hey George,

That's great you're using the SCGI stuff. Let me know how it works for
you, and shoot me feedback on changes. Also, what version are you
using?

On Fri, 28 Oct 2005 16:55:13 +0900
George Moschovitis <(E-Mail Removed)> wrote:
<snip>
> Dear devs,
> * SCGI (http://python.ca/nas/scgi/protocol.txt) support.
> Thanks to a refactoring of Nitro's cgi code this
> version integrates with Zed Shaw's SCGI adapter. This
> provides FastCGI's performance with an easy
> installation.

</snip>


 
Reply With Quote
 
George Moschovitis
Guest
Posts: n/a
 
      10-29-2005
I use a slightly older version of your code. Will update to the latest
now that 0.24.0 is out.
Moreover, I plan to send you some general suggestions about your great
adapter, stay tuned.

regards,
George.


On 10/29/05, Zed A. Shaw <(E-Mail Removed)> wrote:
> Hey George,
>
> That's great you're using the SCGI stuff. Let me know how it works for
> you, and shoot me feedback on changes. Also, what version are you
> using?
>
> On Fri, 28 Oct 2005 16:55:13 +0900
> George Moschovitis <(E-Mail Removed)> wrote:
> <snip>
> > Dear devs,
> > * SCGI (http://python.ca/nas/scgi/protocol.txt) support.
> > Thanks to a refactoring of Nitro's cgi code this
> > version integrates with Zed Shaw's SCGI adapter. This
> > provides FastCGI's performance with an easy
> > installation.

> </snip>
>
>



--
http://www.gmosx.com
http://www.navel.gr
http://www.nitrohq.com


 
Reply With Quote
 
anibalrojas@gmail.com
Guest
Posts: n/a
 
      10-30-2005
The acces to the darc repository is broken I am getting a:

Invalid repository: http://www.nitrohq.com:8090

Trying:

darcs get http://www.nitrohq.com:8090

 
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
Nitro + Og 0.25.0 Og scope, dynamic finders, evolution, helpers, bug fixes George Moschovitis Ruby 4 11-17-2005 02:37 PM
[ANN] Nitro + Og 0.21.0 Compiler, Og custom joins, Og dynamic injection, new builder George Moschovitis Ruby 10 07-26-2005 07:09 PM
DVD Verdict reviews: NITRO DIGGERS, CRASH ENCOUNTERS, and more! DVD Verdict DVD Video 0 06-26-2004 09:01 AM



Advertisments