sunday-labの日本語訳版です。英語版のXOOPS Cube関連記事を翻訳作業中...

2008年1月27日日曜日

The 10 reasons why you should touch XOOPS Cube

私は時々ネットで「あなたがするべきである理由」という題名を持っている記事を読みます。そのような記事が日本にないので、私はそういった記事に興味を持っています。そこで、私は私の下手な英語で、それらの記事のように「あなたがXOOPS Cubeに触れるべきである理由」を書くことに挑戦してみました。 記事は、ユーザがXOOPS Cubeを理解し始めることを助けるかもしれませんが、十分でないので、私は始めにブログに書きました。 私は、記事が修正されて、高められるべきであると思います。[xoopscube.org]



3Sコンセプト
XOOPS Cube は "3S" コンセプト --- シンプル、セキュア、スケーラブル --- を持っています。 Cube は CMS 環境を作ったり使ったりするための共通土台ですので、 Cube は非常にシンプルなコアになっています。さらに、 Cube はセキュリティを維持するためにいくつかのポリシーと機能を持っています。ポリシーのうちのひとつは型安全(type safe)のエミュレート。もうひとつは、ペリフェラルドライバのように常に妥当な範囲内の値を検出するための Action Form です。そして、 Cube は本当にスケーラブルです。 Cube は「構築プラットフォーム」を実現するための特別なアーキテクチャを備えています。

コンストラクション
あなたは Mod 文化(≒ツクール文化)と似たような感覚で Cube を楽しむことができます。それは素材とクリエーションです。 Cube ではほとんどのものは再利用可能な素材として扱われます。マネージャ、アドオン(モジュール)、プリロード、テーマはエンドユーザーのための素材。デリゲート、仮想サービス、タスクシステム(*)のタスクはプログラマのための素材です。あなたはサイトやプログラムを実現するために素材を集めることができます。プリロードはあなたのサイトを調節する最小カスタマイズのための最小アドオンです。それによって、あなたはほとんどの場合で、ソースコードを直接改変する必要がありません。その後で、あなたは自分で作った(改変した)素材を頒布できます。 Cube は本当にフレキシブルで、 CMS 仕様との闘争からあなたを解放します。

コンフィグレーション
あなたの Cube の仕様はあなたによって決定されます。あなたはあなたの Cube を INI ファイルを書くことで組み立てることができます。 Cube は複数のマネージャーによって構成されおり、それぞれのマネージャーはそれぞれ特別なミッションを担当しています。あなたは自分でどんなマネージャーを使うか決定し、アドオン(モジュール)をインストールし、軽量カスタマイズのためにプリロードファイルを追加します。さらに、いくつかのディストリビューションパッケージがリリースされています。それぞれのディストリビューションパッケージは、あなたがサイトをすぐに組み立てられるように、推奨の INI ファイル、ベストなモジュールとプリロードファイルを持っています。あなたはあなたのサイトをあなたのコンフィグレーションか、パッケージを基点にして始めることができます。

交換可能
ほとんどのオブジェクトは交換可能です。マネージャーだけでなく、 CMS レイヤー(BASE)を交換することも可能です。 Legacy BASE を使うことで、あなたの Cube は XOOPS2 JP をエミュレートし、多くの XOOPS2 JP モジュールを実行できます。あなたは BASE を交換したり、 BASE をスクラッチから書いたり、それをリリースすることができます。"誰でもいつでもどこでも何でもできる" --- その交換性を実現するコアを改変することを除けば。 BASE に限らず、あなたは多くのパーツを交換することができます。もしあなたがいくつかの仕様を殺すため、あるいは追加するためにソースコードを直接改変しても、バージョンアップで更新する際に、オリジナルの仕様はゾンビのように蘇ることになるでしょう。 "Exchangability" はスケーラビリティ、フレキシビリティそして自由のための良い解決策です。

外来メカニズム
XOOPS Cube の特別なミッションを完遂するために、私達は、自分たちで独特なメカニズムを設計するのではなく、 Web とは異なる別の世界から伝統的なメカニズムを導入しました。言い換えれば、それらの外来メカニズム --- 起動時コンストラクション、プリロード、デリゲート、タスクシステム(*)、汎用レンダーシーケンス(*)等 --- は十分に信頼できます。これらのメカニズムは有名 OSS、 .NET、マイクロカーネル、ビデオゲームプログラミング、シーングラフの世界から、 XOOPS Cube の"理想"的仕様を実装するためにやってきました。もしあなたがそれらのエッセンスをご存じなら、簡単に使うことができるでしょうし、もしご存じでなくても、こういった技術を知る楽しみがあります。

