1.MT4.1+Perl版ダイナミック・パブリッシング+携帯投稿または日時指定更新...のキャッシュ問題解決編(多分)[web制作]
(2008-08-20 20:52:40)


< ページ移動: 1 2 >

どうやら、今度こそ、上手く行ったようなので未だに自信なさげながらも本気でまとめます。

主題は、「Perl版ダイナミック・パブリッシングを使っていて、携帯からの投稿時や日時指定更新時に上手く最新の記事が更新表示されない」ケースへの対応策です。

お盆休みの大阪帰省中、実は携帯からアレコレ更新しようと思っておったのですが、MTmailから何度送信しても、挙句にubicast Mail Bloggerから送信しても、全く更新ができないという事態に直面したのでした。エラーメールが返ってくる訳でも無いので当初はMTmail側のトラブルを疑ったのですが、ubicast Mail Bloggerからでもダメとなると小生が何かやっちゃったっぽいです。心当たりと言えば、先日、ダイナミックパブリシングに切り替えて以降、日時指定での更新時や、携帯からの更新時にキャッシュが上手くクリアされない問題が発生し「XMLRPCServer.pm」をガチャガチャと弄ったのが原因でしょうか。とまぁ、旅行中は軽くガッカリだったのですが、また新しい課題というか難題というか、夏休みの宿題っぽい事態が発生したわけであります。

「XMLRPCServer.pm」の何を弄ったのかと申しますと。上記の問題を解消するべく調べた中で、お世話になっているThe blog of H.Fujimoto様のPerl版ダイナミック・パブリッシング(MT4用)のページの中で、コメント部分にてこんなやり取りが記録されていたのであります。

No.21 yuha : (無題)
[返信] [引用して返信]

いつもお世話様です。
Perl版ダイナミック・パブリッシングを何とか導入させていただきました。この状態でモブログすべくMTmailを使用してエントリを投稿したところ、管理画面のブログ記事の一覧には正常に現れるのですが、全然サイトに反映されませんでした。管理画面で手動でサイトの再構築をしても改善せず、試行錯誤した結果、プラグインの設定のところからキャッシュをクリアしたところ表示されるようになりました。この現象を回避する方法はないもんでしょうか。
2007年12月25日 23:51

おおー、これはまさに小生も直面した課題。この時は結局諦め気味に、キャッシュを使用しない設定にしてアクセスされる度にページを生成させるようにしたのでありました。これに対する開発者の壱様のお答えがコチラ

No.22 壱 Author Profile Page: Re:MTMailの件
[返信] [引用して返信]

>yuhaさん
こんにちは。

ご質問の件ですが、おそらくMT/lib/XMLRPCServer.pmを書き換えれば動作するようになると思います。
MT4.01だと、上記ファイルの250行目に「$entry->save;」という文があります。この後に、以下の2行を追加してみてください。

$blog->touch;
$blog->save;
2007年12月26日 00:01

キタ━━━━(゚∀゚)━━━━ッ!!
早速該当のファイルを見てみることにします。若干上記のパスとは異なりますが、「(MTインストールディレクトリ)/lib/MT/XMLRPCServer.pm」 を発見して開いてみたところ...あり?250行目付近に「$entry->save;」ってのはありませんですナァ。小生のバージョンがMT4.1で、コメントにある「MT4.01」と若干違うからでしょうか。代わりに370行目付近にて「$entry->save;」を発見しました。何かもう一つ、480行目付近にも同じく「$entry->save;」があるのが気になりますが、とりあえず前者の後ろに

$blog->touch;
$blog->save;

を追加して、日時指定投稿のテストしてみました。再度キャッシュの使用をonにしてレッツ・テスト日時指定更新...効果ナッシング。キャッシュがクリアされません。じゃぁ後者側だけに追加した場合は?⇒やっぱダメですか。んじゃ両方ダ!⇒え、ダメなの?...ここで諦めて、キャッシュ機能をoffに戻し、放置していたのが拙かったようで。

結論から言うと、上記の後者側に

$blog->touch;
$blog->save;

を追加してしまうと、携帯からの更新が出来なくなってしまうっぽいです。ヌガー。

上記の前者側、すなわちMT4.1の場合は370行目付近にある「$entry->save;」の後ろに

$blog->touch;


< ページ移動: 1 2 >
1/419

コメント(1)
次の記事へ >
一覧へ戻る

Powered by
MT4i 3.0b3