Movable Type 4.1で行う高機能ブログサイトの構築
Movable TypeとはSix Apartの開発したプロフェッショナルレベルの完成度を誇るオープンソース系ブログソフトウェアであり、その記述言語にはPerl、リリース用ライセンスにはGNU GPLが使われている。このツールを使用するには、Linux、Apache、MySQL、PHP/Perl(LAMP)サーバないしはその同等品および、SendmailなどのSMTPに対応したメールサーバが必要で、ApacheサーバについてはCGIスクリプトを実行可能にしておかなくてはならない。また実際の導入に先立ってはオンラインデモを試用することもできる。
Movable Typeの新バージョンでは、ユーザインタフェースに対する若干の変更が加えられている。その1つはアセット(asset)を編集可能とすることで、掲載する画像、サウンド、ビデオファイルの設定の一部をユーザが変更できるようになったことだ。また開発陣は今回、テンプレートタグの追加および、コード言語の改善を施している。同じくPublish Queue機能を用いることで、複数のサーバを対象とした記事の掲載や同期が行えるようになり、書き込んだエントリとコメントについてはユーザの画像を追加できるようになった。その他、ユーザが各自のブログにて使用するテンプレートセットについてはデザイナによる新規登録が行えるようになっており、デザイナはGlobally Shared Template Modulesを用いて任意の数のブログに変更を加えられるようになっている。
Movable Typeのインストールの手順について特に難しい点はなく、MySQLデータベースの作成後にブラウザからインストーラを実行させるだけであり、インストールを実行する前にサーバ要件が満たされているかを事前チェックするためのスクリプトも用意されている。
Movable Typeで利用可能な機能
Movable Typeには多数の設定オプションが用意されているが、これらの操作についてはドロップダウンメニューを用いた扱いやすい管理インタフェースが採用されており、そのルック&フィールも落ち着いた色調で統一されている。またバージョン4.1にデフォルトで実装されるMultiBlog 2.0プラグインは、複数のユーザにそれぞれ専用のブログを提供するサイトを管理する際に便利である。
Movable Typeにはそのまま利用可能なスパム防御用の機構が、3種類のSpamLookupプラグインという形で組み込まれている。その1つであるKeyword Filterプラグインでは、投稿されるコメント中で監視すべきキーワードやフレーズを登録することにより、該当するコメントの掲載をブロックする(モデレーション)か、Junkフォルダに移動させるといった処理が行える。同じくLookupsプラグインは、フィードバックに対するフィルタリングを施すためのもので、チェック用のブラックリストに登録されたドメインやIPアドレスから投稿されたコメントやトラックバックに対するモデレーションの実施ないしジャンクへの分類を行うことができる。最後のLinkプラグインはコメント中のリンクに対する制御を施すためのもので、ここではテキスト中のリンク数が判定基準とされ、設定された上限値を超過しているものについてはモデレーションの実施ないしジャンクへの分類が行われる。
こうしたSpamLookupプラグインが優秀なスパムブロッカーとして機能するのは確かだが、自分のサイトが迷惑コメントで埋め尽くされないようにするにはシステム任せにしておくだけではなく、常日頃から管理者が必要な措置を施しておかなくてはならない。特にオンラインコミュニティを主催している人間であれば、こうしたスパムフィルタの使用法を習得しておくことは不可欠だろう。
ブログおよびユーザの新規作成は簡単であり、また各ユーザについては、ロール、アトリビュート、パーミッションを設定することになるが、こうした設定の作成、削除、変更、割り当て操作についても特に複雑な点はない。なお各ブログの格納先に関しては、rootディレクトリの下層に専用の個別フォルダが作成されるが、これらの名称はブログの作成時に割り当てておく必要がある。混乱を避ける観点からこうした名称については、ピリオド、カンマ、クエスチョンマーク、丸カッコ、角カッコなどの記号類はブログ名に使用するべきではないだろう。実際これらのキャラクタはMTにより無視されフォルダ名に使われることはないが、ダッシュ、半角スペース、アンダースコアなどは使用できるようになっている。同様に“plugins”や“templates”や“modules”などの単語も、重要なシステムファイルを格納するためのコンテンツマネージメントシステムにより使用される場合があるので、使わないようにしておく方が賢明なはずだ。
Movable Typeにおけるバックエンドの閲覧に関しては、System Overviewおよび個々のブログに関するオーバービューという2つのモードが存在している。このうちSystem Overviewは管理者だけが利用可能なもので、ブログのセットアップ、ユーザやロールの作成、活動ログの閲覧、フィードバック設定の管理などのタスクに役立つ機能である。そしてこのモード下でのバックエンドはグリーンで表示される。一方の各ブログにおけるオーバービューは管理者およびユーザの双方が利用可能なもので、これは個々のブログに対応したブルーの設定パネルとして表示され、ここには記事の掲載に必要なすべてのツールが収められている。このモード下ではユーザやブログの新規作成は行えないが、当該ブログにおけるテンプレート関連の情報やスタイルの変更は行うことができる。これら2つのモードの切り替えについては、画面左上にあるボタンをクリックすればいい。
なおバックエンドにてブログを削除する場合は、サーバ側からの手作業にて過去に追加したページも削除しておく必要があり、これを怠るとページの残留が発生してしまう。
記事の掲載とそれに付随する諸設定
インストールおよび個別的なブログ作成が終了すれば、具体的な記事の掲載が行えるようになる。特にMTの場合は通常のエントリ以外にも、各自のブログで用いられている外観を反映させたスタンドアローンページを作成することが可能で、これらのページは索引ページ中の特殊なカテゴリに分類させることができ、また“Aboutページ”などの用途に用いることもできる。なおMovable Typeには記事の書き込み操作が中断した数秒後に実行される自動保存機能が装備されており、編集時に自分の意図しない結果になってしまったという場合は“Write Entry”ボタンを再度クリックすればいい。これによりエントリ入力画面には、当該エントリの保存された時刻および、編集途中の状態に復帰させるためのリンクがポップアップメニュー形式にて表示される。
個々のユーザに対して管理者からは、Movable TypeのUser Rolesシステムとして用意されている19種類の基本機能ないし特権(privilege)と呼ばれるものを割り当てることができる。ここでの特権に関しては、管理(administration)、執筆と掲載(authoring and publishing)、デザイン(designing)、アセット(assets)、コメント(commenting)という5種類のカテゴリ分けが成されている。またこのシステムには、オーサー(author)、ブログ管理者(blog administrator)、コメンタ(commenter)、コントリビュータ(contributor)、デザイナ(designer)、エディタ(editor)、モデレータ(moderator)、Webマスタ(webmaster)という多数の標準ロールがデフォルトで用意されている。こうしたUser Rolesは、個々のユーザに対して特定の操作を許可ないし禁止する目的で指定するものであり、その変更についてはバックエンドにてManage→Users→Rolesを呼び出し、該当する項目のチェックボックスのオン/オフにて切り替えることができる。
1つのロールを定義する際には任意の特権を組み合わせることができ、例えばModeratorにおけるデフォルトのロールを与えられたユーザの場合は、“Post Comments”および“Manage Feedback”のチェックボックスがオンにされているはずである。これに対して管理者(administrator)の場合は、19種類の特権すべてが割り当てられている。
管理者ないしユーザが各自のコミュニティにてどのような投稿がされているかを追跡する上で重要な意味を持っているのが、登録(registration)という作業である。ただしこの登録に関しては、個々のブログにおいて義務化することも任意化することもできる。またMovable Typeでは複数の登録システムがサポートされており、ネイティブの登録システムを用いた場合、ユーザはWebサイトに直接ログインすることになるが、OpenID、LiveJournal、Vox、TypeKeyなどの外部システムを利用した場合、ユーザは外部のWebサイトにリダイレクトされてからログインすることになる。このうちTypeKeyはSix Apartの提供する登録方式であるが、こうしたものは管理者による登録ユーザの追跡およびコメント投稿ユーザの“なりすまし行為”を防止するのに役立つはずだ。TypeKeyの有効化はPreferences→Blog Settingsを選択することで行え、このオプションを有効化した場合のユーザ登録およびサイトへのログイン時にはTypeKeyのWebサイトにリダイレクトされるようになる。ただしこうした登録機能はスパム行為を直接防止するというものではなく、スパムの発信元を特定してどのような対策を講じるべきかを検討する際に役立つという性質のものである。
日常的に使用する機能という観点からすると、このブログソフトウェアの中核を成すのはテキストエディタであると見なすこともできる。Movable Typeにデフォルトで付属するテキストエディタは、投稿記事の掲載に関してはかなりの完成度に達しているのだが、それ以上の機能を必要とする場合はFCKeditorプラグインのインストールを検討すべきだろう。このプラグインは、入力したテキストに対する各種フォーマットの適用、画像やFlashファイルの挿入、リンクの設置、ページソースの編集といった操作を実行可能にするためのものである。
FCKeditorのインストール手順としては、tar.gz形式のアーカイブをダウンロードしてエディタプラグインを抽出し、Movable Typeのインストールされたサーバ上の各ディレクトリにmt-staticおよび同プラグインのフォルダ群をアップロードする必要がある。またアップロードの完了後は、インストレーションフォルダ中に存在するmt-config.cgiファイルを編集して、下記の行を追加しておかなくてはならない。
RichTextEditor FCKeditor
自分のブログに施された設定の変更はMovable Typeのバックエンドにて行うことができ、こうした変更としては、例えば匿名でのコメント投稿を許可したり、あるいは逆に電子メールアドレスの掲示を強制するなどの指定が行える。なおMTOS 4.1には標準でCAPTCHA機能が付属しているが、デフォルトでは無効化されているので、これを利用するにはComment Settingsメニューにて有効化しなくてはならない。また他のブログとの間で相互にトラックバックを行うためのオプションも用意されており、こうした機能はサイトの訪問者数を増やしたい場合に役立つはずだ。
バックエンドに用意されているAddress Bookコンポーネントは、サイト訪問者の有す電子メールのアドレスとWebページのURLを登録してもらう目的で使用するものである。こうしてAddress Bookに登録しておいた連絡相手については、サイトに関する最新情報などを知らせたい場合に、編集ウィンドウにあるShareリンクを介した一斉通知を行うことができる。
テンプレート、スタイル、ウィジェット、プラグイン
Movable Typeで作成するブログの外観を規定しているのは、テンプレート、スタイル(テーマ)、ウィジェットセットという3本柱である。このうちMovable Typeのテンプレートシステムは複数の目的で利用される関係上、その実体はかなり複合化した構成になっている。こうしたテンプレートに課せられた役割は、テンプレートタグと併用することにより、公開したページやアーカイブに対する制御およびウィジェットの配置などを管理することである。ユーザは既存テンプレートの編集や切り替えを行う以外にも新規のテンプレートを独自にインストールすることが可能で、後者に関してもTemplate Installerプラグインを用いることで簡単に実行できるようになっている。なおプラグインのインストールについては、zip形式のファイルをダウンロードし、その収録内容を抽出してプラグイン用のディレクトリにアップロードすればいい。
Movable Typeでのスタイル変更は、プレインストールされているStyleCatcherプラグインを介して実行する。ここで言うスタイルとは、Movable Typeで使われるテーマ群に付けられた名称のことである。こうしたスタイルを変更すると、サイト上に配置するコラムの位置、ヘッダ用の画像、バックグラウンドのカラーなど、サイトの全体的な外観を規定する諸要素を一括して切り替えることができる。またブログのStyleメニューからはリポジトリへのリンクにアクセスすることもでき、これを利用するとStyleCatcherプラグインによるスタイルの自動ダウンロードが行われ、ユーザはクリック1つで必要なスタイルをインストールできるようになる。
Movable Typeにおけるウィジェット(widget)とは、各自のサイトに特定の機能を追加するためのサイドバーモジュールのことである。例えばブログの活動履歴、最新投稿されたコメント群、リンク先の一覧などは、こうしたウィジェットを介して表示させることができるようになる。その他にもサイト訪問者が利用する検索、ログイン、投票などの機能を提供するためのウィジェットも作成されている。
利用するウィジェットの指定法についても特に複雑な点はない。ここではまずブログのバックエンドにてDesignタブに移動し、Widget Setsオプションを選択する。これにより現状で利用可能なプレセットされたウィジェットセットが一覧されるが、これらに関してはユーザが独自のものを作成することもできる。テンプレートセットの作成と編集を行う画面には2つのコラムが表示され、その左側には当該サイトにて現在使用中のウィジェット、右側にはシステムにインストールされているウィジェットが一覧されるようになっており、双方のコラム間でのウィジェットの移動(追加および削除)はドラッグ&ドロップにより行えばいい。テンプレートにウィジェットを追加するには、「<mt:WidgetSet name=”Widget Name” >」というテンプレートタグを挿入すればいいが、ここでのWidget Nameには利用したいセット名を記入しておく。なおこうして登録した結果を確認するには、設定後のサイトを実際に公開しなくてはならない。
先に見たテンプレートタグこそはMovable Typeにおける個々のテンプレートを特徴付けるものであり、これらは各自のブログに所定の機能を実装する目的で使用される。いずれにせよこうしたタグの使用法が理解できれば、ブログ全体の挙動について思い通りの調整を施せるようになるはずだ。例えばシステムのオーサー(作成者)に関する情報を掲示させたければAuthorsタグを使用すればいいが、その他にどのようなタグが利用可能であるかについては、Movable TypeのWebページにその一覧が掲載されている。
今日のWebパブリッシングシステムではサイトの肥大化や低速化を防止する観点から、プラグイン形式でのコンポーネント化が重要であると見なされるようになっている。Movable Type用のプラグインおよびウィジェットについては、MTプラグインリポジトリからダウンロードすることができる。例えばこの中には、画像、サウンド、ビデオファイルの管理を簡単化するMedia Managerというプラグインが収録されており、同じくFlickrPhotosはFlickrの写真を表示するためのプラグインで、MT-YouTubeはビデオのストリーム配信をするためのプラグイン、Pollsはサイト訪問者による投票を行うためのプラグインである。
現状でどのようなプラグインがインストール済みであるかを確認するには、管理用バックエンドのSystem Overviewに切り替えればいい。なおプラグインの中には各ブログを個別的にカスタマイズするものもあれば、グローバルな用途でのみ使用されているものもあるため、個々のブログにおけるオーバービューモードでは一部のプラグインしか表示されないので注意が必要だ。
まとめ
Google Trendsの統計情報を見ると、ブログ用アプリケーションとして現在最も広範に利用されているのはWordPressであることが分かる。WordPressについてはMovable Typeよりも軽量なインストールが行えるのは確かだが、プレインストールされたプラグイン数ではMovable Typeの方が勝っており、またWordPressにはマルチブログ機能が装備されていないので、こちらのツールは個人ユーザ向けの性質が強いと言えるだろう。これら2つのアプリケーションにおけるもう1つの相違点はブログページの公開方式で、WordPressがダイナミック(動的)な処理であるのに対して、Movable Typeではスタティック(静的)な処理が行われるようになっている。そして一般論として、スタティック方式の方がサイト訪問者に対するコンテンツ表示が高速である反面、ダイナミック方式は多数の人間が同時に投稿するケースに適しているのである。
私はこれら2つのプラットフォームを両方とも試してみたのだが、MTは他のブログ用プラットフォームよりも機能的には充実しているが、限られた特定の用途にて使われるソフトウェアであるという印象も拭えなかった。結局のところ、数ある選択肢の中から自分がどのブログ用プラットフォームを使用するかは、各自の好みないしは、必要な要件を満たしているかという基準で選ばれることになるはずだ。そうした観点から見た場合、Movable Typeの使用が適しているのは、限られた時間内で機能的に豊富なブログを構築しなければならないユーザということになるだろう。
Darius O. Martinはフリーランスのアーティスト、デザイナ、ライターとして活動中で、ルーマニアのLinux事情およびOSSに関するMyLINUXという名称のペーパーバッグマガジンに記事を寄稿している。