Changes

Jump to: navigation, search

Add-ons/developer/communication

2,553 bytes removed, 22:32, 4 November 2016
m
remove sdk path
=====What's New=====
*[http://webextensions-experiments.readthedocs.io/ WebExtension Experiments]: prototype WebExtension APIs without having to build Firefox!
*We're helping to make it easier to port to WebExtensions with [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Embedded_WebExtensions Embedded WebExtensions] in Firefox 51.
*[https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Porting_a_legacy_Firefox_add-on Porting guides that map SDK and XUL APIs to available WebExtensions APIs]
=Timelines & Roadmap=
*See a [https://docs.google.com/spreadsheets/d/1OFYrrvAFg8y1mZOEbuIR1axxtV8eul_be6ad9fe8JB0/edit#gid=1952061950 graph of upcoming multiprocess Firefox (e10s) changes], organized by Firefox release dates.
*Check out Public Trello boards:**[https://trello.com/b/ZpIDuMAW/addon-planning our Trello pageAdd-on planning] to : see what the add-ons team is working on in the next three months**[https://trello.com/b/MwClom9J/addon-impacting-changes Impacting changes]: see what changes are coming up that impact compatibility**[https://trello.com/b/PC9kB14s/webextensions-roadmap WebExtensions Roadmap]: see which APIs are coming up
=Migration paths for developers affected by the changes=
==1) Has SDK add-on using low level APIs==
Developers who created an SDK add-on using [https://developer.mozilla.org/Add-ons/SDK/Low-Level_APIs low-level APIs], which break with Multi-process multiprocess Firefox (aka Electrolysis or e10s).
=====Migration Path=====
If your add-on code accesses web content using a [https://developer.mozilla.org/Add-ons/SDK/Low-Level_APIs low-level SDK APIs] like window/utils or tabs/utils, then you will likely be affected.<br />
'''''Multi-process Multiprocess Firefox is currently going through a phased roll-out [[Electrolysis#Schedule next|few months]]through early 2017, so we urge you to [https://developer.mozilla.org/Add-ons/SDK/Guides/Multiprocess_Firefox_and_the_SDK test your add-ons] for compatibility.'''''<br />
*'''If it breaks''' in Multi-process multiprocess Firefox, your users will be impacted, and you will need to update your add-on. You can find documentation on how to make them compatible [https://developer.mozilla.org/en-US/Add-ons/Working_with_multiprocess_Firefox here].<br />*'''If it does not break''' in Multi-process multiprocess Firefox, you will should add the [https://developer.mozilla.org/Add-ons/SDK/Tools/package_json#Key_reference <code>multiprocess</code> permission] in package.json.
There are people on hand to assist you [http://atsay.github.io/e10s_office_hours/ '''every Tuesday'''] in For assistance, please join the #addons channel at [https://wikimail.mozilla.org/IRC irc.mozilla.org]. We're here to help! '''~~Attention SDK developers~~'''<br listinfo/>As of March 2016, SDK adddev-addons dev-ons that were built using the cfx tool (Jetpack version 1.17 and lower) need to be repackaged using the [https://developer.addons@mozilla.org/en-US/Add-ons/SDK/Tools/cfx_to_jpm newer jpm tool] in order to continue being compatible with Firefox. jpm will be supported mailing list and ask for as long as the SDK is.help!
==2) Has SDK add-on using legacy APIs==
#'''Use only [https://developer.mozilla.org/Add-ons/SDK/High-Level_APIs high-level APIs]''' - High-level APIs are [https://wiki.mozilla.org/Add-ons/developer/communication#1.29_Has_SDK_add-on_using_low_level_APIs e10s compatible] and are more likely to have an equivalent WebExtensions API. You will have to migrate again once WebExtensions are fully ready, but it should be pretty easy to do in this case.
#'''Move to [https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions WebExtensions]''' - Check the [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Comparison_with_the_Add-on_SDK SDK/WebExtensions comparison chart] to see if the APIs you need are available, and see what else we're doing to [[Add-ons/developer/communication#Managing_the_Impact|mitigate the impact]] of this transition. If you have a WebExtensions API you'd like to see implemented, [https://wiki.mozilla.org/WebExtensions/NewAPIs#Submitting_an_API.3F file them here].
==3) Has SDK add-on using only high level APIs==
Developers who used the SDK for their add-ons using only [https://developer.mozilla.org/Add-ons/SDK/High-Level_APIs high-level APIs]. Might have played around with the Chrome extension API in the past.
=====Migration Path=====
*As of March 2016, SDK add-ons that were built using the cfx tool (Jetpack version 1.17 and lower) need to be repackaged using the [https://developer.mozilla.org/Add-ons/SDK/Tools/cfx_to_jpm newer jpm tool] in order to continue being compatible with Firefox.*If you already do that, your add-on will probably continue to work without problems, but we We recommend you start looking into [https://developer.mozilla.org/Add-ons/WebExtensions WebExtensions], which by the end of 2017 will be the only type of add-on supported.*Check the [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Comparison_with_the_Add-on_SDK SDK/WebExtensions comparison chart] to see if the APIs you need are available, and see what else we're doing to [[Add-ons/developer/communication#Managing_the_Impact|mitigate the impact]] of this transition. If you have a WebExtensions API you'd like to see implemented, [https://wiki.mozilla.org/WebExtensions/NewAPIs#Submitting_an_API.3F file them here].
==4) Has XUL or XPCOM add-on==
The transition to WebExtensions impacts add-ons built on APIs like XUL and XPCOM most of all. We expect to remove support for these technologies in Firefox add-ons by the end of 2017. We hope this will give us enough time to help you migrate and provide WebExtension APIs that are suitable for replacing the features you might lose once we stop supporting these APIs.
If you’ve already updated your add-on for Multiprocess multiprocess Firefox (e10s) compatibility, thank you for clearing this hurdle. To prepare for XUL/XPCOM deprecation, there are two available options, each with pros and cons: <ol><li>'''Migrate to the Add-ons SDK''' - since WebExtensions is in development and the first release is scheduled for March 2016, one option you have is to [https://developer.mozilla.org/en-US/Add-ons/SDK migrate to the SDK].*'''Pros:''' the APIs provided by the SDK are well-documented and are fully functional. Migrating to WebExtensions later on will be easier.*'''Cons:''' you will need to to stick to [https://developer.mozilla.org/Add-ons/SDK/High-Level_APIs high-level APIs], which are e10s compatible and are more likely to have an equivalent WebExtensions API. You will have to migrate again once WebExtensions are fully ready, though it may be easier if you’ve already migrated to the SDK. Check the [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Comparison_with_the_Add-on_SDK SDK/WebExtensions comparison chart] get started migrating to see if the APIs you need are available. If you have a WebExtensions API you'd like to see implemented, [https://wiki.mozilla.org/WebExtensions/NewAPIs#Submitting_an_API.3F file them here].</li> <li>'''Migrate to WebExtensions''' - to avoid having to migrate to SDK and then again to WebExtensions, you can [https://developer.mozilla.org/Add-ons/WebExtensions migrate directly to WebExtensions].*'''Pros:''' you only have to migrate once.*'''Cons:''' WebExtensions may not have all the APIs you need. Check check the [https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Comparison_with_XUL_XPCOM_extensions XUL/XPCOM-WebExtensions comparison chart] to see if the APIs you need are available, and see what else we're doing to [[Add-ons/developer/communication#Managing_the_Impact|mitigate the impact]] of this transition. If you have a WebExtensions API you'd like to see implemented, [https://wiki.mozilla.org/WebExtensions/NewAPIs#Submitting_an_APIAdditional resources can be found below.3F file them here].</li></ol>
=Managing the Impact=
*'''Embedded WebExtensions''' - In Firefox 51, you can [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Embedded_WebExtensions embed] a WebExtensions add-on inside an existing SDK or bootstrapped add-on. This is especially useful to developers of SDK or bootstrapped add-ons who want to start migrating to WebExtensions and take advantage of new APIs like Native Messaging, but can’t fully migrate yet. It’s also useful for developers who want to complete data migration towards WebExtensions, and who want to take parts of their add-on that are not compatible with multiprocess Firefox and make them compatible.
*'''Tell us which APIs you need''' - If you have a WebExtensions API you'd like to see implemented, take a look at the [httpshttp://wikiwebextensions-experiments.mozillareadthedocs.orgio/WebExtensions/NewAPIs new APIs criteriaWebExtension Experiments]. *- now it'''WebExtensions Experiments (formerly Native.js)''' - We will soon announce a way s easier to [https://wiki.mozilla.org/WebExtensions/Experiments develop prototype WebExtension APIs, and experiment with APIs] that go beyond what Chrome providesyou can do it without having to build Firefox.
It is possible that not Not all add-ons will be able to migrate to WebExtensions without having to drop any features. But we want to work with you to get as many add-ons migrated as possible with the functionality you created intact. We invite you to contribute to its evolution, and we look forward to [https://wiki.mozilla.org/Add-ons/developer/communication#Get_in_Touch working with you].
=Add-on Developer Communication Calendar=
Confirm
1,605
edits

Navigation menu