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