オープンソース CMS、クイックレビュー

CMS(Content Management System)を導入したいけど、どのアプリケーションフレームワークを採用すればいいのか迷っている、という方は多いのではないでしょうか。選ぶ条件として「無料」「オープンソース」「Web ベースのユーザインタフェイス」といった項目はかならず挙げられるでしょう。そのうえ従業員から「独自仕様のアプリケーションは使いたくない」という要望があるかもしれません。それでもこうした条件を満たす CMS は数多くあり、1つを選ぶことはなかなか難しいものです。

あなたが構築しようとしているのが次世代のソーシャルネットワーキングサイトであろうと、あるいは個人のブログであろうと、そのためには CMS が必要となります。CMS を選ぶ際のコツは、単に高機能な CMS を探すのではなく、自分のプロジェクトに何が必要なのかを考え、それに適した CMS を見つけることです。

この記事では、アメリカで現在注目を集めているオープンソースソフトウェア(OSS)のトップ5ともいえるアプリケーション、「CMS Made Simple」「Drupal」「Joomla!」「WordPress」「XOOPS」をそれぞれご紹介します。個人的な利用体験を元に、これらの共通点やそれぞれの特徴について説明していきますので、みなさんがオープンソース CMS を選ぶ際の手助けになれば幸いです。

CMS の共通点

これら5つの CMS はすべて無料で利用することができ、GNU General Public License のもとにライセンス提供されています。また、サーバサイドのコードには PHP、データベースには MySQL を使用しています。そして、OS に依存することなく使用することができます。

これらのアプリケーションには、WAMP(Windows向け)や MAMP(Mac向け)、LAMP(Linux向け)がバンドルされており、一連のコンポーネント(通常は、Apache、MySQL と PHP)をインストールして、Web サーバのインフラを簡単に構築することができます。

5つの CMS の共通点:

これらの CMS は、たとえば以下の用途に使用できます:

以上のように5つの CMS には多くの共通点がありますが、各 CMS には固有の特徴と制限事項もあります。それでは、各 CMS の特徴を解説しながら比較してみましょう。

CMS Made Simple

CMS

CMS Made Simple と Drupal には、基本的なコンテンツ承認機能だけでなく、プロセス管理用のワークフローエンジンが用意されています。そのおかげで、CMS Made Simple ではかなりスムーズにプロセスを進めることができます。Drupal は、より多様な機能を持っています(それらの機能が必要かどうかは、あなた次第ですが)。

CMS Made Simple を使ってサイトを構築してみたところ、WordPress ほど簡単ではありませんが、そのセットアップ作業は非常にわかりやすくできていました。サイトナビゲーションは簡単に作成できますし、シンプルなサイトであればすぐにでも公開できます。

CMS Made Simple、Drupal、WordPress はすべて W3C の XHTML 仕様に準拠しています。

テーマテンプレートを使って簡単にサイトのレイアウトを更新でき、モジュールを使って機能を追加することができます。

ただ、他の CMS と違って、CMS Made Simple では以下の機能やサービスをサポートしていません。

CMS Made Simple にはサポートフォーラムが用意されています。他言語の人には少々つらいかもしれませんが、ドイツ語セクションでは活発なコミュニケーションが行われているのです。CMS Made Simple のドキュメントは、他の4つの CMS に比べるとそれほど詳細まで記述されていないため、フォーラムの活用が欠かせません。

サンプルサイト:Russell Davis Architects

Drupal

Drupal

Drupal は「ドルーパル」と発音します(正しい発音は、Drupalの歌で聞くことができます)。Packt 出版のOverall 2007 Open Source Content Management System Award を受賞しました。

Drupal には詳細なオンラインドキュメントが用意されており、フォーラムでは活発なコミュニケーションが行われています。また、Drupal.org に行けば Drupal Cookbook など Drupal をはじめる際に役立つ情報が満載です。

Drupal を試した感想としては、「フレキシブルでアクセシブルでありながら、パワフルなソリューションとして非常に広範囲のプロジェクトに手軽に導入できる」ということです。豊富な機能セットが用意されています。ただ、シンプルなブログを構築したいという目的に対しては、高機能過ぎるかもしれません。

他の CMS とは違い、Drupal はスケーラビリティの向上のために、いくつかのデータベースレプリケーションを実装しています。また、CMS の中でも唯一 Drupal が NTLM認証 をサポートしています。

Drupal は PHPテンプレート・テーマエンジンを実装しており、オリジナルのテーマを作ることができます。PHP コードスニペットを使ってサイトの見た目を定義し、そのコードはプレゼンテーション層に保持されるようになっているので、デザイナーは機能実装用のコードを触ることなくページレイアウトをデザインすることが可能です。

モジュールのインストール後に行う、権限付与や設定作業は少し余分な感じがします。また、これらモジュールで追加したタスクを、管理メニュー内のどのエリアで実行するかを決める作業は分かりづらく、慣れるまでに時間がかかるかもしれません。

細かいレベルでの分類やパーミッション設定を行いたい人にとっては、Drupal は最適のツールです。グループレベルではなく、個人レベルでアクセス権限の設定が行えます。カテゴリーの階層レベル数も無限で、いくらでも設けることが可能です。

