ページの作成や編集にはユーザ登録が必要です。
キャッシュ有効にするとinclude元のプラグインが反映されない
- 投稿者: 名無しさん
- カテゴリ: 本体
- 優先度: 低
- 状態: リリース済
- 日時: 2004年06月27日 21時36分14秒
内容
3.5.6dev1がリリースされましたので、早速キャッシュを試して見ましたが、サマリの通りプラグインが反映されてないようです。 仕様なのか判断がつかなかったのでとりあえず報告させて頂きます。
ページ構成
- ページA(ページBを必要により呼び出してるページ)
!!!見出しA {{include ページB,見出し1}}
- ページB(ページC等をカテゴリ別で纏めてあるページ)
!!見出し1 !見出し2-1 {{include ページC,見出し2}} !見出し2-2 {{include ページC-2,見出し2}}
- ページC(データの組み合わせが様々の為別個にincludeするページ)
!!!見出し1 !見出し2 {{ref_image pagec.png,image}} {{color red,red}} {{include ページD,項目1}} {{include ページD,項目2}} {{lastmodified}}
- ページD(各種データを纏めてあるページ)
!項目1 ::データ1 :::データ内容 !項目2 ::データ2 :::データ内容
ページAで出力される結果(3.5.6dev1 キャッシュ有効)
!!!見出しA !見出し2-1 !見出し2-2
3.5.5 or 3.5.6dev1(キャッシュ無効)で出力される結果
!!!見出しA !見出し2-1 {{ref_image pagec.png,image}} {{color red,red}} ::データ1 :::データ内容 ::データ2 :::データ内容 {{lastmodified}} !見出し2-2 {{ref_image pagec.png,image}} {{color red,red}} ::データ1-2 :::データ内容 ::データ2-2 :::データ内容 {{lastmodified}}
正常な出力でしたら、申しわけありません。
コメント
- 早速の詳細なご報告ありがとうござます。3.5.5ではHTMLキャッシュは「無いよりはマシ」といった実装でしたが、3.5.6で本腰を入れようと思っています。 - たけぞう (2004年06月27日 22時23分48秒)
- 表題の件ですが、プラグイン部分を動的に出力するために新たにキャッシュ専用のパーサクラスを作成したのですが、includeした場合など再帰的に呼び出されることを考慮していないために上記のような現象が発生しているものと思います。ちょっと厄介なバグなのですが、3.5.6正式版では修正したいと思います。 - たけぞう (2004年06月27日 22時26分55秒)
- includeプラグインに限らず、Menuでも同様のことが起きるようです。現状での回避策としては、キャッシュを使用しない、キャッシュから除外するページに読込先のページを登録する、更新時にキャッシュを更新するページに同様に登録した後で少なくとも1回更新をする、のいずれかでとりあえず対処できるようです。 - いしだなおと (2004年06月28日 00時13分43秒)
- 追記。format_helpでは、キャッシュを使用する限りは表示されないようでした。 - いしだなおと (2004年06月28日 00時21分21秒)
- 3.5.6dev3で、includeなどのプラグインで取り込む部分についてはキャッシュを適用しないように修正しました。内部構造的にinclude部分にキャッシュを適用するのは無理そうです。次の大きなバージョンアップ(3.6 or 4.0)で内部構造の見直しを計画しています。 - たけぞう (2004年08月15日 18時56分44秒)
- 3.5.6でリリースしました。 - たけぞう (2004年09月02日 15時16分02秒)
最終更新時間:2004年09月02日 15時16分02秒