<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Yaibeen Flash / PHP / Nucleus</title>
    <link>http://nucleus.yaibeen.com/</link>
    <description>Flash(フラッシュ),PHP,Nucleus(ニュークリアス)等の覚え書き</description>
    <!-- optional tags -->
    <language>ja</language>           <!-- valid langugae goes here -->
    <generator>Nucleus CMS v3.51</generator>
    <copyright>ｩ</copyright>             <!-- Copyright notice -->
    <category>Weblog</category>
    <docs>http://backend.userland.com/rss</docs>
    <image>
      <url>http://nucleus.yaibeen.com//nucleus/nucleus2.gif</url>
      <title>Yaibeen Flash / PHP / Nucleus</title>
      <link>http://nucleus.yaibeen.com/</link>
    </image>
    <item>
 <title><![CDATA[NP_SimpleFPE スライドショーとブログパーツ化]]></title>
 <link>http://nucleus.yaibeen.com/item235.html</link>
<description><![CDATA[<h3>概要</h3>
<p>
指定した画像をフラッシュスライドショーとしてアイテム中に表示させるNucleus用プラグインです。<br />
ELZで配布されているFlash Presentation Engine(FPE)をNucleusアイテム内に組み込むことで動作します。<br /><br />
</p>


<h3>変更内容 version 0.4</h3>
<p>
2009.02.15 ブログパーツとして他のサイトへ貼り付ける場合、掲載URLによってリンク機能の有効・無効が切り替わる現象を修正しました。
ブログパーツ貼り付け用タグで利用されるJavaScriptソースコード中のAllowScriptAccessをsameDomainからalwaysへ変更しています。
</p>

<h3>主な機能 version 0.3</h3>
<ul>
<li>FPEを利用したフラッシュスライドショーをアイテム中に設定できます。</li>
<li>Flash表示サイズ(枠)は任意で指定可能です。</li>
<li>FPEの各種プラグイン(マスク、フィルタ、フレーム)を利用可能です。</li>
<li>FPEのカスタムエフェクト、カスタムプラグイン等の機能に対応しています。</li>
<li>JavaScript無効、FlashPlayer無しの環境下で代替画像表示できます。</li>
<li>ver 0.2 第三者のページにブログパーツとして貼り付ける機能が追加されました。<br />
サーバの負荷や転送量等を考慮の上ご利用下さい。</li>
<li>ver 0.3 スキン中に組込みできるようになりました。</li>
<li>ver 0.3 キャッシュ機能(FPE定義ファイル)を追加しました。ver 0.2以前の動的生成に比べてサーバへの負荷が減ります。</li>
</ul>

<h3>ver 0.2以前からのアップデート方法</h3>
<p>
すいません。お手数ですが一旦Ver0.2をアンインストール後、ver0.3をインストールして下さい。<br />
</p>


<h3>動作環境及び注意点</h3>
<ul>
<li>Nucleus 3.24の環境で動作確認をしています。</li>
<li>Flash Player 7もしくは8以降が必要です。</li>
<li>FPE本体(misfpe.swf)が必要です。フリー版、有料版どちらでも構いません。事前に入手して下さい。</li>
<li>キャッシュ機能を利用するにはmedia/simplefpeディレクトリが必要です。phpセーフモードの場合、パーミッションを777等にする必要があるかもしれません。</li>
<li>単純なフェードイン効果でのスライドショー用途ならFPEを使ったことが無い方でも簡単に利用できます。</li>
<li>カスタムエフェクト、マスク、フィルタ、フレーム等の機能を利用する場合はFPEの知識が必要です。FPEのパラメータ等についてはFPEマニュアルを参照して下さい。</li>
<li>当サイトではFPEのカスタムエフェクトサンプルを掲載しています。是非参考にしてください。もちろん公開しているサンプル定義は流用していただいて構いません。</li>
</ul>

<h3>ダウンロード</h3>
<ul>
<li><a href="http://nucleus.yaibeen.com/media/1/NP_SimpleFPE04.zip">NP_SimpleFPE (EUC) ver 0.4 </a><br />
※UTF-8環境の方は変換してご利用下さい。
</li>
<li><a href="http://nucleus.yaibeen.com/media/1/misfze_js.zip">JavaScriptファイル郡</a><br />
plugins/misfe/js/ディレクトリへコピーして下さい。<br />
後述する<strong>『JavaScript自動組込み』</strong>でご利用の場合、当ファイルは必要ありません。
</li>
<li>FPE本体は<a href="http://elz.jp">ELZ</a>からダウンロードして下さい。</li>
</ul>

<h3>関連記事</h3>
<p>
Nucleusをお使いでない方にも利用できる別記事です。<br />
</p>
<ul>
<li><a href="item227.html">Flash(FPE)でのブログパーツ作成方法</a></li>
<li><a href="item91.html">Flash(FPE)とPHPでシンプルスライドショー</a></li>
</ul>

<h3>利用方法(JavaScript自動組込みの場合)</h3>

<p>
とりあえずNP_SimpleFPEを使ってみたい方向けです。<br />
『JavaScript手動組込み』との大きな違いは『Flash Player無しの環境下で代替画像を表示できない』点です。<br />
</p>

<ul>
<li>展開したファイルをnucleus/pluginsディレクトリにアップします。</li>
<li>plugins/misfeディレクトリにmisfpe.swfをアップします。</li>
<li>プラグイン管理画面でNP_SimpleFPEをインストールします。</li>
<li>スライドショーを表示させたいアイテム(記事)に<strong>&lt;%SimpleFPE(0)%&gt;</strong>と記述します。</li>
<li>該当アイテム(記事)の『追加プラグインオプション』欄に画像ファイル、Flash表示サイズ等を指定します。</li>
</ul>



<h3>利用方法(JavaScript手動組込みの場合)</h3>

<ul>
<li>展開したファイルをnucleus/pluginsディレクトリにアップします。</li>
<li>plugins/misfe/jsディレクトリに*.jsをアップします。</li>
<li>plugins/misfeディレクトリにmisfpe.swfをアップします。</li>
<li>プラグイン管理画面でNP_SimpleFPEをインストールします。</li>
<li>プラグイン管理画面で『JavaScript組込み方法』を『手動組込み』にします。</li>
<li>スキンの適所(&lt;head&gt;から&lt;/head&gt;の間)に<strong>&lt;%SimpleFPE(flash8)%&gt;</strong>を記述します。<br />※NP_Misfzeを既に利用している方はこの作業は不要です。</li>
<li>スライドショーを表示させたいアイテム(記事)に<strong>&lt;%SimpleFPE(0)%&gt;</strong>と記述します。</li>
<li>該当アイテム(記事)の『追加プラグインオプション』欄に画像ファイル、Flash表示サイズ等を指定します。</li>
</ul>

<p>ファイル構成</p>
<div class='source'><pre><code>

    plugins/NP_SimpleFPE.php
    plugins/misfe/misfpe.swf
    plugins/misfe/js/flash7_check.js
    plugins/misfe/js/flash8_check.js
    plugins/misfe/js/misfe.js

</code></pre></div>

<p>手動組込み記述の例(&lt;head&gt;から&lt;/head&gt;の間に記述)</p>
<div class='source'><pre><code>
&lt;!-- tooltips &amp; stylesheet (activated by title=&quot;&quot; on links) --&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;&lt;%skinfile(nicetitle.css)%&gt;&quot; /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;&lt;%skinfile(nicetitle.js)%&gt;&quot;&gt;&lt;/script&gt;

&lt;%SimpleFPE(flash8)%&gt;

・・・省略
</code></pre></div>
<ul>
<li>私の場合はデフォルトのhead.incを編集しました</li>
<li>flash player7以上の環境を対象とする場合は<strong>&lt;%SimpleFPE(flash7)%&gt;</strong>として下さい。</li>
<li>NP_Misfzeを既に利用している方は手動組込み記述不要です。</li>
</ul>

<br />

<h3>画像パス指定方法</h3>
<p>
画像名、代替画像名、背景画像名、フレームプラグイン名、プラグイン名は以下の規則でパス変換されます。</p>
<ul>
<li>『001.jpg』と指定。<br />ファイル名に『/』スラッシュが含まれない場合はPrivate Collection(media/1/001.jpg)の画像を利用します。</li>
<li>『gallery/001.jpg』と指定。<br />ファイル名に『/』スラッシュが含まれる場合はmediaディレクトリからの相対指定です。この例では『media/gallery/001.jpg』となります。</li>
<li>『http://???/001.jpg』と指定。<br />ファイル名先頭に『http://』が含まれる場合、そのままの値が利用されます。</li>
</ul>

<br />
<h3>プラグイン管理画面での設定項目</h3>

<dl>
<dt>
Flash(FPE)表示用JavaScript組込み方法
</dt>
<dd>
『自動組込み』は外部JavaScriptファイルが不要です。簡単に利用できますがFlash Playerの有無チェック機能は無効になります。<br /><br />
『手動組込み』は外部JavaScriptファイルを利用します。事前に&lt;head&gt;から&lt;/head&gt;の間に組込み記述を追加する必要があります。<br /><br />
NP_SimpleFPEを初めて利用する方は『自動組込み』でお試し下さい。継続利用する場合は『手動組込み』の方が便利です。
</dd>

<dt>
Flash表示枠(幅)
</dt>
<dd>
ピクセル単位で指定します。<br /><br />
アイテムの『追加プラグインオプション』欄で、当パラメータが省略された場合は『プラグイン管理画面』の値が有効(継承)となります。
</dd>

<dt>
Flash表示枠(高さ)
</dt>
<dd>
ピクセル単位で指定します。<br /><br />
アイテムの『追加プラグインオプション』欄で、当パラメータが省略された場合は『プラグイン管理画面』の値が有効(継承)となります。
</dd>

<dt>
背景色
</dt>
<dd>
ffffff等の形式で背景色を指定します。後述の『背景画像』の大きさによっては背景色は不可視状態になります。<br /><br />
アイテムの『追加プラグインオプション』欄で、当パラメータが省略された場合は『プラグイン管理画面』の値が有効(継承)となります。
</dd>

<dt>
代替テキスト(省略可)
</dt>
<dd>
JavaScript無効環境、FlashPlayer無しの環境では代替画像が表示されます。<br />
その代替画像に指定するalt属性値を指定します。<br /><br />
アイテムの『追加プラグインオプション』欄で、当パラメータが省略された場合は『プラグイン管理画面』の値が有効(継承)となります。
</dd>

<dt>
代替画像(省略可)
</dt>
<dd>
JavaScript無効環境、FlashPlayer無しの環境で表示する代替画像ファイル名を指定します。<br /><br />
アイテムの『追加プラグインオプション』欄で、当パラメータが省略された場合は『プラグイン管理画面』の値が有効(継承)となります。
</dd>


<dt>
画像クリック時のリンク先(省略可)
</dt>
<dd>
スライドショーをクリックした場合のリンク先を指定します。<br />
省略した場合リンク機能は無効になります。<br /><br />
アイテムの『追加プラグインオプション』欄で、当パラメータが省略された場合は『プラグイン管理画面』の値が有効(継承)となります。
</dd>
<dt>
背景画像名(省略可)
</dt>
<dd>
背景画像ファイル名を指定します。<br /><br />
アイテムの『追加プラグインオプション』欄で、当パラメータが省略された場合は『プラグイン管理画面』の値が有効(継承)となります。
</dd>

<dt>
フレームプラグイン名(省略可)
</dt>
<dd>
FPEのフレームプラグインファイル名を指定します。<br /><br />
アイテムの『追加プラグインオプション』欄で、当パラメータが省略された場合は『プラグイン管理画面』の値が有効(継承)となります。
</dd>

<dt>
プラグイン名(省略可)
</dt>
<dd>
FPEのプラグインファイル名(マスク、フィルタ、アルファマスク、カスタムプラグイン等)を指定します。<br /><br />
アイテムの『追加プラグインオプション』欄で、当パラメータが省略された場合は『プラグイン管理画面』の値が有効(継承)となります。

</dd>
<dt>
カスタムエフェクト定義
</dt>
<dd>
FPEのカスタムエフェクト定義、又はエフェクト種別を指定します。<br /><br />
カスタムエフェクト設定例<br /><br />
<textarea cols="30" rows="5" >
&lt;in alpha=&quot;1,100,0&quot; /&gt;
&lt;out alpha=&quot;1,0&quot; /&gt;
</textarea><br /><br />
カスタムエフェクト名『in,out』の2つを定義する必要があります。<br />
『in』は登場エフェクト、『out』は退場エフェクトになります。inとoutの名称は変更できません。<br />
上記定義はalpha属性を操作したクロスフェード効果となります。<br /><br /><br />

通常エフェクト設定例<br /><br />
<textarea cols="30" rows="5" >
31
</textarea><br /><br />
31はフェードイン効果です。<br />
1から50までの数値(通常エフェクト)、1100から2699までの『カメラ移動/ズーム機能』エフェクトが指定できます。<br /><br />

アイテムの『追加プラグインオプション』欄で、当パラメータが省略された場合は『プラグイン管理画面』の値が有効(継承)となります。
</dd>
<dt>
エフェクト時間
</dt>
<dd>
エフェクト時間を指定します。10と指定すると1秒になります。<br />
1(0.1秒)以上の値でなければいけません。<br /><br />
<br />
アイテムの『追加プラグインオプション』欄で、当パラメータが省略された場合は『プラグイン管理画面』の値が有効(継承)となります。
</dd>

<dt>
停止時間
</dt>
<dd>
停止時間を指定します。10と指定すると1秒になります。<br />
0(0秒)指定も可能です。<br /><br />
アイテムの『追加プラグインオプション』欄で、当パラメータが省略された場合は『プラグイン管理画面』の値が有効(継承)となります。
</dd>

<dt>
FPE共通セクション設定
</dt>
<dd>
FPEのcommon(共通)セクションのパラメータを記述します。<br /><br />
設定例<br /><br />
<textarea cols="30" rows="5" >
&lt;banner_align&gt;3&lt;/banner_align&gt;
</textarea><br /><br />
FPE宣伝バナーの表示位置を右下にする例です。
</dd>

<dt>
1ページ中に表示可能なFPE数
</dt>
<dd>
FPEの最大利用数を指定します。
</dd>

<dt>
表示対象スキン種別
</dt>
<dd>
初期値は『item』です。個別アイテムページでのみスライドショーが表示されます。<br />
『item|index』等とすることで『メインの目次ページ、個別アイテムページ』両方に表示させることも可能です。
</dd>

<dt>
アンインストール時にアイテム個別設定を削除しますか
</dt>
<dd>
yesの場合、NP_SimpleFPEアンインストール時にアイテム個別の『追加プラグインオプション情報』を削除します。
</dd>

</dl>
<br /><br /><br />
<h3>アイテム個別の『追加プラグインオプション』</h3>
<p>
NP_SimpleFPEはスライドショー共通設定を『プラグイン管理画面』で行います。<br /><br />
スライドショーで表示する画像情報はアイテム(記事)の『追加プラグインオプション』で登録する必要があります。<br />
オプションは複数ありますが、必須入力項目は<strong>『画像ファイル名指定』</strong>だけです。画像ファイル名以外のオプションは、省略されると『プラグイン管理画面』で指定した値を引き継いで利用します。<br />
</p>
<dl>

<dt>
1行に1つの画像ファイル名を指定
</dt>
<dd>
スライドショーで表示させる画像を以下の様に指定します。<br /><br />
設定例<br /><br />
<textarea cols="30" rows="5">
001.jpg
002.jpg
003.jpg
</textarea>
</dd>

<dt>
FPE共通セクション(追加パラメータ)
</dt>
<dd>
FPEのcommonセクションへの追加パラメータを記述します。<br /><br />
設定例<br /><br />
<textarea cols="30" rows="5" >
&lt;zoom_mode&gt;0&lt;/zoom_mode&gt;
&lt;debug_mode&gt;1&lt;/debug_mode&gt;
</textarea><br /><br />
上の例ではzoom_mode=0(オリジナルサイズモード)かつデバッグモードでFPEが動作します。<br /><br />
『プラグイン管理画面』での値と、当オプションで指定する情報を<strong>結合</strong>してcommonセクションが生成されます。
</dd>

<dt>その他のオプション</dt>
<dd>
FPE共通セクション以外のオプションは、値を指定することで『プラグイン管理画面』での設定情報を<strong>上書き</strong>します。<br /><br />
<strong>結合</strong>ではなく<strong>上書き</strong>となる点に注意して下さい。<br />
</dd>

</dl>
<br /><br /><br />
<h3>ブログパーツとしての利用方法</h3>
<p>
第三者のページにブログパーツとしてスライドショーを公開することができます。<br />
action.phpへ適切なQueryStringを引き渡すことで、ブログパーツ用のJavaScriptコードが動的に生成されます。<br />
引き渡すパラメータは最後尾のitemid(記事NO)以外そのまま記述して下さい。<br />
以下は組み込み記述サンプルです。<br />
</p>
<p>静的方式(キャッシュ版)<br /><small>※動的方式より高速です。</small></p>
<div class='source'><pre><code>
&lt;script type=&quot;text/javascript&quot; src=&quot;http://nucleus.yaibeen.com/media/simplefpe/simplefpe235.js&quot;&gt;
&lt;/script&gt;
</code></pre></div>
<p>動的方式(action.php経由)</p>
<div class='source'><pre><code>
&lt;script type=&quot;text/javascript&quot; src=&quot;http://nucleus.yaibeen.com/action.php?action=plugin&amp;amp;name=SimpleFPE&amp;amp;type=parts&amp;amp;itemid=235&quot;&gt;&lt;/script&gt;
</code></pre></div>
<p>
上のコードは当記事(NO:235)をブログパーツとして利用するための貼り付け用コードです。<br />
2つのうちどちらかをあなたのBolg等に挿入することでスライドショーが表示されると思います。<br />
<strong>転送量の問題がある為、動作イメージの確認後はタグを削除していただければ幸いです。</strong><br />
</p>
<br /><br /><br />
<h3>1ページ中に複数のスライドショーを設置する</h3>
<p>
単純な利用であれば、プラグイン変数の指定は&lt;%SimpleFPE(0)%&gt;です。<br />
実はカッコ中の数値には意味があります。<br />
</p>
<ul>
<li>
0を指定。<br />
『そのアイテム(記事)自身に登録された画像情報でスライドショー組込み』
</li>
<li>
1以上を指定。<br />
『指定された数値をitemid(記事NO)としてとらえ、そのアイテムに登録されている画像情報でスライドショー組込み』
</li>
</ul>

<p>
例えばアイテム(記事)100と200に登録された画像情報をスライドショー表示させたい場合は以下のように記述します。
</p>

<div class='source'><pre><code>
&lt;%SimpleFPE(100)%&gt;
&lt;%SimpleFPE(200)%&gt;
</code></pre></div>


<br /><br /><br />
<h3>参考</h3>
<ul>
<li>当サイトではFPEのカスタムエフェクトを使ったサンプルを公開しています。公開しているサンプル定義は流用していただいて構いません。是非参考にしてください。</li>
<li>FPEのマスク、フィルタ、アルファマスク、フレーム等のプラグインは専用のディレクトリを作成してアップすることをお勧めします。<br />『media/plugin』ディレクトリにFPEプラグインがアップされているとします。NP_SimpleFPEでの指定は『plugin/mask_line1a.swf』等となります。
</li>
<li>NP_SimpleFPEで作成するスライドショーは、全ての画像に同一エフェクトが適用されます。FPE自体は画像別にエフェクトを変えることもできるのですが、操作が複雑になりそうなので対応してません。との理由により『NP_SimpleFPE』としました。</li>

</ul>]]></description>
 <category>Download</category>
