Comments
Description
Transcript
XOOPS とオープンソースの可能性
クローズアップ XOOPS とオープンソースの可能性 中山 幹敏 最近、本屋さんへ行くと、コンピューター関連の技術書コーナーで「XOOPS」という言葉の入っ た何種類もの書籍が、平積みされて売られている。XOOPS という言葉を見た第一印象は「いっ たいどう読むのか」ではないだろうか。それが何かよりも発音の仕方に注意がいってしまう。 なかなか粋な命名である。XOOPS は「ズープス」と読む。「ウープス」でも、 「エックス、ウー プス」でも、「ゾープス」でもない。では、いったい XOOPS とは何者なのか。 には条件がつく場合が多い。オー の画面を提供するソフトウェアで そのヒントがある。幾つか上げて プンソースと XOOPS との関連も ある。 みると『オープンソース徹底活用 気になるところである。 XOOPS 関 連 の 書 籍 の 書 名 に、 XOOPS によるポータルサイト構 築 』1、『XOOPS で つ く る! 最 強のコミュニティサイト』2、『< 多機能なコミュニティサイトを作 ろ う! > XOOPS 独 習 マ ニ ュ ア ル 』3、『Customizing XOOPS ∼ 自由にデザイン・自在に Hack』4 などのタイトルがある。これらの 書 名 か ら、XOOPS は、 イ ン タ ー ネット上でコミュニティサイトを 構築するための強力なツールであ り、自由・自在にカストマイズで きるような仕組みを持っているで あろうことを推察できる。 これらの書名の中で、もう一つ 気がかりな言葉は「オープンソー ス」である。オープンソースとは、 プログラムコード(ソースコード) が公開され、無償で利用できるプ ログラムのことである。改変や機 能追加は自由にできるが、再配布 たとえば、XOOPS で作成した では、これから XOOPS の技術 サイトの例を見てみよう。ここで 的な特徴、オープンソースとの関 は、( 株 )KG 情報が東武東上線沿 連から見た XOOPS の意義につい 線で発行している「イーノ」とい て考察を進めていこう。 うクーポン誌の「イーノ web」を 例として取り上げる。まずはトッ XOOPS とは何か プ ペ ー ジ(http://www.ino-web. XOOPS は 簡 単 に い う と「 コ ン テ ン ツ 管 理 シ ス テ ム(CMS、 Contents Management System)」 に分類できるソフトウェアであ る。コンテンツとは、Web 上で提 jp)で、たとえば「グルメ」のボ タンをクリックしてクーポン情報 のページに移ると、図 1 の画面が 出てくる。この画面は XOOPS で 作られたものである。 供される様々なデータのことであ 図 1 の画面を見ても通常の る。コンテンツには、メール、掲 Web ページと変わらない。しか 示板、リンク集、画像・写真・動 し、詳しく見ると幾つかの特徴が 画、文書、その他のファイルなど ある。グルメ情報のメインページ がある。最近ではブログが注目さ の右側には、幾つかの項目が並ん れているが、それもコンテンツと でいる。 「街ネタで盛り上がろう! いえる。XOOPS は登録されたユー BBS」というコーナーは、XOOPS ザが、これらのコンテンツを系統 の「フォーラム」機能を利用して 的に利用できるような環境と、ブ いる。「みんなで作る画像アルバ ラウザを使ったインターフェイス ム 」 の コ ー ナ ー は、「 写 メ ー ル 」 1. 上田修子著、秀和システム、2005 年。 2. 小川晃夫・南大沢ブロードバンド研究会著、ソーテッ ク社、2005 年。 3. 久岡貴弘著、日本実業出版社、2005 年。 4. GIJOE・matchan 著、 毎 日 コ ミ ュ ニ ケ ー シ ョ ン ズ、 2005 年。 16 DX27xoops2.indd 16 2006/02/10 10:24:19 機能を使ったものだ。「プチ投票」 の コ ー ナ ー は XOOPS の「 投 票 」 機能を使っている。このサイトに アクセスして、いろいろな機能を 試してみるとよいだろう。 こうした Web を一から自前で 開発すると、多大の労力を要する ことはすぐに分かると思う。しか し、この Web は XOOPS をベース に作成したので、わずか 2 ヵ月程 度で完成できたそうである。後述 するように、XOOPS はオープン ソースのデータベース MySQL を 使っているので、お店の情報の管 理も便利であるようだ。 本来の XOOPS は、ユーザの登 録や認証を行う機能が標準で入っ ているが「イーノ web」では、そ れ ら の 機 能 を 外 し、 だ れ で も コ ンテンツを見ることができるよう にしている。コミュニティサイト として使うなら、ユーザの ID と パスワードを管理したり、ユーザ の識別に使える画像や写真という 「アバター」の登録も可能にした りする必要があるだろう。それら も XOOPS に標準で入っている機 能である。 図 1: 「イーノ web」グルメのクーポン情報の画面 の 改 良 版 myPHPNuke の 次 世 代 と い う 程 度 だ っ た と、 開 発 者 の 高機能の Web の構築をカストマ バージョンを開発していたメン 一人の小野和巳氏は語っている。 イズという手段で迅速に行うこと バーが、2002 年 1 月に立ち上げ (『XOOPS コミュニティサイト構 たプロジェクトである。開発メン 築ガイド』小野和巳監修、高井守・ バーは当初、日本、中国、台湾、 インフォリグ著、2004 年、技術 ノルウェー、アルゼンチン出身者 評論社、p. ⅳ∼ⅴ) こ の よ う に XOOPS を 使 う と、 ができる。しかも、基本的なソフ トウェアを無償で使えるのである から、今後さらに人気が上昇する であろうことが予測できる。 XOOPS はそもそも、コンテン ツ管理システムである PHPNuke だったそうである。XOOPS の命 名の由来は「オブジェクト指向的 (Object Oriented)」という点に加 え、「X」を付けると「格好良い」 XOOPS はその後、国際的なプ ロジェクトとしてさらに拡大し て、日本語対応の面で問題が生じ 17 DX27xoops2.indd 17 2006/02/10 10:24:20 てきたため、2005 年 10 月より、 日本において、日本語にしっかり 対応した XOOPS Cube という分離 プロジェクトが立ち上げられた。 http://www.xoops.org/ である。 Cube と は 文 字 ど お り「 立 方 体 」 で あ る。Secure、Simple、 Scalable を 3 本の柱として発展し XOOPS Cube のダウンロードや情 ていくことを期待して命名された 報提供が行われている日本の公式 そうである。日本の XOOPS Cube サ イ ト は http://xoopscube.jp/ で と国際版の XOOPS の今後の展開 ある。本家の XOOPS の公式サイ に注目していく必要があるが、今 トはそのまま有効であり、URI は のところ日本でサイトを構築する のであれば、XOOPS Cube を使っ XOOPS MySQL PHP たほうがよいだろう。しかし、こ 図 2:XOOPS を動かすのに必要な 環境 め、PHP の稼働環境も必要である。 Web サ ー バ ー と し て は、 一 般 に Apache を想定しているが、XOOPS では他の幾つかのサーバーにも対 応している。それで、XOOPS を動 かすためには図 2 の環境が必要で ある。ちなみに Apache も MySQL も、PHP もオープンソースのソフ トウェアである。 こ う し た 環 境 が で き た な ら、 の 記 事 で は、XOOPS と XOOPS XOOPS のサイトから XOOPS コア Cube を区別する必要がない場合 パッケージをダウンロードして解 は、両方を総称して XOOPS とい 凍し、それらを Web サーバーに う用語を使用する。 アップロードする。 XOOPS の技術的な特徴 Apache ラムは PHP 言語で書かれているた ブラウザでアップロードした ディレクトリーにアクセスする XOOPS の技術的な特徴に話を と、XOOPS のインストール画面 移そう。XOOPS は Web サーバー が現れる。インストールの指示画 上 で、MySQL を デ ー タ ベ ー ス と 面やウィザードに従って操作して して使う。また XOOPS のプログ いくと、XOOPS のインストール を無事に完了できる。 XOOPS Cube のサイトには、環 境がそろっていれば「5 分でイン ストールできる」とうたわれてい る。本当に 5 分でできるのだろう か。実際に、弊社のスタッフが行っ てみた。ダウンロードからインス ト ー ル ま で は、 確 か に 5 分 程 度 だったそうである。 しかし、そのスタッフが言うに は Apache、MySQL、PHP がそろっ ている環境があったので、簡単に できたが、その環境を一から作る としたら大変だろうとのことであ る。参考にしていただきたい。 図 3:一般的な初期画面 では、XOOPS の基本機能には 18 DX27xoops2.indd 18 2006/02/10 10:24:21 何があるのだろうか。その幾つか ラム」である。フォーラムは、い い場合はコメントを返せるように を紹介する。 わゆる「電子掲示板」である。こ もできる。 まず「ユーザ」の管理である。 ユ ー ザ の 様 々 な 情 報 の 登 録、 グ ループ化ができる。XOOPS のサ イトは、「イーノ web」のように ユーザ管理をほとんど行わずに一 般に公開することも、ユーザとし て新規登録をすれば自由に参加す ることもできる。また、管理者が ユーザを登録する形式にして限定 されたコミュニティ(ソーシャル ネットワークサイトつまり SNS) の掲示板に掲載できる発言は、大 他 に も、XOOPS に は「FAQ」 分類である「カテゴリ」、カテゴ 「ヘッドライン」「リンク集」「ダ リに含まれるテーマに分かれた ウンロード」「お問い合わせ」な 「フォーラム」、テーマについての どの機能が備わっており、コミュ 発言とそれに関連したやり取り全 ニティサイトを構築するための基 体を指す「スレッド」、個々の発 言である「投稿」に分かれている。 フォーラムは比較的自由に発言で 能では足りない。こうしたときに タも置けるようになっている。 活用できるのは、「外部モジュー さらに、フォーラムに似た機能 ル 」 で あ る。 外 部 モ ジ ュ ー ル を に「ニュース」がある。ニュース る。ユーザは ID とパスワードで は「メイントピック」、 「サブトピッ 認 証 さ れ る。 ユ ー ザ に と っ て の ク」の分類のもとに「ニュース記 一般的な初期画面を図 3 に示す。 事」が置かれ、記事に対する「コ このように XOOPS はサイトのプ メント」も付けることができる。 ラットホームを提供するだけで、 フォーラムと異なり、ニュースの その上にどのような形態のサイト 記事やコメントの掲載には、管理 やコミュニティを構築するかは、 者による「承認」手続きが必要で 運営者のカストマイズにかかって ある。また「掲載日時」と「有効 いる。 期限」も設定される。記事やコメ クに何を配置するかを指定するこ とにより、Web ページの構成を変 チ投票」というコーナー クの配置は図 4 のようになってい があり、 「○○の秋と言え る。 た と え ば、XOOPS コ ア パ ッ ば」で連想されるものを ケージの標準的なメインページに 投票できる機能が付いて 何 を 配 置 で き る か は 図 5 の「 ブ いたが、この「投票」機 ロック管理」画面で推察できる。 能 も XOOPS の 基 本 機 能 「イーノ web」の場合、 「左サイド」 で あ る。「 投 票 」 と は い つかを概観しよう。まずは「フォー る。XOOPS の場合、外部モジュー ル も「 オ ー プ ン ソ ー ス 」 で な け ればならないので、無償である。 XOOPS は、外部モジュールを作 成するための技術情報を公開して おり、XOOPS 開発者でなくても、 第三者が外部モジュールを構築で きるようにしている。どんな外部 モジュールを使えるかについて サポートしている。 ク管理」である。XOOPS のブロッ いるコミュニケーション機能の幾 す れ ば、 機 能 を 簡 単 に 拡 張 で き て 掲 載 ま で を XOOPS が 「イーノ web」には「プ 次に、XOOPS に標準で入って ダウンロードしてインストール ントの投稿から、その承認、そし 更できる。これを行うのが「ブロッ ブロックは使用していない。 しかし、今流行の「ブログ」を 実現しようと思うと、これらの機 きるようになっており、モデレー として運営することも可能であ XOOPS は、Web ページのブロッ 本機能がそろっている。 え、実態はアンケートの 収 集 と 集 計 機 能 で あ る。 問題文と選択肢を設定で きる。選択肢に答えがな バナー 中央 中央 右① 中央 (右)① (左)① 左② 中央 (右)② 中央 右② 左③ (左)② 中央 (右)③ 左① ↓ 左サイド ↓ 中央 ↓ 右サイド 図 4:XOOPS のブロックの配置 19 DX27xoops2.indd 19 2006/02/10 10:24:21 は、XOOPS Cube のサイトを参照し ていただきたい。 「ブログ」に話を戻そう。上田修 子 著『XOOPS に よ る ポ ー タ ル サ イ ト 構 築 』 の 第 5 章 で は、 例 と し て 「weBlog+TrackBack」 モ ジ ュ ー ル (http://r286.com/xoops/)を導入し て「ブログ」を実装している。この モジュールでなくても、他にもブロ グのモジュールはあるので、自分の 好みにあったモジュールを選択すれ ばよい。 しばしば使用される外部モジュー ルに、「カレンダー」と「写メール BBS」がある。カレンダーで有名な も の は、「piCal」(http://www.peak. ne.jp/xoops/)というモジュールで ある。XOOPS の Web ページの中に カレンダーを表示したり、そのカレ ンダーの中にコミュニティに共通の 行事や予定を表示させたりすること もできる。 「 写 メ ー ル BBS」 (http://hypweb. net)は、画像を添付したメールに よって掲示板に発言と画像(たいて いは写真)を投稿できるようにする モジュールである。PC からだけでな く携帯電話からでも発言できる。写 真をメインにした電子掲示板システ ムを構築できる。 他にも、たくさんの外部モジュー ルが世界中で作られ、オープンソー スの理念にしたがって無償で公開さ れるところが、XOOPS の大きな技術 的な特徴といえる。 で は、 画 面 の ブ ロ ッ ク 構 成 だ け でなく、デザイン全体を変更するこ 図 5:ブロック管理画面 20 DX27xoops2.indd 20 2006/02/10 10:24:22 と は で き る の だ ろ う か。XOOPS は、コンテンツ管理システムとし て、コンテンツとデザインを分離 して管理している。コンテンツは、 MySQL のデータベースで管理し ているが、デザインは「テーマ」と、 独自に「モジュール」を開発する ニティサイトや Web サイトのた ことが可能である。こうして作成 めの、カストマイズ可能なプラッ される外部モジュールを再配布す ト ホ ー ム を 提 供 す る と 共 に、 モ る場合は、ソースコードの公開が ジュールというインターフェイス 必要となる。 で必要に応じた機能拡張を可能に そのテーマに属する「テンプレー オープンソースとしての ト」として管理できる。 XOOPS の持つ意義 「 テ ー マ 」 の 実 体 は、「CSS」 「オープンソース」という考 している。こうした機構を持ち、 オープンソースという形態で登場 したことに、XOOPS の大きな意 義があると思う。 (Cascading Style Sheet)のファイ え 方 は、 元 々 UNIX/Linux の 世 ル、つまり HTML にスタイルを指 これはつまり、XOOPS が Web 界での開発経験から生まれたも 定する外部ファイルである。CSS ベースのアプリケーションプラッ の で あ る。Eric S. Raymond は、 ファイルのプロパティを変更する トホームとして成長していくな 1997 年に「伽藍とバザール(The だけで、XOOPS の Web ページに ら、Linux のように一般に広く受 Cathedral and the Bazaar)」 と い 表示される色やフォントや文字サ け入れられる可能性があることを う論文を発表し、大聖堂のような イズその他を変更できる。 意味している。また、XOOPS のモ 建物の中で賢者だけでものづくり ジュールとしてソフトウェアの部 をするよりは、市場のようなとこ 品化を進めることも可能になる。 一方「テンプレート」の実体は、 「HTML」のファイルである。この ろで誰でも参加できるものづく HTML に は、 通 常 の HTML タ グ りのほうが有効なことを論じた。 のほかに、PHP との連携を図るた Linux の成功に基づく観察である。 めの Smarty タグが埋め込まれて そして、その Raymond を始めと いる。変数を指す簡単な Smarty するグループは 1998 年 2 月 3 日 タ グ は <{$ 変 数 名 }> の 形 式 を し に「オープンソース」という概念 ており、このタグは PHP スクリ を 提 唱 し、Web ブ ラ ウ ザ で あ る プトによって外部の文字列に置き Netscape のソースコードの公開を 換わるようになっている。このテ 支援したのである。 ン プ レ ー ト の 修 正 に は、HTML、 しかし、オープンソースで心配 な一つの点は、セキュリティであ る。個人情報の保護が重要になっ て い る 今、 情 報 漏 洩 や 外 部 か ら のサイトへの侵入には十分過ぎる ほどの警戒が必要である。オープ ンソースのソフトウェアもその点 でバグや脆弱性の改善が図られて いるが、実際の運用ではどのよう このようにして始まったオー Smarty タグ、そして PHP につい なデータを Web に入れるかの配 プンソースの流れであるが、その ての知識が必要である。表示項目 慮が必要となるだろう。また、修 考え方は着実に浸透していった。 の簡単な修正であれば、前に述べ 正のリリースアップやバージョン XOOPS がオープンソースとして た「ブロック管理」で対応できる。 アップの情報も常に情報収集し 登場し、社会に認知されるように て、対応していく必要がある。 こうして XOOPS をカストマイ なったのも、オープンソースを受 ズ し て い く な ら、「 イ ー ノ web」 け入れる社会的な土壌が育成され のように、コミュニティ的な要素 ていたからである。 をもつ Web サイトを短期間で立 ち上げることが可能になる。 さらに既存の外部モジュール に、必要とする機能がない場合は、 XOOPS は Web の 公 開 で 使 用 されることが多いので、実際の運 営ではこうした注意が必要である で は、 オ ー プ ン ソ ー ス と し て が、用途に注意さえすれば、将来 の XOOPS の意義はどこにあるの 性のある有効なソフトウェアであ だろうか。それは拡張可能性にあ る。読者にも、一度試してみるこ る と い え る。XOOPS は、 コ ミ ュ とをお勧めする。 21 DX27xoops2.indd 21 2006/02/10 10:24:22