Kodi Community Forum

Full Version: alternative to prevent abuse of <requires> in addon.xml
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4
So a lot of skins abuse the <requires> tag to bulk install add-ons they support. However, this prevents users from disabling those add-ons if they have that skin installed.

Only addons absolutely essential to skin functioning should be in <requires> tags - like script.skinshortcuts or script.favourites. Addons that are auto run services really should not be in here - e.g. TvTunes, NextUp, LRCLyrics. Having these types of addons in <requires> tags means that every skin then needs to add a skin setting to disable these addons rather than users just disabling/uninstalling the actual addon. Absolutely no skin is going to require NextUp, TvTunes or LRClyrics -- they just support the features they supply.

Basically, I want an additional tag that installs other add-ons used by the skin but aren't absolutely essential. Something like <preinstall>
This would prevent abusing the <requires> tag whilst also allowing skins to preinstall certain add-ons that are important for the overall skin *experience* (e.g. NextUp in fTV).
This would be great, I don't know how many times I've tried to uninstall TV tunes but couldn't because it was required by a skin I was testing.
+1
Great idea
This is a really really good idea. Smile
+1
Have you tried using the optional flag?

Code:
<import addon="plugin.program.super.favourites" optional="true"/>
(2015-07-03, 13:17)Lunatixz Wrote: [ -> ]+1
Have you tried using the optional flag?

Code:
<import addon="plugin.program.super.favourites" optional="true"/>

Tried it, doesn't work
(2015-07-03, 13:35)sualfred Wrote: [ -> ]
(2015-07-03, 13:17)Lunatixz Wrote: [ -> ]+1
Have you tried using the optional flag?

Code:
<import addon="plugin.program.super.favourites" optional="true"/>

Tried it, doesn't work

the optional was added at some point but not sure that ever worked like it was supposed to or maybe is broken atm
If it can be fixed then we have the answer covered correct?
(2015-07-03, 13:52)Martijn Wrote: [ -> ]
(2015-07-03, 13:35)sualfred Wrote: [ -> ]
(2015-07-03, 13:17)Lunatixz Wrote: [ -> ]+1
Have you tried using the optional flag?

Code:
<import addon="plugin.program.super.favourites" optional="true"/>

Tried it, doesn't work

the optional was added at some point but not sure that ever worked like it was supposed to or maybe is broken atm

iirc this would/should allow you to disable the installed add-on again. Also it wouldn't mark the main add-on broken if dependency was missing.


i really question what the additional tag would gain.
either you install the extra add-on or you don't. having it optional or not it would just pull in that add-on and start it. Installing it and setting it disabled doesn't make sense either (i think)

On first skin install:
the only way i would see this working that when you install an addon it gives the dependencies which are requered and the user has to accept these.
For the additional ones you could have a multi-select dialog which the user has the option to not install the nice-to-have ones.

At each skin upgrade the optional ones must be ignored.

The above should be the same for all add-ons and not just skins. Problem here is to not overload the user with additional info and option on which he can't even judge if he wants it or not. This is a general problem as all add-ons installed as dependency are forced and cannot be disabled when some add-on is still in use that "wants' it.

I agree with you all that skins/add-ons shouldn't install by default any other might be useful or nice to have.
Is there a built in function that can install addons from the skin? That way a button in skin settings can be used to quickly install supported addons (or from startup.xml)

Personally I think requires should only be used for absolutely essential addons that the skin would break without and leave the rest up to users. However, the evidence points to it continuing to be abused. I've even had one modder refuse to remove an unnecessary dependency after I politely requested that they do so.
(2015-07-04, 02:48)jurialmunkey Wrote: [ -> ]Is there a built in function that can install addons from the skin? That way a button in skin settings can be used to quickly install supported addons (or from startup.xml)

Personally I think requires should only be used for absolutely essential addons that the skin would break without and leave the rest up to users. However, the evidence points to it continuing to be abused. I've even had one modder refuse to remove an unnecessary dependency after I politely requested that they do so.
I dont know how many skins "abuse" that tag really, but in general the team seems to agree that we should enforce a pretty strict policy for this to only allow "needed" add-ons (self-installing service add-ons are the main issue here IMO, that should perhaps be disallowed completely)
And no, there is no builtin, you will get asked for installation when opening the plugin path of not-installed add-on for example though afaik.
The trouble is letting the user know there are other addons available that will enhance their experience in the first place. Wink
I call it the "Feature Discovery" issue :D

The current way Kodi is, for skins and even the core program, it's hard for users to know what else is possible by installing add-ons, or even built-in features that require a change in settings.
Hence the need for an optional install flag...
You can have all the fucking flags you like but its self control and awareness that will win the day.
Pages: 1 2 3 4