<comments>http://nucleus.yaibeen.com/item235.html</comments>
 <pubDate>Sun, 15 Feb 2009 13:00:00 +0900</pubDate>
</item><item>
 <title><![CDATA[無料で作成。Flash(FPE)でブログパーツの作り方。]]></title>
 <link>http://nucleus.yaibeen.com/item227.html</link>
<description><![CDATA[<p>2009.02.15 
掲載URLによって、リンク機能の有効・無効が切り替わる現象を修正。
AllowScriptAccessをsameDomainからalwaysへ変更しました。
</p>
<p>2009.02.14 一部の環境(Internet Explorer 6系)で動作しない現象への対応を行った修正バージョンを配布しています。適切にブログパーツ用タグを記述したにもかかわらずスライドショーが表示されなくて困っていた方は是非お試し下さい。JavaScriptソースコード中の日本語コメントが原因で不動作となることがある様です。修正バージョンでは日本語コメントを排除しています。
</p>
<p>
<a href='http://elz.jp/fpe_outline.html' >FPE</a>で作成したスライドショーやバナーをブログパーツとして利用する方法(JavaScript)を紹介します。
</p>

<p>
第三者のブログ記事内、もしくはHTMLファイル中に簡単なタグを記述してもらうことで、自サイトのスライドショーやバナーを掲載してもらうことができます。<br />
FPEフリー版ではFPE自身の宣伝用のバナーがでてしまいますが、ちょっとブログパーツを作ってみたいと思ってる方にはお手軽でいいと思います。<br />
</p>

<h3>動作サンプル</h3>
<script type="text/javascript" src="http://nucleus.yaibeen.com/media/blogparts/yaibeen_blogparts.js"></script>

<h3>ブログパーツ設置用のタグ(テスト用)</h3>
<p>
以下のタグを、あなたのブログ記事やHTMLに記述して頂くと当サイト作成(Yaibeen)の小さめなスライドショー(上のサンプル)が組み込まれます。<br />
一度あなたのブログに貼り付けてみて下さい。転送量の問題がある為、動作イメージの確認後はタグを削除していただければ幸いです。<br />
</p>
<div class='source'><pre><code>
&lt;script type=&quot;text/javascript&quot; src=&quot;http://nucleus.yaibeen.com/media/blogparts/yaibeen_blogparts.js&quot;&gt;&lt;/script&gt;
</code></pre></div>

<dl>
<dt>『利用条件』</dt>
<dd>特に制限はありません。個人利用、商用利用、改変、再配布は自由です。</dd>
<dd>利用した事によるいかなる損害も、作者は一切の責任を負いません。</dd>
</dl>
<dl>
<dt>ダウンロード</dt>
<dd>
<a href="http://nucleus.yaibeen.com/media/1/yaibeen_blogparts20090215.zip">Yaibeenブログパーツ作成用JavaScript2009/02/15版</a>
</dd>
</dl>

<dl>
<dt>説明</dt>
<dd>
<ul>
<li><a href='http://elz.jp/fpe_outline.html'>ELZのFPE</a>で作成したコンテンツをブログパーツにする為の<strong>JavaScriptファイル</strong>です。</li>
<li>FPE本体(misfpe.swf)が必要です。フリー版、有料版どちらでも構いません。</li>
<li>FPEで簡単なスライドショーを作成できる方が対象です。そんなに難しくはありません。</li>
</ul>
</dd>
</dl>

<dl>
<dt>動作環境及び注意点</dt>
<dd>
<ul>
<li>ブラウザ側でJavaScriptが有効になっている環境のみ動作対象としています。</li>
<li>Flash Player 7もしくは8以上がインストールされたブラウザで動作します。</li>
<li>現時点ではFlash Playerインストールの有無は確認していません。よってFlash Playerがインストールされていない環境ではブログパーツが表示されません。</li>
<li>PHPやNucleusは必要ありません。</li>
<li>ブログパーツとして第三者に利用してもらう為、アクセス数や転送量には十分注意して設置して下さい。</li>
</ul>
</dd>
</dl>

<h3>必要なファイル及び構成</h3>
<div class="source">
<pre>
    <strong>misfpe.swf</strong> (FPE本体 ELZのFPE配布ファイルからコピーしてください)

    <strong>yaibeen_blogparts.js</strong> (FPEをブログパーツとして利用するためのJavaScriptファイル)

    <strong>config.xml</strong> (スライドショーの動作を決める設定を記述)

    <strong>001.jpg</strong> (スライドショーに表示する画像)
    <strong>002.jpg</strong> (スライドショーに表示する画像)
    <strong>003.jpg</strong> (スライドショーに表示する画像)

    <strong>test.html</strong> (ブログパーツ組込みテスト用)


※適当なディレクトリを作成して上記ファイルを設置します。
※画像枚数、画像サイズは任意です。お好みでどうぞ。
※test.htmlはブログパーツ動作確認用です。オリジナルブログパーツ設置後は削除して下さい。

</pre>
</div>

<h3>ブログパーツ作成方法</h3>

<h4>下準備</h4>

	<p>ダウンロードしたファイルを適当なディレクトリに展開後、misfpe.swf(FPE本体)と同一ディレクトリにコピーします。</p>
	<p><strong>config.xml</strong>と<strong>yaibeen_blogparts.js</strong>を編集します。<br />
	編集のポイントは定義ファイル、yaibeen_blogpats.js中に記述されているパス指定を<strong>絶対パス</strong>にするということです。</p>

<p><strong>config.xml</strong>の編集</p>
<div class='source'><pre><code>
config.xml一部抜粋

パス指定箇所は全て絶対パス(http://から)で記述します。


配布しているサンプルでは3箇所の編集が必要です。


	&lt;prefix&gt;http://あなたのサイト/アップしたディレクトリ名/&lt;/prefix&gt;

	&lt;background&gt;http://あなたのサイト/アップしたディレクトリ名/bg.jpg&lt;/background&gt;

	&lt;link_url&gt;リンクが必要であればお好みで&lt;/link_url&gt;




ちなみに当サイトで実際に動作している定義ファイルは以下の様になっています。

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;
&lt;pagedata&gt;
&lt;common&gt;

	&lt;copyright&gt;elz.jp&lt;/copyright&gt;

	&lt;image_max&gt;3&lt;/image_max&gt;

	&lt;effect_type&gt;in,out&lt;/effect_type&gt;
	&lt;effect_time&gt;15&lt;/effect_time&gt;
	&lt;stop_time&gt;0&lt;/stop_time&gt;

	&lt;zoom_mode&gt;0&lt;/zoom_mode&gt;
	&lt;base_mode&gt;5&lt;/base_mode&gt;
	&lt;align_mode&gt;5&lt;/align_mode&gt;


	&lt;prefix&gt;http://nucleus.yaibeen.com/media/blogparts/&lt;/prefix&gt;

	&lt;background&gt;http://nucleus.yaibeen.com/media/blogparts/bg.jpg&lt;/background&gt;

	&lt;link_url&gt;http://nucleus.yaibeen.com&lt;/link_url&gt;

&lt;/common&gt;

&lt;effect&gt;
	&lt;in   layer=&quot;0&quot; x=&quot;0,100&quot; y=&quot;11,125,0&quot; xs=&quot;1,50,0&quot; ys=&quot;1,50,0&quot; /&gt;
	&lt;out                      y=&quot;21,-65&quot;    xs=&quot;1,100&quot;  ys=&quot;1,100&quot; /&gt;
&lt;/effect&gt;


&lt;/pagedata&gt;


</code></pre></div>

<p><strong>yaibeen_blogparts.js</strong>の編集</p>
<div class='source'><pre><code>
yaibeen_blogparts.js一部抜粋

以下の5種類のパラメータを編集します。


//misfpe.swf(FPE本体)の場所をフルパス(http://から)で指定
var sMisfpe = &quot;http://あなたのサイト/アップしたディレクトリ名/misfpe.swf&quot;;

//定義ファイル(config.xml等)の場所をフルパス(http://から)で指定
var sConfig = &quot;http://あなたのサイト/アップしたディレクトリ名/config.xml&quot;;

//横幅を指定
var nWidth  = 200;

//高さを指定
var nHeight  = 125;

//背景色を指定
var sBgcolor = &quot;#ffffff&quot;;





ちなみに当サイトで実際に動作しているyaibeen_blogparts.jsは以下の様になっています。


//misfpe.swf(FPE本体)の場所をフルパス(http://から)で指定
var sMisfpe = &quot;http://nucleus.yaibeen.com/media/blogparts/misfpe.swf&quot;;

//定義ファイル(config.xml等)の場所をフルパス(http://から)で指定
var sConfig = &quot;http://nucleus.yaibeen.com/media/blogparts/config.xml&quot;;

//横幅を指定
var nWidth  = 200;

//高さを指定
var nHeight  = 125;

//背景色を指定
var sBgcolor = &quot;#ffffff&quot;;

</code></pre></div>

<h4>サーバへのアップ</h4>
<p>
yaibeen_blogparts.jsとconfig.xml(FPE定義ファイル)の編集が終わったらサーバへアップします。<br />
ディレクトリごとサーバにアップして下さい。<br />
※test.htmlはブログパーツ動作確認目的でのみアップして下さい。正常動作確認後は削除した方が良いでしょう。
</p>


<h4>記事への組込み</h4>
<p>
以下のタグをブログ記事等に組み込むことでブログパーツとして動作します。
</p>
<div class='source'><pre><code>
&lt;script language=&quot;JavaScript&quot; type=&quot;text/javascript&quot; src=&quot;http://あなたのサイト/ブログパーツ設置ディレクトリ名/yaibeen_blogparts.js&quot;&gt;&lt;/script&gt;
</code></pre></div>

<h4>カスタマイズ</h4>
<p>
もちろんスライドショーのエフェクトや画像は差し替えていただいて構いません。<br />
YaibeenではFPEのカスタムエフェクトを使ったスライドショーサンプルを紹介しています。エフェクト定義時の参考にして下さい。<br />
</p>


]]></description>
 <category>Download</category>
<comments>http://nucleus.yaibeen.com/item227.html</comments>
 <pubDate>Sun, 15 Feb 2009 05:00:00 +0900</pubDate>
</item><item>
 <title><![CDATA[Bookmarklet編集画面のサイズ変更]]></title>
 <link>http://nucleus.yaibeen.com/item248.html</link>
<description><![CDATA[<p>
Nucleus v3.3でアイテム編集画面(Bookmarklet)のサイズを変更する方法をメモします。<br />
</p>

<p>
ウィンドウのサイズは『nucleus/libs/ITEMACTIONS.php』中の『function parse_editpopupcode』辺りを変更します。<br />
</p>

<div class='source'><pre><code>
scrollbars=yes,width=???,height=???
</code></pre></div>

<p>
本文の編集領域フォントサイズを変更するには『nucleus/styles/bookmarklet.css』に以下の記述を追加します。
</p>
<div class='source'><pre><code>

	font-size: 12px;
}
</code></pre></div>

<p>
本文の編集領域サイズを変更するには『nucleus/libs/include/bookmarklet-edit.template』中の定義を変更します。
</p>

<div class='source'><pre><code>
    &lt;%text(_ADD_BODY)%&gt;
    &lt;/td&gt;&lt;td&gt;
    &lt;%jsbuttonbar(media)%&gt;
    &lt;textarea 
        &lt;%jsinput(body)%&gt;
        cols=&quot;140&quot; 
        rows=&quot;22&quot;&gt;&lt;%contents(body)%&gt;&lt;/textarea&gt;
    &lt;/td&gt;&lt;/tr&gt;

</code></pre></div>

<p>
デフォルトの編集画面は個人的に狭いと感じるので、表示ウィンドウのサイズを大きめに、フォントを小さめに、編集領域は大きめにカスタマイズしています。<br />
ここで紹介している方法は『編集画面』だけです。新規登録時のサイズ変更はまた別の修正が必要です。
</p>]]></description>
 <category>Nucleus</category>
