更新Pingを受けて自動RebuildするCGI

あるBlogの更新時に、別BlogのIndexもRebuildしたい。

このBlogでも「別Blogでリンク集」にもあるとおり、別のBlogにしたリンク集の内容をMTOtherBlogプラグインを利用して表示しているのだが、そちらを更新しても、人生迷い箸側のインデックスがリビルドされるまで反映されない。

そこで、更新Pingを受けて自動的にインデックスをRebuidするCGIを作成しました。

up-rebuild.zip (Ver0.9 size=1.02KB)

設置方法は、up-rebuild.cgi を編集し、適切なperlのパス、$MT_DIRにmt.cgiのあるディレクトリ、$blog_idに自動リビルド対象のBlogのidを指定。変更したファイルを、CGIが実行できるディレクトリに設置後、適切にパーミッションなどを設定する。

【2006/1/24 追記】

MT3.2以降では mt.cfg がないため、うまく動作しません。MT3.2 以降でお使いの方は up-rebuild.cgi を編集する際に、27 行目あたりにある「mt.cfg」という文字列を「mt-config.cgi」に書き換えてください。

あとは、更新するBlog(自動リビルドのトリガになる側)で、「BLOGの設定」→「ウェブログの設定」の「広報 / リモートインターフェイス / トラックバック」に、設置したup-rebuild.cgiのURLを入力すれば完了。

中身を簡単に説明。

CGIにアクセスがあったら単純に、指定されたBlogのインデックスをリビルドしてXML-RPCのレスポンスを返すだけ。

レスポンスのフォーマットについては下の記事を参考にさせていただきました。

NDO::Weblog Weblogs.Com Ping の Perl による実装

上の記事を参考にしてXMLRPC::Transport::HTTPを使おうかとも思ったんですけど、別にPingで通知される情報を利用するわけではないのでやめておきました。

Similar Posts: