2009/06/14 に Radiant 0.8.0 のリリースアナウンスが行なわれた。
-
Radiant 0.8.0 - Asterism Release
0.7.1 からの大きなところでの変更点をメモしておく。
Table of Contents
Open Table of Contents
0.7.1 から 0.8.0 への変更点
変更点を github に記載のある Developer Upgrade Notes からひろってみる。
5 点記載されている。
1. default_order pluging は削除された
Old:
order_by :name
New:
default_scope :order => "name ASC"
2. ApplicationController のファイル名が application.rb から application_controller.rb に変更
これは Radiant における変更というわけではなく、0.8.0 の Radiant が採用した Rails プラットフォームのバージョン(2.3.2)に依存する。
これまで、ApplicationController
は、application.rb というファイル名であったが、application_controller.rb というファイル名となった。
Old:
require_dependency 'application'
New:
require_dependency 'application_controller'
Extension の幾つかで、require_dependency 'application'
を使用しているものが残っている。(help extention など)
3. ResponseCache は Radiant::Cache へ変更
ResponseCache
への参照が全て削除されている。
これまで Radiant 独自で採用していた Cache の方式から、Rack 対応した Rails 2.3 に合わせて、ミドルウェアとして Cache の仕組みを組み込む方式となっている。
$ rake middleware
(in /Users/hoge/work/radiant_080_test)
use Rack::Lock
use ActionController::Failsafe
use ActionController::Reloader
use ActionController::Session::CookieStore, #<Proc:0x018f0254@(eval):8>
use ActionController::RewindableInput
use ActionController::ParamsParser
use Rack::MethodOverride
use Rack::Head
use Radiant::Cache
use ActiveRecord::ConnectionAdapters::ConnectionManagement
use ActiveRecord::QueryCache
run ActionController::Dispatcher.new
use Rack::Lock
use ActionController::Failsafe
use ActionController::Reloader
use ActionController::Session::CookieStore, #<Proc:0x018f0254@(eval):8>
use ActionController::RewindableInput
use ActionController::ParamsParser
use Rack::MethodOverride
use Rack::Head
use Radiant::Cache
use ActiveRecord::ConnectionAdapters::ConnectionManagement
use ActiveRecord::QueryCache
run ActionController::Dispatcher.new
use Radiant::Cache
が確認できる。
radiant-0.8.0/config/environment.rb
に記載されている、
config.middleware.use ::Radiant::Cache
が Radiant における、その Cache の組み込みになる。
radiant-0.8.0/lib/radiant/cache.rb
の Radiant::Cache
がそれにあたるが、その中身は Rack::Cache
の拡張になっている。
4. Testing Framework は、RSpec 1.2.4、Cucumber 0.3.x、Webrat 0.4.4.+ へ
正確には、
config/environments/test.rb
を見ると、
config.gem "rspec", :version => "1.2.6", :lib => false
config.gem "rspec-rails", :version => "1.2.6", :lib => false
config.gem "webrat", :version => "~>0.4.4", :lib => false
config.gem "cucumber", :version => "~>0.3.9", :lib => false
となっている。
Cucumber 0.3.x
という書き方はしているが、上記記載の通り、0.3 台での最新のものを使っていた方が間違いない。
0.3.3 を使っていたのだが、db:bootstrap
時に、Cucumber::Rake::Task
でひっかかった。現在は最新の 0.3.11 を使用していて問題ない。
5. Rails 2.3.2
Rails 2.3.2 で freeze されている。
さて、Extensions の対応をどうするか
Radiant CMS 自体は非常にシンプルな機能の提供のみとなっており、必要な機能は Extension を導入して拡張していくことになる。
本体のバージョンアップが行われた際には、既に導入済み、及び、0.8.0 で導入しようとしている Extensions が 0.8.0 に対応しているかどうかが気になるところ。メジャーな Extension の幾つかは、既に 0.8.0 にも対応を行ってきてはいるが、まだ未対応なものの方が多い。
0.8.0 への移行に対して、大きな変更である Cache の変更に関しては、
という記事もあるが、使用していた Extensions の 1 つ tags extension においては、どう対応すべきか思案中。まだ本家は対応を行っていない。
application_controller
への対応は行なっているのだが、Cache の変更への対応がとられていない。
Radiant の場合、ユーザ向けのページの表示は、正常系は全て SiteController
の show_page
アクションにルーティングされるようになっている。この tags extension は、その SiteController
を拡張し、タグの一覧表示を行うページのレンダリングの際には通常とは異なるキャッシング(クエリに含まれる tag の名称を URI に含めたキャッシング)を行っていた。この部分については、まずは暫定的な方法で対応しておこうかと思ったのだが、それ以外にも対応が必要な箇所が出てきてしまい、対応をもう一度考えることにした。(本家が先に対応してくれるとうれしいのだが。。)
まだ 2、3 個の Extension しか試していないが、0.8.0 へのバージョンアップにはもう少し時間を要しそうだ。