<comments>http://nucleus.yaibeen.com/item248.html</comments>
 <pubDate>Mon, 7 May 2007 18:35:48 +0900</pubDate>
</item><item>
 <title><![CDATA[スペシャルスキンパーツの表示方法]]></title>
 <link>http://nucleus.yaibeen.com/item247.html</link>
<description><![CDATA[<p>
2,3日前に気づいたんですが、Nucleus v3.3がリリースされました。<br />
スピードアップが望める『doItemVar』の実装と、条件によって表示内容を綺麗に整理できる『if文の拡張』はいいですね。<br />
私が配布しているプラグインは『PreItem』での文字列置換処理を多用していましたので、これを『doItemVar』方式にすると、ソースもシンプルで且つスピードアップにもなりいい感じです。
</p>

<p>
スペシャルスキンパーツ(カスタムスキンパーツ?)にも興味深々で若干試してみました。スペシャルスキンの新規登録はスキン編集メニューから簡単に登録できました。ですが、どうやったらそのスキンを使ったページ表示ができるのか？を理解するまでに若干時間がかかりました・・・<br />
単純に『index.php?special=スペシャルスキン名』としてブラウザからアクセスするだけでOKなんですね。<br />
</p>

]]></description>
 <category>Nucleus</category>
<comments>http://nucleus.yaibeen.com/item247.html</comments>
 <pubDate>Mon, 7 May 2007 02:26:06 +0900</pubDate>
