MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

質問全般・改善要望
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by modxfan » 2012年12月10日(月) 16:17

-----
ご利用のサーバ:CPI Z2プラン
MODX Evoのバージョン:ver 1.0.5J-r3からver 1.0.6J-r8へのアップグレード済み
PHPのバージョン:PHP 5.2.8
MySQLのバージョン:MySQL5.0.45
ブラウザ:IE9、Firefox12、chrome
-----

yama様へのお尋ねになるかも知れませんが、
以前、MODX Evoのバージョン:ver 1.0.5J-r3からver 1.0.6J-r8へのアップグレードをおこないましたが、
まだ気付かなかったトラブルが見つかりました。
RSS機能が使えなくなっているのです。

RSSページを開くと、気づいただけでも二点おかしくなっています。

(1) 最新のニュース記事が一番上に来ていたのに、一番下に出るようになってしまっている

(2) 新たに投稿したニュースがRSSに反映されない

修正方法の方を何卒よろしくお願いいたします。
アバター
yama
管理人
記事: 3154
登録日時: 2009年7月29日(水) 02:50

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by yama » 2012年12月10日(月) 16:19

スニペットコールはどのように書いてますでしょうか?
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by modxfan » 2012年12月10日(月) 16:43

リソースが
[(site_name)] RSSフィード
となっているヤツに貼り付けてあるコードは以下です。

コード: 全て選択

[[Ditto? &parents=`62` &format=`rss` &display=`20` &total=`20` &removeChunk=`Comments` &dateSource=`editedon`]]


また、
&removeChunk=`Comments`
とあるので、『Comments』と書かれてあるチャンクも必要でしょうか?
以下がソースでした。

コード: 全て選択

<div id="commentsAnchor">
[!Jot? &customfields=`name,email` &subscribe=`1` &pagination=`4` &badwords=`dotNet` &canmoderate=`Site Admins` !]
</div>


Commentsの直下に、
「Comments-RSS」
というチャンクもあったのでそちらのソースは以下です。

コード: 全て選択

<div id="commentsAnchor">
[!Jot? &customfields=`name,email` &subscribe=`1` &pagination=`4` &badwords=`dotNet` !]
</div>
アバター
yama
管理人
記事: 3154
登録日時: 2009年7月29日(水) 02:50

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by yama » 2012年12月10日(月) 16:50

コード: 全て選択

[[Ditto? &parents=`62` &format=`rss` &display=`20` &dateSource=`editedon` &orderBy=`editedon ASC`]]

これでどうでしょう?
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by modxfan » 2012年12月10日(月) 17:30

差し替えてみましたら、もともと開いていたFirefoxで再読み込みをしたら、何も変わりませんでした。
Chromeで初めて開いてみたのですが、ChromeだとXMLのソースが開いてびっくりしました。投稿順も直っていません。
記事も今日投稿した最新分は反映されていません。
IEやOperaを新たに開いたら、投稿順だけは直りました。


ところで、同じDittoソースなのになぜアップデートした方だけが稼働しなくなるのでしょうか。
バージョンアップしていないもうひとつのMODXサイト(1.0.5J-r7)は正常なのです。
最新が一番上で、一番下が一番古いニュースにちゃんとなっていますし、投稿したらちゃんと反映します。
もちろん今日投稿した記事もちゃんと追加されますし、一番上に出るのですが・・・
mune3001
メンバー
メンバー
記事: 60
登録日時: 2010年5月08日(土) 16:58

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by mune3001 » 2012年12月10日(月) 23:47

1.0.5J-r9あたりのdittoに入れ替えたら古いコードがうまく実行されたことがあったので
試してみる価値があるかもです

バージョンごとに全て確認できてないので
後ほど確認してみますが
1.0.6Jあたりからdittoの表示順がうまく効かないことがあるようです。

(検証時間がなかった為、r4インストール後dittoのみ順に古くしていって1.0.5J-r9に同梱のdittoで上手く動いたことがあります)

古いバージョン内の
assets/snippets/ditto内のファイルをアップし
install\assets\snippets内のditto.tplを管理画面のスニペートに上書き
以上の手順でした。
※念のためDBのバックアップ後に作業してください。

