サイトに更新情報を配置するのに四苦八苦

ちょこっと手直しするつもりがドつぼにはまり、ここしばらくwebと格闘していました。

とりあえずブログが複数あるのと、BIND4で作成した静的コンテンツが入り交じっているので、更新情報を複数のRSSを取得してまとめて表示するスクリプトが必要でした。

静的部分は、BINDの簡易RSS作成プログラムである「ニュースティッカー」を利用していました。
で、あちこちにあるブログの更新を拾い上げるのに、最初は

ITキヲスクさんの「複数RSSまとめ&タブ化ジェネレーター

を利用してました。小さいスペースで、複数カテゴリーのRSSをタブ内でとりまとめられるというもので、トップページにすべてのコンテンツの更新情報をまとめていたのですが。。。

雰囲気が似たものとしては「RSS アコーディオン・ブログパーツ」なんてのもありました。

うちの場合、趣味ごとにトップページを配してそれぞれまとめてあるため、わざわざサイトトップを見に来る人も少ないんじゃないかと(^^;)しかも、まとめて時系列ではなくて、取得RSSごとのまとめのため、同じタブ内で新しい記事が後ろになって見にくくなることも。

だったらコンテンツごとのトップの方に、関係ある項目だけをまとめて置いた方がいいのではないかということで、複数RSSをまとめて表示は1ページで、全部まとめた時系列に記事が並び、複数動作可能なものを探しました。


最も単純なものは「はてなブックマーク」や「Googleリーダー」などに入れたいRSSをつっこんで、それをまとめたRSSを排出する。という手もあるのですが、最初に新しいサイトを読み込む時に時系列ではなくてブログごとに一定の期間分まとめてどばーっと入ってしまうんです(^^;)なので新しく切り替える時にはちょっと不向きかな。

rssを更新時間順にしたい」などのQ&Aも参考にしようとしたが、いまいち私の頭では消化しきれなかった(ーー;)
で、その後目をつけたのが
Feed2JS」。JavaScriptで動作するので軽いかなー?と思って。
でも、確か想像以上に重かったのでやめたんだと思う(いろいろやったので忘れかけてる。。)

さらに
jFeedMixer」というものをみつけた。jQueryプラグインなので、BINDで作ったサイトとも相性良さげかな?と。
これをしばらく使っていたが、やはり多くのRSSを結合すると、どうももっさり重い気がした。

Fumy Merge RSS」というのもやりたいことはほぼ満たしていた。CGI+TreePP.pm,FeedPP.pm。
アップロードする時に必ず「アスキーモード」でないと動作しない(Cyberduckではだめでした)ので、Firefoxのアドオン
FireFTP」というのを利用してうまく動かせました。

ただ、どうもBINDのニュースティッカーの書式が特殊なのか、rssを拾って来てくれませんでした。。。
[php5]RSSを配信している外部ブログの新着記事を自動で取得するphp」なども参考にしたはずなのですが、結局実際には試してなかったかな?

他にもあれこれ試したはずだけど、行き着いたのが
ページ埋め込み型RSSリーダー php5バージョン

うちのサーバーがphp5なので、ソースもどうやらかなり軽いようだしいいんじゃないか?と。
問題は、出力した結果をどう取り込むのか?だった(ーー;)

独自のページにするとか、インラインフレームを使うとかいう手はあるが、私が望むのは既存ページへのスマートな埋め込み表示。インラインはあんまり好きじゃぁないんだな。

いろいろ調べてみると。どうも「phpでインクルード」という方法が一番スマートそうだ。
が!さくらのサーバーでは基本的にこれができない仕様になってるらしい(ーー;)

と、困ったところで「さくらサーバーで.htmlをphpとして動かす」という素敵な記事を発見!
しかし、かなり特殊な方法なので、やる場合は自己責任で。

とりあえずこれで目的とする表示ができるようになった!わーい。。。と思ったら
BINDニュースティッカーの日付をうまく取得してくれず、過去記事も含めて全部1970年の記事にされてしまった(ーー;)

ここでBINDのニュースティッカーを放棄することにしました(笑)いちいちBIND立ち上げて手順踏むのも面倒になってきたしね。
RSSの取得時にいろいろ問題がでるならば、標準的なRSSを吐き出すものをベースにすればいいじゃないか!

