FirefoxDistroAddonSpec

Revision 1 as of 2007-05-06 13:39:47

Clear message

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

Rationale

Not all extensions/plugins for firefox are "good" for various definitions of good. They also can be quite hard to find. Some are also properly packaged, but this is not widely known.

Use Cases

  • Jono wants to watch weird metal videos on youtube and needs flash support for that
  • Aleksander is an Ubuntu developer who wants people to use proper packages instead of downloaded extensions
  • On Sarahs pc, firefox is crashing all the time due to bad extensions. She doesn't know this and simply wants this to not happen.

Scope

This spec covers plugin and extension installation on both firefox and thunderbird.

Design

Making plugins more visible

These 3 options have been discussed (not necessarily in this order):

  • Have an extra tab in the extension manager which embeds a g-a-i like application (or maybe even g-a-i itself)
  • Have an extra button next to "Get more extensions" labeled something like "Get ubuntu extensions", which launches g-a-i/adept_installer with a filter
  • Same as before, but launching synaptic

For now, the preference seems to be the second option since it's relatively easy to do *in firefox* and most likely to gt upstream approval. The downside of using g-a-i is that it needs to be easy to display all and only firefox extensions. A possible solution would be extra control fields like:

XB-mozilla-extension-app: app-id-for-firefox-and-or-thunderbird
XB-mozilla-extension-ext: id-for-extension

This also helps in the second part.

Blacklisting

There are four reasons for blacklisting an extension:

  • It is known that the extension is broken
  • The extension contains native parts, which are compiled in a way that's incompatible with Ubuntu
  • The extension causes problems when installed together with other extensions (I'd say "conflicts" here, but Ian would probably yell "Breaks")
  • The extension also exists as an Ubuntu package

The blacklist format should be able to express this, and also which versions of extensions are broken.

The extension install process already looks at its own internal database of conflicts and does version checks. According to asac the process to plug in our own checks is fairly straightforward.

Implementation

Outstanding Issues

We still need to look at the plugins part of this, plugins are done differently

BoF agenda and discussion


CategorySpec