Add-on SDK in Firefox: Difference between revisions
mNo edit summary |
No edit summary |
||
| Line 3: | Line 3: | ||
|Feature stage=Draft | |Feature stage=Draft | ||
|Feature status=In progress | |Feature status=In progress | ||
|Feature version=Firefox | |Feature version=Firefox 15 | ||
|Feature health=OK | |Feature health=OK | ||
}} | }} | ||
| Line 39: | Line 39: | ||
|Feature implementation plan=Meta-bug: {{bug|731779}} | |Feature implementation plan=Meta-bug: {{bug|731779}} | ||
* Set up Git->HG syncing infrastructure (Non-blocking: If not ready by landing time, can do weekly drops.) | |||
* Work with browser/toolkit module owners to determine code location in each component. | |||
* Land CommonJS loader in Firefox (In toolkit, have Mossop to review.) | |||
* Jetpack housecleaning required before landing | |||
** Misc cleanup (removing window-utils, etc.) | |||
** Packagelessness | |||
** Separate core APIs into Browser and Toolkit sets | |||
* Land core APIs in Firefox | |||
Each of these Loader usage scenarios should be supported and documented with code samples: | |||
* Inclusion into XUL window scope | |||
* Inclusion into non-window scopes (JS XPCOM, JS Modules) | |||
* Support shared & private instances | |||
|Feature security review=The Add-on SDK has gone through multiple security reviews. Should schedule another one to review how/where the code lives and is initiated/loaded inside Firefox. | |Feature security review=The Add-on SDK has gone through multiple security reviews. Should schedule another one to review how/where the code lives and is initiated/loaded inside Firefox. | ||
}} | }} | ||
Revision as of 18:23, 27 April 2012
Status
| Add-on SDK in Firefox | |
| Stage | Draft |
| Status | In progress |
| Release target | Firefox 15 |
| Health | OK |
| Status note | ` |
{{#set:Feature name=Add-on SDK in Firefox
|Feature stage=Draft |Feature status=In progress |Feature version=Firefox 15 |Feature health=OK |Feature status note=` }}
Team
| Product manager | ` |
| Directly Responsible Individual | Dietrich Ayala (:dietrich) |
| Lead engineer | Irakli Gozalishvili (:gozala) |
| Security lead | ` |
| Privacy lead | ` |
| Localization lead | ` |
| Accessibility lead | ` |
| QA lead | ` |
| UX lead | ` |
| Product marketing lead | ` |
| Operations lead | ` |
| Additional members | ` |
{{#set:Feature product manager=`
|Feature feature manager=Dietrich Ayala (:dietrich) |Feature lead engineer=Irakli Gozalishvili (:gozala) |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=` |Feature ux lead=` |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=` }}
Open issues/risks
Open issues:
- Need to ensure Jetpack tests are run per-checkin by default on all branches (where it makes sense)
Stage 1: Definition
1. Feature overview
Ship the Add-on SDK runtime and libraries inside Firefox.
- Meta-bug: bug 731779
- Bi-weekly meetings with the Jetpack Features group
Prior work, notes:
- Notes from Dec 2011 meeting
- Package-oriented proposal from Drew
- Brian Warner currently runs a bridge that syncs the Add-on SDK Git repo with hg.m.o/addon-sdk, based on https://github.com/schacon/hg-git
2. Users & use cases
- Reduced add-on size. Currently add-ons created with the SDK are 200k at a minimum. This reduces download time and installation time of add-ons, streamlining the process.
- Develop core features using the SDK. Firefox core developers can use the SDK libraries to build features.
- Easier to convert add-ons into Firefox features, so prototyping features should be easier.
- Repacking might be simpler, or not required at all
- Scratchpad could be used as an offline version of the Add-on Builder.
- Old school add-ons can more easily leverage features from the add-on sdk, which should help them port older add-ons.
3. Dependencies
- Packageless Jetpack proposal may be a dependency (view)
4. Requirements
- Add-on SDK loader and API libraries are shipped inside Firefox, removing the necessity of packaging them inside each add-on.
- SDK development continues on Github.
- SDK continues to be developed and reviewed by the SDK team.
Non-goals
- Allow runtime resolution of modules.
- Allow sharing of modules across add-ons.
- Allow interdependency at the add-on level.
Stage 2: Design
5. Functional specification
`
6. User experience design
`
Stage 3: Planning
7. Implementation plan
Meta-bug: bug 731779
- Set up Git->HG syncing infrastructure (Non-blocking: If not ready by landing time, can do weekly drops.)
- Work with browser/toolkit module owners to determine code location in each component.
- Land CommonJS loader in Firefox (In toolkit, have Mossop to review.)
- Jetpack housecleaning required before landing
- Misc cleanup (removing window-utils, etc.)
- Packagelessness
- Separate core APIs into Browser and Toolkit sets
- Land core APIs in Firefox
Each of these Loader usage scenarios should be supported and documented with code samples:
- Inclusion into XUL window scope
- Inclusion into non-window scopes (JS XPCOM, JS Modules)
- Support shared & private instances
8. Reviews
Security review
The Add-on SDK has gone through multiple security reviews. Should schedule another one to review how/where the code lives and is initiated/loaded inside Firefox.
Privacy review
`
Localization review
`
Accessibility
`
Quality Assurance review
`
Operations review
`
Stage 4: Development
9. Implementation
`
Stage 5: Release
10. Landing criteria
` {{#set:Feature open issues and risks=Open issues:
- Need to ensure Jetpack tests are run per-checkin by default on all branches (where it makes sense)
|Feature overview=Ship the Add-on SDK runtime and libraries inside Firefox.
- Meta-bug: bug 731779
- Bi-weekly meetings with the Jetpack Features group
Prior work, notes:
- Notes from Dec 2011 meeting
- Package-oriented proposal from Drew
- Brian Warner currently runs a bridge that syncs the Add-on SDK Git repo with hg.m.o/addon-sdk, based on https://github.com/schacon/hg-git
|Feature users and use cases=* Reduced add-on size. Currently add-ons created with the SDK are 200k at a minimum. This reduces download time and installation time of add-ons, streamlining the process.
- Develop core features using the SDK. Firefox core developers can use the SDK libraries to build features.
- Easier to convert add-ons into Firefox features, so prototyping features should be easier.
- Repacking might be simpler, or not required at all
- Scratchpad could be used as an offline version of the Add-on Builder.
- Old school add-ons can more easily leverage features from the add-on sdk, which should help them port older add-ons.
|Feature dependencies=* Packageless Jetpack proposal may be a dependency (view) |Feature requirements=* Add-on SDK loader and API libraries are shipped inside Firefox, removing the necessity of packaging them inside each add-on.
- SDK development continues on Github.
- SDK continues to be developed and reviewed by the SDK team.
|Feature non-goals=* Allow runtime resolution of modules.
- Allow sharing of modules across add-ons.
- Allow interdependency at the add-on level.
|Feature functional spec=` |Feature ux design=` |Feature implementation plan=Meta-bug: bug 731779
- Set up Git->HG syncing infrastructure (Non-blocking: If not ready by landing time, can do weekly drops.)
- Work with browser/toolkit module owners to determine code location in each component.
- Land CommonJS loader in Firefox (In toolkit, have Mossop to review.)
- Jetpack housecleaning required before landing
- Misc cleanup (removing window-utils, etc.)
- Packagelessness
- Separate core APIs into Browser and Toolkit sets
- Land core APIs in Firefox
Each of these Loader usage scenarios should be supported and documented with code samples:
- Inclusion into XUL window scope
- Inclusion into non-window scopes (JS XPCOM, JS Modules)
- Support shared & private instances
|Feature security review=The Add-on SDK has gone through multiple security reviews. Should schedule another one to review how/where the code lives and is initiated/loaded inside Firefox. |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=` |Feature landing criteria=` }}
Feature details
| Priority | Unprioritized |
| Rank | 999 |
| Theme / Goal | ` |
| Roadmap | ` |
| Secondary roadmap | ` |
| Feature list | ` |
| Project | ` |
| Engineering team | ` |
{{#set:Feature priority=Unprioritized
|Feature rank=999 |Feature theme=` |Feature roadmap=` |Feature secondary roadmap=` |Feature list=` |Feature project=` |Feature engineering team=` }}
Team status notes
| status | notes | |
| Products | ` | ` |
| Engineering | ` | ` |
| Security | sec-review-needed | dveditz assigned |
| Privacy | ` | ` |
| Localization | ` | ` |
| Accessibility | ` | ` |
| Quality assurance | ` | ` |
| User experience | ` | ` |
| Product marketing | ` | ` |
| Operations | ` | ` |
{{#set:Feature products status=`
|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=sec-review-needed |Feature security health=Assigned |Feature security notes=dveditz assigned |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=` |Feature qa notes=` |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}