HTMLの知識さえあれば簡単に独自のサイトを構築可能、コンテンツ管理システムXOOPS――SourceForgeが選ぶ今月のプロジェクト

 米SourceForgeでは毎月1つのプロジェクトを投票で選び、「Project of the Month(今月のプロジェクト)」の栄冠を与えている。2012年8月に選ばれたプロジェクトは、コンテンツ管理システムXOOPSだ。以下では、その開発者に対するインタビューの模様をお伝えする。

 SourceForgeが選ぶ2012年8月の「今月のプロジェクト」、栄えある受賞プロジェクトはXOOPS Web Application Platformだ。今回はこのXOOPSの開発者であるMichael Beck氏とMark Boyden氏に。プロジェクトについての近況やリリース予定についてインタビューを行ってきた。

 ――「今月のプロジェクト」の受賞おめでとう!

 Mark: ありがとう。これはXOOPSに関わってきた全員を代表した感謝の気持ちさ。この受賞はXOOPSに関わってきた全員の功績だからね。

 Michael: この受賞は私たちのコミュニティにとって大変栄誉あることで、受賞できたことをこの上なく嬉しく思っているんだ。

 ――あなたたちのプロジェクトをよく知らない人たちのために、XOOPSについて簡単に説明してくれるかい?

 Mark: XOOPSはコンテンツを管理するためのシステムだ。利用者が迅速にサービスを立ち上げられるように設計されていて、一般的に使われる多くの機能を備えている。ほかの有名なコンテンツ管理システムと同じくらい成熟していて、とても安定した使いやすいシステムなんだ。XOOPSでは基本的なコンテンツ管理システムをインストールするだけで、ほかの機能モジュールを追加するためのプラグインやフックなど一式がインストールされる。インストールしたあとすぐにページコンテンツ管理機能や掲示板機能、FAQモジュールなどを利用できるんだ。ソーシャルネットワーキング関連のモジュールやカレンダー関連の機能もある。Webサイトに必要な機能はだいたい何でも揃ってるよ。

 分野ごとに最低1つのモジュールが用意されていて、多くの分野では機能がそれぞれに異なる複数のモジュールから利用したいものを選べるようになっている。それから、複数のモジュールをまとめた「モジュールパック」もある。すでに第一弾が公開されていて、それに続くものを現在開発中なんだけど、これを使えば簡単に複数のモジュールを一度にダウンロードしてインストールできるんだ。

 Rich: プロジェクトのダウンロード統計をみると、国際色豊かなのが一目で分かるね。この理由は?

 Michael: XOOPSは10年前に始まったんだが、最初から国際的なプロジェクトだったんだ。当初から日本やドイツ、中国、アメリカ、ほかにもいくつかの国からの開発者が集まっていたから、まず前提条件として主要なすべての言語に翻訳すること、そしてローカライズしやすいことを義務付けたんだ。だからXOOPSは日本や台湾、ブラジル、フランスを始めとする多くの国でとても人気がある。また、これは開発コミュニティにも反映されていて、フランスやリビヤ、日本、ポルトガル、ブラジル、オーストラリア、ロシアなど、たくさんの国から開発者達が集まっている。XOOPSのようなプロジェクトの素晴らしいところは、出身国や性別、人種、宗教、政治に関係なく、みんなが参加できることであり、好きなこと、つまりXOOPSの開発に集中するできることなんだ。

 ――CMSを評価するときには、実際の導入例、どのように使われているかというのを知りたくなるのだけど、最近ではどういうサイトで使われているんだい?

 Michael: XOOPSには自信をもって紹介できる導入実績がいくつかある。直近のものとして、リビアでの導入例を紹介しよう。オープンソースソリューションを探していたリビアの新政府が、厳しい目でCMSプロジェクトをいくつか評価した結果、XOOPSの使用を決めたんだ。その結果、新国防省と国家選挙委員会の両方がXOOPSを採用してWebサイトを構築している。この先、もっと多くのリビア政府機関がこの先例にならうことを期待している。

 次はブラジル パラナ州での導入例だ。ここでは政府系Webサイトが300以上もあるのだが、そのすべてがXOOPSを活用しているんだ。それから、ブラジルの諜報機関であるブラジル情報局もXOOPSを使っている。また、台湾では、全国の学校システムにXOOPSが活用されている。

 もちろん、今挙げた例のように目立つものだけでなく、XOOPSに満足しているユーザーはほかにもたくさんいる。

 ――最近のニュースについて聞かせてほしい。皆にお知らせしたい重要なリリースがあったばかりじゃなかったっけ?

 Mark:そう、ちょっと前にバージョン2.5.5が出たばかりだが、これは2.5ブランチのバグを修正したセキュリティリリースだ。現在は2.6.0ブランチの開発中で、メンバーから要求されている改善点のいくつかをXOOPSに盛り込めるよう、メンバー主導で取り組んでいる。リリース時期については、中心的な開発チームの進み具合にもよるんだが、おそらく今年中にはリリースできるだろう。ただ、はっきりとしたタイミングはまだ分からない。

 ――その新リリースにはどんなことが期待できるんだい?

