トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

BugTrack-plugin/274

ページの作成や編集にはユーザ登録が必要です。

ディレクトリインデックスプラグイン

  • 投稿者: sakuma
  • カテゴリ: 新規
  • 優先度: 普通
  • 状態: 提案
  • 日時: 2006年03月19日 17時03分41秒

 内容

ApacheのIndexesオプションのように,ページ名の/(スラッシュ)をディレクトリと認識し,そのディレクトリ以下のページに対するインデックスを自動的に生成します.

 ライセンス

修正BSDライセンスです.http://www.bitcoffee.com/jp/Column/License.htmlに要約を載せています.

 ダウンロード

http://downloads.bitcoffee.com/からindexes-0.2.tar.gzをダウンロードしてください.

 インストール

アーカイブを展開すると,fswikiのディレクトリ構成になっているので,fswikiのディレクトリへコピーしてください.なお,デフォルトのファイルは変更しません.

 デモ

http://demo.fswiki.com/で見ることができます.

 必要なソフトウェア

特にありません.

 競合

プラグイン内で,Wiki::DefaultStorageを上書きします.同様の処理が行われるプラグインより,なるべく優先度が高く動作するようになっていますが,もし正常に動作しない場合は,Wiki::DefaultStorageを操作する他のプラグインを無効にしてください.また,パッチが当たったWiki::DefaultStorageでは正常に動作しない事があります.

 コメント

  • これって使い方が分かりません。またどういう動作になるのが正常なのかも分かりません。対応サーバなどには制限があるのでしょうか。 04WebServer で動作が変わらないようなのですが。 - 名無しさん (2006年03月20日 11時51分48秒)
  • 一応,アーカイブのREADMEに使い方が書いてあります.例えば,このページはBugTrack-plugin/274というページですが,このBugTrack-pluginというのをディレクトリとして取り扱い,それ以下にあるページ(274など)に対するリストを作成します.スラッシュで区切ったページ(例えばhogehoge/foohogehoge/bar)を作って頂き,ディレクトリ名となるページ(hogehoge)へアクセスすれば動作が分かります. - sakuma (2006年03月20日 13時46分08秒)
  • さらにあとからhogehoge/foobarを作った場合、hogehogeが更新される事はあるんでしょうか? - どんぱっち (2006年03月20日 18時51分59秒)
  • それとページの参照権限のデフォルト値を管理者のみに設定していてもhogehogeを作成すると編集可になっているのは仕様なんでしょうか? - どんぱっち (2006年03月20日 18時56分54秒)
  • ページが作られるわけではないので,表示は更新されます.hogehogeはページとしては存在しないので,参照権限の類は無関係です. - sakuma (2006年03月20日 22時42分14秒)
  • 返事どうもです。そういうことですか。hogehogeページを作ってしまっていました。ということは、hogehogeページが存在した場合は、このプラグインの恩恵には与れないって事ですね。 - どんぱっち (2006年03月20日 22時51分48秒)
  • いいですねぇ。私はこういったプラグイン大好きです。誰でも思い付くような発想と時間さえあれば作成できるプラグインではなく、パイオニアならではのひねった発想で実現できるこういったプラグインは気持ちいいです。そう言えば、昔CafeWiki使ってたとき、確かこんな感じだった気がします。FSWikiのページにはディレクトリという概念は有りませんが、これを使えばそれに似た感じにはなりますね。ディレクトリは、そのディレクトリ内のページ一覧を表示させることもできれば内容のあるページにすることもできる。柔軟性があっていいですね。まだ使ってないので分かりませんが、そういった仕様…です…よね?(^^;) - あき (2006年03月21日 04時49分38秒)
  • 私もローカル環境で使ってみました。付属のReadmeにあるように、パンくずリスト/プラグインと合わせると、威力絶大ですね。 - A_M (2006年03月21日 05時54分06秒)
  • 手元で要る環境があったので作っただけなのですが,確かにページ自体を作成&更新したり,更新時間などにもきちんと対応すると,もっと汎用性が増しそうですね.ご意見を聞いた上で,改良してみます. - sakuma (2006年03月21日 09時28分42秒)
  • 面白そうだったので使ってみましたが、既存のページのディレクトリとなるページへのリネームでエラーになります。例えば、foo/bar/bazというページがあってxyz/foo/barとページをfoo/barというページにリネームしたところ「リネーム先のページは既に存在しています」と出て変更できませんでした。前日にfoo/barというページからxyz/foo/barというページにリネームしたんですが。インストールしたのはindexes-0.2.tar.gzです。 - 時宮礼 (2006年03月25日 17時59分56秒)
  • リネームプラグインですね.確かに構造的にはエラーになります.この辺も次のバージョンでは対応できるようにしてみます. - sakuma (2006年03月27日 02時54分09秒)
  • ページが存在しない時に自動表示する点が非常に便利なのですが、更新日時の扱いは確かに課題ですね。ページが存在する場合に、この機能の恩恵を受けるにはパラグラフプラグインで対応できそうです。また、リネームプラグインの動作時にはフックさせないという荒技を使えば、リネームに対する不満点は解決できました。 - A_M (2006年06月24日 10時02分24秒)
  • リネーム時の対応について、Install.pmの追記分をコメントさせていただきます。 - A_M (2006年08月05日 00時25分57秒)
sub install {
    my $wiki = shift;
+   my $cgi  = $wiki->get_CGI();
+   if($cgi->param('action') ne 'RENAME') {
        $wiki->add_hook("initialize", "plugin::indexes::Initialize");
+   }
}
  • 機能拡張として、途中階層のページが存在するときにも一覧表示できるパラグラフプラグインを作成してみました。indexes_20060805_byA_M.zip(442)となります。 - A_M (2006年08月05日 02時03分23秒)
  • DefaultStorage.pm を上書きすると、他のプラグインとの相性が悪そうな上、ちょっとお行儀が悪いので、A_Mさんのリネームパッチも加えさせて頂いて、新しいバージョン作ろうと思います。 - sakuma (2007年05月15日 03時06分13秒)
  • デフォルトで入っているプラグインでWiki::DefaultStorageを操作するプラグインは何かというのは、どこを見ればわかりますでしょうか。また既にお分かりのようでしたらお知らせ願えますと幸いです。 - たった (2007年08月12日 16時41分21秒)
  • Wiki::DefaultStorageは、ファイルを読み書きするためのAPIです。コレを使って、データの保存や読み出しを行います。 - あき (2007年08月15日 22時54分54秒)
  • Var3.6.2で、解凍後に出来るindexesディレクトリを丸ごとpluginにUPし、管理画面のプラグイン設定画面からindexesにチェックを入れて保存時、Software Error:Can't call method "hook" on an undefined value at lib/Wiki.pm line 377.になります。原因不明なのですが、修正点などご教授いただけませんでしょうか。宜しくお願い致します。 - たった (2007年08月30日 18時00分33秒)
お名前: コメント:
indexes_20060805_byA_M.zip

最終更新時間:2007年08月30日 18時00分33秒