Mozilla.com/ProductDetailsRefactoring
Jump to navigation
Jump to search
The product-details library has grown over the years, adapting to a lot of changes. We'd like to refactor it to make it easier to work with.
Before the actual refactoring, we need to identify every current use-case.
Current source code: http://svn.mozilla.org/libs/product-details/
Use cases
www.mozilla.com (future part of www.mozilla.org)
- Offer download buttons for current versions for every locale
- Firefox, Release, Beta and Aurora
- Firefox Mobile, Release, Beta and Aurora
- Thunderbird, Release, Beta and Aurora
- Current version can be different for each locale
- Offer full list of download links for current and previous (3.6) version
- Variations for OS (Windows, Mac, Linux), architecture (32, 64 bits)
- Decide which version of a page we should display based on availability of a version (aka feature flags)
- Others?
affiliates.mozilla.org
- Get a list of locales and countries for users to choose from when signing up.
www.mozilla.org
Please add your usecases over here.
addons.mozilla.org
- Languages
- Default version of a product
developer.mozilla.org
- L10n language list
Your website
Please add your usecases over here.
Ideas for implementation
Those are some ideas written down. Definitely not set in stone.
- product-details should be a source of data first, with some PHP/Python methods to extract some of it based on some rules.
- shell commands to generate/alter the JSON, no manual editing
- download buttons should link to the download page when JS is disabled
- Download links could be based on the visited locale instead of user agent
- JS is only responsible for choosing a platform (OS + architecture)
Next steps
- Get feedback from webdev, release engineering, l10n, community websites
- Use this to have a clear picture of the needs of everyone
- Code!