問題がでる可能性が低いものと言えば、普及している各種レンタルブログ。ニュースをブログ記事にして、そのRSSを取得すればよし。
さいしょ「さくらのブログ」でやろうとしたが、1ブログまるごとのrssしか吐き出せないので、ニュースが必要な分ブログ本体を作成しなければならない。(いくつでも複数ブログはもてるんだけど、管理が面倒だ)

そこで、ひとつのブログで各コンテンツを分けられるよう、カテゴリーごとにRSSを取り出せるブログを探した。
ライブドアなどもできるようだが、以前利用していたFC2が、広告も小さくてデザインカスタマイズの自由度も高いので選択。

これで静的コンテンツの更新吐き出しも安定した。

しかぁし!phpインクルードをできるようになった代償として、Movable Typeが動かなくなった(爆)
MTはPHPじゃないから、追記が思いっきりバッティングしたらしい。

こうなるとディレクトリを見直すか、全てのアップしたページを個別で手作業で修正しなければならないようだ(ーー;)
phpインクルードは他にも活用できそうだし、MT自体もバージョンアップしてるので、いつアップデートするか?迷っていたし、サイトの更新によっては手直しも必要だし、めんどくさくなってきたのでこれも放棄することにしました(笑)

レンタルブログだと、いざ何か障害でデータが消えた時に自分ではどうしようもないので、できれば自分で管理し易いようにサーバーに置きたかったのだが「さくらのブログ」なら画像等のデータも自分のサーバー内に保管となる。

デザインのカスタマイズ性も高いし、おまけにMT形式をインポートできるらしいので、こちらに移動することにした。
あっけないほど移行が簡単!!MTからエクスポートしたファイルをインポートで読み込ませたら、数分しないうちに移動完了。元々画像データなども自分のサーバーだったから、何もしないでもリンクも保持されていたのだ。

あとはまた、HTMLとCSSをせっせこ調整してサイトの一部のようになじませる。(微妙にズレはあるがw)
でで、サイト表示の方はいいが、サイトから排出するRSSとして「xfruits」を利用していたのだが、気づくと表示されなかったり、、、サーバー落ちなのかメンテなのか、そういうことが何度もあったので乗り換え。urlが一番すっきりしているのが魅力なんだけどね。

他にもRSSをまとめるものとしては
「Webpac」
「FeedBurner」
The Search 検索エンジン
なども使ったことがありますが、The Search 検索エンジンは動作も比較的軽くて、作成も非常に手軽なのが良かった。

が、今度は「カテゴリーごとのRSS」を読み取ってくれず、指定してもブログ全体のRSSをとって来てしまうことに気づいた(^^;)
コンテンツごとに切り離したかったので、細かいカスタマイズ設定ができる「Yahoo! Pipes」を選択。
yahooのサービスだが日本版にはない機能なので英文のみ。

昔もちょっと使っていたけど、いつのまにやらすごく機能が拡張されて使い易くなってるのにびっくり!!8月にはまたバージョンアップされる模様。

詳しい使い方の参考としては
Yahoo! Pipesで自分のフィードをまとめて配信
Yahoo!Pipesの使い方(全モジュール解説)
Yahoo PipesでRSSフィードの統合、カスタマイズ
などがかなり役に立ちました。欲を言えば吐き出されるURLがだだ長くて気に入らないのではあるが。。。

後からちょこっと変更を加えたりカスタマイズする時には、サイトのソースに直接触れることも無くめっちゃ楽ちんなので。

その他にも、サイト内でちょこちょことマイナーチェンジはあります。

ちょっと今気に入らないのが、メニューがそれぞれ独立して、メインメニューーサブメニューーサブの子メニューのカレント設定がうまく連携してくれないこと。

各トップページだけは反応したりするんだけどね。手作業で必要なとこだけ書き換えも試してみたが、BIND4で更新した時に全部上書きされて元の木阿弥にもどるのを確認したので無駄。。。(;;)
別に来た人にはたいして重要でないとこだろうが、私みたいな個人の趣味サイトでは、管理人の自己満足が一番大事なのだ!!(爆

コメントする