TransFreeBSDの日記 このページをアンテナに追加 RSSフィード

2007-02-08

[]はてなダイアリーコメントURL数取得APIを利用したスパムフィルタープラグインを作りました はてなダイアリーコメントURL数取得APIを利用したスパムフィルターのプラグインを作りました - TransFreeBSDの日記 を含むブックマーク

日記/2007-2-8 - diary - about fswikiにおいてあります。

  • 閾値はハードコード
  • 弾いた場合などにログは残さない*1

とりあえず様子をみてから考えようかと。


さて、作ってみて気付いた点が二つ。

  1. テスト用URLがほしい
  2. はてなで使ってる閾値、またははてな基準での判定が知りたい

設置したらちゃんと有効になってるか確認したいけど、spam判定されるURLなんて普通知りません。なので、テスト用にspam判定されるURLを用意してほしいなと。たとえば http://d.hatena.ne.jp/api/comment/spamurl/100 とかを問い合わせると必ず 100 で返ってくるとか。

あとは、実際どの程度の値を閾値にしたら良いのかってことも。出来ればはてなの判定基準を公開してくれれば、それを基準に決めれるし、はてな基準での判定結果もいっしょに返すとかもありだと思う。

以上、そのうちアイデアに上げようかな。

*1:ただ、上記wikiには残すようにして設置してあるので、ログがたまったら効果の程もレポートするかも

トラックバック - http://freebsd.g.hatena.ne.jp/TransFreeBSD/20070208

2006-11-24

[]CVS HEADでrecentcalendarプラグインが動かない CVS HEADでrecentcalendarプラグインが動かない - TransFreeBSDの日記 を含むブックマーク

ローカル環境でもエラーが出ていたのにチェックせずにサーバを更新してしまった。

Software Error: Can't call method "parse" on unblessed reference at plugin/core/Paragraph.pm line 50.

だそうな。該当箇所は

        # ちょっと裏技
        $self->{parser}->{no_partedit} = 1;
        if($level==1){
                $self->{parser}->parse("!$para\n");
        } elsif($level==2){
                $self->{parser}->parse("!!$para\n");
        } elsif($level==3){
                $self->{parser}->parse("!!!$para\n");
        }
        $self->{parser}->{no_partedit} = 0;

ってかんじでメンバ変数初期化されていないっぽい。つか、どこでparserを手に入れてるのかわかんない。前からこんなだったっけ?なんとなくincludeプラグインとかの裏技周りの変更が怪しい気もするけど。ってことで良くわかんないので、その辺りの変更履歴を漁る。

その前に寝る。

KGKG2006/11/26 00:28Wiki.pm の process_plugin 内で $parser を渡すところに制限がかかりましたので、プラグイン内で parser を使えるのが include と help だけになってしまいました。この制限を外せば使えるようになると思います。

TransFreeBSDTransFreeBSD2006/11/26 13:17あー、ソース読んでないのがバレバレだ(笑)
coreプラグインなので変更してコミットしておきます。
コメントありがとうございました。

