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一発で出来そうです。

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

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

トラックバック(4)

このブログ記事を参照しているブログ一覧: MT4Beta : DashboardWidgetを作ってみた。はてブの新着を表示するよ。

このブログ記事に対するトラックバックURL: http://blog.aklaswad.com/cgi-bin/blog/mt-tb.cgi/139

» ダッシュボード・プラグインの乱(WolaWola)~のトラックバック

DashBoardWidgetがたくさん出ているので、まとめて紹介します。 続きを読む

» はてなブックマークの新着を表示(HatenaBookmarkWidget0.1)(MovableTypeのススメ)~のトラックバック

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

» Movable Type 4 で使用できるプラグイン(MovableType備忘録)~のトラックバック

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

» これは便利 HatenaBookmarkWidget(HUBLOG)~のトラックバック

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

コメント(1)

コメントする

static contents

アーカイブ

Action Stream

  • tweeted, "[MHP]これから村下位☆4に挑戦する" 09日 22:02
  • tweeted, "@casterjarum ナイス!" 09日 21:06
  • tweeted, "そろそろ仕事終わり。狩りに出かけます。" 09日 19:18
  • tweeted, "チェケラッチョのスペルが分からないので日本語禁止解除。" 09日 16:07
  • tweeted, "failed to upgrade. damn." 09日 15:52
  • tweeted, "my firefox is dead" 09日 15:45
  • tweeted, "got ma-bo-don. UMAI." 09日 14:52
  • tweeted, "lunch" 09日 13:53
  • tweeted, "updated Twit to 1.12." 09日 13:50
  • tweeted, "日本語禁止 *Tw*" 09日 13:45

info