Category::Plugin,RSS

recent系,rss系プラグインの統合

  • ページ: BugTrack2
  • 投稿者: Ratbeta?
  • 優先順位: 低
  • 状態: 提案
  • カテゴリー: プラグイン
  • 投稿日: 2005-03-18 (金) 17:47:19
  • バージョン:

メッセージ

BugTrack/745の関連です。

recent.inc.php

recent系プラグインを統合してみました。

更新日ファイル変更点
2006-08-24recent.inc.php.13対象ページが設定されていた場合に、RCVの表示がおかしくなっていたバグを修正。
その他細かいバグの修正。
2006-08-21recent.inc.php.12recent10_feed3_to_a.diffを適用(headline+,headline=2)。
2006-08-21recent.inc.php.11「最新のn件」などの生成されるリンクにもパラメータを反映するよう変更。
2005-08-24recent.inc.php.10微修正(ソフトタブ->ハードタブ)。
2005-08-02recent.inc.php.9微修正のみ。
2005-07-22recent.inc.php.8recent.inc.php rev:1.16相当の変更を反映。
diff指定時に正常に出力できなかったバグを修正。
ルートページ指定時に、指定された件数を出力できていなかったバグを修正。
2005-06-05filerecent.inc.php.7
recent.inc.php.7
recent.inc.php rev:1.14相当の変更を反映。
2005-05-07filerecent.inc.php.6RCV*1が表示できていないバグを修正。
2005-03-22filerecent.inc.php.5見出し出力オプションを追加。
HTML文法エラーを若干修正。
2005-03-21filerecent.inc.php.4データ出力とHTML出力の分離。
2005-03-19filerecent.inc.php.3RCVで1ページ多く表示されるバグを修正。
RCVで最終ページでもNextリンクが表示されるバグを修正。
2005-03-18filerecent.inc.php.2RCV関連の修正。
2005-03-18filerecent.inc.php.1とりあえず公開。

以下のプラグインを統合しています。

なお、統合候補としてofficial:自作プラグイン/showcase.inc.phpも挙げられていましたが、
recentプラグインの目的と著しく異なり、かつ依存性が高いと判断したため今回の統合対象から除外しました。

今後の予定 :

  • rss系プラグインとの内部での統合。
  • HTML文法エラーが発生するのを修正する。

feed.inc.php (<= rss.inc.php)

rss系プラグインを統合してみました。

更新日ファイル変更点
2006-08-21feed.inc.php.5recent10_feed3_to_a.diffを適用(headline=2)。
2006-08-21feed.inc.php.4feed3b.diff.txtによる修正を適用。
2005-08-24feed.inc.php.3微修正(ソフトタブ->ハードタブ)。
2005-08-02feed.inc.php.2RSS出力時のパラメータを変更(ver=rss1.0, ver=rss0.91に変更)。
RSS1.0でのtrackback:pingに関する文法エラーを修正。
2005-06-04feed.inc.php.1feed.inc.phpにリネーム。
pukiwiki.xsl.php.1でのRSS 1.0のXSLT出力に対応。
2005-03-23filerss.inc.php.5LIRS,hina.diに対応。
atom0.3,rss0.91/2.0でのパースエラーを修正。
2005-03-22filerss.inc.php.4見出し出力オプションを追加。
2005-03-22filerss.inc.php.3微修正。
2005-03-22filerss.inc.php.2Atom0.3に対応。
閲覧認証のページは出力しないようにした。
その他細かな修正。
2005-03-21filerss.inc.php.1とりあえず公開。上記のfilerecent.inc.php.4が必要です。

以下のプラグイン/差分を統合しています。

なお、rss10pp.inc.phpの機能のうち、FoaF関連はrssプラグインの概念から外れると判断し削除しています。
また、同プラグインやPukiWikiのdiffのRSSを出力するプラグイン(RSS 2.0/1.0 両対応)で対応されている差分出力に関しても、
同様の理由から現段階では実装を見送っています。

今後の予定 :

  • atom(0.3に対応), lirs, hina.di関連
  • xsl対応(RSS 1.0のみ)
  • 閲覧認証ページのコンテンツを出力しないようにする(rss10pp.inc.phpにも同様の問題が存在する模様です)。

関連 : BugTrack/741

