Jetpack/Release Notes/1.0: Difference between revisions
No edit summary |
|||
| Line 80: | Line 80: | ||
See the [https://bugzilla.mozilla.org/buglist.cgi?order=Bug%20Number&bug_status=__open__&product=Add-on%20SDK complete list of known issues and requests for enhancement]. We've listed some of the more important issues separately below. | See the [https://bugzilla.mozilla.org/buglist.cgi?order=Bug%20Number&bug_status=__open__&product=Add-on%20SDK complete list of known issues and requests for enhancement]. We've listed some of the more important issues separately below. | ||
''' [https://bugzilla.mozilla.org/show_bug.cgi?id=627432 Bug 627432] ''' | |||
If your add-on stores data using the [https://addons.mozilla.org/en-US/developers/docs/sdk/1.0/packages/addon-kit/docs/simple-storage.html simple-storage] API, the data is not cleaned up when your add-on is uninstalled. | If your add-on stores data using the [https://addons.mozilla.org/en-US/developers/docs/sdk/1.0/packages/addon-kit/docs/simple-storage.html simple-storage] API, the data is not cleaned up when your add-on is uninstalled. | ||
''' [https://bugzilla.mozilla.org/show_bug.cgi?id=656037 Bug 656037] ''' | |||
Some core JavaScript functions, such as [https://developer.mozilla.org/en/DOM/window.btoa <code>btoa()</code>], are not available to add-on code. | Some core JavaScript functions, such as [https://developer.mozilla.org/en/DOM/window.btoa <code>btoa()</code>], are not available to add-on code. | ||
''' [https://bugzilla.mozilla.org/show_bug.cgi?id=658592 Bug 658592] ''' | |||
At the moment, add-ons include all modules from any package they use, and as a result are much larger than they need to be. | At the moment, add-ons include all modules from any package they use, and as a result are much larger than they need to be. | ||
''' [https://bugzilla.mozilla.org/show_bug.cgi?id=581982 Bug 581982] ''' | |||
<code>selection.text</code> returns null instead of the selected text when the selection is in a text box or text area | <code>selection.text</code> returns null instead of the selected text when the selection is in a text box or text area | ||
''' [https://bugzilla.mozilla.org/show_bug.cgi?id=571049 Bug 571049] ''' | |||
If an add-on is uninstalled while it's disabled, it's not notified of uninstall. If it needs to do some special cleanup on uninstall, like removing persistent storage such as a file, it won't be able if it's first disabled. | If an add-on is uninstalled while it's disabled, it's not notified of uninstall. If it needs to do some special cleanup on uninstall, like removing persistent storage such as a file, it won't be able if it's first disabled. | ||
''' [https://bugzilla.mozilla.org/show_bug.cgi?id=571843 Bug 571843] ''' | |||
<code>bin\activate</code> activate fails to find 64-bit Python on 64-bit Windows environments, as it assumes Python is 32-bit. | <code>bin\activate</code> activate fails to find 64-bit Python on 64-bit Windows environments, as it assumes Python is 32-bit. | ||
''' [https://bugzilla.mozilla.org/show_bug.cgi?id=574563 Bug 574563] ''' | |||
On Windows, <code>bin\activate</code> sometimes gives the following error: | On Windows, <code>bin\activate</code> sometimes gives the following error: | ||
| Line 112: | Line 112: | ||
This does not seem to affect the functioning of the SDK. | This does not seem to affect the functioning of the SDK. | ||
''' [https://bugzilla.mozilla.org/show_bug.cgi?id=660862 Bug 660862] ''' | |||
By default, widgets are placed on the add-on bar, and given a height to match the height of that bar. If the user moves the widget to a different, higher, bar, its height is not updated accordingly. | By default, widgets are placed on the add-on bar, and given a height to match the height of that bar. If the user moves the widget to a different, higher, bar, its height is not updated accordingly. | ||
''' [https://bugzilla.mozilla.org/show_bug.cgi?id=660857 Bug 660857] ''' | |||
A widget containing HTML content get no icon in the [http://support.mozilla.com/en-US/kb/how-do-i-customize-toolbars Customize Toolbar Window]. | A widget containing HTML content get no icon in the [http://support.mozilla.com/en-US/kb/how-do-i-customize-toolbars Customize Toolbar Window]. | ||
''' [https://bugzilla.mozilla.org/show_bug.cgi?id=660860 Bug 660860] ''' | |||
When a user removes a widget from the toolbar its <code>detach</code> event does not get sent. | When a user removes a widget from the toolbar its <code>detach</code> event does not get sent. | ||
''' [https://bugzilla.mozilla.org/show_bug.cgi?id=661884 Bug 661884] ''' | |||
Selection events for a page are not sent if the page did not fully load (for example, because the user stopped page load). | Selection events for a page are not sent if the page did not fully load (for example, because the user stopped page load). | ||
Revision as of 16:49, 8 June 2011
About
This is the first stable release of the Add-on SDK.
The Add-on SDK makes it easy to develop Firefox add-ons using JavaScript, HTML, and CSS. This means you no longer need to understand how to work with the XUL or XPCOM to write add-ons.
Add-ons developed with the SDK are:
- restartless: so users can try them out without interrupting their browsing
- forward-compatible: will continue to work as new versions of Firefox are released. In particular they are already structured to work with Electrolysis, the forthcoming architecture in which Firefox uses separate processes to display the browser UI, handle web content and execute add-ons.
To learn more about the SDK, you can browse the documentation.
Major Features
The SDK provides two things:
- a set of JavaScript APIs which you can use to create your user interface, and to interact with web content and the browser
- a command-line tool called
cfxwhich takes care of packaging your code into an add-on, leaving you free to concentrate on the code itself
JavaScript APIs
For an overview of the APIs check out the API introduction in the online documentation.
In 1.0 we've defined a limited set of supported APIs which cover the following categories:
- building a UI: defining dialogs, widgets, context menu items, and notification alerts
- interacting with the web: fetching, examining, and modifying web pages
- interacting with the browser: accessing the clipboard, getting information about the set of open windows and tabs, handling private browsing
- some basic utility functions like persistent storage
There are additional APIs which you can use, but we don't yet consider them stable, so we might change them in incompatible ways in future releases.
The SDK is extensible by design: so it's possible for you to create your own APIs that expose additional functionality, and make them available to other developers. Here's a list of some of these third party modules.
cfx
cfx is the command-line tool the SDK supplies for:
- initializing your add-on: creating its skeleton structure
- running your add-on to smoke test it without needing to going through the packaging/installation cycle
- unit testing
- packaging your add-on as an installable XPI file
Installation
To use the SDK you download and install it locally. You'll need Python version 2.5 or 2.6, and Firefox version 4 or higher.
Obtain the SDK in your favorite compression format:
Then unpack the archive, open the addon-sdk-1.0/README.txt file, and follow its instructions.
Getting Help
If you can't find the answer to your question in the documentation:
- see if your question is answered in the FAQ
- SDK users and project team members discuss problems and proposals on the project mailing list. Someone else may have had the same problem you do, so try searching the list. You're welcome to post a question, too.
- ask other SDK users and developers in #jetpack on Mozilla's IRC network
Known Issues
See the complete list of known issues and requests for enhancement. We've listed some of the more important issues separately below.
If your add-on stores data using the simple-storage API, the data is not cleaned up when your add-on is uninstalled.
Some core JavaScript functions, such as btoa(), are not available to add-on code.
At the moment, add-ons include all modules from any package they use, and as a result are much larger than they need to be.
selection.text returns null instead of the selected text when the selection is in a text box or text area
If an add-on is uninstalled while it's disabled, it's not notified of uninstall. If it needs to do some special cleanup on uninstall, like removing persistent storage such as a file, it won't be able if it's first disabled.
bin\activate activate fails to find 64-bit Python on 64-bit Windows environments, as it assumes Python is 32-bit.
On Windows, bin\activate sometimes gives the following error:
"Error: The system was unable to find the specified registry key or value"
This does not seem to affect the functioning of the SDK.
By default, widgets are placed on the add-on bar, and given a height to match the height of that bar. If the user moves the widget to a different, higher, bar, its height is not updated accordingly.
A widget containing HTML content get no icon in the Customize Toolbar Window.
When a user removes a widget from the toolbar its detach event does not get sent.
Selection events for a page are not sent if the page did not fully load (for example, because the user stopped page load).
Feedback and Bug Reports
We'd love to hear any feedback you have regarding this release! You can post it to the discussion group or report a bug.