モジュール→アドオン、エクステンションへ
XOOPS2 や XOOPS Cube Legacy では追加機能をもった拡張プログラムを「モジュール」と呼んでいます。でも開発者は一般的なモジュールのことも「モジュール」と呼ばなきゃいけません。そこで僕らは「XOOPSモジュール」「XOOPSモジュールじゃないほうのモジュール」って言い分けてます。ややこしいので、新しい BASE では名称を変えたほうがいいでしょう。
XOOPSモジュールはコンポーネントにあたるみたいです。でも、モジュールとかコンポーネントといった、ソフト工学とかシステム工学とかで専門用語として規定されている言葉を XOOPS の用語に使うのは、もう避けたほうがいいでしょう。
そうすると「アドオン」とか「エクステンション」といった言葉になるんじゃないかなあと思います。
ちなみに、モジュールとコンポーネントを分かつ定義について、その分野に強い人に色々と話を聞いたのですが、XCコアの「コアモジュール」…あれもモジュールじゃないですね。 orz
コアのコンポーネントです。一時期サブシステムと名付けてましたが、あれもおかしい。BASEモジュールもコンポーネントになると思います。
ちなみに、「モジュール」はコンポーネントの一種で、自己完結していて交換可能であること……つまりウチらで言えばXCL上で他のものに置き換えることができるし、他のプログラム上でも他のものに置き換えることができることが条件みたいです。
システムにインストールするためのアダプター部分のコードは目を瞑るとしても、モジュールのメイン部分がシステム側を参照してしまうと(Drupalとか他のシステムに持っていけないので)アウトなので、この条件を満たすコンポーネントはXOOPSモジュールにはほとんど無いと言っていいと思います。
でも「モジュール」という表現は大好きだったよ……