Closed
Bug 733096
Opened 14 years ago
Closed 14 years ago
[d2c] Fix ApplicationsVersions.__unicode__()
Categories
(addons.mozilla.org Graveyard :: Public Pages, defect, P1)
addons.mozilla.org Graveyard
Public Pages
Tracking
(Not tracked)
RESOLVED
FIXED
6.4.9
People
(Reporter: gkoberger, Assigned: robhudson)
References
Details
SHORT VERSION:
In ApplicationsVersions.__unicode__(), use "[App Name] [Min Version] and later" if the add-on is d2c compatible.
If there's the possibility of a false positive, show a little warning (see below for details on this).
For reference, here are the D2C rules: http://pastebin.mozilla.org/1503757
LONGER RAMBLINGS:
In various places, we print out something like “Firefox 3.6 - 10a”. With default to compatible, this will quickly go out of date.
If the version is eligible for D2C (based on what we can grok from the backend), we should print “Firefox 3.6 and later”. (Articulating this is preferable to just “Firefox 3.6+”, which may be confusing to normal users. Is “Firefox 3.6+” a version of 3.6? On of our most popular add-ons is called Adblock Plus, which sounds similar.)
This could get confusing and frustrating, however. What if a user has strict compatibility on for Firefox, or is using Firefox 7 (and the add-on is really only compatible up to 5)? What if a later version of the add-on is blocklisted? The installation will be rejected, despite the site saying it’s compatible with “Firefox 4 and up”.
I don’t have a great solution for this. Either way, it’s going to be confusing -- but luckily, it’s a fairly rare edge case on a page most people won’t ever look at. Let’s show a tiny, faded out yellow warning triangle with a tooltip if any of the following conditions are true:
- The user has a version of Firefox before 10
- The user has extensions.strictCompatibility set to true (this depends on us surfacing this option in navigator)
- The add-on version is in the blocklist for that version of the add-on, regardless of what Firefox version the user is using.
The tooltip will just say “It’s possible this add-on won’t work with your current device. <a href=”..”>Learn more about Default to Compatible</a>”, with a link to a page describing D2C.
(I’m open to suggestions for the warning+tooltip idea. Yes, we could do a more in-depth check if we wanted. I’m just worried about doing too much work for what amounts to an edge cases on pages most people will never look at.)
Updated•14 years ago
|
Assignee: nobody → robhudson.mozbugs
Target Milestone: --- → 6.4.6
Updated•14 years ago
|
Priority: -- → P1
Updated•14 years ago
|
Target Milestone: 6.4.6 → 6.4.8
| Assignee | ||
Comment 1•14 years ago
|
||
A thought... Since buttons.js is ripping through each of the versions, could it also update this text block? We could put down something generally correct. And if buttons.js has something more specific to add, we can update it (if that class exists, so this doesn't try to update text on other pages that buttons live). Most of the code we'd need is in buttons.js already (like checking browser version, min/max, compat override, etc.)
| Reporter | ||
Comment 2•14 years ago
|
||
This is (so far) only on the versions page. If you'd prefer to do it with JavaScript, have at it! You're the expert :)
| Assignee | ||
Comment 3•14 years ago
|
||
https://github.com/mozilla/zamboni/commit/e5eb897a
I'll review more of the details of the above... I think there may be some edge cases I should check and review.
| Assignee | ||
Comment 4•14 years ago
|
||
For example, on the following page, should all of those apps say the "or later"? Or only certain ones that support d2c?
https://addons-dev.allizom.org/en-US/thunderbird/addon/adblock-plus/versions/
I believe both Firefox and Thunderbird support d2c. Do Seamonkey and Mobile?
| Assignee | ||
Updated•14 years ago
|
Target Milestone: 6.4.8 → 6.4.9
| Reporter | ||
Comment 5•14 years ago
|
||
All four currently support d2c.
- Thunderbird since Thunderbird 10 (same as Firefox)
- Seamonkey since around when Firefox introduced it (not sure exactly when)
- Fennec since Fennec 12 (bug 719921); SDK add-ons only (no XUL)
Does this mean we may need to augment some logic (as in, part of the logic says "If Firefox version > 10")? I'm not sure where to mention this; let me know if you want another bug filed for "Non-Firefox support".
| Assignee | ||
Comment 6•14 years ago
|
||
We would need to know the lowest maxVersion for each of these to take them into account.
Right now my `is_compatible` function only takes into account Firefox, which I realize now isn't ideal. And that's what the `__unicode__` is using to determine if it should show the 'or later' or not. If an extension is for Thunderbird only, my `is_compatible` will return false b/c it doesn't support Firefox maxVersion >= 4.0.
I think `is_compatible` needs to know which app we're asking about.
Otherwise it could fall on one side or the other:
* If we require ALL to be compatible: If it supports both Fx and Tb, but only Fx has a good maxVersion, both Fx and Tb will show incompatible.
* If we require ANY to be compatible: If it supports both Fx and TB, but only Fx has a good maxVersion, Tb will show it as compatible incorrectly.
| Reporter | ||
Comment 7•14 years ago
|
||
Firefox: version >= 10; maxVersion >= 4
Thunderbird: version >= 10; maxVersion >= 5 (http://forums.mozillazine.org/viewtopic.php?f=39&t=2445107)
Fennec: version >= 12; maxVersion >= 11 (bug 719921)
Seamonkey: version >= 2.7.1; maxVersion >= 2.1 (bug 702792)
You're right, is_compatible now needs to know the app -- which is a pain. Let me know if you need help figuring out how that will work.
Comment 8•14 years ago
|
||
Just like `compatible_apps` (https://github.com/mozilla/zamboni/blob/master/apps/addons/models.py#L952) we could have `is_compatible_apps` (pending a better name) which would contain a dict of app => boolean pairs.
| Assignee | ||
Comment 9•14 years ago
|
||
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Updated•10 years ago
|
Product: addons.mozilla.org → addons.mozilla.org Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•