今頃になって、自分が
Brunch を
作ったときに、
ほとんどドキュメントを残していないことに気がつきました。
直らない悪い癖ですが、自分で使っていて
Brunch が
意外に便利なので、これが
Thunderbird でも
使えればなお便利、
ついでに
SeaMonkey でも使えるようにしてしまおうと
思っていて、誰にせかされるわけではないので、この機会に
Brunch の
ドキュメントというか、Mozilla プロダクトの開発メモを
ここ に残していこうと思う次第。
# 次のメジャーバージョンで拡張機能の作りが変わるという話は置いといて。。。
まずは install.rdf に記述する UUID の話。
Firefox に
代表される
Mozilla プロダクト群
(こういう呼称がよいかどうかは不明)の拡張機能は
.xpi と言う拡張子を持つファイルで配布されますが、
これは規定のフォルダ構造を持つファイルの集まりを ZIP で圧縮したもの。
# 個人的に最後の圧縮作業は
Explzh を
利用させてもらってます。
この .xpi ファイルの中には install.rdf というファイルがあって、
ここに拡張機能のインストールに必要な情報がまとめて記載されています。
その記載の中に、この拡張機能がどのアプリケーションをターゲットにしているか
(つまりどのアプリケーション向けの拡張機能か)を記載している部分があります。
そこには
Firefox
とかいう文字列がもろに記載されているのではなく、UUID というアプリケーションを
示す識別子で記載します。
たとえば
Brunch
ならこんな感じになっています
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>brunch@ellinikonblue.com</em:id>
<em:type>2</em:type>
<em:name>Brunch</em:name>
<em:version>0.12</em:version>
<em:description>Browser Luncher Extention.</em:description>
<em:creator>Kazuhiro KAWANISHI@ellinikonblue.com</em:creator>
<em:developer>Kazuhiro KAWANISHI</em:developer>
<em:homepageURL>http://www.ellinikonblue.net/devlosxom/</em:homepageURL>
<em:optionsURL>chrome://brunch/content/brunchOption.xul</em:optionsURL>
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>2.0</em:minVersion>
<em:maxVersion>3.6.*</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
</RDF>
タグ em:targetApplication の中にあるタグ Description が
この拡張機能が
Firefox 向けで
対象バージョンが 2.0 ~ 3.6.x までという意味の記載になります。
ひとまず
Thunderbird
( 2.0 ~ 3.0 )の場合は、
<em:targetApplication>
<Description>
<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
<em:minVersion>2.0.0</em:minVersion>
<em:maxVersion>3.0.*</em:maxVersion>
</Description>
</em:targetApplication>
SeaMonkey なら
<em:targetApplication>
<Description>
<em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
<em:minVersion>2.0</em:minVersion>
<em:maxVersion>2.0.*</em:maxVersion>
</Description>
</em:targetApplication>
と言うことのようなんですが、はてさてこの UUID っていったいなんじゃらほい?
というのはよく知らず。
この記述をどういう風に加えればいいかをよく調べてから、一度、
Thunderbird で
試してみるのかな?
#
SeaMonkey は今のままでもすぐ動きそうですし。。。