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
A bit late to the party I know. But as a random user I would like to add that if presented with the skin requirements prior to downloading a skin I would possibly pass on some skins. Just like when downloading cellphone applications and the often rediculus permissions. Then again. Its not like all these extras are running unless I use a skin that requires them? Worst experinence was with a skin that just downloaded a lot of images into my hdd video library. That warning would have been really nice beforehand.

Just a wee input. Carry on :-)
(2015-11-21, 12:03)Torben Wrote: [ -> ]Then again. Its not like all these extras are running unless I use a skin that requires them?

Well i really hate to disappoint you on that certainly several are services that will run forever even if you don't use the skin Smile

Showing a dependency list is indeed something that we discussed about. Additionally it could be a list where users could disable certain stuff they really don't want and those should be of course flagged as nice to have.

Aeon MQ is in my opinion the worst as it pulls in a huge list you may never use
PHP Code:
    <requires>
    <
import addon="xbmc.gui" version="5.9.0"/>
    <
import addon="service.skin.widgets" version="0.0.30"/>
    <
import addon="service.library.data.provider" version="0.0.9"/>
    <
import addon="service.nextup.notification" version="1.0.8"/>
    <
import addon="script.aeonmq6.extrapack" version="1.0.6"/>
    <
import addon="script.favourites" version="6.0.2"/>
    <
import addon="script.artwork.downloader" version="12.0.29"/>
    <
import addon="script.randomandlastitems" version="2.2.2"/>
    <
import addon="script.games.rom.collection.browser" version="2.1.2"/>
    <
import addon="script.artistslideshow" version="1.8.6"/>
    <
import addon="script.tv.show.next.aired" version="6.0.14"/>
    <
import addon="script.cu.lrclyrics" version="3.2.0"/>
    <
import addon="script.toolbox" version="1.1.0"/>
    <
import addon="script.globalsearch" version="5.0.0"/>
    <
import addon="script.extendedinfo" version="3.1.1" />
    <
import addon="script.cinemavision" version="1.0.1" />
    <
import addon="resource.uisounds.aeonmq6" version="1.0.0"/>
    </
requires

It certainly contains several non essential addons that should be dropped.
For Copacetic I've adopted this method for all addons (apart from xbmc.gui of course) so you'll only ever be asked if you want to install them, not forced, when you try enabling a feature in the settings.

(2015-09-28, 11:45)marcelveldt Wrote: [ -> ]I use this in Titan, works as a charm:

PHP Code:
<control type="radiobutton" id="8014">
    <
label>Enable Next Aired</label>
    <
onclick condition="System.HasAddon(script.tv.show.next.aired)">Skin.ToggleSetting(EnableNextAiredNotifications)</onclick>
    <
