ページの作成や編集にはユーザ登録が必要です。
RSSフィードへ子Wikiの更新情報を反映する
- 投稿者: KG
- カテゴリ: 修正
- 優先度: 普通
- 状態: 提案
- 日時: 2005年07月21日 19時16分10秒
内容
RSSフィードへ子Wikiの更新情報を反映します。
この拡張には、BugTrack-plugin/213 (2006/07/06以降のバージョン)が必要です。
以下のような制限があります
- 取得する子Wikiの更新情報は管理画面から指定した子Wikiもしくは全ての子Wikiです。
- 孫Wiki以降はチェックしません。
- RSS1.0形式の場合は、description に出力されていた見出し部分の表示がページソースになります。(最大250文字)
- rssキャッシュファイルの更新をチェックしている為、子WikiにてRSSプラグインを有効にしていないと正確な更新情報が反映されません。
このような制限事項は標準的なルールを設けさえすればいくつか解消できます。どなたか、良い案があればお知らせください。
インストール
添付ファイルを解凍し、各ディレクトリに展開してください。拡張子が diff のファイルは 差分情報です。適所に適用してください。
- rss_ex_20050722.zip(734) - FSWiki 3.5.8
- rss_ex_20060706.zip(719) - FSWiki 3.5.9 以降
利用方法
子Wikiの指定方法
管理者メニューの 『環境設定』→『出力するRSSのバージョン』の項目で、 出力に含める子Wikiで更新情報を表示したい子Wikiにチェックをして設定を保存します。
この時、config ディレクトリ内の config.dat に rss_wikifarm というキーが設定されます。
導入/設定後にやっておく事
導入と設定が完了したら、RSSプラグインを有効にして、log ディレクトリ内の rss.cache もしくは rss10.cache を削除しましょう。そうすれば、サイトの更新なしに子Wikiの更新情報が反映されます。
ライセンス
GPLでお願いします。
更新履歴
- 2005/07/21 - rss_ex_20050721.zip(686)
- 初期リリース
- 2005/07/22 - rss_ex_20050722.zip(734)
- 子Wiki名をタイトルに追加し表示するように修正
- RSSキャッシュファイルの更新チェックで、全バージョンのキャッシュをチェックするように変更
- その他修正
- 2005/12/06 - rss_ex_20051206.zip(662)
- FSWiki 3.5.9 以降の修正分に対応
- 2006/07/06 - rss_ex_20060706.zip(719)
- ログイン時に更新した「閲覧制限のあるページ」が出力されていたのを修正
- 注意:プライベートモードの WikiFarmはRSSへ反映されません。
コメント
- RSSフィードのリンクタイトルに子Wikiの名前を入れるのを忘れてました。後ほど修正版をアップ致します。 - KG (2005年07月21日 23時53分31秒)
- 修正完了しました。 - KG (2005年07月22日 00時49分49秒)
- FSWiki 3.5.9 以降への対応を行いました。 - KG (2005年12月06日 11時46分02秒)
- 3.5.10からFarmを作成する時に、デフォルトの指定ができるようになりましたが、複写元のFarmで対象子Wikiの設定をしていると、作成したFarm内のconfig.datに設定が引き継がれてしまいます。そのままページ編集すると保存後にエラーとなるため、Farm作成直後は必ず管理画面で子wikiの確認をすると良いかもしれません。 - A_M (2006年02月18日 08時28分05秒)
- farm 存在チェックと、'create_wiki' を hook して設定項目を削除するようにしますね。あと、template用の farm は表示されない方がいいですよね? - KG (2006年02月18日 14時50分13秒)
- template用の farm非表示は、個人的には賛成です。他の人は…どうなのでしょう。 - A_M (2006年02月19日 23時25分07秒)
- BugTrack-plugin/213 の方で対策してみました。create_wiki hook部分は未対応ですが、farmのチェックを導入したのでとりあえずエラーとなることはないと思います。 - KG (2006年02月20日 12時15分20秒)
- ログイン時に更新した「閲覧制限のあるページ」が出力されていたのを修正しました。 - KG (2006年07月06日 18時24分50秒)
- 3.6.4で通常のperl版での実行で、管理画面→環境設定と親・子ウィキ共にクリックしますと「不正なアクションです。」となってしまうようです。子ウィキではプラグイン設定→rssを有効にし、キャッシュファイルは削除している状況です。対応方法などご教授頂けませんでしょうか - たった (2011年06月09日 19時25分17秒)
- このエラーは、アクションを実行しようとした際、そのプラグイン・インスタンスを正しく取得できなかった場合に発生します。多くの場合、そのアクションプラグインの perl モジュール(*.pm)に perl 文法ミスがあって実行できないことが原因です。今回の件では、「管理画面→環境設定」ということから ADMINCONFIG アクションなので、plugin/admin/AdminConfigHandler.pm に問題があると思われます。本プラグインには、このモジュールへの diff ファイルが提供されており、通常は patch コマンドを用いてパッチを当てることになりますが、FSWiki 3.6.3 → FSWiki 3.6.4 での改版により reject されるところが 1 箇所あるようですね(reject 箇所の FSWiki 3.6.4 に対する正しい diff 内容は、おそらく下記の通りになると思います)。多分、この箇所については手動編集でパッチされたと思いますが、編集時の文法ミスなどは大丈夫でしょうか? こちらで試した限りでは、FSWiki 3.6.4 + 本プラグイン(一部、手動パッチ)において、環境設定は正しく開けるようです。 - 菜梨 (2011年06月10日 11時46分23秒)
@@ -136,6 +153,7 @@ sub save_config { $new_config->{accept_attach_update} = $cgi->param("accept_attach_update"); $new_config->{session_limit} = $cgi->param("session_limit"); $new_config->{rss_version} = $cgi->param("rss_version"); + $new_config->{rss_wikifarm} = join("\t",$cgi->param("rss_wikifarm")); $new_config->{open_new_window} = $cgi->param("open_new_window"); $new_config->{inside_same_window} = $cgi->param("inside_same_window"); $new_config->{partedit} = $cgi->param("partedit");
- 菜梨様、ご返答ありがとうございます。AdminConfigHandler.pm.diffの中身を手動で変更していた際、ご指摘の「=」箇所が上下とそろってなくて合ってなかったのでタブで合わせた際、少し違和感を感じていたのですが、再度確認しました所、「$config->{rss_wikifarm} 」→「$new_config->{rss_wikifarm} 」箇所が間違い箇所だったようです。いや〜凄いですね。恐れ入ります^^ - たった (2011年06月10日 22時28分43秒)
最終更新時間:2011年06月10日 22時28分43秒