[ANN] Nitro + Og 0.10.0

Discussion in 'Ruby' started by George Moschovitis, Feb 15, 2005.

  1. 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
     
    George Moschovitis, Feb 15, 2005
    #1
    1. Advertising

  2. 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
     
    Michael Neumann, Feb 15, 2005
    #2
    1. Advertising

  3. 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
     
    George Moschovitis, Feb 15, 2005
    #3
  4. George  Moschovitis

    Jamis Buck Guest

    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://jamis.jamisbuck.org
    ------------------------------
    "I am Victor of Borge. You will be assimil-nine-ed."
     
    Jamis Buck, Feb 15, 2005
    #4
  5. 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.
     
    Florian Gross, Feb 15, 2005
    #5
  6. > 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.
     
    George Moschovitis, Feb 16, 2005
    #6
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. George Moschovitis

    [ANN] Nitro 0.1.2

    George Moschovitis, Oct 21, 2004, in forum: Ruby
    Replies:
    2
    Views:
    142
    George Moschovitis
    Oct 21, 2004
  2. George  Moschovitis

    [ANN] Nitro Web Engine 0.2.0

    George Moschovitis, Oct 25, 2004, in forum: Ruby
    Replies:
    2
    Views:
    113
    George Moschovitis
    Oct 27, 2004
  3. George  Moschovitis

    [ANN] Nitro 0.4.1

    George Moschovitis, Nov 15, 2004, in forum: Ruby
    Replies:
    0
    Views:
    105
    George Moschovitis
    Nov 15, 2004
  4. George  Moschovitis

    [ANN] Nitro 0.5.0

    George Moschovitis, Nov 23, 2004, in forum: Ruby
    Replies:
    1
    Views:
    105
    George Moschovitis
    Nov 23, 2004
  5. gabriele renzi

    [Nitro] [ANN] Nitro/Og 0.31.0

    gabriele renzi, Jul 24, 2006, in forum: Ruby
    Replies:
    22
    Views:
    382
    George Moschovitis
    Aug 1, 2006
Loading...

Share This Page