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

BugTrack-plugin/213

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

WikiFarmの更新履歴を取得する(recentプラグインへの追加モジュール)

  • 投稿者: KG
  • カテゴリ: 新規
  • 優先度: 普通
  • 状態: 提案
  • 日時: 2005年05月30日 20時30分20秒

 内容

WikiFarmに対して、従来のrecentプラグインと同等の機能を提供します。

 インストール

添付ファイルを解凍し、各ディレクトリに展開してください。また、recentプラグインのInstall.pmに対してInstall.pm.patchを適用してください。

3.5.10〜3.6.2までのバージョンで動作確認しました。

 利用方法

従来のrecentプラグインと使い方は同じです。

指定したWikiFarmの最近更新されたページを一覧表示します。

{{recentfarm 表示件数[,v[,子Wiki名,...[,nodisp]]]}}
  • 自分自身を含めるには「子Wiki名」の所に"."を記入します。
  • 全ての子Wikiを指定するには「子Wiki名」の所に"*"を記入します。
  • 子Wiki名の所をブランク(無記入)にすれば、全ての子Wikiを指定したことと同じになります。
  • nodispを指定すれば、リンク表示に Farm名を表示しません。
  • 自分自身と全ての子Wikiを同時に指定する場合は以下のような指定方法になります。
{{recentfarm 5,v,.,*}}

指定したWikiFarmの最近更新されたページを日付ごとに一覧表示します。

{{recentfarmdays 表示件数[,子Wiki名,...[,nodisp]]}}
  • 自分自身を含めるには「子Wiki名」の所に"."を記入します。
  • 全ての子Wikiを指定するには「子Wiki名」の所に"*"を記入します。
  • 子Wiki名の所をブランク(無記入)にすれば、全ての子Wikiを指定したことと同じになります。
  • nodispを指定すれば、リンク表示に Farm名を表示しません。
  • 自分自身と全ての子Wikiを同時に指定する場合は以下のような指定方法になります。
{{recentfarmdays 5,.,*}}

 サンプル

表示結果のサンプルはこちらから。

 ライセンス

GPLでお願いします。

 更新履歴

2005/05/30 - recent_farm_20050530.zip(501)
  • 初期リリース
2005/05/31 - recent_farm_20050531.zip(516)
  • ストレージ・オブジェクトを内部で生成するように変更
  • 全てのWikiFarmを対象としたrecent機能を追加
2005/06/03 - recent_farm_20050603.zip(519)
  • 孫Wiki対応
2005/06/15 - recent_farm_20050615.zip(509)
  • recentfarms,recentfarmsdaysプラグインを削除しました。
    • これらの機能はrecentfarm...に統合しました。
  • recentfarm...の書式を変更しました。上記記入例を参照してください。
  • 自分自身を履歴に含める表示方法に対応
2005/07/21 - recent_farm_20050721.zip(516)
  • RecentFarmUtil.pmに対して、BugTrack-plugin/225の為の機能拡張を行いました。
2005/12/19 - recent_farm_20051219.zip(505)
  • nodispオプションを追加
2006/02/20 - recent_farm_20060220.zip(496)
  • 存在しない farm が指定されていた場合にエラーとなっていたのを修正(BugTrack-plugin/225対策)
  • templateという名称の子Wikiを対象外とした。
2006/07/06 - recent_farm_20060706.zip(624)
  • プライベートモード(ログインユーザーもしくは管理者のみ参照可能な設定)への対応
  • templateという名称の子Wikiを対象外とした。(再)
2015/02/14 - recent_farm_20150214.zip(116)
  • 配列変数をdefinedで判定していた箇所の修正

 コメント

  • いろいろやってみたら、上手く動きませんでした。再度修正します。(もしかしたら却下するかも・・・) - KG (2005年05月31日 16時33分51秒)
  • 親Wikiの更新情報とダブっていたバグを修正しました。 - KG (2005年05月31日 17時40分51秒)
  • 親Wikiでログイン状態の場合は子Wikiでもログイン状態と認識されてしまいます。子Wikiのリスト取得時はログイン状態は外しておいた方が良いでしょうか? - KG (2005年05月31日 17時59分29秒)
  • 孫wikiがある場合、recentfarmsdays, recentfarmsがエラーを出してしまいます。$wiki->get_wiki_list() が入れ子になったARRAYを返すのに対応していないのが原因ではないかと思われます。- pepsi (2005年06月03日 10時13分56秒)
  • 孫Wikiのことを忘れてました。後ほど修正版をアップします。 - KG (2005年06月03日 11時59分29秒)
  • 孫Wikiに関する修正を完了しました。 - KG (2005年06月03日 16時33分18秒)
  • ありがとうございます。動きました。ところで、recentfarmsに子wikiのみでなく自分自身も含めるオプションがあるとより便利な気がします - pepsi (2005年06月04日 18時44分10秒)
  • 自分自身を含める表示方法を追加しました。また、recentfarms系をrecentfarm系に統合しました - KG (2005年06月15日 12時01分20秒)
  • 柔軟性は出ましたが、記述方法が変更になってしまいました。申し訳ありません。 - KG (2005年06月15日 12時02分33秒)
  • RecentFarmUtil.pmに対して、BugTrack-plugin/225の為の機能拡張を行いました。 - KG (2005年07月21日 19時15分56秒)
  • Farm名を表示しないリンクへの対応の為、nodisp オプションを追加しました。 - KG (2005年12月19日 18時14分46秒)
  • wiki新規参入者です。こちらのプラグインを我流で改造してみました。"v"オプション選択時にテーブル表示されるというだけのことですがw 下に添付しておきますがファイル名:RecentFarm.zipでUPしてしまいました。不適切ですみません。 - 近江屋 (2005年12月26日 17時25分47秒)
  • プライベートモードに対応していなかったのを修正しました。また、3.5.10〜3.6.2までの環境で動作確認しました。 - KG (2006年07月06日 18時18分08秒)
  • とても有用なプラグインありがたく使わせて頂こうとテストしています。参考とされているrecentとrecentdaysを同じページに2つ掲載しても、エラーにはならないのですが、recentfarmとrecentfarmdaysを同じページに2つ掲載した場合はエラーになってしまうようです。