</item><item>
 <title><![CDATA[Nucleusで構築したサイトの移行手順]]></title>
 <link>http://nucleus.yaibeen.com/item246.html</link>
<description><![CDATA[<p>
この週末、ドメイン(yaibeen.com)はそのままで別のレンタルサーバへ移転しました。<br />
Nucleusで構築したサイトの移行手順(旧サーバから新サーバへ)をメモします。<br />
</p>

<h3>概要</h3>
<ul>
<li>
phpMyAdminは利用しません。
</li>
<li>
新サーバ(移行先)に別途DBリストア専用のNucleusをインストールします。<br />
</li>
<li>
<a href="http://japan.nucleuscms.org/">Nucleus CMS Japan</a>で事前にNucleusインストール用配布ファイルをダウンロードして下さい。<br />旧サーバで利用しているNucleusと同一バージョンであることが重要です。当サイトではv3.24を入手しました。<br />
</li>
</ul>

<h3>旧サーバ</h3>
<ul>
<li>
Nucleusインストールディレクトリ『/usr/home/account/public_html/』
</li>
<li>
Nucleus テーブル・プリフィックス『blog_』
</li>
</ul>

<h3>新サーバ</h3>
<ul>
<li>
Nucleusインストールディレクトリ『/home/usr/account/www/blog/』
</li>
<li>
Nucleus テーブル・プリフィックス『blog_』
</li>
</ul>

<h3>新サーバ(リストア専用Nucleus)</h3>
<ul>
<li>
Nucleusインストールディレクトリ『/home/usr/account/www/restore/』
</li>
<li>
Nucleus テーブル・プリフィックス『restore_』
</li>
</ul>

<p>
※上記は説明用の擬似環境です。
</p>

<h3>1.旧サーバでの作業</h3>
<ul>
<li>
必要に応じて、サイトを一時的に閉鎖します。これは『サイト管理→グローバル設定』で『他のサイトへのリダイレクト（非常時用）』を『はい』にします。これで管理者以外のアクセスは指定したURLへ転送されます。<br />
</li>
<li>
Nucleus管理画面『DB保存/復元』にて『バックアップを作成』します。私は『圧縮』した状態でバックアップファイルを作成しました。
</li>
<li>
旧サーバ上のファイルをFTPで全てダウンロードします。
</li>
</ul>

<h3>2.新サーバでの作業(事前準備)</h3>
<ul>
<li>
DB(MySQL)が利用できるように予め準備します。DBホスト名、ユーザ名、パスワード、データベース名等の情報を事前に準備します。<br />
</li>
<li>
必要に応じて、独自ドメイン、サブドメイン情報を追加します。<br />whoisに登録されているネームサーバの設定は、この段階では変更しませんでした。<br />
新環境での正常動作確認がとれるまではhostsファイルへのIP追加で対処しています。動作確認を行なうPCのhostsファイルへ以下の感じで独自ドメインを追加します。
</li>
</ul>

<div class='source'><pre><code>
hosts(windowsの場合、windowsフォルダやwinntフォルダを検索して探して下さい)

???.???.???.???     hogehoge.com

</code></pre></div>


<h3>3.新サーバでの作業(リストア専用Nucleusインストール)</h3>

<ul>
<li>
新サーバにリストア専用Nucleusディレクトリを作成します。<br />
ここでは『/restore』を作成したこととします。<br />
</li>
<li>
<a href="http://japan.nucleuscms.org/">Nucleus CMS Japan</a>で配布ファイルをダウンロードし、『/restore』ディレクトリへFTPでアップロードします。
</li>
<li>
config.phpの属性を『666』へ変更します。
</li>
<li>
restore/install.phpへアクセスし<strong>新規でNucleusをインストール</strong>します。<br />
各種情報を入力し『テーブル・プリフィックス』は『restore_』としてインストールします。
</li>
<li>
insta..sql,install.phpを削除し、config.phpの属性を『444』とします。
</li>
<li>
これでリストア専用Nucleusのインストールは完了です。正常に動作していることを確認して下さい。
</li>
<li>
正常動作確認後、管理者領域へログインします。『DB保存/復元』から『リストア』を行います。『参照』をクリックし、旧サーバのバックアップファイル(DB)を選択します。『ファイルからリストア』をクリックし、リストア処理が終了するまでしばらく待ちます。
</li>
</ul>
<p>
リストア用Nucleusはテーブル・プリフィックスを『restore_』としています。旧サーバでバックアップしたDBはプリフィックス『blog_』となっています。よってプリフィックス『restore_』のテーブルが上書きで消えてしまうことはありません。<br />
これで、新サーバに『リストア専用Nucleusテーブル』と『旧サーバから移行したNucleusテーブル』の2つが同居していることになります。
</p>

<h3>4.新サーバでの作業(リストア)</h3>
<ul>
<li>
リストア専用Nucleusとは別にディレクトリを作成します。<br />ここでは『/blog』ディレクトリを作成したことにします。
</li>
<li>
事前に旧サーバからダウンロードしたファイル中のconfig.phpを適切(新環境に合わせて)に編集します。リストア専用Nucleusで生成されたconfig.phpを参考に編集すると楽です。<br />
編集は$MYSQL_???と$DIR_NUCLEUS,$DIR_MEDIA,$DIR_SKINSだけでOKでした。<br />
もちろん$MYSQL_PREFIXは『blog_』とします。
</li>
<li>
旧サーバからFTPでダウンロードしたファイルを全て新サーバ『/blog直下』へアップします。<br />
</li>
<li>
config.phpの属性を『444』へ変更し、mediaディレクトリ以下の属性も適切に設定します。ご利用のプラグインによっては書き込み権限が必要なディレクトリもあります。環境に合わせて適時修正して下さい。私の場合はNP_GraphicTextのキャッシュディレクトリの書き込み権限等を付与しています。
</li>
<li>
/blogへアクセスし、正常動作を確認します。
</li>
</ul>


<h3>5.動作確認後の作業</h3>

<p>
新サーバでの動作に問題がなければwhoisに登録されているネームサーバの設定を変更します。<br />
今回はDNSの浸透に1日強かかりました。<br /><br />
DNS浸透までに注意する点としては<br />
</p>
<ul>
<li>
DNSリゾルバ・キャッシュをクリアする。コマンドプロンプトで『ipconfig /flushdns』
</li>
<li>
利用しているルータによってはDNSキャッシュ情報がなかなかクリアされないこともあるらしいので、ルータ再起動も忘れずに。
</li>
<li>
hostsファイルの変更を行なった場合は、DNS浸透後に元の状態に戻す。
</li>
</ul>

<p>
私はうっかりルータの再起動を忘れていたために、少し悩みました。<br />
リストア専用のNucleusは初期状態での速度チェックや、プラグインの試用等に使えて結構便利です。<br />
サーバの移転を考えてらっしゃる方の参考になれば幸いです。
</p>




]]></description>
 <category>Nucleus</category>
