| 0 | 1 Comment | 6 TrackBacks
aklaswad

MT4Beta : DashboardWidgetを作ってみた。はてブの新着を表示するよ。


このプラグインは、MT4.0での新機能のサンプルとして作成したものです。機能/性能的に実用に耐えるものではありません。あらかじめご了承下さい。

mt4をインストールして、一番最初に目に飛び込んでくる新機能といえば、ダッシュボード上に並んだウィジェットではないでしょうか。
これももちろんプラグインで追加出来ます。出来るはずです。作りました。作ってみました。

HatenaBookmarkWidget0.1.zip

今回の題材は、はてなブックマークでの、該当のブログ全体での被ブックマークを、タグやコメントも含めて最新20件(かな?)管理画面のダッシュボードにウィジェットとして表示するプラグインです。なんだかはてブのプラグインばかり作っているような気もしますが、気のせいでしょう。



やっぱり肝はレジストリでしょうか。諸情報をレジストリに追加することで動作します。

sub init_registry { 
    my $plugin = shift;
    $plugin->registry({
        applications => {
            'cms' => {
                widgets => {
                    'HatenaBookmark' => {
                        label => 'HatenaBookmark',
                        template => 'tmpl/widget.tmpl',
                        handler => \&_widget_handler,
                        set => 'sidebar',
                        singular => 1,
                        condition => sub {
                            my ($page, $scope) = @_;
                            return $page eq 'dashboard' && $scope !~ /system/;
                        },
                    },
                },
            },
        },
    });
}

大体、見たままで分かるかと思います。
setは、「main」「sidebar」が指定できるようです。画面の右側に表示するか左側に表示するか、ですね。
singularは、複数同時に表示可能とするか否か、です。
conditionには、現在のページでwidgetを利用可能とするかを判定するサブルーチンのリファレンスを指定します。サブルーチンは、引数として与えられた条件を元に、現在の画面でwidgetを表示するか否か、をブール値で返却します。

今回は、無駄に張り切ってややこしい処理をするものを作りましたが、簡単なメッセージ表示などのプラグインならconfig.yaml一発で出来そうです。

このプラグインはとりあえずの実験用なので、当面ベータ版扱いとしてください。そのうちキャッシュ機能や新着判定機能などをつけてきちんとしたものにするかもしれません。

追記: 公開からわずか半日後、はてなの障害?の巻き添えで管理画面が開けなくなる事態が発生。これは、このプラグインのテストにはてなが全力で協力してくれたと考える。

Leave a comment

what will you say?

(You may use HTML tags for style)

6 TrackBacks

TrackBack URL: http://blog.aklaswad.com/cgi-bin/blog/mt-tb.cgi/139

DashBoardWidgetがたくさん出ているので、まとめて紹介します。 Read More

ダッシュボードに、はてなブックマークでブックマークされているエントリーとその数が... Read More

Movable Type 4 からたくさんのタグが追加されてます。 テンプレートタグリファレンス グローバル・モディファイアリファレンス 今まででは、ちょ... Read More

せっかくブックマーク追加ボタンを設置したんだから、というわけで次は MT4 の管理画面[ダッシュボード]に、はてブのブックマーク件数を表示することができる... Read More

こんばんわ^^ 更新が滞ってるMovable Type 4 で使用できるプラグインのページを久しぶりに更新しようと思って、整理も兼ねて現時点でこのサイトで... Read More

aklaswadさんが公開している「はてなブックマークウィジェット」の 修正版... Read More