KGKG2006/11/27 12:19$parser_including_plugin{$name}って?(w

KGKG2006/11/27 12:21途中で投稿してしまった(笑)。$self->{parser_including_plugin}->{$name} とかの方がよさそう。

KGKG2006/11/27 12:25というか、個人的には制限なんて無い方が良いのだが・・・竹添氏の意向がそうでないようなので制限が入るのは仕方が無い。拙作プラグインの関係上、個人仕様では制限なしにせざるを得ないのだが・・・。

TransFreeBSDTransFreeBSD2006/11/27 20:55一応バグフィクス扱いで、paragraphプラグインを加えるだけだけど、ただ、ifにズラズラ並べるのはあれなので、ハッシュ変数で判定という流れです。
元が固定値なので、ハッシュ変数を公開するのはとりあえず止めました。いまの所は定数扱いで、今後は要相談ってところですか。
コメントに裏技とあるだけあって、竹添さんとしては、出来れば渡したくないけどしかたなく、というところなのでしょう。
#少しパーサの方も見直した方が良いかも

トラックバック - http://freebsd.g.hatena.ne.jp/TransFreeBSD/20061124

2006-11-15

[]logの中がちょっと微妙になりつつある logの中がちょっと微妙になりつつある - TransFreeBSDの日記 を含むブックマーク

気がついた事メモ

  • logディレクトリに再構築可能なキャッシュファイルと再構築不可能なログが共存している
  • freeze.logは編集可否を記録する重要なファイルなのでlogという拡張子は不適切かも
  • showlevel.logはconfigディレクトリにあるがlogという拡張子
  • category.cachecacheとついているけれど、これがなくなると一発で再構築できなかったと思うので、キャッシュの範疇として扱うべきか

あと、外部から取得したデータはfarm間で共有したいが、現状はそういったファイルをおくスペースがない。

ちょっと整理しても良いかと思った。

TestHanakoTestHanako2006/11/17 18:03こんにちはごぶさたしてます。オレが毒きびだんごをやったせいで、メチャが渋谷に帰ってこれなくなってしまいました。助けてください。

TransFreeBSDTransFreeBSD2006/11/17 21:11どもぉ
めちゃがバグってました。直したのでもう大丈夫だと思います。

TestHanakoTestHanako2006/11/21 11:23どうもありがとう♪

トラックバック - http://freebsd.g.hatena.ne.jp/TransFreeBSD/20061115

2006-11-03

[]thumbnail thumbnail - TransFreeBSDの日記 を含むブックマーク

だいぶ前に作ってたやつをいちおうまとめて公開。

thumbnailプラグイン

でも、やっぱりドキュメントとかサンプルは揃わず。

ってか、一番力が入ってるのは、AdminTemplate.pmという、管理画面用のベースクラスだったり。

一応、このプラグインとは独立してて、他にも使えるようになってる。だから、いずれはコアにも入れたいとかは思ってる。けど、いかんせんドキュメントがなぁ(笑)

thumbnailプラグイン自体は、もう少しドキュメントを充実させたら本家にも上げて、と思ってる。でも、機能的にはコアにもほしいけど、ライブラリ的(pure perlでない)に微妙なので、他のプラグインとも併せて入れるべきか、入れるならどれを入れるのかは要相談かな。アンケートでもした方がよいかなぁ。

トラックバック - http://freebsd.g.hatena.ne.jp/TransFreeBSD/20061103

2006-10-13

[]fswikiでのページのタイトルやタグ、コメント等の(付随|サブ|属性値)データをどう管理/実装するかって話 fswikiでのページのタイトルやタグ、コメント等の(付随|サブ|属性値)データをどう管理/実装するかって話 - TransFreeBSDの日記 を含むブックマーク

色々と考えてみたんだが...:Diary/2006-10-12 - KG.Diaryを読んでのコメントの補足というか続きというか……

なので、このエントリだけ読んでも意味不明だが、リンク先をよんでもfswiki及びそこでのKGさんのプラグインを知らなければ意味不明って事は注意書きとして書いておきます。では本題...

「farmの仕組みを流用して」というのはデータ保存(投稿されたコメント自体)や管理者の編集管理機能(コメント削除など)を行なうためにfarmの(dataディレクトリにサブディレクトリを掘る)機構を用いるという意味です。

ただ、今のfarmとの違い、変更しなければならない所として、

  • 管理者としてログインしなければ不可視(無いもの)として扱われる
  • 管理者としてログインすればfarm的に見える様にする

というのがあります。

ちなみにunixユーザ的には不可視farmの命名則は「.」ではじまるfarm名が良いかと思ってます。

以上はコアから見た視点ですが、次にプラグイン/APIから見た視点を書くと、

という所でしょうか。

この時の「フラット」ってのは、

  • コメントやトラックパック、ページタイトル等をページに付随するサブデータと位置付けて統一して扱う
  • その管理機構はfarmという今ある管理機構統に統合・一般化してあつかう
    • 実際のデータ保存は永続化レイヤ(DefaultStrage等)を経由する
    • 管理者のサブデータ編集は従来の編集機構(UI/code)を利用する
  • プラグインプラグインに特化した/不足した機能を実装する
    • メインの処理
    • フックによるページ改名時の処理
    • 管理ページによる操作
    • 等々

という所でしょうか...

などど書くと大げさに聞こえるんですが、実際はpdfプラグインなどがdataディレクトリとは別ディレクトリを掘るという形で行なっている事を応用しつつ、

  • attachやpdfの様に別ディレクトリをばんばん掘るのはやだな
  • テキストデータなら今のページ編集機構を使いたいな

という発想でfarmってありじゃ?となったわけす。

ま、今の所、机上の空論なわけですけど。

KGKG2006/10/13 23:58あ~なるほど、その考えは賛同できます。ついでに画像も farm へ追いやったら album などの管理に使えそうですね。
最終的には、ほったらかし(笑)の DBIストレージを使おうかと考えてたんで、別のDBファイルにしようかと思ってたんです。.farm を付随データ管理に使えば同様な機能をさらに管理しやすくなりますね。
その内、やってみますかねぇ。

KGKG2006/10/14 00:00そういえば、sandbox に保存したままの例のやつは公開しないのですか?拙作の Image プラグインでもこっそり共有利用しようかと思ってるんですが・・・(笑)

TransFreeBSDTransFreeBSD2006/10/16 12:54返事が遅くなりまして。
例のやつ、公開しようとは思ってますけど、まだ、キャッシュを削除する機構が不完全なもので、それを実装してからと思ってます。
あとは文章と←それが一番不得手だったりする

トラックバック - http://freebsd.g.hatena.ne.jp/TransFreeBSD/20061013