<comments>http://nucleus.yaibeen.com/item246.html</comments>
 <pubDate>Sat, 17 Mar 2007 22:50:12 +0900</pubDate>
</item><item>
 <title><![CDATA[FireFox先読み機能対策(X-Moz : prefetch)]]></title>
 <link>http://nucleus.yaibeen.com/item245.html</link>
<description><![CDATA[<p>
<a href="item243.html">私の環境だけ</a>かもしれませんが、FireFox 1.5系のブラウザで当サイト(Nucleus)へアクセスするとページを表示させる度にxml-rss2.phpへのアクセスが発生します。<br />
原因はFireFoxの機能である『先読み』であることはわかりました。※FireFox 2.0.0.2では同現象は確認できませんでした。<br />
サーバへの負荷が気になるのでxml-rss2.phpへ対策用のコードを加えて(&amp;修正)みました。<br />
Nucleus側で『先読み:X-Moz: Prefetch』であることを判別し、2回目以降の先読みはレスポンスとして『HTTP/1.0 304 Not Modified』を返却します。これで転送量削減と、サーバへの負荷軽減になると思います。<br /><br />
Nucleus 3.24 EUC,PHP 4.4.6(&amp; 4.4.4)で動作確認しています。<br />
</p>

<div class='source'><pre><code>
xml-rss2.phpの先頭部分へ追加(その1)

header(&quot;Pragma: no-cache&quot;);

// -- From 
if (isset($_SERVER[&#039;HTTP_X_MOZ&#039;])) {
	if ($_SERVER[&#039;HTTP_X_MOZ&#039;] == &#039;prefetch&#039; &amp;&amp; isset($_SERVER[&#039;HTTP_IF_NONE_MATCH&#039;])) {
		$eTag = stripslashes($_SERVER[&#039;HTTP_IF_NONE_MATCH&#039;]);
		if (!empty($eTag)) {
			header(&#039;Etag: &#039;.$eTag);
			header(&quot;HTTP/1.0 304 Not Modified&quot;);
			header(&#039;Content-Length: 0&#039;);
			exit;
		}
	}
}
// -- To

以下省略

</code></pre></div>
<div class='source'><pre><code>
xml-rss2.phpの中間部分修正(その2)

	// compare Etag to what we got
	if ($eTag == stripslashes(serverVar(&#039;HTTP_IF_NONE_MATCH&#039;))) {	
</code></pre></div>

<p>
その1の追加コードでNucleus初期化(DBへのコネクト等)前に先読みを判断します。<br />
ブラウザから送信されるX-Mozが『prefetch』となっており、かつEtag(更新確認用ハッシュ)に値が入っていれば2回以上の先読みであると認識し『HTTP/1.0 304 Not Modified』を送信し、即終了となります。<br />
初めての先読みの場合はEtagが設定されていませんので普通にレスポンスを返却します。先読みの2回目以降のみDBコネクト処理以前に『Not Modified』となりますので、サーバへの負荷を極力抑えることができると思います。転送量も減りますね。<br /><br />
その2の修正コードはstripslashes関数を既存のコードに付与しただけです。私の環境では、この修正を行なわないと『Not Modified』の正常な判断が行なえませんでした。Etagに付与されているダブルクォーテーションがエスケープされていたからです。<br />
</p>

<h3>参考</h3>
<p>
ライブブックマークとしてxml-rss2.phpを登録している場合、ブラウザの再起動時やライブブックマーク再読み込みで最新の情報になります。ブラウザから『X-Moz:prefetch』が送信されない際は、今回追加したロジックを通過しませんので、最新の情報を返却することとなります。<br /><br />
ちなみにFireFox 2.0.0.2ではライブブックマークの更新時は『X-Moz:livebookmarks』という値を送信しているようです。1.5.0.10では『livebookmarks』という値は確認できませんでした。livebookmarksで購読者数のチェック等に使えるかもしれませんね。<br /><br />
</p>

<p>
ここで紹介している、先読み機能をブロックする手法は標準的は方法ではないかもしれません。私なりの判断で考えた方式ですので、参考にする際はご注意下さい。
</p>
]]></description>
 <category>Nucleus</category>
<comments>http://nucleus.yaibeen.com/item245.html</comments>
 <pubDate>Wed, 14 Mar 2007 13:35:35 +0900</pubDate>
</item><item>
 <title><![CDATA[gzip送信の確認方法]]></title>
 <link>http://nucleus.yaibeen.com/item244.html</link>
<description><![CDATA[<p>
別記事<a href="item243.html">『過度なxml-rss2.phpへのアクセス対策 』</a>に『xml-rss2.php』をgzip圧縮送信する簡易的な方法を記述しました。<br />
実際にgzip圧縮送信が行なわれていることをFireFox拡張機能で確認する方法をメモします。<br /><br />
拡張機能 Live HTTP Headersを使った方法です。生のヘッダ情報を簡単に確認できるので非常に便利に使わせてもらっています。<br /><br />

</p>

<h3>FireFox 拡張機能 Live HTTP Headers での確認手順</h3>
<ul>
<li>FireFoxをインストールします。(既にインストール済みの場合、この作業は不要です)</li>
<li>FireFoxを起動します。</li>
<li>拡張機能『Live HTTP Headers』を<a href="http://livehttpheaders.mozdev.org/">配布先</a>からダウンロードしインストールします。(『Installation欄』からダウンロードできます)</li>
<li>FireFoxを再起動します。</li>
<li>gzip圧縮送信用のコードを追加したxml-rss2.phpへアクセスします。</li>
<li>FireFoxツールバーから『ツール→ページの情報→Headersタブ』と進みます。</li>
<li>Response Headers欄中の『Content-Encoding』が『gzip』になっていれば圧縮送信されています。</li>
</ul>

<h3>gzip圧縮送信までの流れ(FireFoxの場合)</h3>
<ul>
<li>ブラウザがRequest Hederの『Accept-Encoding』に『gzip,deflate』をセットしてWEBサーバへ接続します。</li>
<li>リクエストを受けたPHPスクリプトでは『ob_start ( "ob_gzhandler" );』により、クライアント(ブラウザ)がgizip圧縮形式を受け取れるか?自動的に判断し、圧縮/非圧縮の処理を行なってくれます。gzip圧縮データを返却する際はResponse Headerの『Content-Encoding』欄が『gzip』等となります。<br />
</ul>

<p>
ブラウザ受信可能なエンコード情報が『Accept-Encoding』に列挙されているということですね。<br />
古いブラウザや、一部のRSSリーダーはgzipに対応していない様です。<br />
</p>
]]></description>
 <category>Nucleus</category>
<comments>http://nucleus.yaibeen.com/item244.html</comments>
 <pubDate>Tue, 13 Mar 2007 17:21:44 +0900</pubDate>
</item><item>
 <title><![CDATA[過度なxml-rss2.phpへのアクセス対策]]></title>
 <link>http://nucleus.yaibeen.com/item243.html</link>
<description><![CDATA[<p>
アクセスログを確認するとxml-rss2.phpへのアクセスが異常に多いことがあります。<br />
xml-rss2.phpの処理時間も結構なものです。その原因と対策方法をメモします。<br />
</p>

<h3>原因</h3>
<p>
別記事<a href="item234.html">『アクセスしていないページがログに記録される?』</a>にも記述しましたが、Firefox 1.5.0.10の先読み機能によって『xml-rss2.php』へ頻繁にアクセスが発生しているようです。<br />
Windows版FireFox 2.0.0.2では同現象は発生しませんでした。<br />
</p>

<h3>対策</h3>
<p>
対策として2つ考えました。<br /><br />
1.xmlj-rss2.phpの結果をNP_EzCacheでキャッシュすることでサーバへの負荷を減らす。<br />
2.FireFoxが先読みの際に送信してくる『X-moz: prefetch』を判定し、Nucleus側でブロック処理を行なう<br /><br />
事項2については、先読みブロック処理の際にどの様なレスポンスを返却するのが正しいのか？の判断ができなかったので事項1で対策を進めることにしました。<br />
</p>

<h3>NP_EzCacheでサーバ負荷軽減</h3>
<p>
NP_EzCacheをインストールしてxml-rss2.phpをキャッシュさせることで、3秒かかっていた処理時間が0.6秒程度になりました。<br />
別記事<a href="item241.html">『Nucleusの高速化(NP_EzCache編)』</a>も参考にして下さい。<br />
</p>
<h3>gzip圧縮で転送量軽減。</h3>
<p>
私の環境ではxml-rss2.phpに1行追加するだけでgzip圧縮送信が可能になりました。<br />
53.28 KB であった送信データが<strong>9.93 KB</strong>になりました。<br />
思ったより処理時間には影響しないので、転送量が気になる方はxml-rss2.phpをgzip送信対応にするのもお勧めです。<br />
<br />
修正方法は『ob_start ( "ob_gzhandler" );』を適所に追加するだけです。<br />
ob_gzhandlerはクライアントの圧縮送信不可を判断して自動的に、圧縮、非圧縮を行なってくれる優れものです。<br /><br />
私の開発環境、本番環境では問題無く動作してますが、ご利用は自己責任でお願いします。<br />
</p>


<div class='source'><pre><code>
xml-rss2.php抜粋


	// compare Etag to what we got
	if ($eTag == serverVar(&#039;HTTP_IF_NONE_MATCH&#039;)) {	
		header(&quot;HTTP/1.0 304 Not Modified&quot;);
		header(&#039;Content-Length: 0&#039;);
	} else {
		$feed = mb_convert_encoding($feed, &quot;UTF-8&quot;, &quot;EUC-JP&quot;);
		header(&quot;Content-Type: application/xml&quot;);

		ob_start ( &quot;ob_gzhandler&quot; );

		// dump feed
		echo $feed;
	}
</code></pre></div>
<p>
PHPがZlibサポート状態でないとgzip圧縮送信はできません。<br />
PHPの設定(output_handler等)やApacheの設定(mod_gzip等)によっては上手く動作しないかもしれません。<br />
私の環境ではoutput_handler無し、mod_gzip無しです。<br />
</p>

<h3>参考</h3>
<p>
圧縮送信されているか？の判断はFireFoxのメニューバーから『ツール→ページの情報』とたどり『一般タブ中のサイズ』で参照できます。<br /><br />
http://yoursite/xml-rss.phpとしてアクセスしてサイズを確認してみて下さい。<br /><br />
サイズ欄には実際に受信した際のサイズが表示されています。<br /><br />
</p>


]]></description>
 <category>Nucleus</category>
<comments>http://nucleus.yaibeen.com/item243.html</comments>
 <pubDate>Sun, 11 Mar 2007 19:42:17 +0900</pubDate>
</item><item>
 <title><![CDATA[Nucleusの高速化(NP_Header編)]]></title>
 <link>http://nucleus.yaibeen.com/item242.html</link>
<description><![CDATA[<p>
Nucleus負荷軽減、転送量削減の目的で<a href="http://japan.nucleuscms.org/bb/viewtopic.php?t=1042">NP_Header</a>を導入しました。<br /><br />
SEO対策として利用されている方が多いですが、転送量削減につながる『条件付き GET (Conditional GET) に対応』もとても魅力的です。Nucleusを『条件付きGET』に対応させることで、ページ更新が行なわれていない場合、再度WEBサーバからデータ転送が行なわれません。<br /><br />
ブラウザがWEBサーバに『ページ更新されてますか？』と問合せを行い、Nucleus側(NP_Header)で更新の有無をチェックして返答する。という感じです。<br /><br />
更新されていない場合はデータ転送は行なわれず、ヘッダ情報『HTTP/1.1 304 Not Modified』がブラウザに返却されます。<br />
不要な転送が行なわれませんので結果的にサーバ負荷軽減、転送量削減、レスポンスの高速化へ繋がることになります。<br /><br />
</p>
<h3>負荷軽減の結果</h3>
NP_Headerが『HTTP/1.1 304 Not Modified』をブラウザに返却する際はページのパース処理は行われません。<br /><br />
別記事<a href="item240.html">『Nucleus処理時間計測』</a>では全体の処理に約1.8秒かかっていましたが、更新無し『Not Modified』の場合<strong>約0.5秒</strong>で処理終了となりました。<br /><br />
処理速度が速くなったのではありませんが、結果として体感できる高速化です。<br /><br />
Nucleusノーマルの状態では常にデータ転送が行なわれてしまうので、転送量等に悩んでいる方にもNP_Headerをお勧めします。<br />

<h3>関連記事</h3>
<p>
別記事<a href="item226.html">『個別アイテムパース時間』</a>では1ページのパース時間を確認しています。<br /><br />
別記事<a href="item240.html">『Nucleus処理時間計測(NP_CoreBench)』</a>ではNucleus全体の処理時間を確認しています。<br /><br />
別記事<a href="item241.html">『Nucleusの高速化(NP_EzCache編)』</a>では、NP_EzCacheインストール後の処理時間を確認しています。<br />
</p>

]]></description>
 <category>Nucleus</category>
<comments>http://nucleus.yaibeen.com/item242.html</comments>
 <pubDate>Sun, 11 Mar 2007 17:39:51 +0900</pubDate>
</item><item>
 <title><![CDATA[Nucleusの高速化(NP_EzCache編)]]></title>
 <link>http://nucleus.yaibeen.com/item241.html</link>
<description><![CDATA[<p>
Nucleus高速化の為に<a href="http://japan.nucleuscms.org/wiki/plugins:ezcache">NP_EzCache</a>を導入し、使用前後の処理時間を比較してみました。<br /><br />
別記事<a href="item240.html">『Nucleus処理時間計測』</a>ではNucleus全体の処理時間を計測しています。<br />
その結果パース処理に負荷がかかっていることが判明し、改善策としてNP_EzCacheを利用させてもらいました。<br /><br />
NP_EzCacheはインストールや設定が容易で効果は絶大です。<br />
</p>
<h3>サーバ環境</h3>
<ul>
<li>CPU: VIA C3 600MHz (4.5 x 133) Celeron 300A と同等の性能</li>
<li>Memory: 512MB</li>
<li>OS: Windows 2000 sp4</li>
<li>Apache 1.3.37</li>
<li>PHP 4.4.6</li>
<li>MySQL 3.23.58-nt</li>
</ul>

<h3>Nucleus環境</h3>
<ul>
<li>Nucleus 3.24 EUC</li>
<li>当サイトのデータを開発環境へコピー</li>
<li>プラグインは30個弱+NP_EzCache</li>
<li>記事の表示時間を計測</li>
</ul>

<h3>結果</h3>
<ul>
<li>PreSkinParse (スキンのパースの直前): 約0.56～0.6秒で通過</li>
<li>PostSkinParse (スキンのパースの直後): 約0.61から0.66秒通過</li>
</ul>
<p>
当サイトのデータを利用した場合、0.6秒強で処理が終了します。<br />
別記事<a href="item240.html">『Nucleus処理時間計測』</a>では約1.8秒でしたのでNP_EzCache導入により全体の<strong>処理速度が1/3</strong>になった訳です。<br />
初期化処理(PreSkinParseまで)に約90%、パース(PreSkinParse～PostSkinParse)に10%弱の割合です。<br /><br />
NP_EzCache導入前はパース時間だけで約1.3秒かかっていましたが、キャッシュを利用することで<strong>0.05秒(1/26)程度</strong>と劇的に高速化しました。<br />
</p>

<h3>参考</h3>
<p>
コメント投稿、記事投稿、編集時にはキャッシュがクリアされます。<br />
『頻繁に更新しないサイト』や『コメント』や『トラックバック』が少ない等の条件に当てはまれば効果的に利用できます。<br /><br />
頻繁に更新されるサイトではxml-rss2.phpだけキャッシュしてみて下さい。サーバ負荷軽減になります。<br />
当サイトのxmlj-rss2.phpの処理時間はキャッシュ未使用の場合3秒程度かかっていましたが、NP_EzCache導入後は<strong>0.6秒(1/5)</strong>強になりました。<br /><br />

キャッシュでの高速化はインストールしているプラグインの特性や記事内容等にも左右されます。<br />
計測に利用しているサーバも非常に非力(VIA C3 600MHz)なものです。参考程度に。<br />
</p>

<h3>NP_EzCache設定例</h3>
<p>
当サイトではトップページ,xml-rss2.php,sitemap.xmlと各個別アイテムページをキャッシュしています。<br />
以下は設定例です。
</p>
<div class='source'><pre><code>
Cache URLs欄

/
/xml-rss2.php
/sitemap.xml
/item([0-9]+).html
</code></pre></div>]]></description>
 <category>Nucleus</category>
<comments>http://nucleus.yaibeen.com/item241.html</comments>
 <pubDate>Sun, 11 Mar 2007 17:01:10 +0900</pubDate>
</item>
  </channel>
</rss>
