2006年7月16日

Movable Type 3.31-ja の重複トラックバック処理について

July 16,2006 12:38 AM
Tag:[, ]
Permalink

当サイトで配布中の duplicateTBPingfilter が Movable Type 3.31 に適用可能かどうか、トラックバック処理を調べてみました。

lib/MT/App/Trackback.pm のトラックバック受信処理を見ると、

sub ping {
    :
   (略)
    :
    my $ping;
 
    # Check for duplicates...
    my @pings = MT::TBPing->load({ tb_id => $tb->id });
    foreach (@pings) {
        if ($_->source_url eq $url) {
            return $app->_response() if $_->is_junk;
            if ($app->remote_ip eq $_->ip) {
                $ping = $_;
                last;
            } else {
                # return success to quiet this pinger
                return $app->_response();
            }
        }
    }
 
    if (!$ping) {
        $ping ||= MT::TBPing->new;
        $ping->blog_id($tb->blog_id);
        $ping->tb_id($tb_id);
        $ping->source_url($url);
        $ping->ip($app->remote_ip || '');
        $ping->junk_status(0);
        $ping->visible(1);
    }
    :
   (略)
    :

というコードが新たに追加されており、送信元URLが同一のトラックバックについては、受信済の同一URLのトラックバックデータに上書きしています。

例えば、自ブログのあるエントリーで

  • タイトル:今日は暑かった
  • 概要:東京都心は36.1度と今年最高を記録しました。
  • 送信元URL:http://hogehoge/2006/07/post.html

というトラックバックを受信済の状態で、

  • タイトル:今年最高気温
  • 概要:静岡県浜松市で38.4度を観測しました。
  • 送信元URL:http://hogehoge/2006/07/post.html

というトラックバックを新たに受信すると、先のトラックバックは後のトラックバックの内容で上書きされます。そして最初のトラックバックのタイトルと概要は

  • タイトル:今年最高気温
  • 概要:静岡県浜松市で38.4度を観測しました。

という内容に置き代わります。内容の相違に関わらず、送信元URLが同一であれば一律上書きを行い、トラックバック処理を続行します。

duplicateTBPingfilter は受信済のトラックバックと新たに受信したトラックバックを比較して重複を判断していますが、Movable Type で旧トラックバックに上書きしてしまうため、比較自体ができなくなり、つまり 3.3 以降は不要となります。アップグレードによって登録されたままの場合でも特に問題ありませんが、トラックバック検索処理が動作するため、外しておくことを推奨します。

Comments [0] | Trackbacks [1]
Now loading...
ギターに入った猫
掲載広告募集
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner


AMN
Categories
Monthly Archives
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 6.0.3