vikiwiki_zool ブランチ版 VikiWiki 関連のノート
VikiWiki の WEBrick 対応版である vikiwiki_zool ブランチでは、 WEBrick への対応作業のほか、不具合のある点や(バグと言うほどではないものの)若干気になる点をいくつか修正しています。
このノートでは、現時点での、本家 VikiWiki からの修正点の概要についてまとめておきます。
# 内容が長くなったので、 VikiWiki 関連のノートから独立させました。
vikiwiki_zool ブランチに関して、何か御気付きの点がございましたら、【コメント】等にて御一報頂ければ幸いです。
VikiWiki の各種修正のまとめ
機能追加
バグフィックス
-
wiki/{wikistyle, vikiwiki2style}.rb のバグフィックスを行いました。(追記:2006/04/17)
-
テーブルを空行を置いて2個記述すると、後に記述したテーブルが前のテーブルの入れ子になる不具合を修正。
-
その他の修正
-
CryptPassword.new の引数を変更しました。
-
引数に conf['BASEDIR']/etc の他に CGI クラスのインスタンスを取るようにしました。
-
ENV['HTTP_AUTHORIZATION'] を CGI クラスのインスタンス経由で取得するようにしました。
-
WEBrick サーブレットの場合、 CGI クラスのインスタンスから環境変数を取るようにしたほうが都合が良いので。
-
-
以上、お気づきの点など御座いましたら、御一報頂ければ幸いです。
SF.jp CVS 版に取り込まれた VikiWiki の各種修正 (2006/05/15)
以下の修正は、 vikiwiki_zool ブランチ版での修正のうち、 2006/05/15 付けで SF.jp CVS の HEAD に取り込まれた修正です。
御多忙の中、 vikiwiki_zool ブランチを御覧いただき、 HEAD への取り込みを承諾して下さった mopia さんに心より感謝致します。
機能追加
-
まず、当然ですが(^^;;;) WEBrick サーブレットに対応させました。
-
なお、 WEBrick 上の VikiWiki サーバとして起動する場合、 conf["BASEDIR"]/{plugin, wiki} ディレクトリ以下に独自のプラグインや Wiki 記述スタイルのスクリプトを置けるようにしました。
-
-
トラックバック送受信機能を追加しました。
-
XML-RPC による VikiWiki リポジトリへのアクセス機能を追加しました。
-
静的HTMLでフォームを使うプラグインを利用する機能を VikiWiki::PluginHook クラスとして実装しました。
-
tool/plugin_hook.cgi と同等の機能です。
-
-
以下の設定値を新たに追加しました。
- AUTHREALM
- 認証タイプに vikiwiki を指定した場合、通常の Basic 認証方式において使用する realm を指定します。
- PROTECT
- この設定値を true にすると、管理メニューの「CGIの設定を変更する」「パラメタを編集する」「CGIファイルを編集する」を用いた CGI ファイルの変更が禁止されます。
-
USEconv モジュールを修正しました。
-
漢字コードを自動判別するための USEconv.guess メソッドを追加しました。
-
iso-2022-jp を含めた漢字コードの相互変換機能を拡充しました。
-
iso-2022-jp への漢字コード変換機能は、メール送信関連のプラグインの作成等に有用です。
-
-
これにより NKF に依存しない漢字コード変換ができるようになりました。
-
-
プラグイン #admin のメニュー「ページとプラグインのセキュリティを設定する」において、ユーザ名を "anonymous@hostname.example.com" とすることにより、ホスト名 hostname.example.com から読み書きしている匿名ユーザ(認証を行っていないユーザ)を指定できるようにした。(追記:2006/03/11)
-
これにより、特定の ISP からの読み書きが制限できるようなりました。
-
-
α, β や  などの文字参照をエスケープせずにそのまま出力するようにしました。(追記:2006/03/11)
-
latin-1 等の特別な文字を直接書けるようになりました。
-
-
TidyLib を用いて、 VikiWiki が生成した HTML を整形する機能を追加しました。(追記:2006/03/26)
-
利用するには、TidyLib の shared library と Kevin Howe 氏作の Ruby interface to HTML Tidy Library Project のインストールが必要です。(無くても VikiWiki は使用できます。)
-
ドキュメントは tool.txt を御覧下さい。
-
-
VikiWiki の記述スタイルの拡張を行いました。(追記:2006/04/17)
-
-{{{ ... -}}} で、インライン要素を解釈する整形済テキストが記述できるようになりました。
-
@ {class ...} で、任意の span 要素を記述できるようになりました。
-
-
@cgi.path_info からページ名等を取得できるようにしました。(追記:2006/04/28)
-
例えば、 Foo/Bar/Baz なるページを表示させる場合に、 /vikiwiki.cgi?p=Foo%2FBar%2FBaz の代わりに /vikiwiki.cgi/Foo/Bar/Baz.html と指定できるようにしました。
-
また、 /vikiwiki.cgi/Foo/Bar/Baz.xml は /vikiwiki.cgi?p=Foo%2FBar%2FBaz&m=XML と等価となり、これによりページ Foo/Bar/Baz の XML 形式のデータが取得できます。
-
設定値 USEPATHINFO を指定することにより、ページ上の /vikiwiki.cgi?p=Foo%2FBar%2FBaz... 等のリンクが /vikiwiki.cgi/Foo/Bar/Baz.html... の形式に置き換わります。
-
これにより、動的ページによる VikiWiki の運用において、あたかも静的な HTML ページを表示させているように見せることができます (^^;;)。
-
バグフィックス
-
プラグイン #altname の不具合等を修正しました。
- VikiWiki::Plugin::Edit クラスの実装をすべて VikiWiki::Plugin::EditM モジュールに移しました。
-
VikiWiki::Plugin::Edit クラスは VikiWiki::Plugin::EditM モジュールを include するだけにしています。
-
-
VikiWiki::Plugin::Altname クラスは VikiWiki::Plugin::Edit クラスを継承するのではなく、VikiWiki::Plugin::EditM モジュールを include するようにしました。
- VikiWiki::Plugin::Edit クラスの実装をすべて VikiWiki::Plugin::EditM モジュールに移しました。
-
VikiWiki::Sys#add_script の不具合等を修正しました。
-
MASTERDIR/script/foo.js, conf["BASEDIR"]/script/foo.js が存在しないとエラーになる不具合を修正しました。
-
conf['STATICURI']}/script/foo.js 等が静的 HTML で相対パスを指すように修正しました。
-
-
CGI.escapeURI の不具合等を修正しました。
-
引数にマルチバイト文字列(日本語文字列)を与えたときに uri.gsub(/./) で1バイトづつ文字を切り出す部分で不具合が発生する。
-
-
VikiWiki::Plugin::Admin#edit_read_desc の不具合等を修正しました。
-
プラグイン #admin のメニュー「パラメタをを編集する」において、設定値 TITLE 等に日本語等のマルチバイト文字を含めると文字化けを起こす不具合が発生する。
-
String#dump がマルチバイト文字を考慮しないのが原因と思われます。
-
-
File.relative の不具合等を修正しました。(追記:2006/03/11)
-
静的 HTML 生成時にエラー発生。
-
-
VikiWiki::Plugin::Admin#onpost_edit の不具合等を修正しました。(追記:2006/03/26)
-
option 要素の出力に不具合が発生する。
-
-
wiki/{wikistyle, vikiwiki2style}.rb のバグフィックスを行いました。(追記:2006/04/17)
-
[[SandBox SandBox]] と [[SandBox]] の DOM 表現が同一 (いずれも <WikiName wri="Sandbox" bracket="true">Sandbox</WikiName>) であり、 HTML 生成時に区別が付かないために [[SandBox SandBox]] と記述すると SandBox ページにエイリアスが設定してあった場合にリンク表記がエイリアス名になってしまう不具合を修正。
-
その他の修正
-
プラグイン #admin を修正しました。
-
$VIKIWIKIDIR/../parameter.txt が存在しない場合は、 ParameterEdit ページを見に行くようにしました。
-
-
CGI クラスのインスタンス経由で ENV["HTTP_AUTHORIZATION"] を取得するための CGI#authorization メソッドを追加しました。
これまでの《Topics》へ戻るんだヌーン!
VikiWiki 関連のファイル置場へ戻るんだヌーン!
「Z.OOL.ネット信託統治領」の TOP Page へ戻るんだヌーン!
and licensed under the Creative Commons - Attribution / Share Alike license.
Please see this note for further details, and contact me about this webpage.