» Jetpack (休止)

アドオンSDKのロードマップの更新

私たちがJetpackプロジェクトのさらなるバージョンとアドオンSDKを一つのプロダクトとしてシェアしてから、既に数ヶ月が経ってしまいました。才 能豊かなチームメンバーが増えその推進力も維持されるなど、その時点から多くの出来事がありました。それには、アドオンSDK1.0のリリースを含みま す。いつもの通り、私たちがどこに向かっているか、そしてどの部分が重要なのかを決めるために、少しばかり時間を取るのがよいようです。それでは、始めましょう。

(さらに…)

Add-on SDK で始めるアドオン開発(Panel & Widget 編)

前回の記事:Add-on SDK で始めるアドオン開発 (インストール編)

こんにちは、knagato です。

今回から、Add-on SDK を用いて作成した Firefox アドオンや、アドオン開発に関する情報を紹介していきたいと思います。

Add-on SDK は、アドオンを開発するための標準ライブラリを用いて、モジュールを組み合わせることにより、簡単にアドオンを実装できるという特徴があります。

今回の記事では、Add-on SDK の panel モジュールと widget モジュールを用いたアドオン作成を紹介します。
また、後半では hotkeys モジュールを追加して、アドオンの機能を拡張します。

題材として、ユーザの興味/関心に応じた広告配信を行う Google AdSense の設定情報・管理画面に手軽にアクセスできるアドオンを実装してみます。

(さらに…)

Add-on SDK で始めるアドオン開発 (インストール編)

Add-on SDK の導入

はじめまして、 knagato です。

先日から、 Add-on SDK を用いて、初めての Firefox アドオン開発に挑戦しています。
今後、Add-on SDK に関して様々な情報発信や情報交換をしていければと思います。

今回は、同じような立場のアドオン開発初心者向けに、 Windows 7 の場合を例にして、 Add-on SDK の導入方法を紹介します。

インストールに関しては、次のページを参考にしました。
Installation – Add-on SDK Documentation

(さらに…)

Jetpack SDK 0.7 がリリースされました

Mozilla Labs のブログ で告知されている通り、 Jetpack SDK の新バージョンである 0.7 が8月26日にリリースされました。 SDK 0.7 では新たに以下のAPIが追加されています。

  • panel API
    HTMLで記述されたGUIを表示可能なパネル型UIを追加するためのAPI。 Widget API で追加したボタン型UIと連携して、ボタンをクリックするとパネルを開くことが可能となります。
  • clipboard API
    クリップボードへのコピー、あるいはコピーされたデータの取得をするためのAPI。現時点では文字列とHTML形式に対応しています。
  • notifcations API
    Firefox のダウンロード完了通知などでお馴染みの、スライド式の通知UIを表示するためのAPI。

さらに、以下のようなSDKの仕様変更があります。

  • cfx コマンドの「-a」オプションがデフォルトで「firefox」となった。
  • cfx xpi コマンドで作成したXPIファイル内のディレクトリへ適切なパーミッションが付与されるようになった。

各APIの詳細な解説はこちら。

SCRAPBLOG : Jetpack SDK 0.7 の Panel API
SCRAPBLOG : Jetpack SDK 0.7 の Clipboard API
SCRAPBLOG : Jetpack SDK 0.7 の Notifications API

Jetpack Gallery サイトが閉鎖されました

Mozilla Add-ons Blog で告知されている通り、 Jetpack Gallery (旧式の Jetpack Prototype ベースで作ったアドオンを公開するサイト)が閉鎖されました。

新しい Jetpack Reboot ベースのアドオンを開発するには、以下の2通りの方法があります。

  • Mozilla Add-ons SDK (通称「Jetpack SDK」)を使ってローカルで開発する
  • Add-ons Builder(旧名「FlightDeck」)を使ってWebブラウザ上で開発する

Mozilla Add-ons SDK, Add-ons Builder ともに、まだ正式リリース前の段階ではありますが、どちらの方式で開発したアドオンでも addons.mozilla.org での公開が可能となっております。

Jetpack SDK 0.6 がリリースされました

Mozilla Labs のブログ で告知されている通り、 Jetpack SDK の新バージョンである 0.6 が7月28日にリリースされました。今回は新しいAPIの追加はありません。主な変更内容を以下に示します。

  • 今までプログラム内でXPCOMを使用する際の Cc, Ci (それぞれ Components.classes, Components.interfaces への参照)などは標準のグローバル定数としていつでも使用可能だったが、今後は以下のようにして明示的に宣言する必要がある。
    const {Cc, Ci} = require("chrome");
    詳細はこちら
  • cfx run, cfx xpi コマンドで自動生成される拡張機能の Firefox 対応バージョンが 3.6 ~ 4.0b3pre になり、現時点で最新の Minefield 上でも動作可能となった。
  • Widget APIWidget コンストラクタの引数オブジェクトに width プロパティをセットすることで、ボタン型UIの幅を指定することが可能になった。

Jetpack SDK 0.5 がリリースされています

Mozilla Labs のブログ で告知されている通り、 Jetpack SDK の新バージョンである 0.5 が6月24日にリリースされています。 Jetpack SDK 0.5 では下記5つのAPIが新たに追加または変更されています。

  • Tabs
    指定したURLを新しいタブやウィンドウで開いたり、各タブ内に表示されたページのDOMへアクセスしたり、タブの開閉などのイベントに対してコールバック処理を追加したりするためのAPI。
  • Request
    Webサーバと通信するためのAPI。 XMLHttpRequest をラップしてより使いやすくしたもの。
  • Selection
    ページ内の選択範囲を取得あるいは変更するためのAPI。
  • Localization
    拡張機能内の文字列を日本語化するためのAPI。翻訳データは Mozilla Labs のWebサーバに配置してダウンロードする仕様?
  • Unload
    Firefox の終了や拡張機能の無効化などのシグナルを検知してコールバック処理を実行するためのAPI。

各APIを使ったサンプルや新機能に関する説明も順次アップしてきます。

SCRAPBLOG : Jetpack SDK 0.5 の Tabs API
SCRAPBLOG : Jetpack SDK 0.5 の Reuqest API
SCRAPBLOG : Jetpack SDK 0.5 の Selection API
SCRAPBLOG : Jetpack SDK 0.5 の Unload API

Jetpack SDK 0.4 がリリースされました

10日ほど前のことですが、 Mozilla Labs のブログ で告知されている通り、 Jetpack SDK の新バージョンである 0.4 がリリースされました。

SDK 0.4 では新たに以下の4つのAPIが追加されています。

  • Widget
    Firefox / Thunderbird のウィンドウへ拡張機能専用のボタン型UIを追加するためのAPI。一貫性のあるUI(拡張機能専用のバーに配置されたボタン型UI)によって機能を提供することが可能となります。
  • Page Worker
    不可視の iframe 要素にページを読み込んでDOM操作をするためのAPI。従来の XMLHttpRequest では困難な、 HTMLのDOM操作を必要とするコンテンツとのマッシュアップなどが実現可能となるようです。
  • Simple Storage
    数値、文字列、JSONデータなどを永続的に保持するためのAPI。いわば DOMストレージの拡張機能版です。
  • Private Browsing
    Firefox のプライベートブラウジング機能を開始・停止したり、開始前後・停止前後にコールバック処理を実行したりするためのAPI。

さらに、以下3つの新機能およびSDKの仕様変更があります。

  • Firefox 再起動不要
    Minefield 3.7a5pre であれば、 Jetpack SDK 0.4 で開発した拡張機能を、 Firefox を再起動せずにインストール・アンインストール可能となりました。
  • package.json の id の仕様変更
    package.json の id プロパティの仕様が変更され、 Jetpack SDK により自動的に暗号化ハッシュとして生成されるようになりました。
  • local.json による cfx コマンドのオプション指定
    cfx コマンド実行時に頻繁に使うオプションをあらかじめ local.json に記述しておき、 cfx コマンド実行時に簡単に呼び出し可能となりました。

各APIを使ったサンプルや新機能に関する説明も順次アップしてきます。

SCRAPBLOG : Jetpack SDK 0.4 で cfx コマンドのユーザ定義オプションを設定する
SCRAPBLOG : Jetpack SDK 0.4 でのパッケージマニフェストの id プロパティの仕様変更
SCRAPBLOG : Jetpack SDK 0.4 の Widget と Private Browsing API 使用例
SCRAPBLOG : Jetpack SDK 0.4 の Simple Storage API
SCRAPBLOG : Jetpack SDK 0.4 の Page Worker API

Jetpack SDK 0.3 がリリースされました

Mozilla Labs のブログ で告知されている通り、先日 Jetpack SDK の新しいバージョン 0.3 がリリースされました。このバージョンの目玉は以下の2つの新しいAPIの追加です。

  • context-menu API
    ブラウザ上の右クリックメニューに項目を追加するための API。
  • self API
    パッケージ内の data フォルダに格納したファイルへアクセスするための API。

さっそく context-menu API を使用した簡単なパッケージの作成手順を解説した記事を書きましたのでご覧ください。

SCRAPBLOG : Jetpack SDK 0.3 コンテキストメニューAPIの使用例

Mozilla Labs のブログでも context-menu API を使用して、画像上で右クリックメニューから Picnik で画像をブラウザ上で編集するサンプルが掲載されています。こちらも併せてご覧ください。

Mozilla Labs » jetpack » Blog Archive » Using Jetpack SDK 0.3: Context Menu API