Update:Requirements
Update: Home Page » Requirements
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) or to download it (for non-browsers)
- 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
The complete list of policies and legal requirements are currently being drafted and this is a summary list for the sorts of things we're worrying about.
For Extension and Theme Developers
- Trademark Guidelines for Extension and Theme Names
- Extension and Theme Publishing Agreements
- Mozilla Software Integrity Policy
For Users
- Terms of Use
- Privacy Policy
Server Load
- Can handle the load
AUS connections/sec, GB/sec etc Page loads take < n seconds
i18n
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.
Markup
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.)