以前に「リアルタイム再構築プラグイン」というものを公開していましたが、これのMT4専用版を公開します。
この使い方を数日に分けて紹介します。
2007年9月6日
デバッグ用のログを出力する処理が残っていました。
9月6日午前8時30分までにダウンロードされた方は、お手数ですが再度ダウンロードしていただき、lib/RealtimeRebuild.pmを差し替えてくださいますようお願いします。
1.概要
リアルタイム再構築プラグインは、Perl版ダイナミック・パブリッシングと同様に、アクセスがあった時点でページを再構築するものです。
任意のテンプレートを再構築することができますが、基本的には、アクセスがあるたびに変化させたい部分だけを再構築して、Ajax等を利用して他のページに読み込ませるために使うことを想定しています。
また、従来のリアルタイム再構築プラグインの機能に加えて、ページをキャッシュする機能や、PHPが含まれているページを正しく表示できるようにする機能を追加しました。
2.インストール
このプラグインは、以下のアドレスからダウンロードすることができます。
- Movable Type 4.0用
RealtimeRebuild_1_60.zip - Movable Type 4.1/4.2用
RealtimeRebuild_1_62.zip
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。
Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。
また、このプラグインは「RebuildHelper」というプラグインを併用します。これは以下のアドレスからダウンロードすることができます。
- Movable Type 4.0~4.13用
RebuildHelper_1_01.zip - Movable Type 4.2用
RebuildHelper_1_02.zip
これらファイルを解凍すると、「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化していない場合は、以下のタグを入れます。
<a href="<$MTRealtimeRebuildLink tmpl_name="メインページ"$>">MainPage</a>
<a href="<$MTRealtimeRebuildLink tmpl_name="メインページ" tmpl_type="index"$>">MainPage</a>
また、メインページのテンプレートをPHP化している場合は、以下のタグを入れます。
<a href="<$MTRealtimeRebuildPHPLink tmpl_name="メインページ"$>">MainPage</a>
<a href="<$MTRealtimeRebuildPHPLink tmpl_name="メインページ" tmpl_type="index"$>">MainPage</a>
テンプレートを保存して再構築した後、できたページを開くと、「MainPage」のリンクが表示されます。
そのリンクをクリックして、メインページがその場で再構築されて表示されれば、動作はOKです。





コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。
以前フォームメールの件でお世話になったしきだといいます。
さて、MT4.1でリアルタイム再構築を導入したところ、システムログに
RealtimeRebuild : Can't load blog.dat file : Can't call method "NoLocking" on an undefined value at /domain/domain/home/admin/public_html/mt/plugins/RealtimeRebuild/RealtimeRebuild.pl line 268.
というエラーが記録されます。
ちなみに作成されたmod_infoフォルダのパーミッションは707、blog.datのパーミッションは644で作成されておりました。
動作には支障ないのですが、原因がつかめません。どのようなことが考えられるでしょうか?
>しきだ博紀さん
こんにちは。
その件はこちらでも把握しています。
修正版を近日公開しますので、しばらくお待ちください。
MT3.3以前の時代に開発されたRealtimeRebuildプラグインは、
MT.4.2ではそのまま使うことはできない、ということになりましょうか?
>中村 ミノルさん
こんにちは。
MT3.3時代の旧バージョンは、MT4.2で動作確認していません。
ただ、旧バージョンは月別カテゴリーアーカイブ等のMT4の新機能には対応していませんので、MT4.2対応のものをお使いください。
藤本様
本件承知しました。
>>中村 ミノルさん
>こんにちは。
>MT3.3時代の旧バージョンは、MT4.2で動作確認していません。
>ただ、旧バージョンは月別カテゴリーアーカイブ等のMT4の新機能には対応していませんので、MT4.2対応のものをお使いください。
当ブログにおいて,年別と年度別は日別・月別と違うテンプレートを用いています。
年度別は,プラグインによって実現しております。
http://code.as-is.net/public/wiki/FiscalYearlyArchives.ja_JP
リアルタイム再構築プラグインの関係か,
年度別に,日別・月別のテンプレートが利用されます。
(年別は指定した物になる。)
これは,プラグインとプラグインから来るバグだと思われます。
対処できるのであれば,ヒントでもいいので教えてください。
>なるよしさん
こんにちは。
ご指摘の件ですが、リアルタイム再構築プラグインの不具合です(MT標準以外のアーカイブを想定していません)。
今後のバージョンアップで対処したいと思いますが、申し訳ありませんが時期は確約できません。
カテゴリー年度表示はうまく表示されています。
もしかすると,FiscalYearlyプラグインのバグかもしれません。
こちらで調節してみます。
藤本様
お世話になります。
つい先日、MTOS活用テクニックを購入させていただきました井上と申します。
現在、MTに検索機能を実装しようと藤本様の書籍を勉強して追ったのですが、送信ボタンを押した後に検索結果画面にはタイトルにあります
テンプレートを読み込むことができませんでした。
at lib/RealtimeRebuild.pm line 63
というエラーが表示されて、解決方法が見つかりません・・・。
・テンプレートをUTF-8保存
・RealtimeRebuildで、設定対象テンプレートは一つのみ
というところは再確認しております。
原因が分かりますでしょうか?
お忙しいところ申し訳ございませんが、ご教授いただければと思います。
よろしくお願いいたします。
>井上様
拙著をお買い求めいただき、ありがとうございます。
ご質問の件ですが、インデックステンプレート等などのテンプレートモジュール以外のテンプレートに、読み込もうとしたテンプレートモジュールと同じ名前のものはないでしょうか。
ちなみに、MTの標準のテンプレートセットだと、「検索結果」という名前のシステムテンプレートがあります。
RealtimeRebuildプラグインで読み込むテンプレートモジュールには、「検索結果」という名前は使わないでください。
藤本様
お世話になります。
すみません、先ほどコメントしました井上です。
search_formの、検索結果表示のテンプレートの名前が違ってたのが原因だったようです。
自己解決致しました。
今後ともよろしくお願いいたします。
はじめまして。
申し訳ございません、使い方が良くわからないので教えていただければ幸いです。
3「リアルタイム再構築を許可するテンプレートの設定」
の作業の後、次にどのような作業をすれば実際に使えるのでしょう?
movabletype.jpサイトでは、
「リアルタイム再構築するためのタグをテンプレートに追加します。」とあります。
このタグとは、設定されたプラグインのリソースをクリックすると表示されるタグ一覧のことでしょうか?
4.動作のテストはできました。
以上、お手数ですがよろしくお願いいたします。
>さまんささん
こんにちは。
ご質問の件ですが、具体的にどういった用途で、このプラグインを使おうと思ったのでしょうか。
それによって、インストール後の作業はいろいろです。
ちなみに、「ブログの各ページを、アドレスをそのままで、動的に再構築できるようにしたい」という用途だと、このプラグインではありません。
「Perl版ダイナミック・パブリッシング」をご利用ください。
http://www.h-fj.com/blog/mtplgdoc/perldynamic.php
>ご質問の件ですが、具体的にどういった用途で
お忙しいところ申し訳ございません。
MTトップページ(インデックステンプレート)へアクセスがあった時に再構築されるように使おうと思いました。
本来は、mt Rebuildを使い、CRONで自動再構築しようと思ったのですが、MT4.×では動かないということで、いろいろ探し、たどりつきました。
>さまんささん
こんにちは。
ご希望の用途なら、Perl版ダイナミック・パブリッシングをご利用ください。
壱さま
ありがとうございます!
使い方がちょっと違っていたのですね。わかりました。。
Perl版ダイナミック・パブリッシング使ってみます!