ウェブログサイト以外からのトラックバックを受付ける

Posted by
ぴろり
Posted at
2005/08/08 13:10
Trackbacks
関連記事 (0)
Comments
コメント (2)
Post Comment
コメントできます
Category
MovableType カテゴリ

 多くのウェブログ(以下、ブログ)システムでは、トラックバックと呼ばれる仕組みによって関連する記事同士のリンクを生成することができます。ユーザはそれらトラックバックを横断的に辿ることで、そこでは得られない補足説明や発展的な記事、またそのサイト外から様々な視点で書かれた批判記事など、より多岐にわたる関連記事の存在を知ることができます。数多くのトラックバックがある記事は、それだけでも関連記事へのリンク集として有用です。
 このようにトラックバックは、記事同士の連係を行う際には是非活用したいシステムですが、現時点で多くのブログには、ブログシステム以外からのトラックバックを受付ける仕組みが用意されていないようです。どんなに有用な記事が書かれたとしても、ブログシステムを使用しない、例えば HTML を直書きしているようなサイトからはトラックバックを受付けることができないという問題があります。これはユーザのみならず、両者のサイトオーナーにしても勿体無いことです。

 そこで本エントリでは、本サイトで使用している MovableType でブログシステム以外からのトラックバックを受付けられるようにするための改造方法を紹介しています。

このエントリーをはてなブックマークに追加  

仕組み

 ブログシステム以外のサイトからのトラックバックを受付けるための入力フォームを用意し、 CGI を経由してその入力をトラックバック ping として MovableType に投げて(バイパスして)やるようにします。 トラックバック ping に必要な情報は以下の通りです。
  • ブログ名/サイト名
  • 記事のタイトル名
  • 記事の URL
  • 記事の概要 (オプション)
 これらフォームに必要な事項を入力し、この CGI に渡してやることで、 ブログシステムを使用していないあらゆるサイトからのトラックバックを受付けられるようにしています。

導入方法

 トラックバック ping をバイパスするための mt-manual-tb.cgi をダウンロードし、 以下の手順に従って必要なモジュールの導入やスクリプトの修正を行ってください。

Step.1 Perl モジュールの導入

 mt-manual-tb.cgi のトラックバック ping の送信部分には、 Cachu's Square:Net::Trackback を用いたトラックバック機能を参考に、 CPAN で公開されている Net::Trackback を使用しています。 これらのモジュールに必要な以下のライブラリをダウンロードし、MovableType のライブラリディレクトリにコピーします。
/cgi-bin/mt … MovableType のインストールディレクトリ
  ├ mt-manual-tb.cgi
  └ /extlib
    ├ /Class
    | └ ErrorHandler.pm [download]
    └ /Net
      ├ Trackback.pm [download]
      └ /Trackback
        ├ Ping.pm [download]
        ├ Client.pm [download]
        ├ Message.pm [download]
        └ Data.pm [download]

Step.2 mt-manual-tb.cgi の修正

 mt-manual-tb.cgi の次の行を検索し、 あなたのサイトのトラックバック URL に合わせて修正します。
my $tb_url = sprintf ('http://www.yourdomain.com/cgi-bin/mt/mt-tb.cgi/%d', $tb_id);

 上の例では %d の部分がトラックバックIDに置き換わり、 例えば、http://www.yourdomain.com/cgi-bin/mt/mt-tb.cgi/38 となります。

Step.3 入力フォームの作成

 トラックバックに必要な情報を入力するためのフォームを追加します。 このフォームは個別エントリテンプレート、あるいはトラックバックリストテンプレートに記述します。
<form method="post" action="<$MTCGIPath$>mt-manual-tb.cgi">

	<!--トラックバックを送る記事のトラックバック ID-->
	<input type="hidden" name="tb_id" value="<$MTEntryTrackbackID$>">

	ブログ名/サイト名:
	<input type="text" name="name">

	記事のタイトル名:
	<input type="text" name="title">

	記事の URL:
	<input type="text" name="url">

	記事の概要:
	<textarea name="excerpt"></textarea>

	<input type="submit" value="送信">
</form>

 本サイトを例にすると、トラックバック URL と 入力フォームを 別ページとしています。

mt-manual-tb.cgi のカスタマイズ

画面デザインを変更する

 標準では素っ気無い画面ですが、ページの雰囲気をサイト全体統一したい場合、 画面デザインを変更することができます。 mt-manual-tb.cgi 内を "sub ShowMessage" で検索し、 以下の部分に画面デザインを記述します。
	print <<__HEREDOC_HTMLOUTPUT__;
:
ここに HTML を用いて画面デザインを記述します。
ShowMessage に渡された文字列は $msg で参照できます。
:
__HEREDOC_HTMLOUTPUT__

表示されるエラーメッセージを変更する

 標準では素っ気無いエラーメッセージが定義されていますが、 ユーザに更に具体的な情報や指示を与えるようメッセージを変更することができます。 mt-manual-tb.cgi 内を "ShowMessage" で検索し、エラーメッセージ文字列を変更します。

トラブルシュート - 困った時は?

この項目は作成中です。

ダウンロード

ダウンロード / MD5バージョン日付サイズ(Bytes)動作環境備考
mt-manual-tb
GetMD5Hash('MTManualTB100.zip');?>
1.00 new '05/08/08 GetFileSize('MTManualTB100.zip');?> MovableType 3.151-ja で動作確認

楽屋裏

 ブログ界隈をフラフラしていた時に、どこかのサイトで見かけたのが開発の動機です。 その時に「なるほどー」と感心させられたのですが、 自分が使っている MovableType を当たり前に見すぎていて、 非 MovableType サイトのことを全く考えていなかったなぁ、と。 そこのサイト名は失念してしまったので、改めて探してみると、 ARTIFACTでも同じ機能が見られます。 既に同じ hack が出回っている気がしますけれど…まぁ、自分で作ってみたかったということでorz
このエントリーをはてなブックマークに追加  


この記事のアーカイブ

全ての記事 »
2005年
全てのカテゴリ »
MovableType
全てのタグ »
, ,

関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

寄せられたコメント (全 2 件中、最新 5 件まで表示しています)

Posted by
ぴろり ◆OLEEi.VOX.ぴろり ◆OLEEi.VOX.
at
2007/03/11 13:56
ID
yjnC5mNU
こんにちは。
ダウンロードのリンクからダウンロードできないようでしたらこちらをお試しください。
http://www.magicvox.net/archive/src/MTManualTB100.zip
Posted by
中川幸雄中川幸雄
at
2007/03/11 10:20
ID
ZqYzY5D2
今日は。トラックバックのモジュールをダウンロードさせて
頂きました。mt-manual-tb.cgiだけが、何故かダウンロード
出来ません。他のサイトも探しましたが、貴サイトにしか
無いとお見受けしました。
どうすれば良いのか御教授下さるようお願い申し上げます。

コメントを投稿する

 
 (必須, 匿名可, 公開, トリップが使えます)
 (必須, 匿名可, 非公開, Gravatar に対応しています)
 (必須)
スパム コメント防止のため「投稿確認」欄に ランダムな数字 CAPTCHAについて を入力してから送信してください。お手数ですがご協力のほど宜しくお願いいたします。