2002-08-21(水) 7469歩 [長年日記]
■ tDiary: 先っぽ追従
なんだかすごく涼しかったので、うっかり1時間近く寝坊してしまった。悔しいので(←関連なし)、ついにこのAsumi日記も先っぽに追従開始。実際に1.4と同じページを復元しようとすると、プラグインの非互換やら、テーマの非互換やらがひっかかって、なかなか簡単にはいかなかった。
ともあれ、新型テキストデータ形式での保存に移行できたし(速いマシンだとそこそこ快適)、とりあえずは後ろ向きの作業はせずに済んだ。まだ実績が少ないので、なにかのはずみでデータがすっ飛んじゃったりするかも知れないが、そこはご愛敬ということで。最悪でも1日前の状態には戻せるから。
■ tDiary: 1.4からの移行手順
メモ程度だけど書いておく。coreとpluginのCVS最新版を取得済みで、保存形式はtDiary2形式(テキスト)に移行するという前提。
まず、tdiary.conf。ほぼ互換性があるけど、できれば付属のtdiary.conf.sampleを書き換えて使った方がいい。現段階ではまだデフォルトの保存形式は旧版のままなので、その切替えをtdiary.confで指示する。この指定はいずれ(開発版のパッケージ公開のタイミングで)不要になる予定。
require 'tdiary/defaultio' @io_class = DefaultIO::IO
■ 続いて、データの変換。misc/convert2.rbというのがあるのでそれを使う。tDiaryインストールディレクトリにtdiary.confがあるという前提だと以下のようにすればヨイ(それ以外の場合は-pなり-cなりのオプションを適切に指定する)。
% su ←ファイルのパーミッションがWebサーバだと思うのでroot作業を推奨 Password: # cd (tDiaryのインストールディレクトリ) # ruby misc/convert2.rb # cd (データのディレクトリ) # chown -R apache:apache . ←Webサーバから読み書きできるように
新形式のファイルは、年ごとのディレクトリの下にYYYYMM.td[2cr]という形式で入っている。.td2は日記本文、.tdcはツッコミ、.tdrはリンク元がそれぞれテキストで月単位にまとまっている。あとは、勇気のある人は旧データ(YYYYMMのファイルとYYYYMM~[バックアップ])を削除してもヨイ。でも、どっかに残しておきましょう:-)
■ 非互換があったプラグインは、いま使っている中ではdisp_referrer.rbが。すでに修正してCVSに入れた。他は事前に修正してあったので、大きな混乱はなく。ただ、自分で使っていないのはわからない(笑)。
■ あとはテーマだけど、CVSに入っているテーマで1.5に追従しているものはほとんどない。ちなみにデフォルトはいまここで使ってるこの青っぽいのがそれで、格納先もtheme/テーマ名というディレクトリの下に変更になっている。自前のテーマを変換したい場合は、NTさんのテーマ変換スクリプトをトライしてみるといいかも。
■ mod_ruby(2)
mod_rubyが野良ビルドのわけ、思い出した。
去年、網道編を書いているときにerubyとmod_rubyのインストール方法を書く必要があったので、rpmを削除して自分で入れたらそれっきりだったんだ(笑)。自宅の環境は執筆とテストに使っているのでおいそれと入れ替えるわけにいかず、影響の少ない職場のマシンでやって、それ以来なにもいじってないからこういうアリサマになっている、と。
どのプラグインが非互換でしたか ?
ちょっとあやふやですが、makelirs.rbみたいにプラグインで動的にTDiaryのオブジェクトを生成するのはダメだったと思います。
TDiaryのオブジェクトを生成する時に汚染された文字列を引数にしてDir系のメソッドを使うせいだったと思うんですが、自信がないです。