Rails 1.1.2: Tiny fix for gems dependencies

The new gem version dependency system from Rails 1.1.1 needed a few tweaks to work properly and to stop throwing meaningless warnings. This tiny release makes up for that. To install:

  • gem install rails
  • rake rails:update:configs (to get the latest config/boot.rb)

This release also signals our new commitment to do more tiny releases from the stable branch, which only gets bug fixes. So it will not be uncommon to see bi-weekly tiny releases in the 1.1.x series while we continue to add features to the forthcoming 1.2.0.

Learn about Ruby on Rails from oracle.com

Richard Monson-Haefel has a simple tutorial up on oracle.com that describes how and why to use Ruby on Rails with an Oracle database. It’s great to see big organizations like Oracle take Rails serious enough to commission articles about it for their site.

It’s also fitting since the Oracle database adapter in Rails now has a really strong team of contributors keeping it sharp. Michael Schoen in particular has done a fantastic job. He has set up an automated testing server for Oracle, so any new revision of the framework is automatically tested and run against Oracle. If any failure occurs, an email is sent out.

We invite guys working with DB2, MS SQL, Sybase, and the other commercial databases to do the same.

Plug into HyperEstraier with acts_as_searchable

Patrick Lenz has announced his acts_as_searchable plugin which integrates ActiveRecord models with HyperEstraier, an open source fulltext search engine.

It’s available as a gem so you can just do sudo gem install acts_as_searchable.

You can then take a look at the API docs, which provide a few examples.

Full text searching just got as simple as:

class Article < ActiveRecord::Base

Article.fulltext_search(‘biscuits AND gravy’)

Rails 1.1.1: Fixing a slew of minors (but you must still freeze Typo)

Rails 1.1 was a big upgrade with a lot of new features and we’ve been working hard since its release to polish off the kinks revealed after it was deployed to the masses. Rails 1.1.1 contains fixes for things like Prototype memory leaks in IE 6, Oracle adapter runnings, and a number of compatibility tweaks to make most older applications work.

This release still doesn’t work with Typo, though. And it won’t. Instead you must freeze Rails 1.0 to vendor/rails if you run Typo 2.6.0 while we await the new release from the Typo team that will be fully 1.1 compatible. Read more about Typo and how to freeze Rails.

This is the release we recommend that hosting companies upgrade to. If you still haven’t frozen your application and it for some reason doesn’t work with Rails 1.1.1, don’t run crying to them. We screwed up in the release notes of the last release by not telling people that Typo would break, but now that this information is spread far and wide, it’ll rest on your shoulders to make sure you’re frozen and stay cool.

If you still haven’t upgraded to Rails 1.1, checkout the original announcement for a run-through of all the features.

For the full story, see the changelogs: Rails, Action Pack, Active Record, Active Support, Action Web Service

Mostly good news about freezing, Typo, and Rails 1.1.1

Let’s start with the good news about freezing and Rails 1.1.1:

  • New applications will automatically bind to the gem version of Rails they were created with using a RAILS_GEM_VERSION constant in config/environment.rb
  • You can now file freeze a new application with rails myapp --freeze, such that it doesn’t even depend on the proper gems being available
  • You can now also freeze Rails from a tag using like rake rails:freeze:edge TAG=rel_1-1-0

So lots of great options to prevent that your application will ever get bitten by an external upgrade again.

In addition, we’re including a handful of fixes for various other regressions. So the vast majority of all applications should Just Work after the upgrade (but of course, you should always test before deploying an update). You may still have plugins that are incompatible, but most plugin authors should have a 1.1.x compatible version available by then.

If you have Typo 2.6.0, you must freeze

Now to the slightly less exciting news: Typo 2.6.0 is not going to work with Rails 1.1.1. The Typo team has been working on a new release that’ll be 1.1.x compatible and I’ve been imploring them to release a 2.6.1 that just includes Rails 1.0 in vendor/rails. But a vanilla 2.6.0 install with not work with 1.1.×.

That sounds worse than it is, because the remedy is really simple: Checkout Rails 1.0 into vendor/rails and Typo won’t give a hoot when your host inevitably decides to upgrade to Rails 1.1.×. The easiest and most fault-tolerant way of doing that is through svn. Go to the root of your Typo application and run:

svn export http://dev.rubyonrails.org/svn/rails/tags/rel_1-0-0 vendor/rails

Then restart your Typo and you’re now safe from gem updates. This antidote is a good one for any application you have deployed on a shared host. It’s not safe, and will never be safe, to just float against the latest Rails on a shared host. Always make sure you’re playing it cool and do a freeze.

Regardless of the factors, the core team apologizes for any inconvenience caused by the 1.1.0 release. While it worked for the vast majority of people, we should indeed had made sure to get feedback from the Typo guys before pushing out the release. Then at least we could have warned people in advance that 2.6.0 was simply not going to jive.

Hopefully this ordeal will motivate more people to help test future release candidates. We’ll do ours to help by extending the testing period and we’ll be grateful if you would do yours by testing and reporting any troubles found.

Rails 1.1.1 early this week

If you want to get into the good spirit right away, you can help test the trunk, which is aiming to become Rails 1.1.1 early this week. We still lack a few fixes, but what’s there should already deal with almost all of the issues. To be fail safe, remove vendor/rails (if you have it), and run:

svn export http://dev.rubyonrails.org/svn/rails/trunk vendor/rails

Thanks everyone!

Production Rails: Rails Training Gets Deeper and More Focused

As the art of Rails development matures, so do the ways we teach and learn about it. Following the release of Rails 1.1, the state of Rails training just took a small step forward along with it.

Mike Clark just announced a new course from the perpetually-sold-out Pragmatic Studio on Production Rails deployment.

Since the release of Rails, teams have been steadily forming around new products and projects in Rails. While there have been a lot of great resources for learning how to do Rails development_, this is the first in a sure-to-be-expanding market for training and documentation on how best to deploy and manage a production Rails application. The course is being taught by Rails Studio veteran and Pragmatic Project Automationkit/au/index.html author Mike Clark and Rails deployment expert (not to mention creator of Tomcat and Ant) James Duncan Davidson.

The location and exact time haven’t yet been decided, so signing up to be notified just may have an impact.

How do you think the training and documentation market for Rails will continue to evolve? What would you like to see next?

Upload Progress Helper and Rails 1.1

One of the casualties of the 1.1 release was the experimental upload progress helper. Unfortunately it didn’t work on all the platforms we support and it was a source of numerous bug reports. After talking with Sean, we decided to remove it from rails’ core.

For those of you who were using it, the code was extracted to a rails plugin. To install it just run the following command and everything will be back where you need it.

./script/plugin install upload_progress