#?SuikaWiki/0.9 - Subject: Wiki Implementation Model - Priority: high - Status: closed - Category: SuikaWiki - Creation-Date: 2003-08-12T08:10:29+00:00 [1] Wiki とはなにか。 [2] Wiki と他のものの関係 基本モデル: [PRE[ +-------------------+ |利用者(人間又は機械)| +-------------------+ ↓↑ +-------------------+ | WikiEngine | +-------------------+ ]PRE] Wiki HTTP・CGI 実装モデル: [PRE[ +--------+----------+ | | 人 | |利用者 +----------+ | ↓↑ | | +----------+ | | ブラウザ | +--------+----------+ ↓↑ HTTP +--------+----------+ | HTTP Server| | +----------+ | ↓↑ CGI| | +----------+ | Wiki Perl script| | Engine +----------+ | ↓↑ | | +----------+ | | Wiki DB | +--------+----------+ ]PRE] [3] [PRE[ ↓↑CGI +-----------------+ | | +------+ | |汎書式| | [[..//6]] +------+----------+ ↓↑ +------+ |WikiDB| [[..//8]] +------+ [[..//21]] ]PRE] ([[名無しさん]]) [4] WikiView 処理基本モデル: [PRE[ +--------------+ →→→ |View +--------+ →→ CGI CGI | →|書式整形| 出力 入力 +---(S::M::XML,etc.) ]PRE] ([[名無しさん]]) [5] 実装詳細: [PRE[ ↓CGI入力 入力解析 ↓ WikiPlugin 読込 WikiView 読込 ↓ +WikiView ---+開帳+WikiDB----+ | |→→| | | |取得| | | |←←| | | |設定| | | |→→| | | |閉帳| | | |→→| | | | +----------+ +------------+ ↓CGI出力 終了 ]PRE] ([[名無しさん]]) [6] Wiki Object Model [PRE[ +--WikiEngine +--WikiView +--WikiDB +--WikiPlugin ]PRE] ([[名無しさん]]) [7] Persistent: [PRE[ +--$ +--@ViewDefs +--@DataSources +--@Plugins ]PRE] Conditional: [PRE[ +-- +--@argv | +--$target WikiPage | +--$mode | +--@cgi variable +--@ViewDef instance +--@DB instance +--@plugin instance ]PRE] ([[名無しさん]]) [8] >>7 で、 Persistent は SuikaWiki の instance で、ある wiki。 Conditional はその wiki の instance で、ある要求の処理。 ([[名無しさん]]) [[#form:'%textarea(id=>msg,size=>20,lines=>3);%n;(%text(description=>"名前",id=>name,size=>6); [%text(description=>"メイル",id=>mail,size=>5);] %check(default,id=>record-date,label=>日時,description=>日時を記録するか否か);) %submit(label=>書込む);':'[%index;] %text(source=>msg);%n;(%name;%text(source=>mail,prefix=>" [",suffix=>"]");%iif(source=>record-date,true=>" [WEAK[%date;]]");)%n;':'%require(msg);']]