From: Shalev NessAiver Date: 2005-02-25T04:14:41+09:00 Subject: Re: [ANN] Rails 0.10.0: Routing, Web Services, Components, Oracle 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/read/book/9], see a bunch of routes > explained [http://scott.elitists.net/view/17], or dig into the > ActionController::Base#url_for > [http://ap.rubyonrails.com/classes/ActionController/Base.html#M000071] > API documentation. > > * *Web Services*: Action Web Service [http://aws.rubyonrails.com/] 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/read/book/10] 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/examples/ > googlesearch/] and the metaWeblogApi > [http://dev.rubyonrails.com/browser/trunk/actionwebservice/examples/ > 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/read/book/14], a video showing how to > make and call components > [http://rubyonrails.org/media/video/clips/components.mov], and the API > docs > http://ap.rubyonrails.com/classes/ActionController/Components.html. > > * *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/ConnectionAdapters/ > 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.rubyonrails.com/] and check the changelogs: > > * Active Record: http://ar.rubyonrails.com/files/CHANGELOG.html > * Action Pack : http://ap.rubyonrails.com/files/CHANGELOG.html > * Action Mailer: http://am.rubyonrails.com/files/CHANGELOG.html > * Rails : http://rails.rubyonrails.com/files/CHANGELOG.html > > > 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 href="http://weblog.rubyonrails.com/archives/2005/01/06/road-map-the- > rails-leading-to-10/">road map. What we primarily lack now is > Packaging and Performance alongside the aim to bring the number of > uninvestigated and/or fixed href="http://dev.rubyonrails.com/report/1">fault tickets 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/read/book/15]. > >