Mark: 私たちがやっていることで一番強調したいのは、XOOPSの全モジュール・コレクションに対し、より一貫性のあるマネジメントインターフェイスを実現すること、そして、モジュール開発者にとってより使いやすいようなAPIを提供することなんだ。これはXOOPSが常にやってきた大切なことの一つで、モジュール開発者が行うルーティン作業を楽にするために努力していたんだ。

 ――Michael、次期リリースについて何か付け加えたいことは?

 Michael:Markも述べたように、バージョン2.6.0ではリファクタリングを行って内部構造やAPIを簡略化することに焦点を当てているんだ。ほかのCMSシステムは手続き型のプログラミング手法をとっているかもしれないが、XOOPSはオブジェクト指向で、それは「eXtended Object Oriented Portal System(拡張されたオブジェクト指向のポータルシステム)」を略したXOOPSの名前にも反映されている。しかし、君たちも理解できると思うが、時間の経過とともに不要なコードは増えてくるから、随時無駄を省いていかなきゃならない。XOOPS 2.6ではクリーンアップに集中してXOOPSを極力すっきりさせ、構造やAPIを整然とさせるのが目的さ。これに加えて、開発者らがモジュール開発をより簡単に行えるよう、新たな方法やクラスを付け足していく。

 「今月のプロジェクト」を受賞したことで、SourceForgeからもっと多くのメンバーがXOOPSを試し、ユーザー及び開発者としてコミュニティに参加してくれることを願っている。

 ――もしプロジェクトに参加したいと思ったら、プラグインから入っていくのが一番良い方法なのかい?それとも、コアチームに入っていくための入り口はほかにもあるのかい?

 Mark: もちろん、コアチームに入るためのチャンスはあるよ。私たちは、みんながやりたい方法でプロジェクトに参加して欲しいと思っている。それがフォーラム上の質問に答えることだろうが、ドキュメンテーションを手伝うことだろうが、モジュールの構築だろうが、特定のモジュール開発者を手伝うことだろうが、とにかくやりたいことをやって欲しい。

 一度XOOPSに内在するAPI問題を把握したら、戻ってきてコードをコントリビュートすることもできる。このプロジェクトではコミュニティが先導的な役割を果たしているから、コードを書いていなかったとしても、フォーラム上のスレッドで提案したり、コードをコントリビュートしてコア開発者の助けとなることができる。だから私もコアチームの一員ではないが、コードをコントリビュートしたり、提案したこともある。

 XOOPSはとてもセキュアなシステムであり、また開発を簡単に行うことができるシステムでもある。オブジェクト指向であり、大切なのはこの手法に基づいたコードを作成することなんだ。オブジェクト指向はXOOPSのコアになっているからね。素晴らしいことに、XOOPSのプレゼンテーション層は成熟しており、見た目や操作感を変えたいがPHPコードは使いたくないという人も、SmartyテンプレートのおかげでHTMLさえ分かっていればすぐに実行できる。

だから、サイトの見た目や操作感の変更はとても簡単に行えるんだ。難しいことと言ったら、HTMLテンプレートを使うことくらいだよ。XOOPSを使って、機能の沢山あるサイトを立ち上げようとしている人が、PHP開発者ではなくても、XOOPSを使えばほかのサイトと見た目がかぶらない独自のものを構築できるんだ。しかも素早く、簡単な手法でね。

 ――「今月のプロジェクト」の受賞、おめでとう。

 Mark: 私たちは受賞することができて興奮しているし、感謝の気持ちでいっぱいだ。こうして、私たちのプロジェクトを取り上げてくれることに感謝している。

 ――この先、またお会いすることを楽しみにしています。今日は、どうもありがとう。

 Mark: こちらこそ、ありがとう。

 Michael:ありがとう。