「逆引きプラグイン」の編集履歴(バックアップ)一覧はこちら

逆引きプラグイン」(2008/10/06 (月) 15:01:15) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

使い分けや逆引き風にまとめたものです。 カテゴリ目次 #contents() **黙って最初から導入 よく実テーブル上のカラム名や形や長さを忘れてしまうので、[[paginating_findプラグイン]]を使ってmodelにスキーマをメモしています。 Gemだけど、[[Capistrano]]を使ってデプロイ出来るのと出来ないのでは、開発効率が大きく違います。 Rails1.x系でのPagenateは、機能としては便利なのですがデータの持ち方に癖があるので、あまりそれを応用したプラグインが無かったりします。またRails2.x系だと、そんなこともあってPagenate自体がなくなりました(Rails標準ではなくプラグインを使うことが前提となった)。そんな時に使うのが[[paginating_findプラグイン]]で、これだと標準のfindメソッドを拡張してくれます。 **ログイン処理 ***Rails 1.x系 [[Acts as Authenticatedプラグイン]]が標準か? ***Rails 2.x系 これが一番ってのは無いみたい。OpenIDを絡めて比較してみると・・・ |機能|Restful Authentication|open_id_authentication|openid_fu_generator|restful_open_id_authentication_redux| |ユーザ登録|○|×|○|○| |ログイン(認証)|○(パスワード)|○(OpenID)|○(パスワード/OpenID)|○(パスワード/OpenID)| |セッション管理|○|×|○|○| |アクセス制御|△|×|○|○| |ログアウト|○|×|○|○| |アカウント管理|×|×|○|○| |形態|plugin|plugin|gem|plugin| |OpenIDの対応バージョン|×|2.0|2.0|?(1.0かも)| |備考|OpenID使わない場合デファクトスタンダードらしい|シンプルにOpenIDの認証機能だけ提供。普通はRestful Authenticationと組み合わせるらしい|パスワード+OpenIDなら一番しっかりしてる感じがする。細かいところでredux(→)よりよさげなところが見える|Restful Authenticationとopen_id_authenticationが最初から組み合わさっている感じなんだろうか。Rails2.1でも動く| まーでも、実際に使ってみた訳じゃなくて、ソース追った程度だからね。はまりポイントがあるのかもしれないし。 全部ruby-openidってgemを使ってるのかな(未確認) →色々はまったので追記 ****まずruby-openid このgemかなり良くできていて、他のプラグインなどはほとんどruby-openidに依存しているんだけど、ruby-openidだけを使って認証システムを作るにはOpenIDに対して精通してないと無理っぽい。各クラスやメソッドの意味とか流れを把握してないと、これだけで組むのは辛いって事。 ****次openid_fu_generator 見た目は一番リッチな機能を提供してくれそうなんだけど、バージョン0.0.1からあがってないし、使ってみたらsessionsコントローラのbeginアクションの一番最初の分岐で止まる。ソースを追ったけど、下手に機械的なコードを隠蔽しているせいで、流れを追うのが難しい。結局原因解明できなかったのであきらめ。ちなみにrails2.1.1+ruby-openid2.1.2+openid_fu_generator0.0.1で試してました。 ****次open_id_authentication シンプルにruby-openidのラッパーとして動くみたいだけど、他のプラグインと違うのは、migrationファイルやライブラリは提供するものの、ジェネレータなどは付属してないため、UserコントローラやSessionコントローラを自作する必要があるって事。まぁ、単体で使うことは想定してないんだろうな。 見ておくべきは[[OpenIDとRails:Authentication 2.0>>http://japan.internet.com/column/developer/20080627/26.html]](すばらしすぎ)と、open_id_authenticationのREADMEにサンプルソースがついてるので、それを交互に見ながら何やってるかを追えば、結構簡単に認証処理も作れるっぽい。SREG(Simple Registration Extension for OpenID)の対応もサクッとできそう。迷惑ユーザのidentity_urlも[[第5回 Railsで作るOpenID対応アプリケーション実践(後編)(3)>>http://gihyo.jp/dev/feature/01/openid/0005?page=3]]の流れでサクッとはじけれそう。 ****参考 -[[Railsで作るOpenID対応アプリケーション実践(前編)>>http://gihyo.jp/dev/feature/01/openid/0004]] -[[restful_open_id_authentication_redux - Hello, world! - s21g>>http://blog.s21g.com/articles/278]] -[[Plugins - Open Id Authentication - Agile Web Development>>http://agilewebdevelopment.com/plugins/openidauthentication]] ****データベース構造 #image(http://farm4.static.flickr.com/3128/2861255363_2720fb4450_o.jpg) #image(http://farm4.static.flickr.com/3285/2861268523_0ae9c2d71b_o.jpg) #image(http://farm4.static.flickr.com/3143/2861289573_991ef06a4f_o.jpg) #image(http://farm4.static.flickr.com/3224/2862108466_60deac2bd6_o.jpg) **ファイルアップロード処理 [[Attachment_fuプラグイン]]が使えるなら使った方が楽かもね。 **レーティング系 acts_as_ratableプラグインが良さそう→否 rails 2.1系でacts_as_rateableが[[エラーを出している>http://agilewebdevelopment.com/plugins/acts_as_rateable]]みたい。あまりスケールしないとも書いてあるなぁ。 となったら、acts_as_ratedがいいのかもしれない。 **タギング系 acts_as_taggable_on_steroidsとacts_as_taggable_reduxが良さそう 使い分けは -自分で作った何かにタグを付けるならsteroids -他人が作った何かにタグを付けるならredux みたい -[[acts_as_taggable_on_steroidsとacts_as_taggable_reduxの(用途)比較CommentsAdd Star>>http://d.hatena.ne.jp/yotena/20071220/1198103145]] ***データベース構造 #image(http://farm4.static.flickr.com/3227/2861719571_8d709e1430_o.jpg)
使い分けや逆引き風にまとめたものです。 カテゴリ目次 #contents() **黙って最初から導入 よく実テーブル上のカラム名や形や長さを忘れてしまうので、[[paginating_findプラグイン]]を使ってmodelにスキーマをメモしています。 Gemだけど、[[Capistrano]]を使ってデプロイ出来るのと出来ないのでは、開発効率が大きく違います。 Rails1.x系でのPagenateは、機能としては便利なのですがデータの持ち方に癖があるので、あまりそれを応用したプラグインが無かったりします。またRails2.x系だと、そんなこともあってPagenate自体がなくなりました(Rails標準ではなくプラグインを使うことが前提となった)。そんな時に使うのが[[paginating_findプラグイン]]で、これだと標準のfindメソッドを拡張してくれます。 **ログイン処理 ***Rails 1.x系 [[Acts as Authenticatedプラグイン]]が標準か? ***Rails 2.x系 これが一番ってのは無いみたい。OpenIDを絡めて比較してみると・・・ |機能|Restful Authentication|open_id_authentication|openid_fu_generator|restful_open_id_authentication_redux| |ユーザ登録|○|×|○|○| |ログイン(認証)|○(パスワード)|○(OpenID)|○(パスワード/OpenID)|○(パスワード/OpenID)| |セッション管理|○|×|○|○| |アクセス制御|△|×|○|○| |ログアウト|○|×|○|○| |アカウント管理|×|×|○|○| |形態|plugin|plugin|gem|plugin| |OpenIDの対応バージョン|×|2.0|2.0|?(1.0かも)| |備考|OpenID使わない場合デファクトスタンダードらしい|シンプルにOpenIDの認証機能だけ提供。普通はRestful Authenticationと組み合わせるらしい|パスワード+OpenIDなら一番しっかりしてる感じがする。細かいところでredux(→)よりよさげなところが見える|Restful Authenticationとopen_id_authenticationが最初から組み合わさっている感じなんだろうか。Rails2.1でも動く| まーでも、実際に使ってみた訳じゃなくて、ソース追った程度だからね。はまりポイントがあるのかもしれないし。 全部ruby-openidってgemを使ってるのかな(未確認) →色々はまったので追記 ****まずruby-openid このgemかなり良くできていて、他のプラグインなどはほとんどruby-openidに依存しているんだけど、ruby-openidだけを使って認証システムを作るにはOpenIDに対して精通してないと無理っぽい。各クラスやメソッドの意味とか流れを把握してないと、これだけで組むのは辛いって事。 ****次openid_fu_generator 見た目は一番リッチな機能を提供してくれそうなんだけど、バージョン0.0.1からあがってないし、使ってみたらsessionsコントローラのbeginアクションの一番最初の分岐で止まる。ソースを追ったけど、下手に機械的なコードを隠蔽しているせいで、流れを追うのが難しい。結局原因解明できなかったのであきらめ。ちなみにrails2.1.1+ruby-openid2.1.2+openid_fu_generator0.0.1で試してました。 ****次open_id_authentication シンプルにruby-openidのラッパーとして動くみたいだけど、他のプラグインと違うのは、migrationファイルやライブラリは提供するものの、ジェネレータなどは付属してないため、UserコントローラやSessionコントローラを自作する必要があるって事。まぁ、単体で使うことは想定してないんだろうな。 見ておくべきは[[OpenIDとRails:Authentication 2.0>>http://japan.internet.com/column/developer/20080627/26.html]](すばらしすぎ)と、open_id_authenticationのREADMEにサンプルソースがついてるので、それを交互に見ながら何やってるかを追えば、結構簡単に認証処理も作れるっぽい。SREG(Simple Registration Extension for OpenID)の対応もサクッとできそう。ホワイトリスト的に受付可能なOpenID Providerを絞るのも、[[第5回 Railsで作るOpenID対応アプリケーション実践(後編)(3)>>http://gihyo.jp/dev/feature/01/openid/0005?page=3]]の流れでサクッとはじけれそう。(あとはJavaScriptのライブラリとして、受付可能なOpenID Providerをリスト表示してくれるものがあればいいんだけど…) ****参考 -[[Railsで作るOpenID対応アプリケーション実践(前編)>>http://gihyo.jp/dev/feature/01/openid/0004]] -[[restful_open_id_authentication_redux - Hello, world! - s21g>>http://blog.s21g.com/articles/278]] -[[Plugins - Open Id Authentication - Agile Web Development>>http://agilewebdevelopment.com/plugins/openidauthentication]] ****データベース構造 #image(http://farm4.static.flickr.com/3128/2861255363_2720fb4450_o.jpg) #image(http://farm4.static.flickr.com/3285/2861268523_0ae9c2d71b_o.jpg) #image(http://farm4.static.flickr.com/3143/2861289573_991ef06a4f_o.jpg) #image(http://farm4.static.flickr.com/3224/2862108466_60deac2bd6_o.jpg) **ファイルアップロード処理 [[Attachment_fuプラグイン]]が使えるなら使った方が楽かもね。 **レーティング系 acts_as_ratableプラグインが良さそう→否 rails 2.1系でacts_as_rateableが[[エラーを出している>http://agilewebdevelopment.com/plugins/acts_as_rateable]]みたい。あまりスケールしないとも書いてあるなぁ。 となったら、acts_as_ratedがいいのかもしれない。 **タギング系 acts_as_taggable_on_steroidsとacts_as_taggable_reduxが良さそう 使い分けは -自分で作った何かにタグを付けるならsteroids -他人が作った何かにタグを付けるならredux みたい -[[acts_as_taggable_on_steroidsとacts_as_taggable_reduxの(用途)比較CommentsAdd Star>>http://d.hatena.ne.jp/yotena/20071220/1198103145]] ***データベース構造 #image(http://farm4.static.flickr.com/3227/2861719571_8d709e1430_o.jpg)

表示オプション

横に並べて表示:
変化行の前後のみ表示: