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
This is my first 'draft' with some example data in it.
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:
- 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.
This is unofficial and there is no guarantee Team XBMC will do anything with it. This is just wishful dreaming out in the open
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
- 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.