新月0.3までの問題点
自分1人で作ってるときはなかなか気付かないのだけど、 別の実装が出来てくると客観的に問題点がわかる。
新月は通信層の上にアプリケーションが乗るという構造をしている。 アプリケーションは「旧式ゲートウェイ」や「Wiki風ゲートウェイ」である。 本家新月ではCGIとして実装されているから、プラグインと呼んでもいい。 これはいくつでもインストールできるようになっている。
ところが現実を見ると「Wiki風ゲートウェイ」という1つのプラグインが肥大化し、 他のプラグインが入り込む余地がないのだ。 さらに今後Web, Wiki, Blogなどが加わるかもしれない。 実用の上では支障はないが、理念としては破綻しかけている。
そこで考え方を変える。 「Wiki風ゲートウェイ」というプラグインがあるのではなく、
- リスト
- スレッド
- ノート
という3つのプラグインがあり、 ゲートウェイはそれらに跨がった機能を提供するメタアプリケーションだと考える。 新しい機能を追加するのは、プラグインが増えることである。 1つ1つのプラグインの機能が肥大化するのを防ぐことができる。
これは単に考え方を変えただけなので、現在の実装はそのまま使える。 ただし本家新月では、プラグインごとにCGIを別にするつもりだ。