[Fswiki-dev] WikiFarm作成失敗時の remove_wiki の動作

Back to archive index

KG kg_soft****@yahoo*****
2006年 8月 2日 (水) 11:46:52 JST


KGです。

http://fswiki.poi.jp/wiki.cgi?page=BBS%2D%A5%B5%A5%DD%A1%BC%A5%C8%B7%C7%BC%A8%C8%C4%2F566
BBS-サポート掲示板/566 において、問題となった表記の件です。

修正箇所をアップしてはいますが、、、
修正案としていくつか方法がありますので相談させてください。

1.Wiki.pm::create_wiki()内でCGIパラメータに path の設定を追加する案
※掲示板に投稿している修正案です
>>>
        # エラーが発生した場合クリーンアップ処理
        if($@){
            my $error = $@;
            # ここはエラーが出ても続行
            eval {
+               $self->get_CGI()->param('path',"/$child");
                $self->remove_wiki("/$child");
            };
            die "$childの作成に失敗しました。発生したエラーは以下のとおりです。\n\n$error";
        }
<<<

2.Wiki.pm::remove_wiki()内でCGIパラメータの path がない場合に追加する案
>>>
     # remove_wikiフックの呼び出し
     if (!defined($self->get_CGI()->param('path')) {
+        $self->get_CGI()->param('path',"$path");
     }
     $self->do_hook("remove_wiki");
<<<

3.Wiki.pm::remove_wiki() から do_hook() 呼び出し時にパラメータを渡す案
>>>
Wiki.pm remove_wiki() 内
	# remove_wikiフックの呼び出し
	$self->do_hook("remove_wiki", $path);
<<<

この修正を行うにあたって、以下の2つのプラグインもパラメータを利用するように修正します。
* plugin/attach/AttachInitializer.pm::hook()関数内
* plugin/pdf/PDFInitializer.pm::hook()関数内


他のプラグインの事を考えると CGI パラメータを追加する修正案(1,2)の方が
プラグインへの影響度は低いとは思いますが・・・
本来の動作としては 3 の修正案が適当だと考えています。

個人的には、拙作プラグインや他の投稿プラグインへの影響もありますし、
1 or 2の修正案の方が影響度は少ないのですが・・・
※この場合の修正箇所としては2の方が良いでしょうね。

ご意見よろしくお願いします。
-- 
KG <kg_soft****@yahoo*****>
http://kgsoft.jf.land.to/


--------------------------------------
Let's start Yahoo! Auction  -  Free Campaign Now!
http://pr.mail.yahoo.co.jp/auction/



Fswiki-dev メーリングリストの案内
Back to archive index