Posts: 1,607
Joined: Apr 2016
You are ovecomplicating things. Make a setting same as "unknown sources" so it can be turned off. And even when turned off, user gets a warning that (if) the update is not coming from the "original" repo. Simple and doesn't bother users too much.
Posts: 8,056
Joined: Feb 2013
Reputation:
1,574
2017-09-07, 03:01
(This post was last modified: 2017-09-07, 03:05 by jurialmunkey.)
The way I see it, it is only add-ons that require skin integration which will be problematic. Namely because:
1. Skin dependencies will prevent disabling the official version of an add-on to test the beta version.
2. These add-ons tend to need skin integration with hardcoded add-on IDs thus requiring extensive modification for beta versions.
3. Some of these add-ons run as a service that fills window properties, so you will essentially have two add-ons filling the same property.
Solutions that do NOT work:
1. Switches or Prompts can easily be overridden.
2. Giving priority to the .dev version or defining a "trusted" beta repo in addon.xml can be easily exploited by malicious repos/wizards/builds
Thinking about this, I have a simple solution:
Have a very limited singular Official Beta Repository which is the only source capable of overriding add-ons from official repo.
- This repo would be updated much more frequently and with less checks than the official repo.
- Only those with an explicit case for needing to override official repo versions would be able to submit.
- So only add-ons that are skin dependencies and run as services or require skin integration to work would be allowed.
- This likely would only be a handful of add-ons: skin helper, next-up, next-aired, skin shortcuts, extended info, colorbox.
- Updates from this repo would still require explicit confirmation via a yes/no prompt so that only selected add-ons are installed.
I think this merges the best of the proposed solutions whilst still retaining the original intent.