Movable Type のメリットとは

こんにちは。Movable Type のプロダクトマネージャー、にっくです。

INTERNET Watchさんの記事が公開されてから、ネット上の一部で、Movable Type に関するさまざまな意見や議論が巻き起こりました。

Movable Type の良さ、メリットを伝える記事もあれば、Movable Type よりもWordPressの方が優れている点を上げて、WordPressに移行を促す意見も数多くありました。

movable_type.jpg

今回は、それらの中から、Movable Type のメリットについて客観的に記述していただいたブログ記事をいくつかピックアップして、ご紹介したいと思います。

利用者から見た、Movable Type のメリット

まずは、元 Movable Type ユーザーで、現在はWordPressでブログを運営していらっしゃる、@kanoseさんのブログ「ARTIFACT ―人工事実―」から、「元Movable Typeユーザー、現WordPressユーザーが考える Movable Type の利点」という記事です。

@kanoseさんは、Movable Type の特徴の一つ、静的生成について、「元Movable Typeユーザー、現WordPressユーザーが考えるMovable Typeの利点」という記事の中で、以下のように記述していただいています。

Movable TypeとWordPressの比較でよく出るのが、動的生成と静的生成のどちらがいいかという点で、この論点は永遠の論争だと思うが、この動的静的生成問題は、アクセスした時の負荷など、主に閲覧時の話ばかりが注目される...Movable Typeの過去ログが、静的HTMLで残っているというのは、何らかのトラブルがあった時に最悪ログが残るという利点がある。ブログツールで結構起きやすいのが、データベースの事故だが、万が一事故があっても、静的HTMLならHTMLだけは残ってくれる。しかし、WordPressの場合はデータベースに事故があったら、完全に消えてしまう。

ネット上を見ても、「静的生成はhtmlファイルが作成されるから、メンテナンスがしやすいね」というご意見を数多く見かけました。

続いて、@junnama さんのブログ「Junnama Online」 から、「なぜ僕は WordPress を使わないで Movable Type を使い続けるのか。」 という記事です。

この記事では、「静的 vs 動的」という視点ではなく、主に

  • テンプレートエンジンの比較
  • MT自体が持つ、言語拡張性
  • セキュリティポリシー

などのメリットから、論じていただいています。以下は、セキュリティポリシーに関する記述です。

Movable Typeでは「テンプレートの編集」権限を持ったロールを「デザイナー」と位置づけています。デザイナーはPerlやPHPでロジックを書くことは許可されておらず、サーバー上の任意のファイルをインクルードして表示させることも許可されていません(デザイナーに"それ"はできるべきではない、が Movable Type のセキュリティと権限に関する思想です。)

権限を細やかに設定できるのは、Movable Typeの特徴の一つです。特に、チームによるCMS構築の際には、威力を発揮します。

以下は、テンプレート・エンジンに関する記述です。

Movable Type ではプラグインの中にPerl(PHP)コード、テンプレートにはMTMLを記述します。書く場所が別れており、それぞれの場所に書く言語は別のものです。・・・プログラマの立場から言えば、"案件ごと、その場その場で、楽な方に実装する" ようなことをやってしまう誘惑にかられる可能性が高い。極端に言えば、ひとつのファイルの中にHTML、CSS、JavaScript、PHP、SQLが書かれているようなテンプレートになったりします。ひとりでこれら全部書ける、書けない、ということ以前に、ひとりで書けたとしても見通しの良いテンプレートにするには相当な工夫が必要でしょう。

MTでは、独自のタグ「MTML(Movable Type Markup Language)」を利用して、htmlや簡単なロジックを記述します。最初はとても奇妙に見えて、とっつきづらい、と思う方もいらっしゃるかもしれません。

しかし、実際にMTタグを利用してみると、条件分岐(if,else)や、変数の利用(スカラ変数や配列、ハッシュ)、四則演算もできるため、PHPやPerlのプログラミングに近いことがMTタグだけでセキュアに実装できます。

(実は、設定次第ではPHPのコードも直接書くことができます)

MTタグの使い方を覚えると、実際のプログラミング言語を触っても、応用が効くような構造になっていますので、ぜひいろいろなコードを書いてみてください。

Junnamaさんのブログ記事では、他にも様々なご意見を書いていただいております。まだ読んでいない方は、ぜひ一度、ブログ記事をご覧下さい。

僕が考える、Movable Typeのメリット

MTのメリットについては、外部の利用者のご意見のほうが、客観的で的を得ていると思いますが、僕も一つMTの良さを上げてみます。

MTのインストールパスと公開サイトのパスを物理的に分離できる

例えば

  • http://example.com

というサイトをMTで出力する場合、MTのインストール場所は

  • http://example.com/mt/

という風に、公開サイトの直下においても構いませんし、

  • http://example.com/go/to/deep/mt/

のように、深い階層においても構いませんし、状況によっては

  • http://mt.example.com/
  • http://hoge.example.com/

など、全く別なパスに設置することもできます。

この「出力先」と「プログラム」の場所を自由に変えられるCMSは、意外にありません。他のCMSでは

  • http://example.com/admin/

など、管理画面が出力サイトの直下で、決められた位置になってしまうシステムが、結構多いのです。

この特徴が、どのようなメリットにつながるか、というと、「外部からのセキュリティ攻撃に対する防御策」として有効になります。

僕がSix Apartに入社する前、非常にセキュリティに厳しい官公庁に Movable Type を導入したことがあります。

この案件では、「ペネトレーションテスト」と呼ばれる、独自のセキュリティ監査を受けなくてはいけませんでした。外部の第三者機関に依頼して、サイトやシステムにセキュリティホールがないか、厳しい試験を受けなくてはいけなかったのです。

僕が担当した案件は、問題なくペネトレーションテストをパスした実績があります。htmlは静的に出力するため穴がなく、MT自体も公開サイトとは別な場所に置いていたため、容易に攻撃箇所を見つけることができなかったのです。

一番最初に、MTでブログを構築した時、この仕組についてよくわからず

「インストールした場所と、公開した場所をばらばらに設定しなければいけないなんて、なんて不便なだろう」

と思ったことがありますが、実は上記のような、セキュリティ対策ができるメリットがあったのですね。このことに気がついたのは、仕事で Movable Type を使い始めてからでした。

まだまだメリットはたくさんありますが、また別な機会に語りたいと思います。

みなさまの声を反映して参ります

今回、MTに関する不満点として、「再構築の重さ」に関するご意見もよく見かけました。記事数が多くなると、再構築コストは無視できないこと、私たちも認識しております。

現在、Movable Type の開発ブランチでは、PSGI対応を進めています。PSGIについては、近い日にTech Talkで詳しい説明がなされると思いますが、MTをCGI以外のレイヤーで動かす一つの方法として、鋭意開発中です。

Github上では、PSGI対応を行ったコードを含むバージョンが「Develop」ブランチで公開されています。インターネット上では、すでにPSGIを利用してMTを起動させているユーザーさんもいらっしゃるようで、一部の有志の皆さんは、設定によって高速化を実現した方もいらっしゃるようです。

Developブランチは、十分にテストをおこなっていない、開発途中のバージョンなので、触ってみたいと思った方は、その旨ご理解を頂いた上でお試しいただければ幸いです。出荷までには、まだまだ調整が必要ですが、皆さんが満足いただけるような機能にしていきたいと思います。

PSGI対応以外にも、MTに寄せられる貴重なご意見を拝見しながら、製品の品質改善に取り組んで参りたいと思います。

いろいろと至らない点も多々ありますが、これからも Movable Type を宜しくお願い致します。

Six Apart をフォローしませんか?

次の記事へ

「リアルタイム・マーケティング」(日経BP社刊)を読んで: 「いますぐ」を実践するブロガーに学ぶ

前の記事へ

ゆるふわトフトフ通信vol.1 ~ なんかクマがキタクマー! ~