onclick condition="!System.HasAddon(script.tv.show.next.aired)">RunPlugin(plugin://script.tv.show.next.aired)</onclick>
    
<selected>Skin.HasSetting(EnableNextAiredNotifications)</selected>
</
control

Basically it tries to run the addon (while it isn't installed). This triggers the popup from Kodi if the addon should be installed.
In my skin requires I only have the skinhelper script.

Maybe this is an idea to minimize the number of required addons in skins ?
(2015-11-21, 12:18)Hitcher Wrote: [ -> ]<onclick condition="!System.HasAddon(script.tv.show.next.aired)">RunPlugin(plugin://script.tv.show.next.aired)</onclick>

for the record, trying to run a script as a plugin is bad practice and will lead to errors in the log.
it would be nice if RunScript could behave in a similar way as RunPlugin in this case.
@ronie
That's error you're talking about is just upon the first installation.
That's the only way to do that right atm - open yes/no dialog for installing addon that's are available in your installed repositories.
(2015-11-21, 15:23)finalmakerr Wrote: [ -> ]@ronie
That's error you're talking about is just upon the first installation.
That's the only way to do that right atm - open yes/no dialog for installing addon that's are available in your installed repositories.

i know, i know :-)
just hoping one of the kodi devs could look into this, so we can use RunScript() for this in the future.
(2015-11-21, 12:18)Hitcher Wrote: [ -> ]For Copacetic I've adopted this method for all addons (apart from xbmc.gui of course) so you'll only ever be asked if you want to install them, not forced, when you try enabling a feature in the settings.

Not wanting to cause any heated discussions here but I feel this is almost like the chicken and egg problem (which came first?). Studies have shown most users will rarely change things, the majority who install Kodi probably stick with Confluence as they do not know much more about it. Now if the majority of addons (that surely were only included by the skinner because they feel it adds value to their skin) are hidden away in the skin settings imho this actually makes the user experience worse.

The root problem (again imho) is the change that occurred in Kodi to prevent users from uninstalling/deleting addons when they choose to do so (again I would expect only advanced users of Kodi to even attempt this)

Cheers
(2015-11-21, 16:15)im85288 Wrote: [ -> ]
(2015-11-21, 12:18)Hitcher Wrote: [ -> ]For Copacetic I've adopted this method for all addons (apart from xbmc.gui of course) so you'll only ever be asked if you want to install them, not forced, when you try enabling a feature in the settings.

Not wanting to cause any heated discussions here but I feel this is almost like the chicken and egg problem (which came first?). Studies have shown most users will rarely change things, the majority who install Kodi probably stick with Confluence as they do not know much more about it. Now if the majority of addons (that surely were only included by the skinner because they feel it adds value to their skin) are hidden away in the skin settings imho this actually makes the user experience worse.

The root problem (again imho) is the change that occurred in Kodi to prevent users from uninstalling/deleting addons when they choose to do so (again I would expect only advanced users of Kodi to even attempt this)

Cheers
I have way more problems with the fact some skinners shove stuff down the user's throats and then it's up to the user to figure out how to remove it again.
This is totally beside the point if you should be able to uninstall or not.
Here's a good example https://twitter.com/neokuffs/status/668070696875073536

Quote: The Aeon MQ 6 skin on @koditv really pisses me off now, there is no way to remove the "continue watching" popup... Uninstalling crappy skin!

Skin pulled in some Addon and now user is clueless about what is happening and where he could even change it.
Since its separate addon it's not in skin settings and you would just have to know it's some service Addon
Now we have great scripts, plugins and addons for use with skins, members/users have forums for solve questions about how work. Example is perfect, many members request skin have support NextUp, one or other don´t know how work, but it´s minimal, and a lot member is happy with usefull resource. I know base users is very large and many members don´t use forum, but it´s price for have new and cool resources available.

It´s easy explain, when request support:
http://forum.kodi.tv/showthread.php?tid=...pid2160430
(2015-11-21, 15:41)ronie Wrote: [ -> ]i know, i know :-)
just hoping one of the kodi devs could look into this, so we can use RunScript() for this in the future.

+1

Or even better: InstallAddon() Angel
(2015-11-22, 17:57)marcelveldt Wrote: [ -> ]
(2015-11-21, 15:41)ronie Wrote: [ -> ]i know, i know :-)
just hoping one of the kodi devs could look into this, so we can use RunScript() for this in the future.

+1

Or even better: InstallAddon() Angel

yeah, i like the idea.
PR: 8419 (PR)
Seems like Im a bit late to the "party"

however, didnt read the whole tread, would just like to clearify this up in case noone else did it.

(2015-07-03, 13:52)Martijn Wrote: [ -> ]the optional was added at some point but not sure that ever worked like it was supposed to or maybe is broken atm

as the require Tag is meant to specify the minimun require of a addon / script (V.1.0.2 for example) the "-optional" Tag follows the same rules.

So if a Addon is listed with V 0.0.8 as "-optional", then it needs at last V. 0.0.8 if it is installed, otherwise the Skin wont Install.
(2015-11-22, 19:32)Rantanplan-1 Wrote: [ -> ]Seems like Im a bit late to the "party"

however, didnt read the whole tread, would just like to clearify this up in case noone else did it.

(2015-07-03, 13:52)Martijn Wrote: [ -> ]the optional was added at some point but not sure that ever worked like it was supposed to or maybe is broken atm

as the require Tag is meant to specify the minimun require of a addon / script (V.1.0.2 for example) the "-optional" Tag follows the same rules.

So if a Addon is listed with V 0.0.8 as "-optional", then it needs at last V. 0.0.8 if it is installed, otherwise the Skin wont Install.

nope that's wrong Smile

The optional was meant that it would install it but if it was missing the scraper wouldn't become broken.
It was introduced at the point where the first youtube iteration became broken and it was a dependency of the default scraper. Hence the optional was added to make sure that if youtube broke down the scraper wouldn't become useless.
O.K. i used it for Addons which arnt available from the official repository (as a kind of a reminder for myself)

"script.skin.info.service" for example

however, if i set V 1.0.0 As requirement and a User got for example V 0.7.0 installed, the Skin throw a "dependency not met" message while try to install the Skin. (got this recently.)


EDIT:
And yes, of cours your right, it will install it if it is available from the official repository.
Pages: 1 2 3 4