XOOPS Cube

 XOOPS Cube コア(eXtendable Object-Oriented Platform System: 拡張可能なオブジェクト指向のプラットフォームシステム) は、PHP で書かれたWebアプリケーションのための柔軟なプラットフォームです。サイトオーナーは、オブジェクト指向設計されたコアに適用する基本プログラム(BASE)を選択し、モジュールと呼ばれるプログラムのパーツを組み合わせ、外観を決めるテーマを選択することで、簡単にダイナミックサイトを構築することができます。 XOOPS Cube はタスクシステム、デリゲート、レンダリングシーケンスなど、統一されたプログラミングフィーリングを開発者に提供します。

XOOPS Cube って何ですか?

 まだ『まずはじめに』をご覧になっていないのであれば、『まずはじめに』をご覧ください。
 XOOPS Cubeを知るための手掛かりが、そこで見つかるかもしれません。

 以下には、いくつかのよくある(であろう)質問に対する答えを書いてあります。

XOOPS Cube で何ができますか?

 XOOPS Cube には、開発者向けとユーザー向けの2つの側面があり、それぞれに強力なものを提供します。
 開発者には、オブジェクト指向設計されたコアシステムを提供します。
 ユーザーには、アカウント管理、フォーラムやブログを備えたダイナミックなサイト構築機能を提供します。
 XOOPS Cube の特徴は多岐にわたります。詳しくは特徴のページをご覧ください。

XOOPS Cube は CMS ですか?

 XOOPS Cube コアそのものは CMS(コンテンツ管理システム) ではありません。交換可能な CMS の母体システムだと考えてください。
 簡単に言うと、 XOOPS Cube コアが提供しようとしているものは CMS を超える素晴らしい体験です。

 CMS がどのような機能を持つべきかは、国や文化によって、ばらつきがあります。例えば、個人情報保護を神経質に保護する法律を持ち、携帯ウェブのフォーマットが他の国と異なっている国は、別の文化で開発された開放的で交流的なポータルサイト構築システムでは対応できません。また同じ国であっても、MMORPGのコミュニティポータルサイトに求められるような自由で開放的な機能と、学校のサイトに求められる確実で保護的な機能はコンセプトが異なっています。 XOOPS Cube コアは CMS の機能を分解し、それぞれをコンポジットクラスを構成するひとつのオブジェクトとして設計しているため、ユーザーがそれを選択して構築することができるようになっています。

 もちろん CMS の部分を SNS に置き換えても構いません。 XOOPS Cube コアはアプリケーションのベースコンセプトを交換することができるのです。

 そういう意味で XOOPS Cube コアは CMS ではありませんが、本サイトのダウンロードコーナーから XOOPS Cube Legacy のような CMS をダウンロードすることは可能です。

 もし CMS が最小公倍数的な機能を持てば、すべてを解決できると考えるなら、次の項目にも目を通してください。

他のシステムではなく XOOPS Cube を使うべき理由はなんですか?

 多くの他の CMS は、 CMS としての機能を直接内蔵し、多くの内蔵 API を搭載することで高機能を主張しています。しかし、ほとんどの場合、拡張へのアプローチは、追加プログラムに限定されており、プログラムのカスタマイズを行うためにはソースコードの改変が必要で、コアに固定された機能をモジュール方式で交換することは困難なものになっています。

 CMS には多くの機能が求められますが、その機能に誠実に応えようとするプログラムは最小公倍数を取るために肥大し、コアに固定された機能は結果としてユーザーの希望を満たさず、ソースコードの直接改変が必要となる原因となっています。

 この点、XOOPS Cube コアは機能指向ではなく、設計指向で開発されています。

 XOOPS Cube コアは非常に小さく、プログラマに機能直結のAPIではなく、統一された設計感覚と多態性を持つインターフェイスを提供して、より発展的なプログラミングを助けます。すべての CMS 機能はモジュールの一種として実装され、どのような XOOPS CMS を開発するかは開発者の自由です。

 サイトオーナーはこのようなプログラムを、設定を使って簡単に組み合わせることができ、モジュールとあわせて様々なサイトを構築することができます。
 BASE モジュールと呼ばれる CMS コアにどのようなプログラムを組み込むかは、使う人の自由です。 XOOPS2 JP の互換性が欲しければ Legacy を使うとよいでしょう。さらにその BASE を拡張し、さまざまなモジュールとセットにしたオールインパックであるディストリビューション活動も活発です。ダウンロードコーナーでは、すぐにサイト構築に使用できるディストリビューションから、コア単体まで、様々なものを紹介しています。

 開発者にとっては、既存の BASE を改造することも、新たな BASE を開発することも自由です。
 オブジェクト指向の設計や、デリゲートと呼ばれる概念の整理により、ソースコードを直接改変することなく、 Diff Programming (差分プログラミング)でプログラムを書くことができ、配布も容易です。

XOOPS Cube は本当にフリーですか?

 あらゆる意味で自由です

 ライセンスは修正BSDライセンスであり、それぞれの BASE は自由にそれぞれのライセンスを持っています。
 たとえば Legacy は GPL です。基本的に XOOPS Cube に関連するプロジェクトが提供するプログラムのライセンスはフリーソフトウェアライセンスです。
 詳しくはライセンスのページをご覧ください。