「Thunderbird アドオン開発はじめの一歩」の記事で、メールクライアントソフトの Thunderbird(サンダーバード)アドオンの作成方法をご紹介しました。作成したアドオンは、ATN(addons.thunderbird.net)に公開して配布することもできますが、アドオンファイルを自主配布してアップデートサーバーを用意すれば、自主配布した Thunderbird アドオンでもクライアント側で自動更新させることができます。そこで今回は、Thunderbird アドオンの自主配布とアップデートサーバーの設定手順をまとめてみました。
アップデートサーバーの準備
アップデートサーバー下準備として、HTTPS が使える Webサーバーを用意してください。専用サーバーや独自ドメインである必要はありませんので、AWS S3 や Azure Storage を使った静的Webサイトホスティングや共用のレンタルサーバーでもOKです。
アップデートサーバーの設定
アップデートサーバーの設定は簡単で、アップデート用のJSON更新マニフェストファイルを1つ Webサーバーのドキュメントルートに配置するだけです。
参考資料:Updating your extension | Firefox Extension Workshop
例として、アップデートサーバーのURLを「https://example.com/」とした場合のJSON更新マニフェストファイル(updates.json)の内容は次のようになります。
{
"addons": {
"<アドオンのID>": {
"updates": [
{
"version": "0.1",
"update_link": "https://example.com/addon-0.1.xpi"
}
]
}
}
}
「"<アドオンのID>"」には、Thunderbird アドオンのID(manifest.json の browser_specific_settings.gecko.id
の値)を指定してください。
自主配布するアドオンの準備
自主配布する Thunderbird アドオンの manifest.json のマニフェストキー browser_specific_settings
の下の gecko
に、update_url
を追加して、値にJSON更新マニフェストファイルのURLを指定します。
"browser_specific_settings": {
"gecko": {
"id": "addon@example.com",
"update_url": "https://example.com/updates.json"
}
},
この後に Thunderbirdアドオン開発者センターで、自主配布するアドオンに署名をしますので、拡張子「.xpi」のアドオンファイルにしておいてください。
開発者アカウントの作成
Thunderbirdアドオン開発者センター でユーザー登録を行い、開発者アカウントを作成します。
2023年12月現在 Thunderbirdアドオン開発者センターのページには下のスクリーンショットように「Firefox をカスタマイズ」と表記されてお馴染みのロゴも見えるため少し戸惑いますが、間違いなく、Thunderbirdアドオンの開発者センターです。
自主配布するアドオンへの署名
自主配布するアドオンに署名を行います。
「初めてのアドオンを登録」をクリックします。
Firefoxアドオン配布規約(Thunderbirdアドオンもこの規約が適用されます)と、審査ポリシーとルールを確認してください。内容に問題が無ければチェックを入れて「承認」をクリックします。
アドオンの配布手段は「自分自身で。」を選択して「続ける」をクリックします。
「Thunderbird」にチェックを入れて、拡張子「.xpi」のアドオンファイルをアップロードすると自動検証が実施され結果が表示されます。エラーなどがある場合は、内容を確認してアドオンを修正してください。エラーがなければ「アドオンを署名」をクリックします。
「ソースコード提出ポリシー」を確認し、該当する場合は「はい」、該当しない場合は「いいえ」を選択します。「はい」を選択した場合はソースコードの提出が必要になります。
以上で、アドオンへの署名が完了しました。署名されたアドオンファイルをダウンロードして、自主配布します。
また、Thunderbirdアドオンの開発者センターに、アドオンが登録されていることが確認できると思います。(今回は「バージョンを表示」というアドオンを登録しました)
自主配布の方法
署名されたアドオンファイルの自主配布の方法については特にきまりはありません。
少人数であればメールやチャットで直接アドオンファイルを配布してもいいですし、会社などの組織で配布するのであればグループウェアを通じて配布ができます。広く公開して構わないアドオンであれば、公開している Webサイトや GitHubなどのリリースページで配布するのが手軽かと思います。
自主配布したアドオンの自動更新
自主配布したアドオンは、冒頭で設定したアップデートサーバーを通じて自動更新することができます。
アップデートしたアドオンへの署名
アップデートしたアドオンを拡張子「.xpi」のアドオンファイルにして、Thunderbirdアドオン開発者センターで署名します。
Thunderbirdアドオン開発者センター に登録されているアドオンの「詳細ページを編集」をクリックします。
「新バージョンをアップロード」をクリックします。
「Thunderbird」にチェックを入れて、拡張子「.xpi」のアドオンファイルをアップロードすると自動検証が実施され結果が表示されます。エラーなどがある場合は、内容を確認してアドオンを修正してください。エラーがなければ「アドオンを署名」をクリックします。
「ソースコード提出ポリシー」を確認し、該当する場合は「はい」、該当しない場合は「いいえ」を選択します。「はい」を選択した場合はソースコードの提出が必要になります。
以上で、アップデートしたアドオンへの署名が完了しました。署名されたアドオンファイルをダウンロードしておきましょう。
自分のアドオンページ でバージョンが更新されていることを確認できると思います。
アップデートサーバーへの登録
署名されたアドオンファイルをクライアントからダウンロードできる場所に配置します。(今回は、アップデートサーバーのドキュメントルートに配置していますが、別のサーバーでも構いません)
アップデート用のJSON更新マニフェストファイルの version
と update_link
の値を更新します。
{
"addons": {
"addon@example.com": {
"updates": [
{
"version": "1.1",
"update_link": "https://example.com/addon-1.1.xpi"
}
]
}
}
}
Thunderbird のアドオンマネージャーで「今すぐ更新を確認」を実行して、アドオンが更新されればOKです。
おわりに
Thunderbird バージョン61の頃に開発したアドオンをメンテナンスしているのですが、当初は開発環境を整えるだけでも一苦労した記憶があります。現在は、JavaScript、HTML、CSSの知識さえあれば、簡単に Thunderbird アドオンを開発して配信することができますので、一度挑戦してみてはいかがでしょうか。
コメント