BitChannelCommands

2004-04-15 17:06:24 +0900 (4659d); rev 3

BitChannel のリクエストコマンド体系。 だいたいのコマンドはメニューから発行できますが 一部に隠しコマンドがあります。

なお、時間がたつと嘘になると思うので、 正確な定義については必ず最新のソースコードを参照してください。

用語定義

引数
CGI パラメータ
リビジョン
RCS リビジョン。 BitChannel レベルでは 常に 1.x を仮定し、「1.」を省略した値を取り扱う。
違法なページ名
wc_read に同名のディレクトリが存在するページ (例:CVS)。 もしくは読み書き不可能なエントリが存在する、 ページ名がエンコード後にシステムの NAME_MAX を越える、など。

view

ページを HTML に変換して返す。 コマンドが省略された場合および知らないコマンドを受けた場合のデフォルト。

[引数]

name
ページ名。 存在しないページを指定すると edit にフォールバックする。 違法なページ名を指定すると FrontPage の view にフォールバックする。
rev
リビジョン (1 以上の整数)。省略すると HEAD とみなす。

edit

ページを編集するためのフォームを返す。

[引数]

name
ページ名。 違法なページ名を指定すると FrontPage の view にフォールバックする。

save

ページを保存し、thanks ページを返送する。 ただし編集が衝突した場合はマージした内容を送り返して再度編集させる。

[引数]

name
ページ名。違法なページ名を指定するとページ「tmp」の edit にフォールバックする。
origrev
編集を開始したときのリビジョン。 省略すると 0 とみなす。
text
ページ内容。省略すると空文字列とみなす。

diff

ページの diff を取る。 メニューからは隣接したリビジョン間での diff しか取れないが、 コマンドにはその制約はない。

[引数]

name
ページ名
rev1
diff 元のリビジョン (1 以上 HEAD リビジョン以下の整数)。
rev2
diff 先のリビジョン (1 以上 HEAD リビジョン以下の整数)。

gdiff

Recent から間接的に使われるコマンド。 ページ全体について特定の時刻からの diff を取る。

[引数]

org
diff 元の時刻。YYYYMMDDHHMMSS 形式で指定する。 桁数が足りない場合は末尾を省略していると判定される。 さらに、特殊な値として文字列「cookie」を指定すると クッキーで記憶させた時刻を用いる。また同時にその時刻を更新する。

history

ページのリビジョン一覧を返す。

[引数]

name
ページ名。 存在しないページ・違法なページを指定すると FrontPage の view にフォールバックする。

annotate

ページの各行がどのリビジョンで変更されたのか表示したリストを返す。

[引数]

name
ページ名。 存在しないページ・違法なページを指定すると FrontPage の view にフォールバックする。

src

隠しコマンド。ページの生ソースを text/plain で返す。 text/plain でデータを返すと一部ブラウザで問題があるので、 ブラウザから簡単にアクセスできるインターフェイスは設置しない。

[引数]

name
ページ名。 存在しないページ・違法なページを指定すると FrontPage にフォールバックする。

extent

隠しコマンド。全ページの生ソースを text/plain で返す。 text/plain でデータを返すと一部ブラウザで問題があるので、 ブラウザから簡単にアクセスできるインターフェイスは設置しない。

引数なし。

list

存在するページ名を sort 順に並べたリストを返す。

recent

存在するページ名を変更時間順に並べたリストを返す。

search

全ページから単語を検索し、ヒットしたページ名の一覧を返す。 検索は固定単語のみで、大文字小文字を無視する。

[引数]

q
検索する単語のリスト。 空白で区切って複数の単語を書くとページ内 AND 検索になる。

system revision 1.162