...

XOOPS とオープンソースの可能性

by user

on
Category: Documents
16

views

Report

Comments

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
Fly UP