>yama様
phxのCustomModifiersを多用している為
r4以降は未検証です。
後ほどdittoとphxで情報共有させてください
アバター
yama
管理人
記事: 3154
登録日時: 2009年7月29日(水) 02:50

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by yama » 2012年12月10日(月) 23:57

mune3001 さんが書きました:1.0.5J-r9あたりのdittoに入れ替えたら古いコードがうまく実行されたことがあったので
試してみる価値があるかもです

PHPのバージョンは分かりますか?(たとえば5.1.6とか)

あと、現在は&orderbyが正式なパラメータで、Ditto のv1の時の&sortbyは現在ではテスト対象にしていないです。これはたぶん関係ないと思いますが。
mune3001
メンバー
メンバー
記事: 60
登録日時: 2010年5月08日(土) 16:58

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by mune3001 » 2012年12月11日(火) 00:06

PHP Version 5.1.6 (CPI VPS仮想専用サーバー) 前に修正を頂いたコードで対応できました。

PHP Version 5.2.17 (WADAX共有)
修正していただいたコードでも順番が上手くかわりませんでした。

PHP Version 5.3.3 (GMOクラウド)
はちょっと記憶が曖昧ですが
古いコードに変えた記憶があります。。。

もっと早くに情報を共有できていればよかったのですが
バタバタしてたので遅くなり申し訳ございませんでした。
アバター
yama
管理人
記事: 3154
登録日時: 2009年7月29日(水) 02:50

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by yama » 2012年12月11日(火) 00:19

CPI・WADAX・GMO・・・3者とも少し厄介なサーバですね。もちろん対応できるはずですが。
3者とも、お試し利用ができないため対応が後回しになっています。

orderbyパラメータは複雑な処理はしてないので、数回デバッグを繰り返すと対応できると思います。
もし可能ならパッチを作りますので、WADAXまたはGMOサーバでお試しいただければと思います。
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by modxfan » 2012年12月11日(火) 17:44

Dittoの部分だけ古いMODXのバージョンのものを使うということでしょうか。
もともとのバージョンから新しいバージョンへアップデートしただけでトラブルが続出し、かなり色んなことを行って修繕してきたので
Dittoの古いものと入れ替えるなど、もうこれ以上手動対応をするのは厳しいです。
しかしRSSをまともに表示させるのは必須なので、こうなったら
やはり元の古いバージョンへ戻すしかないな、と思っています。

画像付きの投稿をすると画像がリサイズされず、単に縮小されるという問題は残っていましたが、
それ以外は一応古いバージョンであれば最低限、サイトを運用していくことは出来ていましたので。。
MODXのアップデートは厳しいものがあります・・・
アバター
yama
管理人
記事: 3154
登録日時: 2009年7月29日(水) 02:50

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by yama » 2012年12月11日(火) 18:17

アップデート処理が正常に動作していないということだと思うので、逆に最新のDittoをQuickManagerなどと同じようにインストールし直してみるとどうでしょう?
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by modxfan » 2012年12月11日(火) 18:18

なるほど・・・
明日試してみます
アバター
yama
管理人
記事: 3154
登録日時: 2009年7月29日(水) 02:50

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by yama » 2012年12月11日(火) 18:29

手順が多いと失敗しやすいと思うので、一式添付しておきますね。解凍するとditto.tplとdittoフォルダが出てくるので、まずdittoフォルダをassets/snippets/ディレクトリに上書き転送。不安な場合は元のdittoディレクトリをditto_bakなどにリネーム退避してから転送するとよいと思います。
次にditto.tplをテキストエディタで開いて、その中身をDittoスニペット編集画面に貼り付けて更新です。これも、不安な場合は先に複製ボタンでバックアップをとっておくと安心と思います。
添付ファイル
ditto.zip
(63.4 KiB) ダウンロード数: 197 回
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by modxfan » 2012年12月12日(水) 13:32

頂戴したditto.tplを見ると、MODXのスニペットにあるDittoと同じ2.1.3となっていましたので
本件は試すまいかとも思ったのですが、とにかく試しました。

