MovableType Open Source の最新版ベータである 4.15 が公開されました。早速、使ってみた感じをレビューしてみたいと思います。
今回のアップデートでの特徴は以下の通りです(本家から意訳) このあたりは MTOS-dev のメーリングリストと IRC の #movabletype チャンネルをウォッチしていた範囲内ですね。
インストールすると、まずデータベースのアップグレードが行われます。
* データベースをバージョン 4.0036から更新しています... * touchのテーブルを更新しています... * ブログ記事のテーブルを更新しています... * アーカイブマッピングのテーブルを更新しています... * ユーザーのテーブルを更新しています... * テンプレートのテーブルを更新しています... * ブログ記事のテーブルを更新しています... * カテゴリの関連付けのテーブルを更新しています... * アイテムのテーブルを更新しています... * タグのテーブルを更新しています... * トラックバックのテーブルを更新しています... * カテゴリのテーブルを更新しています... * fileinfoのテーブルを更新しています... * ジョブのテーブルを更新しています... * タグの関連付けのテーブルを更新しています... * コメントのテーブルを更新しています... * 連絡先のテーブルを更新しています... * Removing unnecessary indexes... * Assigning author basename... (100%) * Assigning entry comment and trackback count... (100%) * データベースをバージョン4.0050にアップグレードしました。
各データモデルのソースコードを覗いて見ると、幾つかカラムが追加されていたり、特にデータベースのインデックス項目が増えていたりと、主に高速化を狙った改善がされているのがわかります。例えば、エントリを格納する mt_entry テーブルには、comment_count、ping_count というカラムが追加されていて、エントリに付けられたコメントやトラックバックの数が格納されるようになっています。今まで、これらの数を取得するためには、別途、コメントやトラックバックのテーブルへ問合せを行っていましたが、これら新しく追加されたカラムを使用するなどして、データベースへの問合せ自体を極力減らすように改良されているようです。
データベースへの問合せ回数が少なくなることで、コメントの投稿やトラックバック、特には再構築処理が高速化されるものと期待されます。
管理画面については、パッと見で 4.1 と大きな変化はありません。今回のバージョンアップでは、管理画面の動作パフォーマンスも少し改善されているようです。具体的に計測はしていませんが、メニューによる機能間の移動が若干早くなったように感じています。
なお、先のアナウンスによると、β2 でナビゲーションとメニューの見直しが行われるとのことなので楽しみにして待ちましょう。 …まぁ、ようやくこのナビゲーションにも慣れてきたんですが、また変わるのかな?(・ω・`)
一番衝撃的だったのがテンプレートの管理画面です。追加された機能もテンプレートに関係したものが多いですね。
まず見た目から言えば、今まで、インデックス・アーカイブ・モジュールとそれぞれが別画面だったテンプレート一覧画面が、全てを一つの画面内で一覧できるようになりました。あのテンプレート一覧画面の間を行ったり来たりして地味に作業時間を盗られていたのがなくなって超快適です。一方では、テンプレートの数が多くなるとトイレットペーパー並に縦長画面になってしまうのは、クイックフィルタを使うことで指定したタイプのテンプレートのみ一覧できるようになっています。
アーカイブテンプレートについては、この一覧画面でアーカイブ毎に設定した出力ファイル名のマッピングが新たに確認できるようになりました。「そういえば、このアーカイブはどのディレクトリに生成されるんだっけ?」というのが無くなりました(たまにあるんですよ)
インデックステンプレートでは、再構築オプションに新しく「利用不可」という設定項目が追加されています。データベースのアップグレードによって、今まで再構築オプションをオフにしていたものが、全てStatic(再構築する)に変更されてしまうので注意しましょう。Manually(手動)に設定することで、自動的に再構築されなくなります。
またアーカイブマッピングについても、マッピング毎に同様の再構築オプションが設定されるようになりました。ここで、新しく追加された「利用不可」というのが便利だなぁと感じる訳ですが、一時的にアーカイブの生成を止めたい時に、生成ファイル名のパターンを削除しなくても良いのが嬉しいですね。
テンプレート関係で実は大きな変更だと思うのが、Server Side Includes とテンプレートのキャッシュ機能の 2 つではないかと思います。前者は、今まで SSI や PHP を使って手作業でファイルを include していた作業を、<MTInclude>
タグ側で勝手に判断して自動的にこれを行ってくれるというもの。include すべきファイル名は MT 以外のところ(例えばサイト設計者の頭の中)で管理されていたのが、MT だけで管理できるようになるのは嬉しいですね。しかも SSI・PHP・ASP・JSP と様々なプロセッサに対応しています。すげぇ!
後者は以前にテンプレート構築処理でキャッシュを行うために KeyCached プラグインを作ったわけですが、それと比べて更に時間やイベントなどを細かく設定してキャッシュを制御できるようになっていました。このキャッシュ機能によって、再構築のパフォーマンスをかなり細かいレベルでギリギリまでチューンアップすることができるようになりました。しかもそれが標準で搭載されるとは… KeyCached 涙目www
ちなみにアップグレード直後は SSI、モジュールキャッシュの利用はともに無効になっています(当たり前)
まず、全文検索用の CGI である mt-ftsearcg.cgi が追加されています。そして extlib 内の外部モジュールも微妙にバージョンアップしていたりします。ここで新しく Lucene モジュールが追加されていますが、これはクエリ文字列の解析を行うモジュールで、おそらくは全文検索で使用するのだと思います。
あと、テンプレート内の JavaScript のコメント方法が変わっていたりしました(カワイイ)
MT4.1 の次のバージョンアップは高速化に主眼を置いて行うというアナウンスの通り、変更されたソースコードの個々を見ているとイイカンジの成果になっているのではないでしょうか。テンプレートのキャッシュ機能などは、カスタマイズ厨にとっては涙モノの機能です。ただ、オープンソースという玄人の集まるコミュニティの意見を反映したおかげで、更に玄人好み、かつ強力になった反面、初心者への優しさ比率が減ってしまった感じです。私が MT3.x から MT4 へ移行する際に苦労した(特にインタフェースに慣れるのに)のと同様かそれ以上に、初心者がスタートするための敷居が上がってしまったのかもしれません。初心者にしてみれば、最初は使わないであろう色々と細かい設定が増えてしまったわけです。よくわからない設定オプションがたくさん目に入るだけでも混乱してしまいますからね。
なかなかエキサイティングなバージョンアップだと思うので、MovableType 好き好き♪な方は是非、アップデートされてみては如何でしょうか。何だか多少の不具合があってもご飯 3 杯くらいは軽い感じ(?)に楽しい機能満載です。ただし、データーベースのバージョンアップが発生するのでバックアップだけは忘れずに、ですよ。