/[pub]/test/sw/ids/0/85.txt
Suika

Contents of /test/sw/ids/0/85.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Mon Nov 10 02:59:28 2008 UTC (17 years, 4 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
converted from SuikaWiki3 <http://suika.fam.cx/gate/cvs/suikawiki/wikidata/page/5375696B6157696B6932.txt>

1 wakaba 1.1 #?SuikaWiki/0.9
2    
3     [1]
4     [DFN[SuikaWiki2]] は、 2002年6月から2004年2月まで開発されていた [[SuikaWiki]]
5     の第2世代です。
6    
7     [6] '''注意''': SuikaWiki2 は既にメインテナンスされていません。
8     [[SuikaWiki3]] をご利用ください。
9    
10     * 歴史
11    
12     [2] SuikaWiki2 の開発は、2002年6月に SuikaWiki1 を WalWiki 2.0.beta.1.wal.1
13     と sync したことにより始まりました。 SuikaWiki1 は [[YukiWiki]] 1 を base
14     にわずかな修正を加えたものでしたが、 YukiWiki 2 を base とする WalWiki 2
15     とは code が大きく違っていましたから、 YukiWiki 1 と SuikaWiki 1
16     の差分を手作業で WalWiki 2 に merge することによって SuikaWiki 2
17     を作りました。
18    
19     その後2002年8月には WalWiki 2.0.3.wal1 を SuikaWiki 2 に merge
20     しました。 WalWiki の修正 (YukiWiki の修正を含む。) のうちのいくつかは、
21     SuikaWiki 2 で既に修正されていた[[クロスサイトスクリプティング脆弱性]]関連のものでした
22     (当時は丁度 XSS 脆弱性修正ブームでした)。
23     WalWiki の新機能のうち、 InterWikiBox や WikiAntena など一部を除いて、
24     手作業で SuikaWiki2 に merge しました。 [[InterWiki]]
25     は、 YukiWiki や WalWiki では WikiName の一部に [CODE[:]]
26     を含める方式でしたが、当時既に SuikaWiki @ suika.fam.cx には [CODE[:]]
27     を含む WikiName があったことから、 code は merge
28     したものの使えるような使えないような、という状態でした。
29    
30     [3] 以後、 SuikaWiki2 は YukiWiki や WalWiki とは別の道を歩むことになります。
31     SuikaWiki2 で追加した機能には、次のようなものがあります。
32    
33     :[CODE(MIME)[[[text/css]]]] 出力モード:
34     スタイル・シートも wiki のデータの一部にしてしまえば、
35     誰でも修正できるようになります。ということで [CODE(MIME)[text/css]]
36     で出力できるようにしました。
37     :魔法行:
38     ということで、 wiki のデータに従来の wiki 文書と CSS
39     のスタイル・シートが混在することになります。
40     CSS でないものを CSS といって送り出すのは好ましくありませんから、
41     wiki のデータにラベルをつけておく必要があります。
42     ということで、データの最初の行を[DFN[魔法行]]として、
43     書式を宣言することにしました。
44     :[[WikiPlugin]]:WikiForm (>>4) を実装した際に、
45     form 部品やその入力を整形するための部品を自由に定義するための仕組みとして
46     WikiPlugin を実装しました。
47     :関連頁一覧:Wiki 内の関連する情報のある頁や wiki
48     外の非参照頁へのリンクが自動的に挿入されるようにしました。
49     YukiWiki / WalWiki でも検索機能で実現していますが、
50     それは利用者の積極的な動作の結果です。
51     SuikaWiki2 では情報自体が勝手に集まることをイメージしています。
52     :RDF・RSS 出力:WikiPage 一覧などを [[RDF]] を使って出力できます。
53    
54     また、次の機能等を大きく修正しています。
55     :標準の文書書式: SuikaWiki2 の標準の記述形式は最終的に
56     [[SuikaWiki/0.9]] とよばれる書式となりました。 >>4 を参照。
57     :[[WikiName]] の階層化:WikiName に[[名前空間]]という階層概念を取り入れました。
58     :[CODE(perl)[[[Yuki::YukiWikiDBMeta]]]]:YukiWiki 2 / WalWiki 2 の
59     [CODE(perl)[[[Yuki::YukiWikiDB2]]]] にディレクトリ構造 (WikiName 名前空間に対応)
60     とメタ・データを追加したファイル・システム写像データベースです。
61     :[[WikiView]]:WikiPage に対する動作、たとえば [CODE[read]] や [CODE[edit]]
62     の結果の出力部は YukiWiki / WalWiki とは大きく異なり、 WikiView
63     として定義したものを使います。これによって navigation や footer
64     などの共通の部分の管理が楽になりますし、関連頁一覧を出力しない、
65     のような customize も容易になりました。
66     :組込み頁:YukiWiki / WalWiki では、 [CODE(WikiPage)[RecentChanges]] や
67     [CODE(WikiPage)[IndexPage]] などは個々に特別な code
68     で実装されていました。 SuikaWiki2 ではこれをすべて撤廃し、
69     必要なら WikiPlugin を使っています。
70     :資源:YukiWiki / WalWiki では人間可読な文字列の部分が外部ファイルに格納されていましたが、
71     wiki 管理者しか修正できませんでしたし、 plain text
72     しか含められませんでした。 SuikaWiki2 では wiki のデータの一部として管理します。
73     また、必要な部分では書式記述により構造を持たせることができます。
74     [[HTTP]] の[[内容折衝]]により、 (用意さえすれば) 閲覧者に合わせた言語で出力できます。
75     :[[InterWiki]]:InterWiki のリンク先 URI の生成方法は WikiPlugin
76     を使って自由に拡張できます。 WikiPlugin さえ用意すれば、
77     無作為にリンク先を選ぶことさえ可能です。
78     :浮動誘導棒:「編集」、「最近」などのリンクはたいていの wiki
79     では HTML 出力の最初か最後にありますが、いずれかでは不便ですから SuikaWiki2
80     は標準では両方に出力します (最近では世間一般でもそれが普通でしょうか)。
81     更に、 [[Gecko]] や [[WinIE]] では浮動して表示領域の一角に常に見えるようにしています。
82     :[[WikiFormat]]:Wiki のデータの書式は WikiPlugin
83     で処理を定義すればどんなものでも使えます。
84     実際に使用されていたものの例としては、 [[SuikaWiki/0.9]] (文書)、
85     [[CSS]] (スタイル・シート)、 [[SuikaWikiConst/0.9]] (マクロ置換定義)、
86     plain text などがあります。
87     :XML object:HTML / XML 出力時には XML object を使って、
88     最後に直列化しています。ですから、この点では XSS 脆弱性問題が起こり得ません。
89    
90     [4]
91     SuikaWiki2 の書式は、当初は YukiWiki 2 / WalWiki 2
92     に SuikaWiki1 の拡張を加えたものでした。
93     その後、更に次のような修正が行われました。
94    
95     :深さ制限の撤廃:YukiWiki / WalWiki では、見出し ([CODE[*]]) や並び ([CODE[-]])
96     では深さに制限がありました。この制限は SuikaWiki2 では撤廃されています。
97     :順序並び:[CODE[-]] の代わりに [CODE[=]] を使うと、順序並び
98     (HTML でいう [CODE(HTMLe)[[[ol]]]]) を意味します。
99     :複数注釈入力欄:YukiWiki / WalWiki では注釈入力欄 ([CODE[#comment]])
100     は WikiPage あたり1つしか使えませんが、 SuikaWiki2 では無限個使えます。
101     :[[WikiForm]]:WalWiki 2 には InterWikiBox という、 InterWiki
102     の引数のようなものとして [[form]] をつかうことのできる機能がありますが、
103     SuikaWiki ではこれを採用せず、独自の WikiForm を実装しました。
104     WikiForm は WikiPage 内の定型入力や外部への form 提出に使うことができる
105     form を簡単に定義できる仕組みですが、すぐに意味的に拡張されて、
106     [[WikiPlugin]] の提供する任意の機能を WikiPage
107     に埋め込むための手段となりました。
108     :意味要素:[[HTML]] の [CODE(HTMLe)[[[code]]]] や [CODE(HTMLe)[[[kbd]]]]
109     などに対応する意味語句要素を追加しました。
110     :文書内の錨:段落や並びの項目に文書内で一意な番号を振ることができます。
111     その番号を使って 2ch 風に内外から参照できます。
112    
113     修正が一段落した時点で仕様は凍結され、これを [[SuikaWiki/0.9]]
114     書式と呼んでいます。
115    
116     [5]
117     こうして改良を加えてきた SuikaWiki2 ですが、2003年の中頃から限界が見え始めてきました。
118     かなり少なくなってきたとはいえ処々に残る YukiWiki
119     由来の code が拡張や整理の邪魔になり、
120     とはいっても依存部分が多すぎて除去できなかったり、
121     WikiPlugin から情報を得る方法が整備されていなくて ad hoc な方法ばかりだったり、
122     あるいは XML object として出力を生成する部分と従来の plain text
123     的に XML マーク文を作成する部分が混在していたり、
124     対処しなければならない問題が大きくなってきました。
125    
126     そこで、2003年11月に SuikaWiki2 は CVS の [CODE[branch-suikawiki-1]]
127     枝 (枝名の版番号は誤り。) となり、[[幹]]では [[SuikaWiki3]]
128     の開発が始まりました。その後 SuikaWiki2 には
129     2004年2月までわずかな不具合の修正が行われました。
130     2004年3月までには、 SuikaWiki3 が実用的な状態になりました。
131     SuikaWiki3 からは YukiWiki / WalWiki / SuikaWiki2
132     由来の古い code がほぼ一掃されています。
133     2004年3月に、 SuikaWiki @ suika.fam.cx も SuikaWiki3 に移行しました。
134    
135     * メモ

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24