pukiwikiプラグイン:tbsend の変更点

お名前:


表記、そんな感じのものを作ったので、一応公開しておきます。~

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

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



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

+本ページに添付されている下記ファイルをダウンロードし、pukiwiki の pluginフォルダに「tbsend.inc.php」の名前でおいてください。
--[[tbsend.inc.php>http://tomose.dynalias.net/junk/index.php?plugin=attach&pcmd=open&file=tbsend.inc.php&refer=pukiwiki%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%A1%A7tbsend]]

*使い方 [#ld56190b]

tbsendプラグインは、インラインプラグインです。~
パラメータの仕様は以下の通りです。
 &tbsend( <url>[, <text> [, <sent_state>] );

-<url> : トラックバックを送りたい、リンク先のURL
-<text> : 画面表示用代替テキスト。省略可能、省略した場合 <url>をそのまま表示
-<sent_state> : トラックバック送信記録。これはプラグインが勝手に出力するので、利用者は記載しなくてかまいません。

上記のように記載すると、画面上は以下のような表示となります:
----
&tbsend(http://d.hatena.ne.jp/HarukaTomose/20170205,はてな。);
----
左側のリンク部分は、pukiwiki書式で以下のように記載したのと同じ内容です。
 [[text>url]]

ボタン部分を押すと、url のページに対するトラックバック送信を行います。~
その後、このボタン部分は非表示になります。

※注意~
トラックバック送信を行うには、このプラグインが置かれたページに対する編集権限が必要です。~
権限がない人物がボタンを押しても送信は行われませんし、ボタンも残ったままです。

**通信結果 [#db69008f]
通信した結果は、プラグインの第3パラメータに記述されます。~
正常に送信された場合、"_send"と記載されます。



*技術的な話。 [#oed81e87]
**送信するデータと pageinfoプラグインとの連携 [#u342842a]
トラックバック送信では4つのパラメータが期待されています。~
このプラグインでは、以下のようにこれらを決めています。
-title : このプラグインが記載されているページの pukiwiki ファイル名
-url :このプラグインが記載されている当該ページのURL
-excerpt:このプラグインが記載されているページのwikiテキストの先頭200文字
-blog_name:pukiwiki 内で $page_title で定義されるサイト名称。

ただし、拙作の[[pageinfoプラグイン>pukiwikiプラグイン:pageinfo]]を導入している場合、titleおよび excerpt は pageinfo の仕様に準じます。

**リスク:トラックバックスパムの発信基地となってしまう恐れ [#q8c6559e]

本プラグインでは『一度送信するとボタンを消す』という仕組みによって、同じURLに対するトラックバックの連打が発生しないようにしています。~
また『送信するには編集権限が必要』なため、上記に実例を示している通り、権限がない人間からのトラックバック送信は阻止しています。

ですが wikiシステムの都合上、wikiのいずれかのページを編集できる人間は当該ページを何度も編集することで、このプラグインを何度も記述・トラックバック送信することが可能です。~
そのような恐れがある場合、このプラグインの導入を避けることを推奨します。





#divregion(めんどくさい話。,h2)
**めんどくさい話。 [#f3263687]
ややデリケートなので、折りたたみします

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通信受信のふるまい
-実際の動作仕様の確認、および通信の試験については、「はてなブログ」を利用しました:自アカウントのブログと相互に通信し、動作詳細をあわせています。
--あくまで外部動作仕様であり、内部ソース類を参照したわけではありません。


#enddivregion


*コメント [#h213be2f]
ご意見などがあれば。
#comment2(below)
お名前: