Custom Repositories

From DevWiki

Jump to: navigation, search

Applications

Contents


Overview

If you choose not to submit your application to the Boxee repository, you may create and maintain your own. Remember that you will get less exposure if users don't see your content without adding a customer repository. Users may add your repository url from the Boxee app store. The following describes the steps you need to follow in order to host your own repository.

The protocol that the Boxee client communicates with the repository is HTTP. You can use any HTTP web server such as Apache to host your custom Boxee repository. The repository can reside on any directory under your web server.

Important: Every application in a repository must have the application repository id as a prefix to the application id. For example: if your repository if called com.myboxee and you want to build app called “myapp”, then the application id MUST be com.myboxee.myapp. This is required in order to assure global uniqueness in the application ids.


The structure of files under the repository root are as follows:

<root_of_repository>
|
+-- repository.xml
|
+-- index.xml
|
+-+ download
  |
  +-- <appid>-<version>.zip
  |
  +-- ...


Details
repository.xml Descriptor file of the repository (name, thumbnail, etc)
index.xml Index of all the applications and versions in the repository.
download Folder that contains ZIP files of all the applications in the different versions. Each application should be packaged as described below.


Caching

Boxee caches repositories' information once you've added them to your repositories list as a user.

If you changed your repository's repository.xml and the changes do not reflect in your repositories immediately please be patient - if your repository is public (accessible by boxee's servers) than Boxee will update its information once a week by accessing your repository.xml file.

Note: If your repository is private (resides in an address not accessible by boxee's servers) boxee will not save its name and description. Which means that you will see it full name when you add it to your repositories on the client but the next time you'll look at your repositories list you will see only it's URL.


repository.xml

This is a descriptor of the repository. The descriptor file is an XML document which has the root element called repository. The following sub-elements should be placed under that element:

id Unique identifier for the repository. We recommend to use the reverse domain of where the repository is hosted. For example, if you host at mydomain.com, the repository should have the id of com.mydomain.
url The full URL of the repository. For example: http://www.mydomain.com.
name The name of the repository. For example: My BOXEE Repository.
thumb URL of a thumbnail to the repository. For example: http://www.mydomain.com/thumb.png. The thumbnail size should be 200×200. The background of the thumbnail must be a graay gradient which can be downloaded from here.
description Free text desribing the repository, creator and its contents.


Example

<repository>
   <id>com.mydomain</id>
   <url>http://www.mydomain.com</url>
   <name>mydomain</name>
   <thumb>http://www.mydomain.com/thumb.png</thumb>
   <description>Official mydomain.com repository.</description>
</repository>

Note: Due to issue BOXEE-6035, you must add a line at the end of the xml file.


index.xml

This is a index or manifest of all the applications hosted in the repository. The index file is an XML document which has the root element called apps. Under the root element, there are one or more application descriptors (including their app element) as described in the Application Descriptor File specification.

An example of a index file from www.mydomain.com which contains two applications:

<apps>
   <app>
      <id>com.mydomain.appid</id>
      <name>app name</name>
      <version>0.1</version>
      <description>High quality live-action and animated films displayed in high resolution</description>
      <thumb>http://www.mydomain.com/apps/appid/thumb.png</thumb>
      <repositoryid>com.mydomain</repositoryid>
      <repository>http://www.mydomain.com</repository>
      <media>video</media>
      <author>team-mydomain</author>
      <copyright>mydomain.com</copyright>
      <email>support@mydomain.com</email>
      <type>skin</type>
      <startWindow>14000</startWindow>
      <platform>all</platform>
      <minversion>0.9.14</minversion>
   </app>
   <app>
      <id>com.mydomain.gametrailers</id>
      <name>GameTrailers</name>
      <version>1.0</version>
      <description>Watch videos from GameTrailers.com</description>
      <thumb>http://www.mydomain.com/apps/gametrailers/thumb.png</thumb>
      <repositoryid>com.mydomain</repositoryid>
      <repository>http://www.mydomain.com</repository>
      <media>video</media>
      <author>team-mydomain</author>
      <copyright>mydomain.com</copyright>
      <email>support@mydomain.com</email>
      <type>skin</type>
      <startWindow>14000</startWindow>
      <platform>all</platform>
      <minversion>0.9.14</minversion>
   </app>
</apps>

Note: Due to issue BOXEE-6035, you must add a line at the end of the xml file.


download directory


Signing Your Applications

When distributing your own applications, you need to sign your application with an API key from the Boxee Developer Profile. Follow these steps to download your app signature file and place in your repository's download directory.

  1. Login to boxee.tv
  2. Navigate to http://boxee.tv/developer
  3. If you haven't already, register as a developer by filling out the profile form
  4. Click on the Apps tab
  5. Upload the zip of your application that you will distribute in your repository.
  6. Click "All Versions and Signatures"
  7. Click "Download Signature"
  8. Place the downloaded xml file in your repository's download folder
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox