Update:Requirements: Difference between revisions

 
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Update:Home_Page|Update: Home Page]] » Requirements
[[Update:Home_Page|Update: Home Page]] » Requirements
== Infrastructure ==
* [[Update:Architecture_and_General_Design|Architecture and General Design]]
* [[Update:Infrastructure|Architecture Notes/Details/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 [[Update:Infrastructure|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 [http://osuosl.org 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 ==
== Mozilla Policies & Legal Requirements ==
[[Update:Requirements/LegalAndReview|Software Integrity Policy for Mozilla Update]]


== Server Load ==
== Server Load ==
* Can handle the load
AUS connections/sec, GB/sec
AUS connections/sec, GB/sec
etc
etc
Page loads take < n seconds
Page loads take < n seconds


== Interfaces ==
== i18n ==
Must support Firefox, Thunderbird, Nvu, PFS, AUS
 
URIs that mention the language. As mentioned in [https://bugzilla.mozilla.org/show_bug.cgi?id=247575 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.)
Confirmed users
428

edits