PEAK XOOPS - pico のブロックのキャッシュ in englishin japanese

pico のブロックのキャッシュ

  • You cannot open a new topic into this forum
  • Guests cannot post into this forum
Previous post - Next post | Parent - Children.1 | Posted on 2008/9/16 20:39
jidaikobo  上等兵   Posts: 26
もしバグじゃなかったらごめんなさい。

1、pico1.71a で任意のページを作り、php コードフィルタを設定して、
echo rand(1,10);
とかきます。このページを表示すると、表示するたびに 1〜10 の数字が出てきます。

2、このページを「ブロック管理/モジュールアクセス権限」の「コンテンツ内容」でもって、ブロック表示します。すると、ブロック表示した方は、「キャッシュなし」にしていてもキャッシュしているような振る舞いになるようなのです。

そのブロックを全ページに表示して、1で作ったページにアクセスして、両方表示して、リロードを繰り返すと、ページの表示はかわっていくのに、ブロックの表示はかわらなくなります。

ためしにキャッシュを30秒にして、何回かアクセスしてみても、やっぱりブロックでは rand() が機能していないように見受けられます。

ちなみに 1.7 の昔のバージョンでは、ブロックでもきちんと rand() として機能していたと思います。

ご確認いただけますと幸いです。
Votes:4 Average:7.50
Previous post - Next post | Parent - Children.1 | Posted on 2008/9/17 12:48
GIJOE  先任軍曹   Posts: 4110
jidaikoboさん、こんにちは。

Quote:

2、このページを「ブロック管理/モジュールアクセス権限」の「コンテンツ内容」でもって、ブロック表示します。すると、ブロック表示した方は、「キャッシュなし」にしていてもキャッシュしているような振る舞いになるようなのです。
ああ、なるほど。
1.7では、このあたりにもかなり手をいれて、picoメイン部以外では、なるべく本文処理(bodyFilter)が挟まらないようにしてます。

例えばpicoの記事リスト表示ブロックをトップページに表示するとして、それらのエントリすべてで本文表示処理が通過したら、ものすごく重くなってしまうでしょう。

ただ、確かにコンテンツ内容ブロックだと、当然、本文処理が期待されますよね。
ちょっと考えてみます。
Votes:2 Average:10.00
Previous post - Next post | Parent - Children.1 | Posted on 2008/9/17 13:13
GIJOE  先任軍曹   Posts: 4110
本文処理を行ってよいかどうかは、どう考えてもコンテンツに依存しそうなので、コンテンツ内容ブロックに、本文処理をするかどうかのオプションをつけました。

1.72a として対応してます。
Votes:2 Average:5.00
Previous post - Next post | Parent - No child | Posted on 2008/9/17 14:47
jidaikobo  上等兵   Posts: 26
jidaikobo です。GIJOE さん、お返事とご対応をありがとうございます。
Quote:
GIJOE wrotes:
本文処理を行ってよいかどうかは、どう考えてもコンテンツに依存しそうなので、コンテンツ内容ブロックに、本文処理をするかどうかのオプションをつけました。
おっしゃるとおりですね。動的生成が期待されるかどうかは、内容によりますね。
1.72a を入れて、うまくいきました。

……が、ちょっとだけ手こずったので、レポートしておきます。
まずは既存の 1.71a に対して、XOOPS_TRUST_PATH/modules/pico を上書きしました。続けて、pico のモジュールアップデートをかけました。
しかし、ブロックオプションにいってみると、なぜだか「本文を動的生成する」が出ません。
ダウンロードミスかなと思い、ダウンロードさせていただいた blockedit_content.html などを確認してみると確かに変更が加わっています。
そういえば「themes/ ディレクトリからの自動アップデートを有効にする」が、オフだったから、その関係かなと思い、いったんオンにしたのち、XOOPS_ROOT_PATH/templates_c を空にしてみました。
でも、反映されません。
んー、なんでかなーと、altsys のテンプレート管理に入って、差分をみてみると、なぜだか今回 blockedit_content.html に追加のあった差分が、削除された差分としてキープされていて、やっぱり反映されていなかったので、その場で足してみてブロックオプションに表示……という手順を踏みました(altsys さまさまです)。

僕が何かを見落としていることは十分にあることなのですが、いちおう事例としてご報告させてください。

ではでは、
Votes:5 Average:8.00

  Advanced search


Login
Username or e-mail:

Password:

Remember Me

Lost Password?

Register now!