From MozillaWiki
Jump to: navigation, search

Update: Home Page » Requirements


In looking at the future, we need to identify what it's going to take to handle the UMO service during peak loads. The community will not judge us on how sexy UMO is or the tools built around it. We believe the community and pundits will be most critical of UMO if it fails to perform during peak usage. If a new security update is released and UMO melts down, that will reflect poorly on the use of Firefox but also the Mozilla Foundation as a whole.

The existing infrastructure will not scale to handle peak loads at this time. Peak loads will occur when new and popular extensions come out and most notably when security updates are released. We need to build a scalable, reliable and secure infrastructure to handle the delivery of the UMO service to end users.

Corey Shields will be tasked with coming up with a plan for this and presenting it to the Mozilla Foundation system administrators. The OSL would be willing to completely manage this service up to the application layer (including upgrades, etc) for the MoFo.

General Requirements

(client is firefox etc)

  • Maintain a database of extensions of different types (extensions, themes, plugins)
  • Provide a way for the user to search for an extension
  • Allow to directly install an extension (for browsers), download it, or do so for a group of them shopping-cart style
  • Track download statistics

  • Logged-in users can make comments and rate extensions
  • Developers can log in
  • Developers can upload their extensions
  • Admins can edit all extensions, comments and users

  • Extensions can have different versions for different OS
  • Knows the version of the client for which an extension works
  • Extensions have category information

  • Clients can ask for updates of extensions

  • Localizable
  • Must support Firefox, Thunderbird, Nvu, PFS, AUS
  • Not tied to mozilla.org clients

  • Code should use mozilla.org code style guidelines

Mozilla Policies & Legal Requirements

Software Integrity Policy for Mozilla Update

Server Load

  • Can handle the load

AUS connections/sec, GB/sec etc Page loads take < n seconds


URIs that mention the language. As mentioned in bug 247575 the URI should mention both the name of language as the name of the country. Examples:

  • /en-us/
  • /nl-nl/
  • /fr-be/
  • etc.

UMO should use UTF-8 everywhere. Every page that is not encoded in UTF-8 should be considered a bug. Both in the admin area as in the user area.


UMO should use HTML 4.01 Strict with a MIME type of text/html for every page that is being displayed in the browser. (Except for screen shots, if we have those.)

UMO should be Atom compatible. This is probably difficult and requires some changes. It means that every "something" (like an extension) should have a unique identifier that is not auto-generated but stored in the database. An example:

  • tag:update.mozilla.org,2005-01-24:/extension/firefox/3241

It also means that the last date of editting a particular "something" has to be stored in the database and the date of submission.

(Besides that the above are requirements for Atom, they will also give a better overview.)