日記/2017-02-21
2017-02-23 (木) 22:41:02 (1466d)
pukiwiki:トラックバックの検討、その4。 †
じわじわと。
こそこそと作業は続けていて、それなりの実装はできてきています。
ざっくりとした状態をいうと:
- トラックバック送信部分は、完成。
- 受信のための情報表示用部分、完成。
- 受信実体、ほぼ完成。
- 受信後の管理処理、それなりにできてきた。
[+]→続きを読む。
[-]
受信実体。 †
これ自体は、実は大した課題はありませんでした。
pukiwikiの仕組み上、受信をプラグインで行う方針にした時点で
「普通の action処理」とあまり差がなく。
実施内容も「要求元URLがフェイクでないことを確認」する以外は、単に受信内容を保存するだけです。
受信したデータ領域に「任意」フィールドがいくつかあるのが問題ではありますが。
任意である以上、こちらも「無いなら無いなり」のルールでいいわけです。
受信後の管理処理 †
使い方を考えたとき、トラックバック受信はどちらかというと
『受信結果をどうコントロールするか』のほうが重要、という結論に至りました。
ユースケースを整理した結果、以下のような機能を作ることにしています。
- 当該ページへの「トラックバック件数」がひと目でわかる機能。
- イメージ:各ページのどこか、たぶんフッターのほうで、「Trackback xx件」というような表示ができる。
- スキンから呼び出されて、対応するhtmlを出力するような仕組みがいる。
- 当該ページへの「トラックバック詳細」が一覧でわかる。
- イメージ:上記「件数」からリンクされているページで、表として示す。
- ポイント:以上の2つについては、「受信したけど承認されていない要求」は対象外にする必要がある。
- イメージ:上記「件数」からリンクされているページで、表として示す。
- 当該ページへの「トラックバック要求全て」を管理するような仕組みがいる。
- 上記「トラックバック詳細」に近いが、「要求の承認」「削除」ができる。
- 管理者限定にすべき。
- pukiwiki全体での「トラックバック受信状況の一覧」を示す。
- イメージ:「トラックバックを受けたページへのリンク」を時刻順にソートして表表示。
わかりますよね。
トラックバックスパムを考慮すると、受けたトラックバックを無条件に受け入れるのは問題あるので。
- 受信したら「未承認」状態で保存
- 後で管理者が「承認」か「破棄」する。
- 「承認」されるまでは、管理者以外からは「トラックバックなんてない」ようにふるまう。
- トラックバックは個別ページにたまる。
- 管理者といえども全てのページを1つずつチェックなんてできないので。
どこかで「最近トラックバックを受けた」ことを一覧的にチェックしたい。
- 管理者といえども全てのページを1つずつチェックなんてできないので。
という感じなわけです。
結果
- 通常の「特定ページへのトラックバック」一覧作成表示
- 管理者用「特定ページへのトラックバック」一覧作成表示
- 含:管理者用の承認・削除アクション
- 管理者用「全ページのトラックバック」一覧作成表示
・・・という4つの表示系が必要になってます。
めんどくさい(笑)
1点懸念:rssモード。 †
上記の「一覧」の延長ともいえるのが、rssモード。
当該ページ&それに対するトラックバックのリストを、rssで取得できるようにする、というもの。
これはトラックバック仕様で定義されているものなんですが・・・description に概要を無条件に出しちゃだめ、って気づきまして。
pukiwiki で read禁止にしているページのデータも出ちゃうんだよな。
あえて出さない、という選択肢もあるかも。
ご意見などがあれば。
- なんか調べてると、トラックバックの_rssモードって廃止されているっぽい。なんか頭を使って損した気がする(笑) -- ともせ%管理人。 2017-02-23 22:41:02 (木)
- あ〜。でもよく考えたら、通常のrss でも似たような問題あるのか>非公開ページでも一部見えちゃう。
どうしようかな。 -- ともせ%管理人。 2017-02-22 06:42:03 (水)