またrecentかrecentdaysとrecentfarmかrecentfarmdaysのそれぞれ4パターンの同時掲載でもエラーにはなりません。 recentfarmとrecentfarmdaysを同時掲載の場合のみ、エラーになってしまうと言う事です。

!最近更新されたページを5件表示

{\{recent 5,v}}

!最近更新されたページを日付け毎に5日分表示

{\{recentdays 5}}

!最近更新されたページを5件表示

{\{recentfarm 5,v,.,*}}

!最近更新されたfarmのページを日付け毎に5日分表示

{\{recentfarmdays 5,v,.,*}}

該当エラーは下記のようなエラーになりました。

No such file or directory at ./lib/Wiki/DefaultStorage.pm line 193.

で、./lib/Wiki/DefaultStorage.pmの該当箇所である下記

opendir(DIR, $wiki->config('data_dir')) or die $!;

を↓に変更

opendir(DIR, $wiki->config('data_dir')) or die $wiki->config('data_dir');

すると、エラーが

No such file or directory: ./log/test/test at ./lib/CGI2.pm line 34.

で、下記がlib/CGI2.pmの該当箇所

opendir(SESSION_DIR,$dir) or die "$!: $dir";

log/test/testと読み込もうとしているみたいですが、log/test/testは当然存在しておらず、log/testしか存在していない状況です。2つ同時掲載は普通やらないと思うんですが、一応、気がついた点という事で報告しておきます。 - たった (2011年06月03日 12時53分01秒)

  • こちらでテストしてもエラーにはならないんですけどねぇ・・・。apache 2.2.11 + fswiki 3.6.4 + CGI.pm 3.43 + perl 5.8.9 - KG (2011年06月04日 14時22分45秒)
  • Apache/2.2.3 perl, v5.8.9 CGI.pm 3.48 fswiki3.6.3+utf8バージョン+speedyCGI版で確認している状況です。バージョンアップして再度確認してみます。後、[http://fswiki.sourceforge.jp/cgi-bin/wiki.cgi/docs?page=FAQ#p14]に同様の問題が出てました。 - たった (2011年06月04日 21時09分19秒)
  • 先の自分の報告の件ですが、3.6.4では特にエラーもなく、(同時利用するかどうかはともかく)recentとrecentdaysと、recentfarmとrecentfarmdaysとの同時利用問題なく表示する事を確認できました。毎度お騒がせして申し訳ありません〜。 - たった (2011年06月07日 19時54分06秒)
  • やはりエラーがでてしまうようで、原因特定してみました。(合ってるかわかりませんが・・・)

farmにtemplate以外のがある状態で、recentfarmtest.wikiに上記の4パターン記載し、SpeedyCGI版でrecentfarmtestページを表示すると下記のエラーが出てしまいます。

そこでtemplate以外のfarmを削除し、親wikiのrecentfarmtest.wikiを確認すると、どうか?4パターン表示されます。

再度適当なfarmを作成して、4つ掲載されているrecentfarmtest.wikiを再度確認すると・・

./wiki_log/aaa/aaa/pagelist.cache at ./lib/Wiki/DefaultStorage.pm line 193. 

そこで、recent/RecentFarmUtil.pmの下記箇所の2箇所を変更する事でエラーが出無くなったのでご報告しておきます。

#		my $path_info  = $wiki->get_CGI()->path_info('/'.$farm); 
#↓
 		my $path_info  = '/';

- たった (2011年06月08日 20時43分23秒)

  • 配列変数をdefinedで判定していた箇所の修正を行いました。recent_farm_20150214.zip(116) - KG (2015年02月14日 15時29分22秒)
お名前: コメント: