Yuriko.Net 個別記事

自作ウェブログツールへの道
Yuriko.Net は紆余曲折を経て、自作ウェブログツールでの運営に漕ぎつけました。なんとか実装できたので満足していますが、もうちょっと工夫していれば、既存ツールが採用できたかもしれません。
2004年8月にリニューアルしたとき、ウェブログツールはよく分からなかったのでパスして、見た目はウェブログ風になるように HTML 手書きでがんばることにしました。さすがに手書きではエントリーごとのページを作るのは大変なので、HTML ファイルの最小単位は月別アーカイブとし、各エントリーへの永続リンクはページ内アンカーでごまかしました。http://www.yuriko.net/arc/YYYYMM/#dYYYYMMDDx という感じです (YYYY=年, MM=月, DD=日, x=日ごとの連番文字)。その後、古い記事を取り込むには年と月を別ディレクトリーに切らないと収拾が付かないと判明して、永続リンクは http://www.yuriko.net/arc/YYYY/MM/#dYYYYMMDDx としました。ここまでは設計に問題はなかったはずです。
失敗だったのは、Perl で個別エントリーページを作るスクリプトを書いたときです。月別アーカイブの HTML を Perl で解析して、個別エントリーをそれぞれ1ファイルとするスクリプトを作りましたが、このとき個別エントリーの URI を http://www.yuriko.net/arc/YYYY/MM/DDx としてしまったのです。既存ツールと相性がいいのは http://www.yuriko.net/arc/YYYY/MM/DD/x のように日付で一旦ディレクトリーを切るスタイルだったのですが、それだと月別ディレクトリーの下に日付の分だけディレクトリーができてしまって管理が大変だと思いました。DDx というスタイルだと、月別ディレクトリーの下に各エントリーの個別ファイルができるので運営が楽そうでした。実際、この設計は作業が楽で、月別エントリーのファイルをサーバーに転送し、サーバー上で Perl スクリプトを走らせて、月別ディレクトリーにできた個別エントリーファイルのタイプスタンプをチェックすれば OK だったのです。
しかし、その後、既存ツールを適用できないかと検討したときにハマりました。http://www.yuriko.net/arc/YYYY/MM/DDx という URI で運営できるツールは1つもないのです。日付のあとにスラッシュがある URI 体系 (http://www.yuriko.net/arc/YYYY/MM/DD/unique) なら対応できるんですが、それも日付の後の文字列はすべての記事にユニークな文字列である制限がありました。日付ごとの連番文字 (a,b,c,…) というのは無理なのです。
ということで、Yuriko.Net を既存ツールで運営するのは無理となってしまいました。一般的なウェブログの URI 体系にしていなかったのが失敗です。もしくは、Perl による個別エントリー生成スクリプトを作る時点で、ウェブログソフトの導入を検討してもよかったでしょうね。
要は、URI は慎重な設計が必要だということです。既存ウェブログツールの URI 体系はそれなりに考えられた体系なので、それに従っておいた方がいいということかもしれません。現状の Yuriko.Net の URI 体系も悪くないはずなんやけどな〜〜 (負け惜しみ)。