calendar_viewerにリミッターが無い†
- 元タイトル: calendar_viewerを同ページで2回呼び出したい
- ページ: BugTrack
- 投稿者: にぶんのに
- 優先順位: 着手
- 状態: 完了
- カテゴリー: プラグイン
- 投稿日: 2004-08-09
- バージョン:
メッセージ†
calendar_viewerに各種のリミッターが無いため、いたずらが簡単にできてしまう
- 1. 一本のcalendar_viewerが一度にロードするページ数にリミッターが無い
- 今はまだ現実味がない方ではあるが、Nページのファイルを一度にロードさせる事ができる
- 2. 同じページ群に対するcalendar_viewerを何度も呼び出す事ができる (呼び出し回数のリミッターが無い)
- 数十本のデータを収めたページ群が一つあるだけで、N倍の負荷をかける事ができる
- calendar_viewerがロードしたファイルの中に、同じ引数のcalendar_viewerを含めることもできてしまう (ループ)
- caender_viewer もinclude同様の挙動をするので、あるいは同じ対応が必要でしょうか? 現状、n件を表示するオプションで上限チェックをしてないようなので、defineで上限を設定する、とか。 -- にぶんのに
- ありがとうございます。ちょっと様子を見始めました・・・が、前作業に苦戦しています XD カレンダー系のものについては、PukiWikiを使い始めてからよっぽどまめに、休日も
出勤返上して書き続けたとしても、普通は1つのテーマに対し年間200ページ(200日分)位しか実在させられないと思います。ということから、このプラグインを使用し「最新の2000件を表示」させたとしても、実際にかかる負荷は今なら1テーマあたりその程度であろうと予想しています。includeプラグインを組み合わせると、えーと今のCVS版なら(最大4倍の)1000件程度かな・・・ XD XD XD -- henoheno
- 追加訂正します。上記の目算自体は合っていたとして、それを簡単にN倍にできるという事を思い出しました。includeプラグイン以上の爆発力ですねこれは XD そして、calender_viewerもpcommentと同様にループ可能である事に気づきました。 XD -- henoheno
- 前にもBugTrack/528のときにいいましたが、複合的にできるので・・・(BugTrack/528へ続きを書きます) -- みこ
- cvs:plugin/calendar_viewer.inc.php (v1.4:1.23-1.25)
- マニュアルに説明がない隠し機能 「x*y」(先頭x件目から、y件づつ表示) について:
- 説明とコメントを追加
- 先頭のページに対し、ナビゲーション(「<<前のy件」)が表示されないことがあった問題を修正 (xに負の値を入力できる様に修正)
- 同じターゲットは一回のレンダリングで一度しか描画しない様に修正 (ループの防止、同じターゲットの多重呼び出しの抑止)
同じターゲットの多重呼び出し: 例えば以下の様に記述する
#calendar_viewer(数百件あるカレンダー,2000)
#calendar_viewer(数百件あるカレンダー,2000)
#calendar_viewer(数百件あるカレンダー,2000)
#calendar_viewer(数百件あるカレンダー,2000)
対策結果
<<一度目は普通に表示される>>
#calendar_viewer(): You already view: 数百件あるカレンダー
#calendar_viewer(): You already view: 数百件あるカレンダー
#calendar_viewer(): You already view: 数百件あるカレンダー
calendar_viewerはまだ直し足りないですが XD まずはここまででしょうか。
今までと挙動が変わったりしていたら、ぜひ指摘して下さい。
- えっと、すみません。わたしのサイトのページのように過去と未来と同時表示したい場合があるのでせめて2つは呼び出せるようにしてもらえませんか?(^^;(デフォルトは1回だけでオプションでもいいんですけど・・・) -- みこ
- おお、これはすごい構成ですね :) このように同一のテーマを複数回呼び出すうまい実例を見ていなかったのと、実装(対策)を急いだので1回制限にしてしまいましたが、2~3回程度の呼び出し制限であれば問題無いと思います。今までのcalendar_viewerの話題をまとめたBugTrackを立てなきゃいけませんね。 -- henoheno 2004-08-16 (月) 22:50:23
派生: calendar_viewerを同ページで2回呼び出したい†
えっと、開発日記/2004-08-11にぼそっと要望だけしてたのですが、同じページにcalendar_viewerを2回呼ぶことがありますので、現在の #include と同様に最大呼び出し数のオプションをつけてもらえませんか? -- みこ 2004-08-25 (水) 15:56:41
- そろそろ忘れ去られそうだったので、立てました(^^; -- みこ
- はい :) 覚えてはいるのですが、1.4.4に間に合わせる必要はなさそうなので、現状は1.4.4リリースを優先させていただいています。こうなった経緯を示すBugTrackが存在していないので、ちょっとこのページを改装させて下さい (^^; -- henoheno