作者: dune
日時: 2002/4/13(00:15)
極悪です。

>> 僕も(ホームページとしての)wiki はすっかり気にいっていて、
>> 今ではもうこれしかないってかんじで使ってます。
>
>  よー分からんのですよー、この辺りから。
>  要はなんなのですか?
>  どういう仕掛けで動いていて何が必要なんでしょう?
>  お手間でなければ一筆お願いします。

要はブラウザで編集ができるホームページです。

自分が書いた発言に限って再編集ができる掲示板 cgi があります
が、それと同じ。

ページのどこかにある編集ボタンを押すと、見ているページの内容
が HTML の TEXTAREA タグに挟まれた状態でブラウザに送られてく
るので、それを編集してサーバに送り返します。ブラウザの TEXTA
REAの編集能力はしけたものですが、その辺は w3m とかを使うと便
利らしいです。で、編集した内容を送り返してもらったサーバ(wi
ki.cgi)は、それを元にページを作り直して表示します。

掲示板ですでに似たようなものがあるなら、何が wiki のオリジナ
リティなのかというと、それはリンクの自動生成機能だと思います。
Wiki ページの文書の中に WikiName と呼ばれる単語があると、そ
れが自動的に別の wiki ページへのリンクになります。 

どういう単語が WikiName として認識されるかは wiki の実装によ
って違いますが、オリジナルの wiki では PerlScript とか    
LarryWall といった具合に途中に大文字が含まれる単語(文字列)
が WikiName になります。 

これだと日本人にはおもしろくないので、たいていの wiki が日本
語の単語をどうにかして WikiName にする仕組みを実装しています。
[[]] で囲んで認識させるものが多いですが、僕は <> でやってま
すし、既存の WikiName は自動で認識するようにしてます。例えば
この文章を wiki に書き込めば、「極悪」という wiki ページはす
でに作ってあるので極悪という文字列は自動でそのページへのリン
クになります。

もうひとつの特徴は、書き込まれた内容を一定のルール        
(TextFormatRule)に従って HTML ファイルに変換する部分です。
">" で始まる行は引用行として表示されるとか、"----" は水平線 
<HR> に変換されるとか。URL もリンクになるし、それが画像であ
れば IMG タグに変換されます。Ruby のホームページにある  wiki
はとうぜん Ruby で書いてありますが、TextFormatRule は RD で
す。

あとはページの編集履歴が見られるとか、別のサーバにある wiki 
ページに簡単にリンクする InterWiki といった機能がオーソドッ
クスな実装です。よくばったものでは、編集ボタンを押さなくても
そのページにコメントを挿入できる機能(某日記システムで突っ込
み機能と呼ばれてるものに相当?)とか、WikiName に階層構造を
もたせてページ名がバッティングしないようにしたもの、プラグイ
ンを追加して機能拡張できるようにしたものなどがあります。実際
にやってるのは見たことないですが、HTML の代わりに PDF を出力
しようとか、ページの編集・履歴を CVS で管理しようといった話も
あります。

wiki を使うと、ひとつの文書を複数人が校正、といったことがで
きます。2ch の閉鎖騒ぎのときも、cgi の改良の経過報告やソース
の改良をやってた wiki がありました。僕自身は、家からでも会社
からでもブラウザで書き込めて、かつ昔書いた内容を後から編集で
きるような日記 cgi がないですか? という質問をして wiki のこ
とを教えてもらいました。結局日記は書いてないし、会社の同僚に
は落書きされるしで荒れてますが、気軽にページを更新できるのが
気に入って、かれこれ3年くらい使ってます。

いろんな wiki の書き込み状況を一覧できる MetaRecnetChanges 
というページがあるので、そこをチェックすると面白い話題が見つ
かるかもしれません。

http://isweb21.infoseek.co.jp/computer/h_yanai/html/MetaRecentChanges.html

>  Wiki すっ飛ばして ZOPE に興味が沸いた私はかなりバカタレかなと思いまし
>たが(^^;

僕は ZOPE が何なのかわからないのですが、あんまりスゴイのは
wiki じゃないと思います。なんていうんだろ、普通のホームペー
ジと比べると質素なかんじで、探すとどこかに「編集」とか
「最近(書き込みがあったページ)」といったボタンがあるのが
wiki らしい wiki かなと。最初の wiki は perl で書かれた
約220行の cgi だそうですし
(http://todo.org/cgi-bin/jp/tiki.cgi?c=v&p=WikiEngine)。
-- 
FZH01112@..., http://www1.u-netsurf.ne.jp/~dune/