Home arrow Blog 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

New QRcode for Joomla!1.5
{TR_New_BigStar} New extension : mod QRCode for Joomla!1.5. QRcodeモジュール for Joomla!1.5を公開しました ...
さらに多くのコンポーネント・・・を表示させない方法
Joomla!1.0.xの管理画面でたくさんのコンポーネントをインストールしてあると「さらに多くのコンポーネント...」と表示されてしまい編集したいコンポーネントにアクセスするのに二度クリックしない...
とっても恥ずかしい話
いやあ・・・実はですねぇ。知らなかったんですよ。モジュールがコピーできるって。え!? ですから今までのモジュールはすべてそれを知らないで作っていたわけで・・・。だから、コピーできない...
Operaで管理画面を開いたら : Joomla! Backend
そういえば、ブラウザのOperaがいつの間にか無くなっていた。最近頻繁にFirefoxが応答不能になるので新しいテンプレートの検証ようにも入れて置こうと思い、何気なくインストールしてみた。 Joom...
Joomla! 1.5RC2の日本語ファイル
Joomla!じゃぱんのフォーラムで投稿がありましたが、日本語ファイルを配布されているところがありますのでご紹介を。 FREE De Joomla! 「FREE de...
Magic3 CMS オープンソースCMS
Magic3という日本製CMSのプロジェクトを見ました。早速ダウンロードしてWindowsのXAMPP環境にインストールしてみました。インストールは超簡単で何も問題は起こりませんでした。あっ...
HighlightしたHTMLを作成してくれる
以前からたまに使ったりしている。たとえばPHPファイルを読み込み行番号付きでHTMLにしたり、XMLファイルにしたりすることができます。日本語が入ったものでもHighlightで表示するときは文字化...
テンプレートを変更してみました
最初に・・・ トップページでリンクさせていただいていたサイトをトップメニューからのリンクページに変更させていただきましたのでこの場を借りてお断りいたします。   新しいエクステンション...
Combine
{TR_bothnative_right} Combineという選択肢 Combineは、複数のJavascriptをワンファイルへ複数のスタイルシートを管理し、OneAccessで出力します。また...
mod Google Video Bar モジュールをUpdateしました
Google Video Bar Module 1.5をアップデート(1.5.1)しました。 いくつかのバグを修正しました。 チャンネルか、フィードが設定されていないと正しく動かない マルチバイト...
オンラインで3Dのパッケージイメージを作る
画像に合わせてテキストが・・・: CSS
!JoomlaComment 2.40 JP
ログアウトしたらログイン画面にもどる : Joomla!1.0.x Hack
管理画面で便利な QuickLink Previewモジュール
Joomla! 1.5 Stableにアップグレードした
ダウンロードファイルについて
かっこよくエラーを吐こう : Joomla! 1.5
ロシア語Joomla UTF-8を作ってみた
バックエンドのテンプレート

joomler_kun_48.gif Blog
Joomler! Blog

for Mobile