LesserWiki タグ機能

LesserWikiCVS 開発版にタグ機能が追加されたので、さっそく乗り換えた。開発版では i18n ライブラリ i18n_ror を使うようになったので、取ってきて message_resources.rb を LesserWiki の lib ディレクトリに置く。これで lib ディレクトリは、0.1.0 の lib に message_resources.rb を追加した構成になる。次に、タグを使えるようにするため、LesserWiki 0.1.0 で使ってきたデータベースファイル lesserwiki.db に細工をする。もっと賢い方法があると思うけど、SQLite をよく知らないので原始的に。幸いなことに、データベースファイルはまだ小さい。

$ sqlite3 lesserwiki.db .dump > lesserwiki.txt

で、データベースの中身をテキストファイルに書き出す。そして、0.1.0 と 開発版の DB スキーマを比べて、後者に追加されているタグ関連のテーブルを lesserwiki.txt に書き足す。データ領域を壊さないことだけ気をつければ、たいして難しくない。ついでに、diff で見やすくなるかなと考えて、テーブルの並びを新しい schema.sqlite.sql と同じにしておいた。

これで準備が整ったので、

$ mv lesserwiki.db lesserwiki.db.bak
$ sqlite3 lesserwiki.db
sqlite> .read lesserwiki.txt
sqlite> .quit

を実行して、データベース移行作業はおしまい。あとは、0.1.0 と同じ手順で WEBrick サーバを起動、タグをつけたりするなどして動作を確かめた。

`/' の入ったタグはつけられずエラーになったので、代わりに `+' を使った。タグと howm リマインダを組み合わせて、GTD の context や project の抽出に使えないか妄想中。メタ情報であるタグをつけて、tiddler を串刺しに一覧できるのは便利だなあ。それと、今日初めて使ったエイリアス機能もいかす。必要に迫られるとそのよさがわかる。