Add new add-on type for SHIELD Studies

RESOLVED INCOMPLETE

Status

()

Firefox
Normandy Client
RESOLVED INCOMPLETE
a year ago
3 months ago

People

(Reporter: mkelly, Assigned: mkelly)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Assignee)

Description

a year ago
In order to add native support for installing and managing SHIELD studies in a separate add-on listing, it appears we need to add a new add-on type to the AddonManager.
(Assignee)

Updated

a year ago
Depends on: 1337535
(Assignee)

Updated

a year ago
Assignee: nobody → mkelly

Comment 1

a year ago
Is there a document outlining the plan here, I'd be interested in see what the reasoning for this is.
Flags: needinfo?(mkelly)
(Assignee)

Comment 2

a year ago
(In reply to Andy McKay [:andym] from comment #1)
> Is there a document outlining the plan here, I'd be interested in see what
> the reasoning for this is.

The Github issue is https://github.com/mozilla/normandy/issues/323, and the spec for the feature is at https://docs.google.com/a/mozilla.com/document/d/1t3vMC9fdLQApmuiR9BPAi05RjS0VVjcsFH3uEcbgNGc/edit?usp=sharing.

As for why a new add-on type is required, as far as I can tell adding a new add-on type is the standard way to get a new listing in about:addons, which is the requirement driving that decision. This new add-on type will probably eventually be one of the types to use the privileged add-on signing you've talked about to solve Test Pilot and SHIELD's needs for bootstrap.js add-ons. I suspect Test Pilot and SHIELD can actually share the new add-on type.

I'm not strongly tied to the idea though, so other methods of hiding these add-ons from the main listing and showing them in a separate listing are welcome.
Flags: needinfo?(mkelly)

Comment 3

a year ago
Thanks for that link. I have slight concern that any changes beyond showing an existing listing requires XUL changes to the add-ons manager. For example you show "completed experiments" at the bottom. The add-ons manager is quite overly complex and groaning from many years of changes of technical debt. Adding in more XUL doesn't fill me with much joy, probably the opposite.

I'll defer to rhelmer and aswan from a technical point of view but from an engineering manager point of view I'm a quite nervous about any changes to this because they really truly do become a rabbit hole.
Flags: needinfo?(aswan)
(Assignee)

Comment 4

a year ago
(In reply to Andy McKay [:andym] from comment #3)
> Thanks for that link. I have slight concern that any changes beyond showing
> an existing listing requires XUL changes to the add-ons manager. For example
> you show "completed experiments" at the bottom. The add-ons manager is quite
> overly complex and groaning from many years of changes of technical debt.
> Adding in more XUL doesn't fill me with much joy, probably the opposite.
> 
> I'll defer to rhelmer and aswan from a technical point of view but from an
> engineering manager point of view I'm a quite nervous about any changes to
> this because they really truly do become a rabbit hole.

Having our own standalone listing would also meet the requirements (like, at about:studies or something), but re-implementing most of the logic behind the existing add-on listing seemed like a bad idea. But maybe not?

If there's a way to install add-ons that don't show up in the normal add-on listing, but can still be found and listed in our own custom listing, then maybe that's actually the better path here?
I'm not all that familiar with how SHIELD works so its hard to say.  I'd be happy to do a vidyo chat if a higher bandwidth channel than bugzilla comments is preferred.  But how to studies get installed/removed/enabled/disabled?  Creating a new panel in about:addons is doable but the UI in about:addons is designed around controlling add-ons (e.g., disable/enable, update, etc).  If you don't want users to control individuals studies then I would encourage you to consider something else.  Also, as Andy said, if you want to change anything about the appearance (e.g. the "what is this" thing in the mocks) you'll need to mess with XUL.
"Creating a new add-on type" can mean several different things, but unless you're packaging SHIELD studies in xpi files (which I suspect you are not doing or proposing to do), you don't have to worry about signing at all.
Flags: needinfo?(aswan)
(Assignee)

Comment 6

3 months ago
We ended up adding opt-out study support to Shield without landing a new add-on type.
Status: NEW → RESOLVED
Last Resolved: 3 months ago
Resolution: --- → INCOMPLETE

Updated

3 months ago
Product: Shield → Firefox
You need to log in before you can comment on or make changes to this bug.