タグ「perl」が付けられているもの

ActivePerl 5.10でMovable Typeの動作環境を作る

  • 投稿日:
  • by
  • カテゴリ:

以前、「Win32版ApacheでMT環境を構築する際の注意点」や「Win32版Apache+FastCGIでMT環境を構築する」という記事でWindowsでMovable Typeの動作環境を作る話を書きました。
が、そもそもActivePerlインストール直後の状態では不足のモジュールがあり、Movable Typeを動作させるという最初の段階で、これらをインストールする必要があります。
またActivePerl 5.8やActivePerl 5.10など、バージョンによってその方法も異なってきます。
そこで、今回は、ActivePerl 5.10を使ってMovable Typeの環境を構築する場合にインストールするモジュールを整理しておきたいと思います。

MTの一部の機能をコマンドラインから操作する

  • 投稿日:
  • by
  • カテゴリ:
プラグイン(には限りませんが)を書いていると、これから書こうとしているコードやちょっとした思いつきが正しく動くのかどうか確認したくなることがあります。 確認のためには、最低限の動作をするプラグインに仕上げ、ブラウザからアクセスし、ログあるいはデバッガで確認するという手順を踏む必要がありますが、確認したいコードがたった1行、例えば、MT->version_number()がどういう形式の値を返すのか知りたい、というときには、いちいち前述のような作業を行うのは面倒です。また、最低限の動作をさせるために書いた部分に問題があり、もともと確認したかったところへなかなか到達しない、ということもありがちです。 そうした場合に、役に立つのが、コマンドラインからMTの一部の機能を操作するスクリプトです。(スクリプトといっても、デバッガが起動し、MTのインスタンスを生成した後、breakするだけなのですが...。) ==
#!/usr/bin/perl -d

use lib '../lib';
use vars qw( $mt );
use MT;

BEGIN {
    $mt = MT->new;
}

$DB::signal = 1;
== これをMTをインストールしたディレクトリの下にある、toolsディレクトリに配置して、そこから起動します。ここではconsoleというファイル名にしています。 ==
$ perl console

Loading DB routines from perl5db.pl version 1.28
Editor support available.

Enter h or `h h' for help, or `man perldebug' for more help.

main::(console2:23):	$DB::signal = 1;
  DB<1> 
== スクリプトを起動すると、デバッガのプロンプトが表示されますので、後はperlのプログラムを記述するだけです。変数$mtがMTのインスタンスですので、これを使っていろいろと試すことができます。 たとえば、前述のバージョン番号を調べるのであれば、 ==
  DB<1> p $mt->version_number
4.22
== とします。 公開済みのエントリの一覧を取得し、タイトルを表示するには、 ==
  DB<2> @entries = MT::Entry->load({status=>MT::Entry::RELEASE()})

  DB<3> print $_->title,"\n" for @entries
Movable Type を利用してウェブサイトをリニューアルしました
Movable Type 4 へようこそ!

  DB<4> 
== などとします。 スクリプトの中にサブルーチンを定義しておくと便利です。例えば、変数をダンプするのに毎回、 ==
print Data::Dumper->Dump($v);
== と入力するのは面倒なので、 ==
sub dd {
    my ($v) = @_;
    require Data::Dumper;
    print Data::Dumper->Dump($v);
}
== と定義しておけば、 ==
dd $v
== だけで済みます。YAMLでフォーマットされたのが見やすければ、 ==
sub xx {
    my ($v) = @_;
    require YAML;
    print YAML::Dump($v);
}
== と定義しておき、 ==
xx $v
== とすることができます。 ちょっと動作を確認したい、という場面で役に立つと思いますが、いかがでしょうか?

すべてのブログをいっぺんに再構築するスクリプトを書いてみました。

使い方は、アーカイブに含まれる"rebuild_all"スクリプトをMovable Typeインストールディレクトリの「tools」ディレクトリの下にコピーし、起動するだけです。

$ tools/rebuild_all
rebuilding...
Blog: blog_1...ok
Blog: blog_2...ok
Blog: blog_3...ok
Blog: blog_4...ok
Blog: blog_5...ok
done
$

ダウンロード: rebuild_all.zip
ライセンス: MIT License

複数のブログを使ってサイトを構築している場合に便利だと思いますので、ぜひお試しください。

追記:
MovableType 4.0に対応しました。[2007/08/10]