Naoki Takezoe
ADS28****@nifty*****
2003年 10月 21日 (火) 16:01:45 JST
竹添です。 > さて、storageモジュールについてです。 > 現在のDefaultStorageではページ一覧をソートして渡していますが、ソートの必要がない場合はそのまま渡してもらうほうが効率的だし、ページ名順、ソートなしと選べたほうが良い気がします。 > ほかにも、更新順一覧はrecentプラグインによりキャッシュされていますが、これもstorage側でキャッシュを管理して取得できるようにするとか、 > 前方一致で取得できたほうが効率がよい場面が多々あるようなので、これも出来るとよいのではないでしょうか? ソートはともかく、前方一致はコア側で面倒を見るかどうかはやや 微妙なところかもしれません。上位x件とか、上位x日分で取得したい という要望も当然あるでしょうし。 > というのもプラグインで更新順にページ一覧がほしいのですが、キャッシュはrecentプラグインの有効無効に左右されるし、外部のプラグインがキャッシュを参照するのもどうかと思ったので。 たしかに、Wiki#get_page_listでソート順を指定できるようにする のであれば更新日時順のキャッシュはストレージ側に移したほうが よいと思います。 > で、これらの機能実現方法として、ストレージにオプションを追加して、ソート方法や前方一致での取得が出来るようにする、という案を思いつきました。 > > ex.: > $wiki->get_page_list; > $wiki->get_page_list("SortByName"); > $wiki->get_page_list("SortByModified"); > $wiki->get_page_list("DontSort","MatchForward","BBS-Wiki/"); うーん、私も上記のようなオプションを考えてはいたのですが、 どうも引数の指定方法がスマートじゃないなぁ、と思っていました。 Perl的にはこういう場合はハッシュリファレンスで指定するのが よいのでしょうかね... 差し当たって 1.Wiki.pmのget_page_list、get_page_list2でソート順を指定 できるようにする。オプションで代用できるのあれば、参照権の あるページのみ取得するget_page_list2を削除するかも...? 2.上記を踏まえたうえでrecent.cacheの生成、更新をコア側で実装 するものとする。 というところに絞って考えてみます。 ---- Naoki Takezoe <ADS28****@nifty*****>