RefererPluginやBlogTimesPlubinを公開してから,COREBlogのPluginを作ってくれる人が現れました。Pluginを作るということはZopeのProductを作るということに他なりません。正直,ZopeのProductを作れる人が日本にこれだけいるという事実に少々驚いていたりします。
COREBlogは典型的な個人サイトを運用するためのツールです。で,COREBlogを使う人にはいくつか種類があって
- コンテンツを書く人
- いちいちHTMLを書いたりしなくて済むのでラクチン
- Zopeを貪りたい人
- サイトの構成や遷移に(それほど)悩まなくて済むため,ちょっとしたハックが手軽にできて幸せ
- ただしZPTな人はおいてけぼり(^^;
- Zopeをさらに毛深く貪りたい人
- ???
1と2の人にはそこそこ満足いただいているのではないかと思っているのですが,やっぱり3みたいなことをやりたい人にはCOREBlogはまだまだ物足りないような気がしています。MTとかに比べるとあそべる幅が少ないし,ハードルも高い。今のようなPluginの仕組みだと,いちいちフック関数をカスタマイズしなければならないし。もっというと,開発者のユニバースを大きくしてゆかないと,COREBlog自体の真の「活発さ」が維持されない。私の時間は限られているので,外部の開発者がより手軽に開発に参加できるような仕組みはどうしても必要なのではないかと考えています。
というようなわけで,Plugin専用のなんらかの仕組みを設ける必要があるのではないかと考えたわけです。多分こんなかんじになるでしょうか。
- PluginはZopeのProductである
- (たぶん)contentsタブのpluginフォルダに収まる
- 実装すべきMethodがある - 特定のMethodが,エントリ追加時,更新時などに呼ばれる(フック関数は使わない)
- COREBlogの配下で設定などができる
- 種類がある - フィルタとか,プラグインとか,いろいろ
- ソースコードのスケルトン(ひな型)が用意されている
- ドキュメンテーションが用意されている
ほんとは0.7bで「フィルタ」のようなものも整備したかったんですが,より気の利いたPluginシステムの導入と同時に実装すべきと考え,先送りにしたのでした。
新しいPluginシステムが導入された場合にも,現状公開されているPluginもそのまま使えるはずです。