The AppStore App

The AppStore App is used to store Apps, Firmware, Software and App Platforms and these can be downloaded afterwards from the app itself or from the download page. To upload a new release to the AppStore App, 3 uploads must be done: one for the Apps, one for the Firmware and one for the Software. For every app, device and software there must be a file named like itemID_files, which contains the names of the binaries that should be uploaded to the AppStore App for this item.

Table of content

How to add items to the AppStore App

How to upload items to the AppStore App

How to use another AppStore App as a source

Folder Structure

JSON Files Structure


How to add items to the AppStore App

How to add an app

The add of a new app the Add button must be clicked (upper-right corner). After that, a dialog like this one will be displayed:



The ID must be unique and there should be a file named id_files which contains the names of the files that must be uploaded for the given app. The Path should point to where the folders for the builds are. Those folders must contain the id_files file and 2 folders: arm and x86_64. The Folder must be the name of the folder inside arm and inside x86_64, which contains the binaries and Binary must be the name of the binaries (in this case, apidemo.bin, apidemo.debug and apidemo.png).

So the whole path of the binaries should be something like: path/build_number/arm/folder/binary.bin

How to add a firmware

The add of a new firmware the Add button must be clicked (upper-right corner). After that, a dialog like this one will be displayed:



The Name must be the id of the firmware and Project is the name of the folder that contains the builds. The Path must point to the folder that contains the folders for the builds (which should contain the binaries and the id_files file for the given device). If the id_files file is not found, the boot and ip files will be uploaded as default.

How to add a software

The add of a new software the Add button must be clicked (upper-right corner). After that, a dialog like this one will be displayed:



The ID must be unique and there should be a file named id_files which contains the names of the files that must be uploaded for the given software. If this file is not found, the one specified on Binary will be uploaded. The Path must point to the folder that contains the binaries of the given software and the id_files file.

How to add an app platform

The add of a new app platform the Add button must be clicked (upper-right corner). After that, a dialog like this one will be displayed:



The Path should point to where the folder called "app-platform" is placed, which contains the builds for the given app platform. The ID must be unique and the fields File, Update file, First ZIP file and second ZIP file can be used to specify which files must be uploaded for the given app platform.

How to upload items to the AppStore App

How to upload an app

The upload of a new build for the apps can be done with the upload menu, which is displayed by clicking on the Update button (upper-right corner). To upload the build for all the current apps on the AppStore App, click on Select all and edit the Release, Build and Label data on the first row. The changes will be automatically applied to all the apps. With the Upload button the binaries of the selected apps are uploaded to the AppStore App.



If an error is displayed after the upload saying that some file could not be found, please check if the path of the apps are correct. These should be like this one (where xxxx is the id of the app):

If the path is correct, check that inside that folder there is a folder named as the build number. It should contain a file called xxxx_files (which contains the names of the files that will be uploaded to the AppStore App for the given app) and 2 folders with the binaries (arm and x86_64).

How to upload a firmware

The upload of a new build for the firmware can be done with the upload menu, which is displayed by clicking on the Update button (upper-right corner). To upload the build for all the current devices on the AppStore App, click on Select all and edit the Release, Build, SR and Wiki (optionally) data on the first row. The changes will be automatically applied to all the devices. With the Upload button the binaries of the selected devices are uploaded to the AppStore App.



If an error is displayed saying that some file could not be found, please check the path of the device. This should be like this one (where ipxxxx is the id of the project):

If the path is correct, check that the folder contains a folder named as the build number. These should contain the binaries and the id_files file for the given device. For example, for the device IP1200, inside http://build-dfs.innovaphone.com/13r1/ip1200/131779 you should find: boot1200.bin, ip1200.bin and ip1200_files. For 12r2 and older it is ok if the ipxxxx_files files are not found on firmware. On this case, the boot and ip files are uploaded as default.

How to upload a software

The upload of a new build for the software can be done with the upload menu, which is displayed by clicking on the Update button (upper-right corner). To upload the build for all the current softwares on the AppStore App, click on Select all and edit the Release, Build and Label data on the first row. The changes will be automatically applied to all the software. With the Upload button the binaries of the selected softwares are uploaded to the AppStore App.



If an error is displayed saying that some file could not be found, please check the path of the software. This should be like this one (where xxxx is the folder containing the binaries of the given software and the id_files file):

The last part of the path (xxxx) is not set automatically the first time that a software is uploaded.

How to upload an app platform

The upload of a new build for the app platform can be done with the upload menu, which is displayed by clicking on the Update button (upper-right corner). To upload the build for all the current app platforms on the AppStore App, click on Select all and edit the Version data on the first row. The changes will be automatically applied to all the app platforms. With the Upload button the binaries of the selected items are uploaded to the AppStore App.



If an error is displayed saying that some file could not be found, please check the path of the item. This should be like this one, which points to a folder called "app-platform" that contains the builds for the given app platform):

How to use another AppStore App as a source

Another AppStore App can be used as a source, so other AppStore Apps can get items from there.

How to add a source

To add a new source, the Hamburger-Menu button must be clicked and the option Configure sources must be selected.



After that, the button Connect source will display a dialog to add a new source. There the most important field is the path, with should be the path from the source AppStore ending with "/download".



How to get items from a source

To add items from the source AppStore App to your own one, you just have to expand the list and select the items that you want to get. After that, they will be uploaded after clicking on the Upload button. A source can be deleted at any moment using the Delete button without losing the items that have already been uploaded.



