Karotz developper zone

Make your own Karotz application !

Register an application

A Karotz application is composed by several types of elements : a profile to fill in the lab form, and a zip file that contain the application code source.

A new application profile

First, you need to create the profile of your new application. Clic on the button “Register an application” or here

You have to fill the form whith :

  • an application name (this name must be unique in each Ztore : FRA, GBR, …). The name can’t be change after registration. Be careful!
  • the category of the application (multimedia, my daily, …)
  • a short and a long description
  • a path to application icon (64×64 pixels, JPG, GIF or PNG)
  • the Ztore where the application will be published

Just clic on the “Save button” and your application will be registered.

Dashboard : list of your applications

Back to the dashboard, you will see your new application in the list.

You can get here some information about your application :

  • icon, name, and Ztore.
  • the API key. It is a unique key for each application.
  • the Secret key. used to sign your calls.
  • each different version of your application. You can get the zip file for a version by clicking on it.
  • status of the application :
    • PRIVATE : your app is not available on the Ztore. You can test it on your rabbit or allow your friend to test it withe a simple weblink (see below)
    • ENABLED : your app is available on the Ztore (not available now for developpers)

Some button allow you to edit your application :

  • Edit details : edit the category, descriptions, icon
  • Upload code : provide the application zip and a change log
  • Make private : you can change application status
  • Test ! : install your application on your Karotz or give the link to your friends

Create the application package

Each application is packaged as a zip file.

The application must contain at least one xml configuration file : descriptor.xml

In the descriptor you define the deployment of your application, there is 2 kind of deployment:

  • hosted: for applications deployed in the Karotz, application must use the Javascript SDK and contain at least a main.js code source.
  • external: for applications execute outside the Karotz, application must use the REST API.

descriptor.xml

This file contain meta informations for the application.

<descriptor>
   <version>version</version>
   <accesses>
       <access>tts</access>
    </accesses>
    <deployment>external</deployment>
    <callback>http://...</callback>
</descriptor>

a minimal descriptor.xml

mandatory :

  • version : current version (0.0.1, …)
  • accesses : security policy : list of accesses for Karotz features you want to use. (this list will appear on Ztore) : led, ears, button, tts, webcam, asr, multimedia, rfid, http, file, serial.

optionnal :

  • editor : Name of the editor. By default: the editor name will be First Name + Last Name of your account.
  • asrName : asr command. By default: the asr command will be the application name
  • deployment : deployment type. Can be “external” or “hosted” (default)
  • multiConf : The application can have one or more configuration. (in the configuration panel of the Karotz) “true” or “false” (default)
  • parameters : list of static parameters (not implemented now)
  • interruptible : The application can be interruped by another. “true” or “false” (default) (not implemented now)
  • awake : The application can wake Karotz. “true” or “false” (default) (not implemented now)
  • callback : Callback url for “external” application
<descriptor>
    <version>current version</version>
    <accesses>
        <access>tts</access>
        <access>button</access>
        <access>...</access>
    </accesses>

    <editor>editorName</editor>
    <asrName>asrName</asrName>
    <deployment>typeOfDeployment</deployment>
    <multiConf>true</multiConf>

    <parameters>
        <parameter key="paramKey" value="paramValue"/>
    </parameters>
    <interruptible>boolean</interruptible>
    <awake>boolean</awake>
    <callback>http://callback_url</callback>
</descriptor>

a more complex descriptor.xml

If your application need some user parameters you can define a screen.xml

Google Groupes
Abonnement au groupe KarotzDev
E-mail :
Visiter ce groupe