[1] SuikaWiki の plugin は、現時点で次のことに使えます。
(各項目の初めに示したのが内部処理用の型名です。)
- wikiform_input: WikiForm の入力欄の要素
- wikiform_option: WikiForm の追加設定
- wikiform_template: WikiFrom の入力を処理する部位
- wikiinterwiki: InterWiki の名前から URI への対応の要素
- wikiview:
%ViewDefinition
で使用する規則 - wikiview-resource: Wiki//Resource// で使用する規則
- wikibiew-resource-safe: Wiki//Resource// で使用する規則の引数などで使用する規則
- wikiformat: WikiDatabase のデータと出力形式の変換
- wikipage_list_item: 頁一覧 (WikiPage plugin の出力) のための雛形で使用する規則
- wikipage_list_item_safe:
wikipage_list_item
の引数などで使用する規則
[6] 導入されている plugin の一覧は Wiki//Plugin//Info で見ることが出来ます。
[8] Plugin は plugin のための界面を持った perl の module です。
直接 perl module を書いても構いませんし、 wps file を作って mkplugin.pl
<IW:SuikaCVS:"/wakaba/wiki/SuikaWiki/Plugin/mkplugin.pl">
で perl module に変換しても構いません。 mkplugin.pl は本質的な処理ではない
plugin 界面の部分の code を自動生成することが出来ます。
- [14] 2003-03-28 18:19 わかば: 収拾付かなくなりつつあります。。。
- [7] plugin 呼び出し側で致命的エラーの回避は行っていません。
つまり、 perl が死ぬ様な処理を行うと SuikaWiki 全体が死にます。
- これは仕様です。必要なら plugin 内でエラー回避して下さい。
- [9] 名前空間のようなものはありませんし、導入する予定もありません。 (>>1 の各文脈も名前空間といえば名前空間ですが、互いに完全に独立した空間です。)
- [10] >>9 同じ名前の plugin が定義されている場合、後で読み込まれた方が有効になります。 plugin の読み込み順は未定義です。
- [13] $p, $q は破壊しても良いが、 $o は破壊してはいけない
- 他の Wiki のプラグイン実装については、 Wiki//Plugin を参照。
- [15] WikiPlugin module の license はどうなるんだろう? とふと思った。現在あるプラグインは全部 GPL2 だと思うけど、任意の誰かが作ったプラグインを任意のライセンスに出来るのかどうか。
- [16] >>15 確か、 Larry の perl module の license に関する見解は、リンクではない、よって GPL 的制限は受けない、というのだったはず。で、 WikiPlugin も SuikaWiki Plugin API を呼んでるだけで実体は単なる perl module だから、この論理を援用できる、つまり自由に設定できるはず。
- [17] .//wps で Plugin module を生成した時は plugin 固有 code 以外に
mkplugin.pl
の code も混じるけど、それ (mkplugin.pl
の出力) については権利は主張しないというのがわかばの見解だったはず。よってコンパイル済み module の licencing も問題なし。 - [18] >>16-17 とはいうものの実際には、他のモジュールとかから/との切り貼りを考えると、同じく GNU GPL 2 にしておくか、又は perlと同じライセンスにするのがお勧め。