[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

[ANN] Rails 0.10.0: Routing, Web Services, Components, Oracle

David Heinemeier Hansson

2/24/2005 4:23:00 PM

We're plowing through the road map at lightning speed with the release
of Rails 0.10.0. There's so much good stuff in here this time it's
really hard to pick just a few bits to focus on for the overview, but
still I have. With Rails 0.10.0, you'll get:

* *Routing*: Pretty URLs of all flavors and fashions can now be
specified using an easy to understand Routing syntax made in Ruby. This
means no more wrestling with mod_rewrite in Apache to get custom URL
schemes. It means you're not bound to the traditional
/controller/action/id form (the controller and action names don't even
have to be part of the URL!). It also means that the URL parsing and
generation is handled by the same configuration, which removes all the
labor previously involved in getting your Ruby code to sync with your
rewrite rules. That makes it possible to share the same URL
configuration across all the web servers supported by Rails. You can
seemlessly develop your application on WEBrick and without changes move
it to Apache or lighttpd. Read more in the Routing book
[http://manuals.rubyonrails.com/r...], see a bunch of routes
explained [http://scott.elitists.n...], or dig into the
ActionController::Base#url_for
[http://ap.rubyonrails.com/classes/ActionController/Base.ht...]
API documentation.

* *Web Services*: Action Web Service [http://aws.rubyon...] is a
whole new add-on framework for Action Pack that enables SOAP with WSDL
and XML-RPC web services to be made with Rails ease. You can either
describe an existing controller with an API, and let the clients
interact with the same methods used to do the HTTP interface, or you
can create dedicated service classes that can be bound to a controller.
In addition to the support for building web services, we've also added
convenient wrappers for calling other web services from your
application. For getting started, there's a whole book on Action Web
Service [http://manuals.rubyonrails.com/re...] that explains how
to define, implement, and interact with the web serivce APIs. We also
got examples using the GoogleSearch API
[http://dev.rubyonrails.com/browser/trunk/actionwebservice...
googlesearch/] and the metaWeblogApi
[http://dev.rubyonrails.com/browser/trunk/actionwebservice...
metaWeblog/.

* *Components*: With components it's possible to call other actions and
controllers for their rendered response while executing another action.
You can either delegate the entire response rendering or you can mix a
partial response in with your other content. This makes it possible to
package functionality in reusable parts and to keep more DRY on
application elements that integrate from many sources (like a
dashboard). To learn more about components, we have another book
[http://manuals.rubyonrails.com/re...], a video showing how to
make and call components
[http://rubyonrails.org/media/video/clips/comp...], and the API
docs
http://ap.rubyonrails.com/classes/ActionController/Compo....

* *Oracle*: In addition to the existing adapters for MySQL, PostgreSQL,
SQLite, SQL Server, and DB2, we now also support Oracle as a database
option for Active Record. The adapter that made it in is built on top
of OCI8 and has been confirmed to work great with Oracle 8i and 9i. Our
sixth database adapter is documented in the API
[http://ar.rubyonrails.com/classes/ActiveRecord/Connectio...
OCIAdapter.html].

But there's a world of additional new and fixed stuff in 0.10.0. See
the other whole new package Active Support [http://as.rubyon...]
and check the changelogs:

* Active Record: http://ar.rubyonrails.com/files/CHAN...
* Action Pack : http://ap.rubyonrails.com/files/CHAN...
* Action Mailer: http://am.rubyonrails.com/files/CHAN...
* Rails : http://rails.rubyonrails.com/files/CHAN...


Honoring Nicholas Seckar and Leon Breedt
----------------------------------------

The two most important features in this release has been contributed to
two relative newcomers to the Rails scene. Nicholas Seckar tried at
least three attempts at Routing before we found the one that felt like
the best Rails fit. He put an enormous amount of energy into sorting
out all the complications and have since helped to improve all parts of
Rails. You've done a superb job, Nicholas. May potential employeers
looking for talent see your name.

Equal thanks goes to Leon Breedt that popped out of nowhere with a
whole new framework that followed our established conventions and
approach to the dot. The quality of the code and documentation has made
a big impression on the existing team of core contributors. And the
work has contributed to make us all the much closer to 1.0. Thanks for
the excellent work, Leon!


So how far away is Rails 1.0?
-----------------------------

Rails 1.0 moved much closer today as we knocked off well over half of
the previously announced <a
href="http://weblog.rubyonrails.com/archives/2005/01/06/roa...
rails-leading-to-10/">road map</a>. What we primarily lack now is
Packaging and Performance alongside the aim to bring the number of
uninvestigated and/or fixed <a
href="http://dev.rubyonrails.com/report/1"... tickets</a> down to
zero. The current tentative date is end of March/start of April.


Upgrading from Rails 0.9.5 to 0.10.0
------------------------------------

If you don't have any custom URLs defined in your existing application,
then it's a fairly straight forward process to upgrade. If you do have
custom URLs, it's a bit more work, but definitely manageable. Basecamp
used a lot of custom URL tricks and it took me under an hour and
resulted in 100 lines of code being stripped from the application. In
any case, we've created a book to guide the upgrade process
[http://manuals.rubyonrails.com/re...].



3 Answers

Scott Barron

2/24/2005 6:06:00 PM

0

On Fri, 25 Feb 2005 01:23:08 +0900, David Heinemeier Hansson
<david@loudthinking.com> wrote:
> We're plowing through the road map at lightning speed with the release
> of Rails 0.10.0. There's so much good stuff in here this time it's
> really hard to pick just a few bits to focus on for the overview, but
> still I have. With Rails 0.10.0, you'll get:
>
> * *Routing*: Pretty URLs of all flavors and fashions can now be
> specified using an easy to understand Routing syntax made in Ruby. This
> means no more wrestling with mod_rewrite in Apache to get custom URL
> schemes. It means you're not bound to the traditional
> /controller/action/id form (the controller and action names don't even
> have to be part of the URL!). It also means that the URL parsing and
> generation is handled by the same configuration, which removes all the
> labor previously involved in getting your Ruby code to sync with your
> rewrite rules. That makes it possible to share the same URL
> configuration across all the web servers supported by Rails. You can
> seemlessly develop your application on WEBrick and without changes move
> it to Apache or lighttpd. Read more in the Routing book
> [http://manuals.rubyonrails.com/r...], see a bunch of routes
> explained [http://scott.elitists.n...], or dig into the
> ActionController::Base#url_for
> [http://ap.rubyonrails.com/classes/ActionController/Base.ht...]
> API documentation.

I noted this on the Rails list, and I should probably note it here
too. The URL http://scott.elitists.n... is no longer valid
because I upgraded my journal to use the new Routes in Rails 0.10.0 :)

The link for that resource is:
http://scott.elitists.net/scott/elite-journals-new-r...

If you're following my Rails walk through, the tag URLs have also
changed a bit, you can pick it up here:
http://scott.elitists.net/tag/rails+w...

Thank you and sorry for any inconvenience!
-Scott


Shalev NessAiver

2/24/2005 7:15:00 PM

0

Well, it seems like version 0.10 still has some bugs to work out. I
keep being confronted with various error pages as I try to browse the
new content. Components sound really cool and are something I've
really been waiting for. Keep up the great work~!

-Shalev


On Feb 24, 2005, at 11:23 AM, David Heinemeier Hansson wrote:

> We're plowing through the road map at lightning speed with the release
> of Rails 0.10.0. There's so much good stuff in here this time it's
> really hard to pick just a few bits to focus on for the overview, but
> still I have. With Rails 0.10.0, you'll get:
>
> * *Routing*: Pretty URLs of all flavors and fashions can now be
> specified using an easy to understand Routing syntax made in Ruby.
> This means no more wrestling with mod_rewrite in Apache to get custom
> URL schemes. It means you're not bound to the traditional
> /controller/action/id form (the controller and action names don't even
> have to be part of the URL!). It also means that the URL parsing and
> generation is handled by the same configuration, which removes all the
> labor previously involved in getting your Ruby code to sync with your
> rewrite rules. That makes it possible to share the same URL
> configuration across all the web servers supported by Rails. You can
> seemlessly develop your application on WEBrick and without changes
> move it to Apache or lighttpd. Read more in the Routing book
> [http://manuals.rubyonrails.com/r...], see a bunch of routes
> explained [http://scott.elitists.n...], or dig into the
> ActionController::Base#url_for
> [http://ap.rubyonrails.com/classes/ActionController/Base.ht...]
> API documentation.
>
> * *Web Services*: Action Web Service [http://aws.rubyon...] is
> a whole new add-on framework for Action Pack that enables SOAP with
> WSDL and XML-RPC web services to be made with Rails ease. You can
> either describe an existing controller with an API, and let the
> clients interact with the same methods used to do the HTTP interface,
> or you can create dedicated service classes that can be bound to a
> controller. In addition to the support for building web services,
> we've also added convenient wrappers for calling other web services
> from your application. For getting started, there's a whole book on
> Action Web Service [http://manuals.rubyonrails.com/re...] that
> explains how to define, implement, and interact with the web serivce
> APIs. We also got examples using the GoogleSearch API
> [http://dev.rubyonrails.com/browser/trunk/actionwebservice...
> googlesearch/] and the metaWeblogApi
> [http://dev.rubyonrails.com/browser/trunk/actionwebservice...
> metaWeblog/.
>
> * *Components*: With components it's possible to call other actions
> and controllers for their rendered response while executing another
> action. You can either delegate the entire response rendering or you
> can mix a partial response in with your other content. This makes it
> possible to package functionality in reusable parts and to keep more
> DRY on application elements that integrate from many sources (like a
> dashboard). To learn more about components, we have another book
> [http://manuals.rubyonrails.com/re...], a video showing how to
> make and call components
> [http://rubyonrails.org/media/video/clips/comp...], and the API
> docs
> http://ap.rubyonrails.com/classes/ActionController/Compo....
>
> * *Oracle*: In addition to the existing adapters for MySQL,
> PostgreSQL, SQLite, SQL Server, and DB2, we now also support Oracle as
> a database option for Active Record. The adapter that made it in is
> built on top of OCI8 and has been confirmed to work great with Oracle
> 8i and 9i. Our sixth database adapter is documented in the API
> [http://ar.rubyonrails.com/classes/ActiveRecord/Connectio...
> OCIAdapter.html].
>
> But there's a world of additional new and fixed stuff in 0.10.0. See
> the other whole new package Active Support
> [http://as.rubyon...] and check the changelogs:
>
> * Active Record: http://ar.rubyonrails.com/files/CHAN...
> * Action Pack : http://ap.rubyonrails.com/files/CHAN...
> * Action Mailer: http://am.rubyonrails.com/files/CHAN...
> * Rails : http://rails.rubyonrails.com/files/CHAN...
>
>
> Honoring Nicholas Seckar and Leon Breedt
> ----------------------------------------
>
> The two most important features in this release has been contributed
> to two relative newcomers to the Rails scene. Nicholas Seckar tried at
> least three attempts at Routing before we found the one that felt like
> the best Rails fit. He put an enormous amount of energy into sorting
> out all the complications and have since helped to improve all parts
> of Rails. You've done a superb job, Nicholas. May potential employeers
> looking for talent see your name.
>
> Equal thanks goes to Leon Breedt that popped out of nowhere with a
> whole new framework that followed our established conventions and
> approach to the dot. The quality of the code and documentation has
> made a big impression on the existing team of core contributors. And
> the work has contributed to make us all the much closer to 1.0.
> Thanks for the excellent work, Leon!
>
>
> So how far away is Rails 1.0?
> -----------------------------
>
> Rails 1.0 moved much closer today as we knocked off well over half of
> the previously announced <a
> href="http://weblog.rubyonrails.com/archives/2005/01/06/roa...
> rails-leading-to-10/">road map</a>. What we primarily lack now is
> Packaging and Performance alongside the aim to bring the number of
> uninvestigated and/or fixed <a
> href="http://dev.rubyonrails.com/report/1"... tickets</a> down to
> zero. The current tentative date is end of March/start of April.
>
>
> Upgrading from Rails 0.9.5 to 0.10.0
> ------------------------------------
>
> If you don't have any custom URLs defined in your existing
> application, then it's a fairly straight forward process to upgrade.
> If you do have custom URLs, it's a bit more work, but definitely
> manageable. Basecamp used a lot of custom URL tricks and it took me
> under an hour and resulted in 100 lines of code being stripped from
> the application. In any case, we've created a book to guide the
> upgrade process [http://manuals.rubyonrails.com/re...].
>
>



David Heinemeier Hansson

2/24/2005 9:15:00 PM

0

> Well, it seems like version 0.10 still has some bugs to work out. I
> keep being confronted with various error pages as I try to browse the
> new content. Components sound really cool and are something I've
> really been waiting for. Keep up the great work~!

This is not a Rails issue, but an issue with the database on the web
server rubyonrails.com is currently hosted on. We're working to resolve
that.
--
David Heinemeier Hansson,
http://www.basec... -- Web-based Project Management
http://www.rubyon... -- Web-application framework for Ruby
http://www.loudthi... -- Broadcasting Brain