備忘録も兼ねて、旧サイトから今回のリニューアルに至る流れのまとめ。技術的な内容なんで、あんま面白くはないと思います(笑)
以下、ちょっとだけ難しい話。
昨年くらいまではblosxomってシステムをベースに色々改造を施して使ってました。
ほんの短いperlの本体+各記事毎のテキストファイル、テンプレートのhtmlだけで動くシステムで、(運用当初、php+mySQLさえ使えないダメサーバだった事もあり)ツꀀデータベースさえ使わない潔い造りが好きだったのですが、
さすがにデータが肥大化してくると閲覧するたびにかかる負荷も半端ないようで、また個人的にphp+mySQLの勉強を兼ねて、いわゆるCMSツールを導入しようと色々試した結果(geeklogやxoopsに対する悪口はいつか改めて書く)、WordPressの改造運用に行き着いた次第です。
で、他にもボイスブログや動画等のコンテンツも他サイトで複数運用しておりまして。それらの情報も全部まとめて「ひやしんすオンライン」の一部として配信したいなと考えていたんですよね。
で、巡回して取得したRSSを時間順にソートして、同一フォーマットで書き出すというナイスアイディアを思いついたまでは良かったんですが、これがもう重いのなんのって。これじゃBlosxomから移行した意味がありません。ツꀀ
数時間毎にキャッシュ取ったりとかして緩和策は幾らか練ってたんだけれど、それでもトップページ生成の度に各サイトのRSSを全部拾って修正・ソート・整形等した後に再構築…を繰り返していたのでは、何とも効率が悪い。
まず、RSS収集の時点で時間がかかってしょうがないばかりか、各サーバに毎回負荷をかける事にもなるので迷惑極まりないですね。
うーん、良いアイディアだと思ったんだけどなぁ。
そこで、更新した時だけRSSを静的生成し、トップページの構築時にはそれを取りにいくという、コロンブスの卵的な逆転の発想で対処しました。
「じゃあ最初からhtmlを書き出しておいて、インデックスに張り付けときゃ良いじゃん。馬鹿?」との声も聞こえてきそうですが、そこは表示件数指定や携帯表示対応など、柔軟に対処出来る様にしておきたいのですよ。
この方法ならば、常に最新の統合RSSを負荷ゼロで自鯖に置いておけるので、幾らでも気兼ねなく使えます。
しかも既に再構築/整形済みの統合RSSだから1件毎に文字コードや項目間の整合性を考える事なく、使い勝手も良いですし。
ただ残念ながら音声・動画・テキスト等コンテンツを混在させた都合上、iTunesに放り込んでのポッドキャスティング等は現状出来ないです…。こちらも何とかしたい予定。
あとRSS1.0やatom配信も…必要?
この辺りの規格には「お前等もっと仲良くしろよ」と言ってあげたい。