Drupal のデベロッパーコミュニティは世界中にあり、みなさん非常に熱心に参加しています。また、驚くべきペースで機能追加用の新しいモジュールが公開されています。

サンプルサイト:FIEL

Joomla!

Joomla!

Joomla! は、Mambo から派生した CMS です。Joomla! と Mambo はエンドユーザから見るとわずかな違いしかありませんが、Joomla! の管理パネルは再設計されています。大きな違いといえば、Joomla! の方がオープンソース開発の理念に傾倒しているユーザが多く、大きなオンラインコミュニティを形成しているということでしょう。Joomla! のフォーラムでは、熱狂的といえるほど活発なコミュニケーションが行われています。

デベロッパーは、自由に拡張機能を作成して機能を追加することができ、そうして作成された拡張機能は Joomla! extensions directory で公開されています。さらに注目してほしいのが、Mambo 用に開発した拡張機能がそのままで Joomla! でも動作するという点です。将来的なバージョンアップでは動作しなくなるかもしれませんが、今のところは大丈夫です。

また、Joomla! ではサードパーティ製品を使えば、ショッピングカートや在庫管理、支払処理といったeコマース機能を実装することができます。

改善の余地があるとしたら「分類」の機能でしょう。わずかな階層レベルでしか分類を行うことができません。この制約が影響するかどうかは、あなたのサイトでどのくらいの数のカテゴリ階層を必要としているかによるでしょう。

まだ自分では体験していませんが、ある記事によれば、トラフィックが多い Joomla! サイトはロード時間が遅くなるようです。それ以外に気になった点といえば、他の CMS のエディタに比べて Joomla! の WYSIWYG エディタは直感的に操作しづらいところです。

サンプルサイト:ArtSessions.net

WordPress

WordPress

2003年以来、WordPress は世界中で最も利用されている自主インストール型(Self-Hosted)ブログソフトとなりました。毎日、数百万人の人々が WordPress のサイトを訪れています。

人気も高く、長年愛されてきたこともあり、今回比較した他のどの CMS よりもテーマが充実しています。また、ThemeViewer というテーマを検索するツールも用意されています。

WeblogToolsCollection.com によれば、インターネット上のサイトの0.8%が WordPress によって運営されているようです。このままの成長率でいくと、数年後、その占有率は2~2.5%に達すると予測されています。

また、オンラインリソースも充実しており、とてもわかりやすいオンラインドキュメントWordPress ポッドキャスト、機能を追加できるプラグインなどがあります。

いくつかのトラフィックが多いサイトでは、パフォーマンスが低下したという報告があります。しかし、WP-Cache プラグインをインストールしたり、wp-config.php ファイルをいじることで、キャッシュ機能を使ってロード時間を短縮することができます。もしこの問題に直面した時は、多くのチュートリアルがオンライン上にあるので参考にしてください。

サンプルサイト:Ford Motor Company

XOOPS

XOOPS

XOOPS は非常にカスタマイズしやすく、コンテンツブロックのレイアウトを自由にコントロールできます。他の CMS ほどに膨大な数があるわけではありませんが、 XOOPS にもモジュールが用意されており、簡単にインストールすることができます。また、今後のバージョンアップでは Web 2.0 的な機能を実装すると発表しているので、楽しみです。

XOOPS の公式ページは最近リニューアルしました。詳しくは、XOOPS Foundation のサイトにアクセスしてください。また、XOOPS Addons repository では、多くのモジュールが公開されています。

Drupal と同様に、XOOPS はテンプレートエンジンを実装しています(そのエンジンの名前は「Smarty」といいます)。そのおかげで、コーディングをプレゼンテーション層と機能層に分けることができ、ページデザインを用意にカスタマイズすることが可能となっています。

XOOPS と Drupal は、商品情報表示や在庫管理といった機能をもっており、eコマースサイトの構築には最適な CMS です。

XOOPS は世界中で人気があり、ソフトウェア自身やそのドキュメントがさまざまな言語で翻訳されています。それは素敵なことなのですが、英語のオンラインサポートが充実していないことは残念です。

サンプルサイト:Concrete Connections

さあ、これから何を始めますか?

Drupal や Joomla!、 XOOPS は以下の機能を持っており、eコマースサイトの構築には最適な CMS です。

単にシンプルなブログサイトを作りたいというのではれば、WordPress をおすすめします。使い方は簡単で、たくさんのテーマが用意されています。しかも XHTML 仕様に準拠しています。

では、トータルで見て私が一番おすすめする CMS は何かというと、Packt 出版のアワードと同じです。ベスト CMS は Drupal でしょう。かなり高いレベルでカスタマイズが可能なうえ、フレキシビリティやスケーラビリティもあります。また、分類機能、SSL のサポート、eコマース機能と充実しています。そして何よりも、非常に熱心なユーザコミュニティがあり、モジュールやテクニカル情報を共有でき、サポートしてくれるのです。

私のレビューはこれで以上です。この記事がみなさんの CMS 選びのお役に立てれば幸いです。