リアルタイム再構築プラグイン(MT4/5対応版・その1)

以前に「リアルタイム再構築プラグイン」というものを公開していましたが、これのMT4/5対応版を公開します。
この使い方を数日に分けて紹介します。

2007年9月6日

デバッグ用のログを出力する処理が残っていました。

9月6日午前8時30分までにダウンロードされた方は、お手数ですが再度ダウンロードしていただき、lib/RealtimeRebuild.pmを差し替えてくださいますようお願いします。

1.概要

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

また、従来のリアルタイム再構築プラグインの機能に加えて、ページをキャッシュする機能や、PHPが含まれているページを正しく表示できるようにする機能を追加しました。

2.インストール

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

プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。

また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。

Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。

また、このプラグインは「RebuildHelper」というプラグインを併用します。これは以下のアドレスからダウンロードすることができます。

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

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

リアルタイム再構築を行う前に、それを許可するテンプレート設定します。

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

リアルタイム再構築を許可するテンプレートを選ぶ

なお、テンプレートの中にパスワード等のセキュリティに関する情報が含まれている場合、そのテンプレートはリアルタイム再構築を許可しないでください(パスワード等を見られる恐れがあります)。
例えば、Perl版ダイナミック・パブリッシングも導入している場合、「sqlsub_mysql.php」または「sqlsub_pgsql.php」のテンプレートには、データベースのパスワードが含まれます。
Perl版ダイナミック・パブリッシングもご利用の方は、このテンプレートは必ず再構築を許可しないようにしておいてください。

4.動作のテスト

インストールが終わったら、動作をテストしてみます。

まず、「3.リアルタイム再構築を許可するテンプレートの設定」の手順に沿って、メインページのリアルタイム再構築を許可します。

次に、インデックステンプレートを1つ新規作成します。
そして、メインページのテンプレートをPHP化していない場合は、以下のタグを入れます。

バージョン 1.60の場合
<a href="<$MTRealtimeRebuildLink tmpl_name="メインページ"$>">MainPage</a>
バージョン 1.61以降の場合
<a href="<$MTRealtimeRebuildLink tmpl_name="メインページ" tmpl_type="index"$>">MainPage</a>

また、メインページのテンプレートをPHP化している場合は、以下のタグを入れます。

バージョン 1.60の場合
<a href="<$MTRealtimeRebuildPHPLink tmpl_name="メインページ"$>">MainPage</a>
バージョン 1.61以降の場合
<a href="<$MTRealtimeRebuildPHPLink tmpl_name="メインページ" tmpl_type="index"$>">MainPage</a>

テンプレートを保存して再構築した後、できたページを開くと、「MainPage」のリンクが表示されます。
そのリンクをクリックして、メインページがその場で再構築されて表示されれば、動作はOKです。