1 |
#
|
2 |
# * WalWiki
|
3 |
#
|
4 |
# wiki.cgi - a Wiki clone, based on YukiWiki.
|
5 |
#
|
6 |
# Copyright (C) 2000-2002 by Makio Tsukamoto.
|
7 |
# <walrus@digit.que.ne.jp>
|
8 |
# http://digit.que.ne.jp/work/
|
9 |
#
|
10 |
# * YukiWiki, base program on walwiki *
|
11 |
#
|
12 |
# wiki.cgi - YukiWiki, a Wiki clone.
|
13 |
#
|
14 |
# Copyright (C) 2000-2002 by Hiroshi Yuki.
|
15 |
# <hyuki@hyuki.com>
|
16 |
# http://www.hyuki.com/yukiwiki/
|
17 |
#
|
18 |
# These program is free software; you can redistribute it and/or
|
19 |
# modify it under the same terms as Perl itself.
|
20 |
|
21 |
■注意事項
|
22 |
|
23 |
以下のURLで最新情報を入手してください。
|
24 |
http://digit.que.ne.jp/work/
|
25 |
|
26 |
WalWikiは、YukiWikiに試験的にいくつかの機能拡張を行ったものです。
|
27 |
導入する前に、YukiWikiと比較をし、WalWikiを選ぶ必要があるか検討してください。
|
28 |
|
29 |
■ファイル一覧
|
30 |
|
31 |
転送モード パーミッション 説明
|
32 |
+-- readme_en.txt TEXT 644 (rw-r--r--) YukiWikiのREADME (英語).
|
33 |
+-- readme_ja.txt TEXT 644 (rw-r--r--) YukiWikiのREADME (日本語).
|
34 |
+-- readme_ja.wal.txt TEXT 644 (rw-r--r--) WalWikiのREADME (日本語).
|
35 |
+-- convert.cgi TEXT 755 (rwxr-xr-x) YukiWiki1→YukiWiki2変換CGI
|
36 |
+-- wiki.cgi TEXT 755 (rwxr-xr-x) CGI本体
|
37 |
+-- WalWiki 755 (rwxr-xr-x) ディレクトリ
|
38 |
+-- Theme 755 (rwxr-xr-x) ディレクトリ
|
39 |
| +-- wiki.css TEXT 644 (rw-r--r--) スタイルシート
|
40 |
| +-- icon40x40.gif BINARY 644 (rw-r--r--) アイコン(小)
|
41 |
| +-- icon80x80.gif BINARY 644 (rw-r--r--) アイコン(大)
|
42 |
+--lib 755 (rwxr-xr-x) ディレクトリ
|
43 |
+-- jcode.pl TEXT 644 (rw-r--r--) 文字コード変換ライブラリ
|
44 |
+-- Yuki 755 (rwxr-xr-x) ディレクトリ
|
45 |
| +-- YukiWikiDB.pm TEXT 644 (rw-r--r--) ファイルベースのDB用
|
46 |
| +-- RSS.pm TEXT 644 (rw-r--r--) RSS用
|
47 |
| +-- DiffText.pm TEXT 644 (rw-r--r--) 差分用
|
48 |
+-- Algorithm 755 (rwxr-xr-x) ディレクトリ
|
49 |
+-- Diff.pm TEXT 644 (rw-r--r--) 差分用
|
50 |
|
51 |
以下のテキストファイルは、wiki.cgi内の変数$modifier_dir_dataであなたが
|
52 |
指定したディレクトリにFTPします。
|
53 |
これはCGIが読み書きできるファイルを置くディレクトリが
|
54 |
CGIを置くディレクトリと異なるプロバイダ用の措置です。
|
55 |
|
56 |
+-- WalWiki
|
57 |
+-- touched.txt TEXT 666 (rw-rw-rw-) 編集時の更新ファイル
|
58 |
+-- frontpage.txt TEXT 644 (rw-r--r--) FrontPageのテキスト
|
59 |
+-- resource.txt TEXT 644 (rw-r--r--) リソースファイル
|
60 |
+-- conflict.txt TEXT 644 (rw-r--r--) 更新の衝突時のテキスト
|
61 |
+-- format.txt TEXT 644 (rw-r--r--) 整形ルールのテキスト
|
62 |
|
63 |
FFFTP、FetchなどのGUIを備えたFTPクライアントの多くは、
|
64 |
ファイルやディレクトリのパーミッションと転送モードをを拡張子に
|
65 |
応じて自動的に切り替えることができます。
|
66 |
これらのクライアントソフトを使う時は、次のように設定しておくと、
|
67 |
ほぼ上の通りになります。
|
68 |
|
69 |
拡張子 転送モード パーミッション
|
70 |
(ディレクトリ) - 755(rwxr-xr-x)
|
71 |
.cgi TEXT 755(rwxt-xt-x)
|
72 |
.pl TEXT 644(rw-r--r--)
|
73 |
.pm TEXT 644(rw-r--r--)
|
74 |
.txt TEXT 644(rw-r--r--)
|
75 |
.gif BINARY 644(rw-r--r--)
|
76 |
|
77 |
転送後、touched.txtだけ手作業でパーミッションを666(rw-rw-rw-)に
|
78 |
変更してください。
|
79 |
|
80 |
■設置手順
|
81 |
|
82 |
(1) wiki.cgiの一行目をあなたのサーバに合わせて修正する
|
83 |
|
84 |
#!/usr/local/bin/perl
|
85 |
|
86 |
(2) wiki.cgiのはじめの方にある、変数$modifier_...の値を修正する(必須)
|
87 |
|
88 |
my $modifier_mail
|
89 |
管理者メールアドレス
|
90 |
|
91 |
my $modifier_url
|
92 |
管理者Webページ
|
93 |
|
94 |
my $modifier_name
|
95 |
管理者名前
|
96 |
|
97 |
my $modifier_dbtype
|
98 |
データベースの種類(以下のいずれか)
|
99 |
'AnyDBMFile' サーバによって使えない場合あり
|
100 |
'dbmopen' サーバによって使えない場合あり
|
101 |
'YukiWikiDB' 必ず実現できるが、遅い
|
102 |
|
103 |
my $modifier_sendmail
|
104 |
YukiWiki書き込み時に管理者にメールを送るための
|
105 |
sendmailのコマンドライン
|
106 |
'/usr/sbin/sendmail -t -n' 一例
|
107 |
'' メールを送らない/送れない場合
|
108 |
|
109 |
my $modifier_dir_data
|
110 |
データを置くディレクトリ。
|
111 |
|
112 |
my $modifier_rss_title
|
113 |
タイトル(RSS用)
|
114 |
|
115 |
my $modifier_rss_link
|
116 |
設置するYukiWikiのURL(RSS用)
|
117 |
|
118 |
my $modifier_rss_description
|
119 |
説明文(RSS用)
|
120 |
|
121 |
|
122 |
(3) ファイル一覧にあるファイルをサーバに転送する
|
123 |
転送モードやパーミッションを適切に設定する
|
124 |
|
125 |
(4) YukiWiki1のデータをYukiWiki2に移行するなら以下の(a)〜(c)の手順を踏む。
|
126 |
|
127 |
(a) convert.cgiにブラウザからアクセスする
|
128 |
(b) 変換用のフォームが表示されるので指示に従って「変換実行」を行う
|
129 |
(c) しばらく待って変換が完了すると変換結果が表示される
|
130 |
|
131 |
(5) ★必須★ 安全のためconvert.cgiをサーバから削除する
|
132 |
|
133 |
(6) ブラウザでサーバ上のwiki.cgiのURLにアクセスする
|
134 |
|
135 |
(7) FrontPageが表示されたら、AdminChangePasswordというリンクをたどって、
|
136 |
管理者用のパスワードを設定する。
|
137 |
|
138 |
|
139 |
■謝辞
|
140 |
|
141 |
多くのWikiクローンの作者さんたちと、
|
142 |
YukiWikiのユーザさんたちに深く感謝したいと思います。
|
143 |
|
144 |
YukiWiki2に入れようと思った機能のうち、
|
145 |
筆者がオリジナルで考えたというものはほとんどありません。
|
146 |
すべて、他のWikiクローンで実現されているものや、
|
147 |
ユーザさんからヒントやアイディアをいただいたものばかりです。
|
148 |
|
149 |
特に以下のWikiクローンには大きな示唆を受けました。
|
150 |
感謝しつつ紹介いたします。カッコの中は開発言語です。
|
151 |
|
152 |
◆Wiki (Perl)
|
153 |
http://c2.com/cgi/wiki
|
154 |
オリジナルのWikiに感謝します。
|
155 |
|
156 |
◆PukiWiki (PHP)
|
157 |
http://www.factage.com/sng/pukiwiki/
|
158 |
InterWiki, 一言コメント機能などに感謝します。
|
159 |
|
160 |
◆Tiki (Ruby)
|
161 |
http://www.todo.org/cgi-bin/jp/tiki.cgi
|
162 |
|
163 |
◆RWiki (Ruby)
|
164 |
http://www.jin.gr.jp/~nahi/RWiki/
|
165 |
|
166 |
◆KbWiki (Perl + HTML::Template)
|
167 |
http://www.hippo2000.info/cgi-bin/KbWiki/KbWiki.pl
|
168 |
|
169 |
◆「極悪」さんのwiki (Perl)
|
170 |
http://www1.u-netsurf.ne.jp/~dune/wiki.html
|
171 |
特に、YukiWikiDBに感謝します。
|
172 |
|
173 |
◆塚本牧生さんのWalWiki (Perl)
|
174 |
http://digit.que.ne.jp/work/
|
175 |
特に、テーブル機能とconvert.cgiに感謝します。
|
176 |
|
177 |
◆橋本礼奈さん
|
178 |
http://city.hokkai.or.jp/~reina/
|
179 |
アイコンのデザインに感謝します。
|
180 |
|
181 |
■メモ
|
182 |
|
183 |
●TODO
|
184 |
|
185 |
- YukiWiki1のCGIのPODドキュメントを元に、YukiWiki2のPODドキュメントを作成。
|
186 |
|
187 |
●BUGS
|
188 |
|
189 |
- 解説行の画像がRecentChangesに表示されてしまう…
|
190 |
- <ul><li>...</li><ul>... は入れ子の関係がおかしい。
|
191 |
- blockquoteでインデントにするのはおかしい。
|
192 |
- [[ ]]の中とタイトルが検索対象になっていないように見える。
|
193 |
|
194 |
●MISC
|
195 |
|
196 |
- RecentChangesやIndexPageなどもFrozenStyleにすべきかも。
|
197 |
- 1つのページに一言コメントが複数あるとき、最初のものしか反応しない。
|
198 |
- class="InterWiki"にするのは、ページ名が$InterWikiNameのときのみのほうがよい。
|
199 |
- HTML部分をCGIの外に出す→これ、結城はたぶんやらない。
|
200 |
- SourceForgeでCVS公開→これ、結城はたぶんやらない。
|
201 |
- alias_name機能→これ、結城はたぶんやらない。
|
202 |
- スクリプト中にコメントを入れる→随時。
|
203 |
- 英語版も作る。
|