しかし結果は変わりませんでした。2.1.3は正しく入っていたということでしょうか。
アバター
yama
管理人
記事: 3154
登録日時: 2009年7月29日(水) 02:50

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by yama » 2012年12月12日(水) 13:48

検証用のテスト版を添付しました。これを同じように試してみて、違う結果になるか見ていただけますでしょうか。変わる場合は、その部分を修正してみます。
添付ファイル
ditto.zip
(63.54 KiB) ダウンロード数: 192 回
アバター
yama
管理人
記事: 3154
登録日時: 2009年7月29日(水) 02:50

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by yama » 2012年12月12日(水) 14:03

・・・と思いましたが、IEとOperaでは問題ないのでしょうか?Dittoはブラウザなどクライアント側の環境によって出力を出し分ける機能はないので、Ditto以外に原因があるのかもしれません。MODXに関係する可能性があるところとしては、主にプラグインです。
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by modxfan » 2012年12月12日(水) 14:40

2.1.4を試し、各ブラウザで見てみましたが何も状況変わっていないやうに見えます。

IE8: 最新は上に来ているが、一番最新投稿は反映されていない。
Chrome 23.0xxxx: 最新は上に来ず、一番最新投稿も反映されていない。かつXMLソースが開く(アップデートしていない方のサイトはXMLソースが開くものの、最新が投稿されているし上に来る)
Firefox 12.0: すでに開いていたので再読み込みした。最新は上に来ず、一番最新投稿も反映されていない。
Opera 12.02: 最新は上に来ず、一番最新投稿も反映されていない。


アップデートして初めて投稿をしたのですが、どのブラウザでもそれが反映されないこと(IEも同じ。すべてのブラウザ)、
表示順もほとんとのブラウザで一番新しい投稿が一番下に表示させていること(IE8だけは何故か新しい投稿の方が上にきている)

という感じです。
アバター
yama
管理人
記事: 3154
登録日時: 2009年7月29日(水) 02:50

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by yama » 2012年12月12日(水) 14:49

最新の投稿が表示されてないとのことですが、この投稿は公開されてますでしょうか?あるいは、グループ管理機能で特定のグループに所属する設定になってないでしょうか?
Dittoのコードを見たところ、この部分にバグが潜んでいる可能性はなさそうなので、Ditto以外のところに原因があるのかもしれません。
実際にSQL文を見てみるとだいたい分かるので、後ほどSQL文の表示方法を説明しますね。(簡単な一行プラグインを作ります)
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by modxfan » 2012年12月12日(水) 15:16

もしやと思い、rssのテンプレートのHTML投稿エリアに貼り付けてあったソースのうち、
displayが20でしたよね。これを50にしてみたら、状況変わりました。
ここは表示を20件に限定する指示なのはわかっていましたが、RSSであってもそれを超えると「次へ」などと出るのだと思っていました。
ニュース一覧ページもDittoでそれができているので。

●IE: アップデート後に投稿した最新ニュースが一番「上」に表示された
●Firefox: アップデート後に投稿した最新ニュースが一番「下」に表示された
●Chrome: アップデート後に投稿した最新ニュースが一番「下」に表示された。表示はXMLソースのまま
●Opera: アップデート後に投稿した最新ニュースは相変わらず存在しない。順序は新しいものが一番「上」に表示された


Operaだけ最新ニュースが依然として出ないのと、表示順はFirefoxとChromeが直りません。この二つのブラウザは外せないですね・・・


SQLの件、了解しました。
お待ちしております
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: MODX Evoをver 1.0.6J-r8にしたらRSS機能が使えなくなっている

投稿記事by modxfan » 2012年12月12日(水) 15:23

一応、MODXをアップデートしていないサイトの方のRSS表示が各ブラウザでどうなっているかを記載しておきます。

●IE: 一番新しいニュースが一番「上」に表示されている
●Firefox: 一番新しいニュースが一番「上」に表示されている
●Chrome: 一番新しいニュースが一番「上」に表示されている。が、表示はXMLのソースそのまま。
●Opera: 一番新しいニュースが一番「上」に表示されている

ChromeがRSSページをXMLソースで表示してしまうこと以外、正常です。