Addon.xml discussion (devs only)
#1
As I worked the past month on a certain repository, I found out the addons.xml could be improved. I have seen some things on the forum already but I think it is better to discuss it at one central place.

This is unofficial and there is no guarantee Team XBMC will do anything with it. This is just wishful dreaming out in the open Smile

This is my first 'draft' with some example data in it.
Quote:<?xml version="1.0" encoding="UTF-8"?>
<addon id="string" version="x.x.x" name="string" branch="development" provider-name="Name">

<supports>
<inputmethod optional="true">keyboard</inputmethod>
<inputmethod optional="false">touch</inputmethod>
<feature>pvr</feature>
</supports>

<connect stats="http://statsserver.com/update-stats.php">
<server>http://firstdomain.com/Addons/</stats>
<server>http://seconddomain.com/Addons/</stats>
<server>http://fallback.com/Addons/</stats>
</connect>

<requires >
<import addon="xbmc.python" version="2.1"/>
</requires>

<extension point="xbmc.python.pluginsource" library="addon.py">
<provides>video</provides>
</extension>
<extension point="xbmc.addon.metadata">
<platform>all</platform>
<summary lang="en">Series, videos and more from a channel</summary>
<description lang="en">Livingsmarttv.dk is overall video platform for all sites belonging to Kenneth WedMore Lund, Copyright 2012. Feel free visiting the author of the videos webpage at http://www.livingsmarttv.dk. In order to play the videos, you will be forced to download the youtube plugin. This plugin have been brought to you by the power of free will. If you want to help, making it better, feel free contacting me.</description>
<disclaimer lang="en">All content belongs to YouTube and the owner. Please notice, that all content can be removed at any given time.</disclaimer>
<license>GPL 2.0</license>
<forum></forum>
<website></website>
<email></email>
<source></ source>
</extension>

</addon>

Added
- branch
- requirements per XBMC version
- supports section incl optional-attribute
- help section
- connect section to prevent a single point of failure. For stats-tracing a dedicated stats-url is required.

What does this make possible?
- addon.xml.md5 (just like addons.xml.md5 but for a single addon). Making it very easy to have addons updating without a repo installed and installed addons can be checked without downloading all repo data (important for mobile)
- multiple branches: development, stable and testing. Quite easy to set them:
  • Stable: Updated on version bump at auto-repos / notifies Team XBMC Repo on bump
  • Testing:: Use revision string
  • Development: Just a (daily) git/svn pull
- One single addon.xml for multiple XBMC versions so devs don't have to split up development files
- Prevents touch-only skins on not-touch devices (by extra warning pop-up)
- Linking to support in app and for use by aggregators
- distributed serverlist so even when the primair url fails, the addon can still update.
Reply
#2
I see no reason for the branch tag and this is not possible due to the used cpluff module.
Help section is already there in metadata
http://wiki.xbmc.org/index.php?title=Add....2Fplugins

Supports is something we already are discussing since last August but it didn't make it into Frodo. It will probably be space separated tags for technical reasons.
<supports>touch pvr mouse</supports>

No reason to use the server part as primary url should always be available as it's properly mirrored. Also there's no reason to have have backup url since there's no problem in the occasion the url fails for several hours as updates are not that important.

Xbmc already dictates the dependencies and backwards compatibility
https://github.com/xbmc/xbmc/blob/master.../addon.xml

Because of cpluff the addon.xml structure is limited so you cannot change it freely. So even if we want add something it's not that simple.
Read/follow the forum rules.
For troubleshooting and bug reporting, read this first
Interested in seeing some YouTube videos about Kodi? Go here and subscribe
Reply
#3
(2013-03-12, 13:27)Martijn Wrote: I see no reason for the branch tag and this is not possible due to the used cpluff module.
And there is no way to make it possible because of that? It's kinda 'requested' by some developers as it makes it possible to include their (development) addon earlier in official repo than it is at the moment.

Quote:Supports is something we already are discussing since last August but it didn't make it into Frodo. It will probably be space separated tags for technical reasons.
There is no distinct between a required input method and an optional. Also it's not really XML-ish to do a seperate by space. Again, it's only 'freestyling' but I rather see some well formed addon.xml we can work to (find developers for) than hackish solutions (what you seem to imply, no offence)

Quote:No reason to use the server part as primary url should always be available as it's properly mirrored. Also there's no reason to have have backup url since there's no problem in the occasion the url fails for several hours as updates are not that important.
Not every server is mirrored (officials are, but there is more out there) and you can't update the addons with a new address if the primary domain goes out for a longer time. At this time, load balancers do the trick but what if addons.xbmc.org goes down (bad example as it's the official one but there are less fortunate repo's out there and no not talking about SR as it has a pretty heavy CDN backbone)

Quote:Xbmc already dictates the dependencies and backwards compatibility
https://github.com/xbmc/xbmc/blob/master.../addon.xml
Nice, seems enough to me. Will update the draft.

Quote:Because of cpluff the addon.xml structure is limited so you cannot change it freely.
That's why I want to take the 'broad appoach'. Everything that is not possible is not possible YET. It all has to do with resources (if we had unlimited of those we would just replace cpluff, rewrite Windows so XBMC would be baked-in etc Tongue). This brainstorm should not be limited by those technical limits imho. First list what everybody wants, then check what is possible and what can be made possible (and what resources are needed).
Reply
#4
You sound like my boss. And once we did all this and the question about ressources rises - boss says - no way you get those ... Big Grin
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply

Logout Mark Read Team Forum Stats Members Help
Addon.xml discussion (devs only)0