Home arrow Extensions arrow Plugins

12月
23
2007

Joomla!の Cache

diggに追加!

昨日ある問い合わせがあってCacheのことでJoomlaのソースを眺めていました。

 Joomla!のCacheは、パーツごとにCacheファイルを作成し、それをパーツごとに読み込むようになっているようです。たとえば記事なら記事ごとにファイルが作成されます。モジュールならモジュールごとに。そうすることのメリットは、Cacheされては困るパーツは、Cacheさせないようにすることができるからだと思います。たとえば、このサイトで使用している!JoomlaCommentもその一つですが、Cacheされてしまうと投稿した内容はすぐに反映されません。明示的にCacheをクリアするしかありません。また、このサイトで配布しているPluginの中でもJavascriptをヘッダーに出力しているもの(SyntaxHilighter, CodePress Plugin, GreyBox)は、Cacheに対応していません。というより、Joomla!のCacheがヘッダーとともにCacheしないからです。その理由もわかります。パーツごとに管理しているため、Cacheしないパーツがヘッダー内の出力を変更することを考慮しているからだろうと想像します。Pluginは、記事内の設定された文字により、ONになります。Cacheから読み込まれた場合はPluginを通過した後の記事となるためPlugin自体を通過しません。よってヘッダーには出力することができません。

 サードパーティーのCacheエクステンション(ヘッダーを含めすべてをCacheしてくれる。)をひとつ試してみましたが、すべてのエクステンションに対応しているわけでは無いのでサイトで使用しているエクステンションによっては、自分で対応するように工夫しなければなりません。このサイトではCacheはオフにしていますが、Cacheの応答性を考えるとやはり対応していかなければならないと考えています。

 そこで対応の方法を考えてみました。

  • Joomla!のコアを変更してしまう。
    ソースを詳細に見ているわけではないので、もしかしたらそうできるように用意されているかもしれない。
  • サードパーティーのCacheエクステンションを使う。
    今回試したエクステンションは、うちのPluginはすべて正常動作していました。まるごとCacheされるので当然といえば当然ですが。

 と、そうしなくても簡易対応ならできます。

  • CacheがONならヘッダー内に出力せず、記事内にタグを出力。
    記事内にJavascriptや、CSSを出力するわけです。(あまり好きではないですが・・・さんざんGoogleのモジュールを作成しておいて何を言うって感じですか・・・)

対応していないPluginは、次のバージョン(マイナー)で簡易対応するつもりです。

 XML-RPCですが、Joomla!1.5ではどうもbloggerAPIのみの対応っぽいですね。他のAPI対応の動きは盛んなようですので最終的にはサードパーティーからになるかもしれませんが、公開されるような気はします。私も密かにつくりかけてたり・・・。


 

Related Articles

こうしてくれると解決が早い
エクステンションやJoomlaに問題があったとき、テストサイトを作ってもらえると解決が早いです。(問題の程度にもよりますので一概に言えませんけどね。)  先日問い合わせのあった方は、自らテストサイト...
いやあ~ほんとごめんなさい
joomlaeasy.netさんにご迷惑かけちゃいました。 私の勘違いで・・・ 「正常に動いているのに動いていないと思いこんでいました。」 てっきり画像がGreyBoxで表示されるものだと思いこんでし...
あ~またアップデートというかバグつくるなよ
  Updated to MovableType XML-RPC 1.0.5 for only Joomla!1.5 changed: fix : date fix : delete fix...
レイアウトを変更してみた : Joomler!.net
フロントページは代わり映えしないし、以前より見づらくなったと聞いていたのでレイアウトを変更してみました。 今回行ってみた変更 テンプレートのindex.phpでフロントページ時の出力の仕方を...
Google Video Search Module 1.0.0
Google Search APIを利用した簡単なモジュールです。 本サイト左コラムで表示されているものと全く同じです。右画像のように表示してくれます。 内容 Google APIを使用して...
Google ガジェットか?モジュールか?
Google ガジェットがあると(他にもブログ用アクセサリーなどはあるでしょうが)、Joomla!のエクステンションでも時計や、検索などのモジュールがあることを思うとどちらを使えばいいのだろ...
このままいくとWEB上ですべて・・・?#02
今回は、メニューを作成してみましょう。 元のメニューは、よく見慣れたJoomla!をインストールするとデフォルトで選択されているテンプレートのメニュー(右側の画像)です。それを...
SQLインジェクション攻撃 5月:iLogScanner IPA
5月のSQLインジェクション攻撃をiLogScannerで解析してみました。・・・と、ところが途中でサーバーを移転してCORE SERVERになったのですが、CORE SERVERってどこにapach...
descriptionをブログ記事の表示順に変更してみた : Joomla!1.0.x
ページのソースを表示してdescription部分を見るとそのページで開いている最後(一番下)の記事のdescriptionが、最初に表示される。これは、Joomla!のヘッドタグに追加するメソッドが...
Google Video Search モジュール Update!!
Google Video Search モジュールをアップデートしました。(1.1.0) 変更点 ファイルはUTF-8フォーマットですが、すべて英語表記としました。 Google Custo...
Joomla! 1.0.12JP Javascript エラー
SQLインジェクション解析 iLogScanner : IPAから無償ツール
mod Google Video Bar モジュールをUpdateしました
ユーザのエディタを変更しても反映されない: Joomla!1.0.xJP
さらに多くのコンポーネント・・・を表示させない方法
MTmail でモバイル「Joomla!モブログ」 : MovableType XML-RPC
ソースを整えよう。PHPとJavascript
ログアウトしたらログイン画面にもどる : Joomla!1.0.x Hack
Joomla!の正しいURIってわかりますか? : Extensions
htaccessのサンプル

C_square_trans.png Components
Joomla! Extensions
M_square_trans.png Modules
Joomla! Extensions
P_square_trans.png Plugins
Joomla! Extensions
Templates
Joomla! Extensions
a_delphi.gif Delphi for PHP
Delphi for PHP related

for Mobile