How to update cascaded items

When a new build is available for a certain item, a green button will be displayed, which can be used to upload the latest build to your AppStore App. If this button is not clicked, the latest builds are uploaded once a day automatically.



Folder Structure

To upload apps, firmwares, softwares and app platforms a path is required, which has to point to a folder that contains the builds. These must be named after the build number.



Apps

Every build folder must contain an appid_files file where a list of the files that must be uploaded will be splited by commas (without white spaces). For example, "appstore.bin,appstore.debug,appstore.png". The binaries must be placed inside 2 folders which paths should look like this:

So if path is the path given in the appstore, the paths of all the files must be:

Firmware

Every build folder must contain an firmwareid_files file where a list of the files that must be uploaded will be splited by commas (without white spaces). For example, "ip0001.bin,boot0001.bin". So if path is the path given in the appstore, the paths of all the files must be:

Software

Every build folder must contain an softwareid_files file where a list of the files that must be uploaded will be splited by commas (without white spaces). For example, "myAppsSetup.exe". So if path is the path given in the appstore, the paths of all the files must be:

App Platform

The files that must be uploaded should be specified inside the fields File, Update, ZIP and ZIP2. Those must be inside a folder named as the build number, which is inside a folder named app-platform. So if path is the path given in the appstore, the paths of all the files must look like:

JSON Files Structure

For apps, firmwares, softwares and app platforms a JSON file is generated, where all the items present on the App Store are declared. This files are used by Devices App and Manager App to know which versions are available on the App Store. They are also used to know which items are available when cascading from another App Store.

Apps

The apps.json file includes a list with all the available apps.

id
The id of the app, which has to be unique. The format should be manufacturer_appname.
folder
The name of the folder where the app binaries are located.
binary
The name of the app binaries.
versions
Array with the latest version from every release.
manufacturer
The manufacturar of the app.
title
The title of the app.
description (optional)
The description of the app.
support (optional)
The support contact.
impressum (optional)
The link to the imprint of the manufacturer.
license_type
The app could be license free, licensed by innovaphone or licensed by the partner.
license_info (optional)
The link with the information about the licensing by the partner.
eula (optional)
The link with the license agreement information.
langs (optional)
Array with all the languages available on the app.
categories (optional)
Array with the categories where the app could be sorted.
{ "apps": [{
	"id": "manufacturer_apidemo",
	"folder": "apidemo",
	"binary": "apidemo",
	"versions": [
			{"id": "13r1","build": "130001","label": "sr01"},
			{"id": "13r2","build": "134003","label": "sr01"}
	],
	"manufacturer": "manufacturer",
	"title": "Apidemo",
	"description": "This is a demo app.",
	"support": "support@manufacturer.com",
	"impressum": "https://www.manufacturer.com/impressum.html",
	"license_type": "free",
	"license_info": "",
	"eula": "https://www.manufacturer.com/eula.html",
	"langs": ["cs","nl","en","fr","de","it","pl","pt","ru","sl","es"],
	"categories": ["administration","tools"]
	}]
}

Firmware

The firmware.json file includes a list with all the available devices and their lastest versions for every release.

Devices array

id
The id of the device, which has to be unique.
versions
Array with every release available for the device.
Versions array
id
The id of the release.
build
The latest build for the given release.
text
A text label with format is "release service_release [build_number]".
wiki (optional)
A wiki article with information about how to upgrade from the previous release.
{ "devices": [{
		"id": "IP0010",
		"versions": ["10.00","13r1"]
	},
	{
		"id": "IP0011",
		"versions": ["10.00","13r1"]
	}],
	"versions": [{
		"id": "10.00",
		"build": "100017",
		"text": "10.00 sr01 [100017]",
		"wiki": "http://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V9_V10"
	},
	{
		"id": "13r1",
		"build": "130001",
		"text": "13r1 sr01 [130001]",
		"wiki": "https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade"
	}]
}

Software

The software.json file includes a list with all the available softwares.

id
The id of the software, which has to be unique. The format should be manufacturer_appname.
folder
The name of the folder where the software binaries are located.
binary
The name of the software binaries.
versions
Array with the latest version from every release.
manufacturer
The manufacturar of the software.
title
The title of the software.
description (optional)
The description of the software.
{ "software": [{
    "id": "manufacturer_toolbox",
    "folder": "toolbox",
    "binary": "toolbox",
    "versions": [
    {"id": "13r1","build": "130001","label": "sr01"},
    {"id": "13r1","build": "130003","label": "sr02"}
    ],
    "manufacturer": "manufacturer",
    "title": "Toolbox",
    "description": "This is a demo software."
    }]
}

App Platform

The linux.json file includes a list with all the available platforms and another list with all the devices that can install those platforms.

Platforms array

id
The id of the platform.
text
The title of the platform.
file (optional)
The file to install the platform.
update (optional)
The file to update the platform.
zip (optional)
Extra files needed by the platform.
zip2 (optional)
Extra files needed by the platform.
version
The latest version available.
Devices array
id
The id of the device.
platforms
Array with the ids of the platforms available for a given device.
{ "platforms": [{
    "id": "arm",
    "text": "App Platform",
    "file": "app-platform/10001/app-platform-armel.img",
    "update": "app-platform/10001/update-armel.img",
    "version": "10001"
    }],
    "devices": [{
    "id": "IP0011",
    "platforms": ["arm"]
    },
    {
    "id": "IP811",
    "platforms": ["arm"]
    }]
}