Movable Type 備忘録

 FeedburnerWidget プラグイン

こんばんわ^^

雷すごかったぁ(; ̄- ̄)
うちの猫タンもビックリしたみたいでそわそわ落ち着きないご様子。 稲光してから雷鳴が聞こえるまでに間があったので近くではないんだろうけど、絶対落ちてるよ。

ふと思ったのですが、稲光や雷鳴ってどこまで届くんだろ・・・と、どうでもいいことに疑問を持ってしまい、ネットで調べたら以下のようなサイト見つけました。

今まで稲光からゴロゴロが聞こえるまでにタイムラグがあれば安全と思ってたのですがそうでもないようです。
雷の射程距離は 14km とのことで、それは雷鳴がやっと聞こえる距離なんだとか。 雷鳴が聞こえる範囲というのは危険な距離らしいんです Σ( ̄Д ̄;)!!

最近雷多いですが、東京の明日は天気が良いみたい。

さて、今回は FeedburnerWidget プラグインについてです。
FeedburnerWidget プラグインは以前からあったものですが MT4.2 でも動作できることを確認しました。( さくらインターネットで確認 )
でもね、CORESERVER( たぶん XREA も )では機能しません。残念。

FeedburnerWidget プラグインとは、FeedBurner をお使いの人にとっては便利なプラグインです。
FeedBurner で集計されている購読情報を MT のダッシュボード上にグラフ化してくれるプラグインになります。

新しくなった FeedburnerWidget プラグイン

FeedburnerWidget プラグインが気づいたらリニューアルされてて、スケジュール・タスクによるデータ収集に変更されてました。
要するに、お使いのサーバで cron などによる mt/tools/run_periodic_task スクリプトが定期実行( または手動により実行 )できないと使えないプラグインとなってました。

幸いわたしが使ってるさくらインターネット、CORESERVER( XREA も OK )では cron による定期実行が可能なので試してみたわけですが、さくらインターネットではちゃんと表示できるものの、CORESERVER はで表示できませんでした。

CORESERVER で表示できない理由

不思議に思ったわたしは、mt/tools/run_periodic_task をコマンド実行したところプロセスが KILL されてます ヾ(`Д´*)
そうなんです。CORESERVER( たぶん XREA も )ではプロセスの実行時間ってのが制限されてて、ある一定時間に達するとプロセスが強制終了されちゃうんです。

FeedBurner からログ収集データを取得しても途中で中断されてしまっているために何も表示されませんでした(。-ω-)ちっ

[2008.09.07] FeedburnerWidget プラグイン設定にて「Tracking Time」を減らすことで表示ができるかもです。デフォルトでは 120 日分( 4 か月分 )のデータを取得するようになってますが、たとえば 10 日分とかにしてみるかとか、サーバ負荷が少ない時間帯で実行してみるなど、運がよければ!? 表示できるかも。

[2008.09.08] どうやら Task.pm 内の 22 行目、28 行目がネックになってるみたいでけっこう時間かかってる。
22 行目は FeedBurner からデータ取得するところ( データ量に依存!? )で、28 行目は XML データを解析してるところみたい。
やっぱり CORESERVER では無理なのかな(; ̄- ̄)

FeedburnerWidget プラグインをカスタマイズ

本家 FeedBurner( feedburner.com )をお使いの人はそのまま利用可能ですが、FeedBurner.jp をお使いの人はカスタマイズしないと使えないので以下のように変更してください。

  1. FeedbunerWidget のインストール

    まず配布元から FeedburnerWidget プラグインをダウンロードしていつものように、mt/plugins/ フォルダ内にアップロードします。

  2. Tasks.pm を変更

    次に plugins/FeedburnerWidget/lib/FeedburnerWidget/Tasks.pm ファイルを変更します。
    このファイルは cron などで mt/tools/run_periodic_task スクリプトが実行された時に処理される FeedburnerWidget 用のジョブファイルです。
    FeedburnerWidget では 24 時間ごとに定期実行されるよう( feedburner_widget.pl 内で )指定されてます。

    Tasks.pm ファイル内の 17 行目を以下のように変更します。

    Tasks.pm / 17 行目

    1. # 2008.08.31 bzbell
    2. # my $url = "http://api.feedburner.com/awareness/1.0/$func?uri=" . $feed . '&dates=' . join (',', map { format_ts ('%Y-%m-%d', $_, $blog) } ( $ago, $today ) );
    3.     my $url = "http://api.feedburner.jp/awareness/1.0/$func?uri=" . $feed . '&dates=' . join (',', map { format_ts ('%Y-%m-%d', $_, $blog) } ( $ago, $today ) );

    赤字のようにコメントして、青字の 1 行を追加します。
    追加したら保存してサーバの元の位置にアップロードします。

  3. blog_config.tmpl を変更

    今度は plugins/FeedburnerWidget/tmpl/blog_config.tmpl ファイル内の 8 行目を以下のように変更します。

    blog_config.tmpl / 8 行目

    1. <mt:Ignore>2008.08.31 bzbell
    2.     http://feeds.feedburner.com/<input type="text" name="feedburner_feed" id="feedburner_feed" value="<mt:var name="feedburner_feed" escape="html">" />
    3. </mt:Ignore>
    4.     http://feeds.feedburner.jp/<input type="text" name="feedburner_feed" id="feedburner_feed" value="<mt:var name="feedburner_feed" escape="html">" />

    先ほどと同じように赤字の部分をコメントにして、青字の 1 行を追加します。
    追加したら保存して元の位置にアップロードしてください。

  4. FeedburnerWidget プラグインの設定

    次にプラグインの設定を行います。 Movable Type の管理画面からブログ個別設定用のプラグイン一覧を表示します。これは「ツール」>「プラグイン」から表示できます。
    ※「システムメニュー」>「プラグイン」ではないのでお間違えのないように。

    プラグイン一覧中に「FeedburnerWidget 0.3」というのがありますので、それをクリックして頂き「設定」をクリックします。
    「Feedburner Feed」というところに各自の FeedBurner の URL を入力します。

    入力したら「変更を保存」ボタンで保存します。

  5. cron による定期実行登録

    cron の設定を行います。cron の設定メニューはサーバごとに違うと思いますので、設定方法については各自で調べてください。
    CRON ジョブの設定は左図の赤枠を 0 と設定( 1 時間ごと )し、青枠のところに実行したスクリプトのフルパスを設定しておきます。

    次に青枠で指定した実行スクリプトをサーバにアップロードします。
    cronjob.sh というファイルを新規作成して以下のコードをコピー & ペーストします。そして mt/tools/ フォルダの中にアップロードしてください。
    もちろん、mt/tools/ フォルダ以外の場所でも問題ありません。その際には上記青枠のパスも合わせて修正してください。

    cronjob.sh

    1. #!/bin/sh
    2.  
    3. cd /virtual/bzbell/public_html/mt
    4.  
    5. /usr/bin/perl ./tools/run-periodic-tasks
    6. echo Future: MT4.21 run-periodic-tasks
    7. exit

    cronjob.sh のパーミッションを 700 に変更します。また、run_periodic_tasks のパーミッションは特に実行権限つける必要ありません。わたしは 600 と設定してます。

以上です。
これで cron により run_periodic_task が実行されればダッシュボード上に FeedBurner のグラフ表示がされるようになります。

 Trackback Pings(0)

No trackbacks found.

 Comments(0)

No comments found.

 Post a Comment

 

コメント用フィード