Kodi Community Forum
can't disable add-on that are added as dependency - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32)
+--- Forum: Feature Discussion (read-only) (https://forum.kodi.tv/forumdisplay.php?fid=183)
+--- Thread: can't disable add-on that are added as dependency (/showthread.php?tid=180950)

Pages: 1 2


can't disable add-on that are added as dependency - Martijn - 2013-12-21

Due to recent changes in the add-on handling we can't disable any add-on any more which is a dependency of another add-on/skin.

This has some advantages however one disadvantage is we are now stuck with a bunch of add-ons that are forced upon us by skins which i may have no use for at all and want to disable them.
The only hack around is to uninstall the skin again. Disable the add-on en reinstall the skin. Although this shouldn't even by possible because the skin depends on it and you have it disabled.
Other way round is to just delete it bu then again on each update you get it back again.

For scrapers we have the optional="true" tag in addon.xml so maybe this should be allowed for skins as well?


RE: can't disable add-on that are added as dependency - Ned Scott - 2013-12-21

I thought this was already possible? For example, Confluence can use YouTube for Trailers or TvTunes when browsing TV shows, but neither won't be installed unless those options are turned on.


RE: can't disable add-on that are added as dependency - Martijn - 2013-12-21

they are not installed as a dependency by the skin. if they would they can't be disabled any more.


RE: can't disable add-on that are added as dependency - Ned Scott - 2013-12-21

Yes, but the point being that it is already possible for skins to make such add-ons optional and installed as needed. While this requires the skinner to put in extra work to give such an option, I would think it would be the more advisable solution.


RE: can't disable add-on that are added as dependency - Martijn - 2013-12-21

(2013-12-21, 21:19)Ned Scott Wrote: Yes, but the point being that it is already possible for skins to make such add-ons optional and installed as needed. While this requires the skinner to put in extra work to give such an option, I would think it would be the more advisable solution.

do you even know what you are talking about?

i know that's possible but that is NOT the point here


RE: can't disable add-on that are added as dependency - Ned Scott - 2013-12-21

There's no reason to get upset. No hostility was intended.

A better response would be "that's one way to do look at it, but I'm talking about another method. Here's why it's different."

Part of these discussions are to help each other understand the root issue. If you don't want to explain it, no worries.


RE: can't disable add-on that are added as dependency - jmarshall - 2013-12-22

They can already use optional="true". You should then be able to disable it.


can't disable add-on that are added as dependency - Memphiz - 2013-12-22

Realised the Same - aeon mq5 Installs lot of Service addons an even if i didn't use that Skin i Could not disable those Services as they are dependencies of that Unused Skin...


RE: can't disable add-on that are added as dependency - jmarshall - 2013-12-22

Yeah - the problem is as follows:

1. Skins (or any add-on) can use optional="true" if they wish to specify an optional add-on. If this happens, the add-on is downloaded on install only if we already have the add-on and it's out of date. If we don't have the add-on, it's not downloaded as it's optional.

2. Skins (or any add-on) want their optional add-ons downloaded by default, as they want users to get the full experience. So, due to 1, they don't specify the optional flag, as otherwise the extras don't get downloaded.

3. If an add-on A is a non-optional dependency of add-on B then it can't be disabled until add-on B is first disabled.

There's several proposals to remedy this.

1. Install optional deps by default. Simple counter-example here is themoviedb.org scraper is optionally dependent on youtube. (To be honest, it doesn't need to be - it doesn't actually use youtube, rather it generates youtube URLs directly and youtube add-on can later be used for these).

2. Have a middle ground, where add-ons can specify optional="recommended" or something, whereby those are installed by default.

These will solve the problem in that you'll be able to disable them. However, it won't really solve the issue that all this stuff is installed by default, when some of them may not be used. e.g. some skins install the tvtunes service, which will be running from then on, regardless of what skin you use, until you disable it.

Ideally there'd be much more user-control over this. e.g. when you install something with optional deps, you're prompted to enable/disable which ones you want. Problem here is how to handle auto-updates - it's not clear to me that prompting is the way to go.

Suggestions most welcome!

Cheers,
Jonathan


RE: can't disable add-on that are added as dependency - Montellese - 2013-12-23

Are features like TvTunes etc (not Skin Widgets) enabled by default by a skin? If not maybe it would make sense to automatically download them when the user enables the specific setting?


RE: can't disable add-on that are added as dependency - Martijn - 2013-12-26

(2013-12-23, 00:50)Montellese Wrote: Are features like TvTunes etc (not Skin Widgets) enabled by default by a skin? If not maybe it would make sense to automatically download them when the user enables the specific setting?

They are auto enabled and forced upon you.


Also another quirk i encountered now is after i deleted TV Next Aired and TV Tunes from add-ons and tried to install another skin that depended on them i got the message "TV Show Next Aired install failed" and that was it. So can't install a new skin atm. Could be that i didn't reboot me htpc after i killed the add-ons but still this is not nice.

Edit:
yep after reboot i could install it again but the dependencies came back bothering me. Skins pull in way to many add-ons that on default shouldn't be there but only if the users wishes to actually use them. so e.g. if they switch on tv tune support it then installs the add-on and not by default.


RE: can't disable add-on that are added as dependency - jmarshall - 2013-12-26

The first one sounds like a bug (TV Show Next Aired couldn't be installed) - please let me know which skins to play with to get this to happen.

As I say, the annoyance of auto-install is really due to the things being enabled, not being installed. The trouble is that it's difficult to figure out when to enable service add-ons (this is what these are, right?) - atm we just run them on startup. This makes sense for normally installed services, but may not make sense for many of the add-ons currently setup as services. Perhaps they should simply be script libraries that are called on demand from the skin instead in some way?

Alternatively we could have some per-service setting as to when to start them, and then have skins start the ones they need somehow on skin load. For this we'd need some XML or some such for defining when things start and when they don't.

Cheers,
Jonathan


RE: can't disable add-on that are added as dependency - Martijn - 2013-12-26

(2013-12-26, 22:52)jmarshall Wrote: The first one sounds like a bug (TV Show Next Aired couldn't be installed) - please let me know which skins to play with to get this to happen.

Cheers,
Jonathan

To repro:
* install tv next aired (under programmes)
* restart
* remove next aired from addon folder without restarting (so not through GUI)
* install Bello skin


RE: can't disable add-on that are added as dependency - Martijn - 2013-12-26

(2013-12-26, 22:52)jmarshall Wrote: As I say, the annoyance of auto-install is really due to the things being enabled, not being installed. The trouble is that it's difficult to figure out when to enable service add-ons (this is what these are, right?) - atm we just run them on startup. This makes sense for normally installed services, but may not make sense for many of the add-ons currently setup as services. Perhaps they should simply be script libraries that are called on demand from the skin instead in some way?

Alternatively we could have some per-service setting as to when to start them, and then have skins start the ones they need somehow on skin load. For this we'd need some XML or some such for defining when things start and when they don't.

Cheers,
Jonathan

an idea would be that the script could check s a skin setting if it's enabled.
e.g. getSettings('current_skin,run_addon_foo)


RE: can't disable add-on that are added as dependency - jmarshall - 2013-12-26

Quote:* remove next aired from addon folder without restarting (so not through GUI)

Probably just needs a c-pluff rescan prior to install as well as after - IIRC we scan after atm.

We shouldn't rely on script checking it's own settings - it's still running at that point - IMO it should be push-started (i.e. skin says "please start" and on unload "please stop")