weblogupdatespingプラグインはエントリを投稿(もしくは更新)すると「http://ping.bloggers.jp/rpc/」といったpingサーバに自動的に通知します。 weblogupdatespingプラグインはblosxom 2.0に対応しています。
同じ機能を持った blosxom ping_weblogs_com_xmlrpc blog.bulknews.net というプラグインがありますが、このプラグインは「XMLRPC::Lite(SOAP-Lite)モジュール」を必要とします。 weblogupdatespingプラグインは「XMLRPC::Liteモジュール」を使わず「LWP::UserAgentモジュール」と「XML::TreePPモジュール」で実現しています。
「XML::TreePPモジュール」は [Perl] XMLTreePP - Pure Perl実装によるXMLファイル展開モジュール から入手できます。 Pure Perlのモジュールなのでより多くの環境での動作が期待できます。インストール手順も解説されていますので安心です。
weblogupdatespingプラグインは次の設定をカスタマイズできます。
- @ping_url
- pingサーバのアドレスを指定します。複数のpingサーバを指定できます。初期値は「http://ping.bloggers.jp/rpc/」です。
my @ping_url = ( 'http://ping.bloggers.jp/rpc/', 'http://rpc.technorati.jp/rpc/ping', 'http://api.my.yahoo.co.jp/RPC2', 'http://blog.goo.ne.jp/XMLRPC', 'http://ping.blogmura.jp/rpc/', 'http://ping.namaan.net/rpc/', 'http://www.accelanavi.com/anavi/ping.php', );
- $ping_charset
- blosxomを実行する「UTF-8」「EUC-JP」といった文字コードを指定します。指定した文字コードを基準としてXMLRPCのリクエストとレスポンスを扱います。初期値は「EUC-JP」です。
staticとdynamicを併用する設定ではdynamicのときはpingサーバに通知しません。 staticが無効の設定ではdynamicのときにpingサーバに通知します。
weblogupdatespingプラグインは「$blosxom::plugin_state_dir/weblogupdatesping.touch」というファイルにpingサーバへの通知内容を記録します。該当ファイルのタイムスタンプよりも新しいエントリが存在するときのみpingサーバに通知します。 pingサーバへの通知に失敗しても動作を継続し、次のpingサーバへの通知を試みます。ただし、該当ファイルを作成(上書き)できないときはpingサーバに通知しません。
該当ファイルを見ればpingサーバへの通知が成功したか失敗したかを確認できます。
% cat weblogupdatesping.touch 2006-05-28 14:43:05: $VAR1 = {'methodCall' => {'methodName' => 'weblogUpdates.ping','params' => {'param' => [{'value' => 'DEVELOPMENTOR*LEARNING RESOURCE LAB.'}, {'value' => 'http://developmentor.lrlab.to'}]}}}; http://ping.bloggers.jp/rpc/: $VAR1 = {'methodResponse' => {'params' => {'param' => {'value' => {'struct' => {'member' => [ {'name' => 'flerror','value' => {'boolean' => '0'}}, {'name' => 'message','value' => {'string' => 'Thanks for the ping.'}}]}}}}}}; ・・・
weblogupdatesping-0.1.0.zip (2006-05-28)