たけまる / catalyst
2008-04-10 Thu
_ AtomPub - Catalyst::Controller::Atompub v0.5.0 [atompub][catalyst]



zigorou さんからアドバイスをもらいつつ,Makefile.PL も直してもらいつつ,コレクション URI の変更方法を修正しました.いままでは,コレク
ション URI を変更すると EditURI やサービス文書がおかしくなることが
あったのですが,完全に直っていると思います.
http://svn.coderepos.org/share/lang/perl/Catalyst-Controller-Atompub/trunk
# Atompub の export が多いのは,今さら変更できないということで見逃
# してください ><
一ヶ月近く前に,daiba さんから "URI がおかしい" という報告をもらっ
ていたのですが,わりと面倒な修正だったのと,僕自身は問題になるよう
な使い方をしてなかったので,しばらく放置してしまいました (ぉ.ごめ
んなさい.
問題になっていたのは,ユーザごとに別のコレクションを用意する場合で
す.たとえば,foo さんは /collection/foo で,bar さんは
/collectino/bar という感じです.コレクションを GET するときは認証不
要とし,POST などの書き込みは対応するユーザのみ許可します.また,
/service ではサービス文書を提供します.サービス文書にはコレクション
URI が記載されますが,ユーザに合わせて変更します.
ソースコードの samples/OurBlogs にサンプルがありますので,これを使っ
て簡単に説明します.
《続きを読む》
2007-12-30 Sun
_ OpenID v1.1 の IdP と Consumer を Catalyst で動かした [openid][catalyst]



IdP (Identity Provider) と Consumer を Catalyst で動かしてみました.といっても,IdP はNet::OpenID::Server を Catalyst に組み込むだけだ
し,Consumer にいたっては Catalyst::Plugin::Authentication::Credential::OpenID
というプラグインがあるから簡単だろうと思っていました.ところが,そ
うでもなかったので,メモとソースを残しておきます.
ダウンロードすれば,実際に動く IdP と Consumer が手に入ります.手っ
取り早く手元で OpenID を動かしてみたい人はダウンロードしてみてくだ
さい.なお,Catalyst v5.7011, Catalyst::Plugin::Authentication v0.10004
でテストしました.
OpenID v2.0 仕様がリリースされているのに,v1.1 というのが弱いです
が,Net::OpenID の対応待ちと言うことで.
余談ですが,Catalyst::Plugin::Authentication::Credential::OpenID は
CodeRepos にあげてもいいかもと思いました.id:ikasam_a みたいにが熱
心に見てる人もいるみたいだし.
《続きを読む》
2007-09-03 Mon
_ Catalyst Internals - View [perl][catalyst]



■ View の作り方Catalyst では,アクションを指定しなければ sub process が呼ばれるこ
とになっています.そこで,View では sub process を実装します.
package Catalyst::View::Foo;
use base 'Catalyst::View';
sub process {
my ($self, $c) = @_;
# render body ...
$c->res->body( $body );
}
sub process では,$c->res->body を設定します.必要に応じて,$c->res->header を設定してもよいでしょう.
View については言うことがあまりないので,今回はここまで.
2007-08-31 Fri
_ Catalyst Internals - 処理フロー [perl][catalyst]



今まで Catalyst の内部実装はみないでいたのですが,Atompub を実装するときに目を通さざるを得ませんでした (意外に簡単だった,もっと早く
見とけばよかった…).
今さら Catalyst かよ,という感はあるのですが,ネットに出回ってる情
報は少し古かったりするので (Catalyst::Base が使われていた頃が多い),
少しは意味があるかなと.
長くなるので,数回に分けて書きます.今回は処理フローのメモです.
《続きを読む》
