ブログ

たけまる / 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 にサンプルがありますので,これを使っ
て簡単に説明します.

続きを読む

Referrer (Inside): [2008-03-11-1]

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 みたいにが熱
心に見てる人もいるみたいだし.

続きを読む

Referrer (Inside): [2008-01-04-1]

2007-09-06 Thu

_ Catalyst Internals - その他のコンポーネント [perl][catalyst]

その他とは,Action, Request などです.

今回は,コンポーネントの内部には立ち入らずに,デフォルトコンポーネ
ントを変更する方法のみ紹介します.

続きを読む

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-09-02 Sun

_ Catalyst Internals - Controller [perl][catalyst]

■ Controller の作り方

ここでは,単に Controller を実装するのではなく,サブクラス化される
ことを前提として Controller を実装します.

続きを読む

2007-09-01 Sat

_ Catalyst Internals - Plugin [perl][catalyst]

昨日 [2007-08-31-1] の続きです.

■ Plugin の作り方

Plugin は,Context オブジェクト ($c) に関数を追加するときに用いら
れます.簡単に作れるため,これまでに多くの Plugin が作成されていま
す.

続きを読む

2007-08-31 Fri

_ Catalyst Internals - 処理フロー [perl][catalyst]

今まで Catalyst の内部実装はみないでいたのですが,Atompub を実装す
るときに目を通さざるを得ませんでした (意外に簡単だった,もっと早く
見とけばよかった…).

今さら Catalyst かよ,という感はあるのですが,ネットに出回ってる情
報は少し古かったりするので (Catalyst::Base が使われていた頃が多い),
少しは意味があるかなと.

長くなるので,数回に分けて書きます.今回は処理フローのメモです.

続きを読む

Referrer (Inside): [2007-09-02-1] [2007-09-01-1]