Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Admin tool to control alternative add-on recommendations #4440

Closed
jvillalobos opened this issue Jun 14, 2017 · 20 comments · Fixed by mozilla/addons-server#5886
Closed

Admin tool to control alternative add-on recommendations #4440

jvillalobos opened this issue Jun 14, 2017 · 20 comments · Fixed by mozilla/addons-server#5886
Assignees
Labels
Milestone

Comments

@jvillalobos
Copy link

Issue #4278 introduced an endpoint for the Firefox Add-ons Manager to point to when users are looking for alternatives to their installed legacy add-ons. Now we need this page to actually do something.

For this we need an admin tool that maps add-on ids (the guids, to be precise) to recommended alternatives. Here's what I think we need for the tool:

  • Available to AMO users with the Addons:Edit permission.
  • Allows to manage mappings between a guid and a URL. So, for example, one mapping would be {d2a46ca0-999d-11da-a72b-0800200c9b57} -> /addon/always-preview-webextension/. This would point users of Always Preview to Always Preview (WebExtension).
  • Using the same example as above, visiting /find-replacement/?guid={d2a46ca0-999d-11da-a72b-0800200c9b57} should redirect to /addon/always-preview-webextension/?src=find-replacement. The src argument allow us to track this in add-on download stats.
  • The path doesn't need to be an add-on listing. It can also be a category, tag, or collection. Not sure if there's any validation that needs to happen in this field.

If a guid doesn't have a mapping, the default behavior should be to redirect to /collections/mozilla/featured-add-ons/. We've talked about other possible behaviors, like use the add-on's category or tags, but I don't think there has been a strong case given for any of these. @devaneymoz might have other ideas for this.

@devaneymoz
Copy link

I think pointing to our main featured collection makes sense. By 1 September this collection will exclusively feature WebExtensions.

@muffinresearch
Copy link
Contributor

@jvillalobos do we have an issue for the actual feature? I'd like to understand the intended end result for the page including UX.

@krupa
Copy link

krupa commented Jun 15, 2017

Would it be possible to have one to many correlation? Instead of just one webextension, can i recommend three replacements?

@jvillalobos
Copy link
Author

It would be possible to create a collection with multiple replacements and point to that.

@jvillalobos
Copy link
Author

@jvillalobos do we have an issue for the actual feature?

If you mean the redirect, no, there's no issue. I just want a simple redirect, nothing fancy. I just created this doc with a bit more detail, including some UX for the management tool, if that helps.

@muffinresearch
Copy link
Contributor

If you mean the redirect, no, there's no issue. I just want a simple redirect, nothing fancy. I just created this doc with a bit more detail, including some UX for the management tool, if that helps.

Ah ok, I misunderstood, I thought this page was going to show something but it's much simpler that that. Thanks for clarifying.

@eviljeff eviljeff self-assigned this Jul 10, 2017
@eviljeff
Copy link
Member

@jvillalobos

  • if there's no match you just get redirected to the featured collection, right? Is that collection url hard-coded?
  • from what I read you want no validation on the input path so you have maximum flexibility. Do you want the path to at least be a valid path on AMO? Or do you want to be able to supply any random URL?

@eviljeff
Copy link
Member

random disclaimer - collections have their own src= parameter (and you can't have two) so installs that come from find-replacement via a collection can't be tracked like that.

@jvillalobos
Copy link
Author

if there's no match you just get redirected to the featured collection, right? Is that collection url hard-coded?

Yes, this is the URL: https://addons.mozilla.org/firefox/collections/mozilla/featured-add-ons/

from what I read you want no validation on the input path so you have maximum flexibility. Do you want the path to at least be a valid path on AMO? Or do you want to be able to supply any random URL?

The input only takes the path, not the host, so it should always land on AMO. Beyond that, I think it's best to keep maximum flexibility and not worry about validation too much. /find-replacement/ should not be a valid target to avoid redirect loops, though.

collections have their own src= parameter (and you can't have two) so installs that come from find-replacement via a collection can't be tracked like that.

Good observation. At least we can use the visits to collections with src=find-replacement to try to measure things.

@muffinresearch
Copy link
Contributor

muffinresearch commented Jul 19, 2017

Testing steps (stage):

  1. Add a replacement for an installed legacy addon in the admin at https://addons.allizom.org/en-US/admin/staff-models/addons/replacementaddon/
  2. In the browser set extensions.legacy.enabled to false.
  3. Go to addons list in the browser, click the find replacement link - change the host from production to https://addons.allizom.org/ and run the link on stage. You should see the replacement you specified.
  4. If a replacement isn't available you should see https://addons.allizom.org/firefox/collections/mozilla/featured-add-ons/

add-ons_manager

@ValentinaPC
Copy link

ValentinaPC commented Jul 20, 2017

Verified this on -stage using FF56(Win 7).

  • used legacy add-ons with different format for ID (mail, jetpack, UUID ) - "Find replacement" button works as expected.
  • tried using a RTL build - works as expected
  • tried setting the replacement link to a non-en locale - works as expected

Screenshots and videos:
find repl
fr
2017-07-20_1712
rtl_001

@muffinresearch : If there is anything else that should be checked here, please let me know. Thanks!

@muffinresearch
Copy link
Contributor

^ @eviljeff - anything else that needs testing here?

@eviljeff
Copy link
Member

I think that's all

@ValentinaPC
Copy link

@muffinresearch : I think that, maybe, because of the changes from Admin Tools and the VPN implementation, the "Find replacement" option is no longer working as explained above....for me is not working at all.

@muffinresearch
Copy link
Contributor

@ValentinaPC the browser doesn't know what host you're pointing at, so it will always hit production for the replacement if you use the button in about:addons - I don't think there's a pref to change that. You'll need to try create the url manually to test it rather than hit the button.

@ValentinaPC
Copy link

@muffinresearch : I did this: "Go to addons list in the browser, click the find replacement link - change the host from production to https://addons.allizom.org/ and run the link on stage. You should see the replacement you specified." - but still not redirected as expected, as before the VPN change.

@muffinresearch
Copy link
Contributor

muffinresearch commented Jul 26, 2017

The previous instructions only worked before the replacement tool was in production. Now to test in stage:

@MarkCSmith
Copy link

Sorry to comment on a closed issue,but are there docs for this feature? My specific question is whether add-on authors will be able to configure a recommended WE replacement for their own legacy add-on, or if they will need to ask someone at Mozilla to do that for them.

@muffinresearch
Copy link
Contributor

@MarkCSmith hi, this feature is only for admins to setup replacements. There is a discourse thread can contribute suggestions: see https://discourse.mozilla.org/t/favorite-webextensions/17087

@FixitmanArizona
Copy link

OR... how about making sure the browser works with all old extensions before updating it. For instance, if the original Google Toolbar. PrefBar, x-notifier, NoSquint, Status4Ever, and TabMixPlus do not work, or have built in replacements that look and work EXACTLY like the legacy extensions, do not release the new version, instead, modify an older version to have the same standards as the new browser would have. Preferably, roll back the browser versioning to before the rapid release madness, and re-release version 3 or 4, and DO NOT allow anyone to use any browser version above 5 until this is fixed. If you're going to completely screw up Firefox, it's not Firefox any more, call it something else, maybe Mozilla Browser, and start fresh. You could then use the Chromium engine in it like Vivaldi or just shut the project down and let Vivaldi do your job for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants