Joomler!.net - Decided on Joomla!

Wiki or Wordpress? No it is JContentPlus.

 

Archives

Blog

Demo

Home » Blog » ヘッダー
1 votes
Written by:Joomler! 13332 hits Thursday, 27 December 2007 08:08

1.0.13では、ヘッダーがCacheされないと先日書きましたが、Joomla!1.5ではどうもCacheされているようです。すごい!

私としては、一番ベストなCache方法だと思います。パーツごとにCacheして且つヘッダーまでもなんて、なんてナイスなんでしょう。すばらしい。

ということで・・・SyntaxHighlighter for 1.5とGrayBox for 1.5のアップデートは、やめます。Smile

 

さて・・・いつものようにRSSの記事を流し読みしていたらなんと!「インターネットマガジン」を無償公開とあるではないですか。こりゃ得か?(購読者でもないのに・・・) いや、無償ですよ。無償。

早速、購読者になる私でした。

http://i.impressrd.jp/

 
Dec
23
2007

Joomla!の Cache

EMailPrintPDF
0 votes
Written by:Joomler! 17393 hits Sunday, 23 December 2007 23:15

昨日ある問い合わせがあって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対応の動きは盛んなようですので最終的にはサードパーティーからになるかもしれませんが、公開されるような気はします。私も密かにつくりかけてたり・・・。


 

JContentPlus for Joomla!1.5 powered by Joomler!.net

デル株式会社
joomler.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla!(R) name is used under a limited license from Open Source Matters in the United States and other countries.
joomler.net is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.