ご意見・ご要望等有りましたらどうぞ。


  • RecentChangesViewerあたりが危ない予感 (^^; -- Ratbeta? 2005-03-18 (金) 17:56:02
  • 予想通りRecentChangesViewerのナビゲーションが表示されていなかったのを修正しました。filerecent.inc.php.2 -- Ratbeta? 2005-03-18 (金) 18:20:00
  • 最新版は常にupした日付と共に一番上に書いてあると、嬉しいかも。 -- okkez 2005-03-18 (金) 23:13:35
  • おおー。誘惑はいろいろあると思いますが、マージしすぎて、安心して使えなくなっちゃわないように気をつけて下さい :) -- henoheno 2005-03-19 (土) 11:01:25
  • 差し支えなければうちのmixirss/mixirecentも統合する気ありません? (^^; >Ratbeta -- みこ 2005-03-22 (火) 12:25:47
    • どこかで見た記憶があると思ったらrss10pp.inc.php.title.diffと同じようなことをしてたわけですね(苦笑)。なるほど、RSSリーダからページ名だけの情報では分かりにくいかもしれませんね。実装してみます(…が、微妙に負荷が高くなる気が(汗)。 -- Ratbeta? 2005-03-22 (火) 18:20:49
      • あくまでも差し支えなければなので (^^; *2まぁ、オプションでもいいんですけどね (^^; -- みこ 2005-03-22 (火) 18:46:35
    • 実装してみました。filerecent.inc.php.5filerss.inc.php.4です。 -- Ratbeta? 2005-03-22 (火) 20:25:09
  • ちなみにdescription出力を有効にするのは便利な機能ですが、実体参照の途中でぶつ切りにされたら簡単にパースエラーが発生してしまう諸刃の剣だったりします。使用には十分注意してください (^^; -- Ratbeta? 2005-03-22 (火) 20:27:41
    • ああ、わたしはそれが怖くてmixirss では n文字を超えた行という形にしていました (^^; あくまでも行メタという意識です。 -- みこ 2005-03-23 (水) 00:52:22
    • 行で切るのはいいアイデアかもしれないですね…。ただ一行にたくさん書きすぎた場合には大変なことになる気がします (: -- Ratbeta? 2005-03-23 (水) 09:57:11
      • (いたずらっこ以外は)そこまで1行で書く人はいないとおもいますから、それほど気にしなくてもいいのでは?*3 -- みこ 2005-03-23 (水) 14:10:36
      • そのいたずらっこが問題だったりします (^^; 複数行パッチはHTML変換してから切ってるので問題ない気がしますが…。 -- Ratbeta? 2005-03-23 (水) 17:18:57
    • きっちり判定するには実体参照の正規表現を作って判別して…負荷がもっと増えそうな予感 (^^; ここらでmixirss.inc.phpのキャッシュ機能を考えた方がいいのかもしれません。 -- Ratbeta? 2005-03-23 (水) 09:58:47
      • そういえば、そんなもの実装してましたね (^^; *4 仕組みは単純なので、あまり時間がかかるようなら入れておいたほうがいいかもしれませんね。(RSS自体は更新しない確率のほうが高いという想定) -- みこ 2005-03-23 (水) 14:09:03
      • よくよく考えると、対応しているフォーマットが多いのと、設定による中身の変動が多いのでキャッシュは逆効果かもしれません。 -- Ratbeta? 2005-03-23 (水) 17:15:31
  • そろそろrss.inc.phpという名前も見直した方がいいような気がします。rssだけを配信しているわけではないので…。 -- Ratbeta? 2005-03-23 (水) 12:31:32
    • recent? -- henoheno 2005-03-23 (水) 22:20:26
      • recent.inc.phpとファイルを統一するつもりはありませんので、それはちょっと無理です。 -- Ratbeta? 2005-03-23 (水) 22:59:59
    • ではfeedとか・・・ -- henoheno 2005-03-23 (水) 23:39:18
      • 私の方ではsyndicateとかを考えてたんですが、feedの方が分かりやすくて良いかもしれませんね。 :) -- Ratbeta? 2005-03-24 (木) 15:49:33
  • RSS(Rich Site Summary ,Really Simple Syndication)でいい気がします。もしくは、適当に英単語三つ並べて無理矢理RSSにこじつけるとか。 -- okkez 2005-03-26 (土) 22:34:16
    • 確かにRSS自体がそういう意味を持ってますよね。ただそれだとやっぱり語弊が出てくるんじゃないかと少し心配です。 -- Ratbeta? 2005-03-27 (日) 10:29:24
    • AtomはRSSじゃないとか、RSS2.0はRSS1.0の次のバージョンじゃないと考えている人は多いと思います。またこのシチュエーションでは、既存のどれでもない名称が望まれているように思います。 -- henoheno 2005-03-27 (日) 15:18:04
    • rdfでいいのでは?もしくはxml。元々の目的はページの要約ですし。 -- Logue 2005-05-02 (月) 23:45:45
    •  こんにちは :) RDFもRSSと同じく一実装の名前として使われてしまっています。また逆に、xmlは指しているものが広すぎるようです。仮にMathMLを出力するmimetexプラグインの亜種が生まれたとして、それもフォーマット的にはxmlではあったりするのですから。しかしrdfもxmlも、個々の管理者が「うちのRSSフィードのURLはこれ」と決めるぶんには何の問題もありません。今回の場合、ユーザーの誰もが使うプラグインの名前なのであれこれ言っているところなのでした。 -- henoheno 2005-05-03 (火) 13:55:29
  • そうなると、やっぱりfeedがいいと思います。syndicateだと、双方向性みたいなニュアンスがありますし。./plugin=feed&type=recent&type=.rdfみたいになるのかな? -- Logue 2005-05-03 (火) 19:33:40
    • 結局feedという意見が多そうなので、これで落ち着かせることにします。 -- Ratbeta? 2005-05-07 (土) 22:24:57
  • BugTrack/59 -- 2005-05-29 (日) 00:54:59
  • とりあえずXSLTにも対応しましたし、ここらで一応完成としておきましょうか。あとは使う人の力量次第といいますか…。 -- Ratbeta? 2005-06-05 (日) 12:30:05
    • お疲れ様です。feed.inc.php.1をdevにアップロードしておきました。 -- henoheno 2005-06-05 (日) 17:48:23
    • 同様に recent.inc.php.7 もミラーしました。 -- henoheno 2005-06-06 (月) 23:48:19
  • お疲れ様です。feedですが、引数をrss主体ではなくてどの手法とも平等にすることはできないものでしょうか。 -- henoheno 2005-08-02 (火) 00:47:20
    • feed.inc.php.2でどうでしょう?cmd=feed&ver=rss2.0などでrssを表示します。 -- Ratbeta? 2005-08-02 (火) 11:47:00
  • あと、ついでにこれも統合希望→Google Sitemapプラグイン -- Logue 2005-11-30 (水) 00:07:55
    • 統合するのはそう難しくは無いですが、一つのサービス固有のものですしねぇ。ちょっと様子見させてください。 -- Ratbeta? 2005-11-30 (水) 20:28:21
  • BugTrack2/150 の下に関連の話題あり -- henoheno 2006-05-05 (金) 23:48:31
  • recentをインラインで使う際、表示される「最新のX件」というリンクにおいて、インラインの引数で指定したヘッドライン指定とページ指定が失われてしまいます。さらにコマンドとして使用した際に表示される各リンクにおいても同様にヘッドライン指定とページ指定が失われてしまいます。これは仕様でしょうか?バグでしょうか? -- 通りすがり99? 2006-08-20 (日) 22:26:51
  • 立て続けで申し訳ありませんが、feedをrss1.0で使った際に必要なpukiwiki.xsl.phpはどこで手に入るファイルでしょうか? -- 通りすがり99? 2006-08-20 (日) 22:38:48
    • pukiwiki.xsl.phpは、粗製でよければ私のサイトに掲載してあります。勿論、XSLが不要ならxml-stylesheetが含まれる行をコメントアウトすることも出来ます。 -- Ratbeta? 2006-08-21 (月) 14:47:58
    • ご指摘の点は確かにrecent.inc.phpのバグでしたので、最新のrecent.inc.php.11で修正しております。 -- Ratbeta? 2006-08-21 (月) 15:59:50
    • 早速の対応ありがとうございました。 -- 通りすがり99? 2006-08-22 (火) 23:41:09
  • 今recent.inc.php.12を試してみました。pageを指定するとマッチしたものだけをリストアップするはずですが、リストアップする総数として199行目で$retval['total']を参照しているためか、何かおかしいです。また、pageでフィルタする前にoffsetで最初のいくつかを削除しているので、表示される範囲がずれてしまってるような気がします。参考までに、自分でちょと直したものをhttp://goodjob.dyndns.org/recent.inc.php.12.hanada *5に置いておきます。recent.inc.php.13にでも反映していただければ幸いです。 -- 通りすがり99? 2006-08-23 (水) 00:31:13
    • $retval['total']を参照しているせい というより、plugin_recent_getlistの戻り値が正しくないような感じがしましたので、recent.inc.php.12.hanadaでは戻り値のほうを修正しています。 -- 通りすがり99? 2006-08-23 (水) 01:02:59
    • 表示範囲がずれる不具合については、recent.inc.php.13で修正できたはずです。また、前者の不具合についてですが、これについては詳細が分かりかねます(修正したファイルにもアクセスできないため、どのような問題が発生するのか理解できていません)。もしかすると修正によってそれも直っているかもしれませんが…。 -- Ratbeta? 2006-08-24 (木) 20:45:15
    • 完璧です!手早い対応ありがとうございました!ウチのサーバにおいていたファイルはなぜか空っぽでした、すいません(汗)もう13にアップデートしましたし、アレはなかったことにしてください(笑) -- 通りすがり99? 2006-08-25 (金) 00:07:08
  • 特定のディレクトリを「除く」全ての更新情報を取得とかは対応できませんか?
    正規表現対応でもいいのですが。 -- 2006-10-23 (月) 02:55:18
    • ディレクトリと言われているのは、ページ名に関する、スラッシュ区切りの階層の事ですね :) ページ名の羅列を希望にそってフィルタするという行為は、可能といえば可能でしょう。そのため、フィルタの条件を動的に変えようとするならそれも可能でしょう。ただ以前BugTrack2/151でも触れましたが、(現状の件数ベースの保存方法では)中身が0件のrssを返す可能性が高くなったり、軽いソリューションであったはずのrss feedが重くなってしまったりと、単純に実装した場合、従来の利用感とは食い違う結果をもたらしかねないと思います。どのようなフィルタ条件を与えるか、については管理者のみが変更できる様にした方が怖くないかもしれません。別件ですが、外部から与えられた正規表現をそのまま実行させるのはとても怖いと思います。 -- henoheno 2006-10-23 (月) 22:39:44
  • 同じWikiサイトからのfeedをshowrssプラグインで表示すると、convert_html()が再帰してサーバが高負荷状態でダウンします。ページ内容を生成するときにプラグインを停止させる改造で回避できました。 -- matsuda? 2008-04-03 (木) 14:24:37
feed.inc.php
136行目あたり
+ global $pkwk_disable_plugin;
+ $pkwk_disable_plugin = TRUE;
  foreach ($retval['items'] as $item) {
    // ページURL取得
convert_html.php
767行目あたり
 function toString()
 {
+  global $pkwk_disable_plugin;
+  if (isset($pkwk_disable_plugin)) {
+    return "";
+  }
   // Call #plugin
   return do_plugin_convert($this->name, $this->param);
 }
  • pcomment の時 と同じような問題ですか・・・。 -- 2008-04-03 (木) 18:01:56
  • (PukiWiki 付属のプラグインの中で)showrss プラグインでしか起こらないなら、
    pcomment プラグインのように、get_source() してからconvert_html() するまでに#showrss で始まる行を除外する、
    でもいいかもしれませんが、feed にその内容が含まれなくなるという副作用が・・・*6。 -- 2008-04-03 (木) 18:36:11


*1 RecentChangesViewer
*2 ページ名だけだと嫌という人の需要は意外と多いんですよ (^^;
*3 ただ、複数行引数のパッチをあてるとこの方法もだめなんですけどね (^^;
*4 実装した本人が忘れておりました (^^;
*5 勝手に他のオプションとか付けられてますが気にしないでください(汗)
*6 他人のサイトのfeed を自サイトのfeed に含めないようにする、という意味ではいいかもしれませんが・・・

添付ファイル: filerecent.inc.php.7 1023件 [詳細] filefeed.inc.php.1 575件 [詳細] filerecent.inc.php.6 1165件 [詳細] filerss.inc.php.5 1253件 [詳細] filerecent.inc.php.5 1169件 [詳細] filerss.inc.php.4 1197件 [詳細] filerss.inc.php.3 1064件 [詳細] filerss.inc.php.2 1079件 [詳細] filerecent.inc.php.4 1174件 [詳細] filerss.inc.php.1 1223件 [詳細] filerecent.inc.php.3 1111件 [詳細] filerecent.inc.php.2 1101件 [詳細] filerecent.inc.php.1 1213件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-04-03 (木) 18:01:56
Site admin: PukiWiki Development Team

PukiWiki 1.5.1+ © 2001-2016 PukiWiki Development Team. Powered by PHP 5.6.33-0+deb8u1. HTML convert time: 0.932 sec.

OSDN