仮想サービス(*)
XOOPS Cube はサイト間通信とモジュール間通信のためにクライアント/サーバーモデルを提供します。仮想サービスは実際のプログラムを抽象化し、クライアントは他のモジュールと他のサイトのどちらでも接続可能です。 XOOPS Cube はあなたが持っている既存のサイトのサービスへ接続し、他のサイトへサービスを提供することができますので、あなたは XOOPS Cube への移行(もしくは XOOPS Cube からの移行)を容易に行うことができます。

複数のレンダーシステム
XOOPS Cube はテーマの固定仕様を持っておらず、あなたが同意しないフォーマットを強制することはありません。汎用レンダーシーケンス(*)は、レンダーシステムを切り替えながら最終出力を描画しようと試みます。この仕様により、あなたはお気に入りのデザインやお気に入りのサイトテーマ仕様を維持することができます。自分のサイトのためにレンダーシステムを開発した場合、共有のためにそれを公開しても楽しいでしょう。

ツール
XOOPS Cube は質素なコアのため、複雑な仕事を自動的にこなすためにツールの利用を推奨しています。 XOOPS Cube が多くのフィーチャーを持っているより、ツールのほうがユーザーと開発者のために役立つでしょう。マニフェストと呼ばれる或る仕様があります。マニフェストは XOOPS Cube のために自動作業するツールのための特別なドキュメントです。私達の世界には既に Cubson があります。 Cubson は Legacy BASE のためのコードジェネレーターであり、コードジェネレーターの開発を容易にする extools.dll の上で動作します。

完全なる自由
XOOPS Cube はオープンソースプロジェクトであり、市民によって開発されています。それは自由なライセンスであり、他の市民をコントロールするようなプロジェクトガバナンスを嫌います。私達の世界はアナーキーで自由です。各々の国家/地域のコミュニティはプロジェクトの制御下にありません。あなたは自由にあなたの好みのコミュニティを選択できます。そして、 XOOPS Cube は最も緩いライセンスのひとつである修正 BSD ライセンス (new BSD license) でライセンスされています。したがって、あなたは修正 BSD ライセンスのわずかな簡単な約束事を守るだけで XOOPS Cube を自由に使用することができます。

(Legacy BASE は GPL でライセンスされていることに注意してください)

さまざまな開発者
最大の特徴は XOOPS Cube にはさまざまな種類のコントリビュータがいることです。それにより、 XOOPS Cube はアソビとマジメのバランスを自然と維持しています。開発者は手を動かすことが好きで、口を動かすことが嫌いです。 XOOPS Cube はそういう本質的な世界です。それぞれの開発者は互いに学び合います。

また、 PHP 環境のプログラミング言語(すなわち PHP)は C++/Java のようなスタンダードな文法を持っています。そして XOOPS Cube は LL 言語のフレキシビリティを伴わず、コンパイル言語のような比較的堅い書き方のコードになっています。たとえあなたの経験が学術的、ウィンドウズアプリケーション、*nix コンソールアプリケーション、組み込み系、コンピュータグラフィック、ビデオゲーム、ソフトウェアスクリプトプラグイン、プログラマブルシェーダそしてMod開発経験であったとしても、それらは十分に役立ちます。ですから、あなたはセキュリティに関する若干の学習とともにプログラムを書くことができ、 XOOPS Cube の世界を楽しむことができます。

(*)これらのフィーチャーは 1.00 で完成します。

どこから始めればいいですか?
XOOPS Cube は現在開発ステータスですので、あなたは最新の状況を xoopscube.sourceforge.net もしくは xoopscube.org から得ることができます。また、あなたが XOOPS Cube の一部に触れたいなら、 Package_Legacy かホダ塾ディストリビューションをダウンロードすることは良いアイデアです。それらのパッケージは Legacy BASE で動作するので、 XOOPS Cube の一部分を得るには最適です。

0 件のコメント: