リアルタイム再構築プラグイン(その1)

2006年11月6日 若干バージョンアップしました。

当Blogでは「Perl版ダイナミック・パブリッシング」を公開していますが、それとよく似たものとして、「リアルタイム再構築プラグイン」を公開します。
数回に分けて、このプラグインの利用方法を紹介します。

1.概要

リアルタイム再構築プラグインは、Perl版ダイナミック・パブリッシングと同様に、アクセスがあった時点でページを再構築するものです。
任意のテンプレートを再構築することができますが、基本的には、アクセスがあるたびに変化させたい部分だけを再構築して、Ajax等を利用して他のページに読み込ませるために使うことを想定しています。

ただし、Perl版ダイナミック・パブリッシングとは違い、ページをキャッシュする機能はなく、常に最新のデータに基づいたページを出力します。
また、PHPのスクリプトが含まれているテンプレートでは、そのスクリプトは実行されず、そのスクリプトがそのまま出力されます。

なお、このプラグインはMovable Type 3.2以降で利用することができます。
ただし、Movable Type 3.3の日本語化対応機能を使っているので、Movable Type 3.2ではメッセージが英語になります。

2.インストール

このプラグインは、以下のアドレスからダウンロードすることができます。

RealtimeRebuild_1_04.zip

ファイルを解凍すると、「RealtimeRebuild」というフォルダができます。
このフォルダを丸ごと、Movable Typeの「plugins」ディレクトリにアップロードします。
そして、「RealtimeRebuild」ディレクトリの中の「mt-realtime-rebuild.cgi」のパーミッションを「755」などに変え、実行可能にします。

3.リアルタイム再構築を許可するテンプレートの設定

このプラグインでは再構築した内容をそのまま出力します。
前述したように、PHP化しているページでは、PHPのスクリプトもそのまま出力されます。
そのスクリプトの中に、パスワード等のセキュリティに関わる情報が入っていると、その情報を見られる恐れがあります。

そこで、初期状態では、すべてのテンプレートのリアルタイム再構築を禁止するようになっています。
リアルタイム再構築を行う場合は、それを許可するテンプレート設定します。

ブログの設定のページで「プラグイン」タブを開き、RealtimeRebuildプラグインところで「設定を表示」のリンクをクリックすると、テンプレート名が一覧表示されます。
その中で、再構築を許可するテンプレートをクリックして選択し、「変更を保存」ボタンをクリックします。
なお、複数のテンプレートの再構築を許可する場合は、Ctrlキーを押しながらテンプレートをクリックします。

↓再構築を許可するテンプレートの設定
再構築を許可するテンプレートの設定

なお、Perl版ダイナミック・パブリッシングも導入している場合「sqlsub_mysql.php」または「sqlsub_pgsql.php」のテンプレートには、データベースのパスワードが含まれます。
Perl版ダイナミック・パブリッシングをご利用の方は、このテンプレートは必ず再構築を許可しないように設定しておいてください。

4.動作のテスト

インストールが終わったら、動作をテストしてみます。
インデックステンプレートを1つ作成し、以下のタグを入れてみてください。

<a href="<$MTRealtimeRebuildLink tmpl_name="メインページ"$>">MainPage</a>

テンプレートを保存して再構築した後、できたページを開き、「MainPage」のリンクをクリックします。
メインページがその場で再構築されて表示されれば、動作はOKです。
ただし、前述したように、PHPの部分は実行されません。そのため、メインページをPHP化している場合、表示が乱れることがあります。