pukiwikiプラグイン:tbrcv のバックアップ差分(No.1)

お名前:


  • 追加された行はこの色です。
  • 削除された行はこの色です。
表記、そんな感じのものを作ったので、一応公開しておきます。~

*プラグイン概要 [#b232839f]

pukiwiki に「トラックバックの受信」機能を追加するプラグインです。

導入に当たっては、プラグインのインストール以外にスキンの書き換えを推奨します。~


*インストール方法 [#g3b6a1b4]

+本ページに添付されている下記ファイルをダウンロードし、pukiwiki の pluginフォルダにおいてください。
-[[twintent.php.inc>http://tomose.dynalias.net/junk/index.php?plugin=attach&pcmd=open&file=twintent.inc.php&refer=pukiwiki%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%A1%A7twintent]]
+tbrcv.inc.php 内の先頭部分にある設定値を、運用環境に応じて変更してください。~
設定の詳細については後述します。
+pukiwiki に新規にトラックバック用のフォルダを作成してください。~
--初期状態であれば、以下のような位置に trackback というフォルダを作成します。
 pukiwikiフォルダ
 +attach
 +backup
   :
 +skin
 +trackback  ←これ
---フォルダ指定は、tbrcv.inc.php の先頭部分で定義されています。
+スキンの書き換えを行うことを推奨します。
--以下の内容を、スキンの任意ヶ所に記載してください。~
その場所に「現在表示されているページへのトラックバック数」と、詳細表示ページへのリンクが挿入されます。
 <?php
 require_once PLUGIN_DIR.'tbrcv.inc.php';
 echo plugin_tbrcv_init();
 ?>
 <?php
 echo plugin_tbrcv_get_link($page)
 ?>
 <?php

*使い方 [#n39ff98c]

上記インストールをすることで、自動的にトラックバックの受信処理が始まります。

以下、追加されている機能について説明します。

**当該ページへのトラックバック状況の表示 [#bf2c4616]

上記手順4で実施したスキン書き換えの結果、画面内に以下のようなリンクが作られるようになります。
 TrackBack(1)

このカッコ内の数字が、外部のページからそのページに対して行われているトラックバックの件数です。
この表示はリンクになっており、クリックすると以下のような一覧表が表示されます。

|サイト名|ページ名|URL|
|友瀬のはてな出張所|2017-02-05|http://d.hatena.ne.jp/HarukaTomose/20170205|


**当該サイト全体でのトラックバック一覧 [#l11c8e49]

以下のように記載することで、サイト全体に対するトラックバックの一覧を得ることができます。

 #tbrcv
以下のような表形式で表示されます。

|ページ名|変更時刻|
|Top Page.|2017/02/25 15:27|
|Pukiwiki 関連。|2017/02/21 06:38|

ページ名部分はリンクになっています。それを操作することで、前述の「当該ページへのトラックバック状況」のページに移動できます。

*プラグインファイル内の設定と動作の変化 [#u03b89ff]
**一方的トラックバックの拒否 [#i76d2ecf]
'TRACKBACKR_BAN_NOLINK' を '1' に設定することで、「トラックバックを受信したページURL」が記載されていないページからのトラックバックを拒否することができます。~
いわゆる一方的なトラックバックスパムを拒絶できる、ということです。

**管理者による「受入承認」 [#x7848601]
'TRACKBACKR_NEED_ADMIT' を '1' に設定することで、受信したトラックバックを「一時保留」するように動作が変更されます。~
「一時保留」されたトラックバック要求は、まるで「受信していない」かのように表示されます:
例えば前述の「Trackback(1)」というような件数にカウントされませんし、一覧にも表示されません。

この「一時保留」に対しては、管理者が、後述の管理操作や trackbackフォルダのファイルを編集することで「承認」することが必要になります。

**管理操作 [#abe90ba9]
'TRACKBACKR_ALLOW_EDIT' を '1' に設定することで、受信したトラックバックの「削除」と「承認」をpukiwiki 画面から操作できるようになります。~
この設定にすると、前述の「当該ページへのトラックバック状況」において「[Goto ManagePage.]」というリンクが表示されるようになります。そちらで編集可能です。

※注意~
この機能は、当該ページに対する「書き込み権限」のある人物が実施できます。~
wikiシステムの特性上、「広く編集を許可している」ページにおいては容易に「削除」「承認」が可能になるので、注意してください。それが問題になるようなサイトでは、管理操作を有効にしないほうがよいでしょう。




*技術的な話。 [#f4c4cf55]
**トラックバック受信の記録 [#f5b6b594]

受信したトラックバックは、trackback フォルダ内にテキストファイル形式で保存されています。~
ファイル名は、当該ページの名前をエンコードしたものです。

テキスト1行につき、トラックバック1件。~
各行はカンマ区切りのデータになっており、1つめのデータが「承認/未承認」のフラグです(承認なら1)。~


*めんどくさい話。 [#e604ce60]

pukiwiki 公式版には、トラックバックは一時期サポートされたものの、現状は機能削除されています。~
詳しくは公式サイトを調べてほしいですが、そうなされた理由はいわゆる「盗作問題」のようです:普通の商品のトラックバックの実装を盗用して pukiwiki に入れてしまっていた、という話。

今回友瀬が作成したこのプラグインは、上記の観点において「白」だと主張します。~
理由は以下です:もしこの範囲において、それでも「著作権上の盗用の恐れがある」というのであれば、具体的な理由を教えてほしいと思います。

-下記Trackbackの仕様に基づいて、各種処理を検討・実装しました。~
http://www.nurs.or.jp/~sug/mt-static/docs/mttrackback.html#autodiscovery_of_trackback_ping_urls
--上記以外に、いくつかのサイトで「rssモードは削除された」という情報があったため、それは削除しています。
-pukiwiki プラグインの記載方法については、下記プラグインを参考にしました。
--attachref, vote:ボタンを押すことで既存ページの情報を書き換えるようなふるまい
--amazon:http通信発信のふるまい。実際には pukiwikiが提供している http_request()を使用しています。
--rss : http通信受信のふるまい




*コメント [#i3d10e26]
ご意見などがあれば。
#comment2(below)

お名前: