Movable Type(ムーバブルタイプ)超入門解説

しょご


Movable Type(ムーバブルタイプ)超入門解説

こんにちは、エンジニアのしょごです。みなさん、「Movable Type(以降MT)」ってご存知ですか?
いわずと知れた「Six Apart」社が提供しているCMSプラットフォームです。

ブログはもちろん大規模コーポレートサイト、作りようによってはECシステムや情報検索サイトなどのWebシステムサイトの構築を行うことができます。
弊社ではWordPress案件を多く請け負うケースがありますが、前職では「MTの略はミスター徳山だよね!」って言われるほどMT漬けでした。

そこで今回は、MTについてご紹介したいと思います。

そもそもMTってどんな構成になってるの?

まずはここから簡単にお話します。
MTには「ウェブサイト」と「ブログ」と「ウェブページ」いう大きなくくりがあります。

1

ブログとは

ブログは更新が頻繁なページや、コンテンツを展開するのに特化しています。

例えば、インフォメーションやイベント情報、商品情報や採用情報などはブログで構築する方がいいでしょう。
カテゴリやタグ設定をしてジャンル分けをしたり、日付でアーカイブしたりしたいときなどにも有効です。

ウェブページとは

更新頻度が少なく、固定の情報を掲載する場合はウェブページが便利です。

フォルダ機能で階層を指定することができるので、会社概要やプライバシーポリシーなど、俗に言う静的ページはこちらで構築します。

ウェブサイトとは

下層となるブログ、ウェブページを統合管理できます。出力先の目安となる公開パスを設定し、ブログやウェブページはそこを基点に各データを出力します。

簡単に言ってしまえば、親となるウェブサイトがあり、基点となる階層を設定、そこに属するブログやウェブページが基点階層直下にコンテンツを展開していく形です。

MTのウリや特徴って何なの?

次に「そもそもMTの特徴やウリって何なの?」というところを説明します。

1. エンドユーザは出力された静的ページを閲覧するので快適

最大の特徴は、エントリー(記事を投稿すること)すると、設定したテンプレートが下(指定の階層)に“出力”されることです。
つまり、従来のページ同様、最終的には静的ページとしてファイル生成されます。

これにより、アクセスするエンドユーザは、少ない負荷でページを閲覧することができます。
動的生成のCMSなどでは、管理画面と公開画面が同一システムを使うため、どちらかで負荷がかかるとすべての動作が重くなってしまいましたが、MTではそれはありません。

ただし、そのために再構築という、ページをデータから出力する作業が必要になります。
静的ファイルを出力するので、CMSとして活用したり、同じページを作成していくジェネレータとしても活用したりもできます。

2. 専用タグがHTMLタグっぽいので簡単

テンプレートを作成する際に、MovableType用のタグ、通称「MTタグ」が必要になりますが、構造的にはHTMLタグと似ているところもあり、比較的導入が楽です。

例えば、エントリーの一覧を作る書き方としては、

<MTEntries>
	<li>
		<h2><MTEntryTitle></h2>
		<div>
			<MTEntryBody>
		</div>
	</li>
</MTEntries>

のようになります。
これは「<MTEntries>~</MTEntries>」で囲った部分をエントリーの数分繰り返す形になり、「<MTEntryTitle>」にエントリーのタイトルを、「<MTEntryBody>」にエントリーの本文に入力されたものを配置する、という構造です。

「HTMLタグに似ている」ことはご覧の通りですが、他にも特徴として「構文エラーがない」ことも挙げられます。
仮に閉じタグを付け忘れた場合も、テンプレートを保存したタイミングで表示されますので、出力したときは正しい形になっていることが前提になります。

また、PHPの知識など別言語の知識がなくても利用できます、本体はPerlで構築されていますが、実はPerl言語が1ミリもわからなくてもテンプレート作成が可能なのです。
プラグイン開発やコア部分のカスタマイズにはPerlの知識が必要ですが、通常用意されている機能でだいたい事足ります。

どちらかというとコーダーの方にMTは向いているのではないかと思います。

3. とにかく自由

MTでは仕様に縛られずに好きな場所に好きなファイルを出力することができます。
よくCMSの仕様である「カテゴリが複数選択できない」「出力先を擬似的に用意してテンプレートで独自に作成」などの縛りは、実践上ありません。

例えば、エントリーが増えていったとしても、今までの記事の登録データをCSVファイルで欲しいという要望には、プラグインなどなくても、専用のCSV形式のテンプレートを作り、出力ファイル名を「xxx.csv」とすれば、容易に指定階層に出力できます。
後はDLするなりWeb閲覧するなりしてください。

4. 個人無料ライセンスでの利用も可能(システム機能制限なし!)

でもお高いんでしょう?という方もいらっしゃると思いますが、実は個人で利用する場合は、個人無料アカウントというものがあり、費用は一切かかりません。
「無料だからシステム機能制限とかかかるんじゃないの?」「無料で遊べるゲームみたいにここからは課金とかあるんじゃないの?」とか思われるかもしれませんが、そんなことはありません、すべての機能が使えます。

なので個人の方もどんどんMTを利用してみてはいかがでしょうか、ただし、商用利用の場合は有料ライセンスが必要になります。

5. ステージング環境の構築が一瞬

本番サイト用にMTでテンプレート構築を行ったとしても、ウェブサイト、ブログのくくりを複製することができるので、公開後の修正も安全に行えます。

公開側と管理側の環境が一体化しているシステムだと、まったく同じシステム環境はもちろん、データベースまで複製しなければなりませんが、MTの場合はデータベースの複製などせずとも、管理画面上でウェブサイトやブログを複製して、出力パスを変えることができるのです。
あとは設定した出力パスにベーシック認証でもかければ、あっというまにステージング環境、もしくは開発環境とすることができます。

まとめ

いかがでしたでしょうか。

よく「MTは敷居が高い。。」とか「難しいんじゃないの?」っていう意見を聞きますが、ハッキリ言ってPHPやPerlの開発言語の深い知識がなくとも構築できるので、どちらかというととっつきやすいと思います。
MTタグに関しても、オフィシャルページにしっかり日本語の記載があるので、困ったときもそこをチェックすれば、問題ありません。

また、MT6からAPIが豊富になり、データを用いてグラフ描画をしたり、本来ならフルスクラッチで構築しなければならない管理機能込みのWebシステムも、MTを管理画面として構築することで、従来よりも効率よく開発したりできます。
まずはダウンロードしていじってみませんか?

次回はMovable Typeの使い方などをご紹介しようと思います。

しょご
この記事を書いた人
しょご

バックエンドエンジニア

2014年入社

この記事を読んだ人におすすめ