Multiping モジュール

ブログなどの更新を外部サイトに通知する ping 機能について。

Drupal 標準の ping モジュールでは、ping の送信先が http://pingomatic.com/ で固定になっており、他のサイトに直接 ping を送信する手段は用意されていない。
http://drupal.org/handbook/modules/ping

こうしたニーズに応えるモジュールとして Multiping モジュールがある。
http://drupal.org/node/36659
http://drupal.org/project/multiping

このモジュールを使用すると、あらかじめ設定しておいたサイトに一斉に ping 送信することができる。
Drupal 4.x と 5.x の両方に対応しており、現状、最新版は作者のサイトから直接入手できる。
http://stefan.ploing.de/linux/drupal

ping に必要な情報は送信先別にデータベーステーブル multiping に保存される。送信先 URL や RPC メソッド名のほか、対象となるノードのタクソノミーやノードタイプを指定することもできるようだ。
テーブルの create 文はこんなふう。

CREATE TABLE `multiping` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(100) NOT NULL,
  `url` varchar(255) NOT NULL,
  `method` varchar(50) default NULL,
  `lastping` int(11) default '0',
  `whentoping` int(11) default '1',
  `submitmainrss` int(11) default '0',
  `voc` text,
  `nodetypes` text,
  `failcount` int(11) default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

voc は value of categories かな。タクソノミーのタームのリストが入るらしい。

デフォルトでは cron.php の起動時に実行されるが、記事の投稿時に実行されるようにしたり、手動で直接 ping 送信する機能も用意されている。

Drupal.org のページ作者のサイトには、絶賛するコメントが寄せられている。