Mozilla プロダクトの UUID
今頃になって、自分が
Brunch を
作ったときに、
ほとんどドキュメントを残していないことに気がつきました。
直らない悪い癖ですが、自分で使っていて Brunch が 意外に便利なので、これが Thunderbird でも 使えればなお便利、 ついでに SeaMonkey でも使えるようにしてしまおうと 思っていて、誰にせかされるわけではないので、この機会に Brunch の ドキュメントというか、Mozilla プロダクトの開発メモを ここ に残していこうと思う次第。
# 次のメジャーバージョンで拡張機能の作りが変わるという話は置いといて。。。
まずは install.rdf に記述する UUID の話。
Firefox に 代表される Mozilla プロダクト群 (こういう呼称がよいかどうかは不明)の拡張機能は .xpi と言う拡張子を持つファイルで配布されますが、 これは規定のフォルダ構造を持つファイルの集まりを ZIP で圧縮したもの。
# 個人的に最後の圧縮作業は Explzh を 利用させてもらってます。
この .xpi ファイルの中には install.rdf というファイルがあって、 ここに拡張機能のインストールに必要な情報がまとめて記載されています。
その記載の中に、この拡張機能がどのアプリケーションをターゲットにしているか (つまりどのアプリケーション向けの拡張機能か)を記載している部分があります。 そこには Firefox とかいう文字列がもろに記載されているのではなく、UUID というアプリケーションを 示す識別子で記載します。 たとえば Brunch ならこんな感じになっています
ひとまず Thunderbird ( 2.0 ~ 3.0 )の場合は、
この記述をどういう風に加えればいいかをよく調べてから、一度、 Thunderbird で 試してみるのかな?
# SeaMonkey は今のままでもすぐ動きそうですし。。。
直らない悪い癖ですが、自分で使っていて 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 は今のままでもすぐ動きそうですし。。。

