特徴(キーフィーチャー)
交換可能なサブシステム
XOOPS Cube コアは、設定ファイルを元に Root がサブシステムを初期化し、基本環境をセットアップします。サブシステムは交換可能であり、設定ファイルを変更するだけで自動的に組み込まれます。設定ファイルはパッケージ単位にデフォルトの推奨設定をユーザーに配布できるほか、別ファイルにオーバーライド設定を行って、ユーザーにアドバイスしたり、ユーザーが友達に設定例を直接渡すことができます。
選択できる BASE パッケージ
XOOPS Cube コアは CMS や SNS の機能を直接持っていません。そういった機能は Package_Legacy のような BASE パッケージによって提供されます。BASE パッケージは交換したり、拡張することができるため、最初に自分の目的に合った BASE パッケージを選んだり、自分だけのオリジナルサイトを作る時に BASE パッケージをちょっと拡張するといったことが簡単にできます。もちろん、拡張した BASE を再頒布してネットで共有するといったことも自由です。
変更可能なテーマ形式
テーマをとことん作り込みたい人に嬉しい機能です。 XOOPS Cube にはテーマフォーマットを変更できる仕組みがあり、既存で提供されているフォーマットにこだわらず、新しいフォーマットを作り出すことができます。新しく作ったフォーマットで思う存分テーマ作りを楽しんだあとは、フォーマットをネットで公開して、みんなにも使って貰いましょう。公開したフォーマットから、さらに新しいフォーマットが作られるかも……?この仕組みを使って、テンプレートエンジンを自分好みのものに変更することも可能ですが、現在開発中のバージョン 1.0 では更に使いやすい機能になり、テンプレートエンジンの変更、テーマフォーマットの変更をそれぞれ分かりやすく扱えるようにパワーアップする予定です。
プリロード
ばらばらに集めてきた追加プログラム素材(追加モジュール)を使ってサイトを作り上げるとき、環境設定では設定できない細かい追加の設定や、連携動作を実現したい場合があります。そういった用途のために、 XOOPS Cube は追加モジュールより更に小さい追加プログラムとして "プリロード" という概念を持っています。コミュニティにはさまざまなプリロードファイルが公開されていますので、面白そうなものをダウンロードして使ってみましょう。
また、上級者であれば自分の目的に併せてプリロードを調整して再頒布することもできますし、初心者のサイト構築をアドバイスするために、プリロードファイルを作ってプレゼントすることもできます。
プリロードによる機能調整は、ソースコード Hack (プログラムの直接改造)と異なり、プログラムのバージョンアップ時にプログラムが書き戻り、ゼロからやり直しになってしまうといったトラブルを起こしません。
デリゲート
デリゲートとは、プログラマ向けに用意された「統一的なコールバック手続き」の機能です。PHP 標準で用意された「オーバーライド」とは異なるスタイルで仮想関数を疑似的に作ることができます。デリゲートを使えば、自作のプログラムの一部分をわずかな時間でカンタンに拡張対象へと変更することができるため、他の開発者やハイエンドユーザーの要望にすばやく応じることができます。その作成したデリゲートに対応したユニークなプリロードが作られ、ネットで共有されるようになるかもしれません。
仮想サービス
異なるプログラム間の連係動作に疑似的な XML Web サービスを使うことができます。 XOOPS Cube の機能は本物の XML Web サービスと疑似的な XML Web サービスの二つを透過的に扱う方法を定義しています。一度サービスを書けば、それを XML Web サービスとして公開する(サイト間通信)ことも、プログラムモジュール間通信として公開する(サイト内通信)こともできます。同様に、サービスに接続する時は、サイト間通信とサイト内通信を透過的に扱うことができます。
1.0 で実装される(かもしれない)新機能
タスクシステム
XOOPS Cube コア 1.0 では、柔軟なメインシーケンスを実現するためにタスクシステムを導入する予定です。タスクシステムを使用したプログラミングでは特定の段階の特定の処理を交換したり、追加することが非常に分かりやすく簡単に実現できます。また、異なる BASE パッケージにマルチ対応したプログラムの開発が容易になります。
汎用的なレンダーシーケンス
レンダリング手順を動的にセットすることで、出力の増減に柔軟に対応しながら、最終出力を正しくレンダリングすることができます。自由にプログラムを追加し、好きなテーマフォーマットを適用する XOOPS Cube ユーザーの使い方に対して、タフな挙動をみせるメカニズムです。マニフェスト
ユーザーは素材をダウンロードし、決められた位置へ配置して設定を行うだけでサイト構築を楽しめます。しかし、もし専用アプリケーションによる機械的な操作サポートがあれば、構築作業はもっと簡単で、もっと楽しいものになるでしょう。構築作業の半自動化を可能にするために、現在「マニフェスト」という規格を協議しています。マニフェストには、アプリケーションが自動作業を行うために必要な補足情報を書き込みます。
将来的には規格に対応した各OSのクライアントアプリケーションによって、サイト構築の設定、変更、インストール、アンインストール、アップデート、追加素材カタログの検索とダウンロードを実現する予定です。
これは、エンドユーザーだけでなく、追加プログラムやテーマの開発者の負担をやわらげ、活動をさらに楽しく簡単なものにしてくれるでしょう。
