先日の未踏ユースブースト会議にて、ウノウの尾藤さんから「作業日報は大切」とのお話をお聞きしました。作業内容をさらすことによって自分を監視下に置く事ができるかららしいです。というわけで、最近更新をさぼっていたこのブログを作業日報として利用することにいたします。

 現在、簡単にブックマーク情報にアクセスできる EasyBookmark クラスを開発中。将来的には、単にフォルダやページを追加したりするだけじゃなくて、文字色を変えられたりするなど、ユーザインターフェース面でも強化を図っていく方針です。
 ただ、私は Firefox 拡張機能開発に関しては全くの素人なので、色々なところからソースコードをダウンロードしてきて、印刷して読んでいます。毎日ソースとにらめっこ。
 とりあえずわかったことは、Firefox のブックマーク情報は RDF で格納されているらしく、直接 DOM で取り出すことは不可能だということ。一通り調べてみた限りでは、ビルトインクラスの BookmarksUtils を使うのが一番近道なようです。
 たとえば、選択中のノードのキャプションを取り出したいときには、

var foo_res = (/*bookmarkObject*/)._selection.items[0].Value

とやって、foo_res を BookmarkUtils でごにょごにょするといいみたいです(ごにょごにょの部分は調査中)。ここで、foo_res は選択中のノードに関する情報で、RDF 関連のオブジェクトになります(これが DOM なら楽なのになぁ…)。
 明日もこれの開発をやる予定です。

CVS 導入

 もう今さら感がありますが、開発用の PC に CVS を導入しました。

実は CVS 導入はこれが初めて。まだサーバ側の準備ができてないので、道は長そうです。

Firefox 拡張機能開発

 Firefox拡張機能開発に手をつけてみました。開発は IE よりは楽ですが、それでも絶対的にはすごく面倒です。とりあえず、私は次の本を読んで勉強しました。

この本によると、どうやら Firefox 拡張機能の xpi ファイルってあるじゃないですか。これってソースが zip 圧縮されてるだけのファイルなので、普通に解凍すると中身見えちゃうみたいなんですよ。
 たとえば、

これとか、ダウンロードして解凍してみてください。ちなみに、解凍後のフォルダにある *.jar ファイルも、解凍すると中身覗けちゃいます。
 で、私はソースコード読んで勉強する人間なので、本はもうやめにして、xpi の中のソースコード読むことにしました。これなら、人の技術を簡単に盗めちゃいますしね。

拡張機能開発に便利なツール

 Firefox拡張機能開発が面倒なところは、適当な開発環境がないこと。たとえば、インストールに必要なファイルも全部自力でテキストファイルとして作らなくちゃならないですし、パッケージングも全部手作業。でも、世の中便利なものを作ってくれる人がいるみたいで、こんな便利なツールがありました。

 これを使うだけで、インストールに必要なファイルを作ったりする面倒な作業が省けちゃいます。ただ、英語と操作性の悪さ難点なので、今度日本語向けに UI 整えたものを作っちゃいたいなーとも思ってます。
 あっ、そうそう。今日はパッケージングを自動化する bat ファイルも書いてみました。そのうちいろんな作業を統合して処理できる環境を作りたいなぁとも思ったり。