XOOPS

XOOPS（ズープス、"eXtensible Object Oriented Portal System"）は、ポータルシステムとして開発されたコンテンツ管理システム (CMS) である。ユーザーはWebサイトを多数のモジュールとテーマを用いて構築・更新する。
XOOPSはPHPで記述されている。GPLに基づいて無償で公開されており、修正・再配布することができる。
概要.
XOOPSはポータルシステムとして開発が始められたが、現在はWebアプリケーションプラットフォームとして発展している。機能拡張の実装においてオブジェクト指向の考え方を適用した最初期のCMSのひとつである。
モジュールをインストールすることで、小規模から大規模までの様々なWebサイトの構築に使用できる。例えば、小規模なXOOPSの利用としては個人的なブログをすぐに作成できるが、これを拡張・カスタマイズすることも容易である。すなわち、更にモジュールを追加することで、ニュース・フォーラム（掲示板）・ファイルのダウンロード用ページなどの様々なコンテンツをユーザが追加でき、またそれらのコンテンツを常に更新・改善することができる。
世界中でXOOPSの利用があり、2015年1月現在では5つの言語でXOOPSの書籍が出版されている。
受賞・評価.
XOOPSは多数のメディアより高い評価を受け受賞もある。
動作環境.
XOOPS 2.5.6現在での動作環境は下記の通り
モジュールの後方互換性.
XOOPS 2.3より、デフォルトの文字コードがUTF-8となっている。 XOOPS 2.3以降向けのモジュールではMySQLの使用文字コードをUTF-8に決め打ちしているものもあり、古いバージョンのMySQLでは動作しない状況も増えている。
基本的に、モジュールのサイトにおける表示デザインはXOOPS 2.0でのそれを継承しており、XOOPS 2.0のモジュールも多くは動作可能である。加えて、ベータ公開されていたXOOPS 2.2のモジュールも最新バージョンでは対応されている。
バージョン.
XOOPS ProjectではXOOPS 2.0系とは別に、機能拡張のためのベータ版としてXOOPS 2.2が開発された。その後、XOOPS 2.0のモジュール動作を可能にさせると共にXOOPS 2.2の機能追加にも対応させたXOOPS 2.3が公開された。後に、管理画面を一新させる等、機能を一新させたXOOPS 2.4が公開され、更に一部管理機能にAjaxを採用して操作性を向上されたXOOPS 2.5が公開された。
XOOPS 2.0.
XOOPS 2.0は、多くのユーザーを獲得しXOOPSの普及要因となり、現在でも汎用CMSとして世界中で幅広く利用され多数のモジュールが公開されている。本バージョンが普及するにつれて次第に開発コミュニティが肥大化・多国籍化し、チームの分割を行うなど開発の体制作りを進めるも、意思決定の遅れなどからセキュリティパッチの適用の遅延、マルチバイト処理の整合性が失われる変更が発生するなどの混乱が生じた。この事態に接した日本人の開発コミュニティは、日本におけるサポート体制の分離を受けて、日本コミュニティによる独自バージョンとなるXOOPS 2.0.x JPプロジェクトを派生させた。2.0.x JP系列のバージョンは後のXOOPS Cube Legacyへの開発・公開へと繋がっている。
その他、XOOPS 2.0をXOOPS Cubeや現行のXOOPS Projectによる最新版から独立してサポートする動きもあったが、現在は同バージョンのサポート・配布は停止されている。
現在の開発体制.
XOOPS ProjectによってXOOPSが引き続き製作・公開されている。
XOOPS Projectでは「XOOPS」という名称を継続使用しているが、XOOPS Cubeとの分離直後からロゴを一新させている。
ローカライゼーション.
XOOPSの日本語等へのローカライゼーション対応はXOOPS Cubeの分離後、公式にはしばらく行われていなかったが、その間個人やグループで日本語言語ファイルを公開する動きがあった。その後、XOOPS Project公認のXOOPS日本語サポートサイトが別途立ち上げられ、2.4〜2.5をサポートした。現在では同サポートサイトは閉鎖し、公式な日本語サポートを行うサイトは、再度失われた状況となっている。
その他のXOOPS日本語版に関連する動き.
XOOPSおよびXOOPS JP等より数多くのCMSが派生しており、下記はその一例である。
XOOPSはPHP-Nukeからの派生であるが、ソースコードはほぼ独自のものとされる。
2010年11月、本家XOOPSプロジェクトからXOOPS Cubeに対するプロジェクト統合の働きかけが行われている。