Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
Component View


Folder Structure

...

Configuration

Code Block
languagepowershelltext
titleApp config
API_BASE_URL=https://sunbird.org/api
CHANNEL=sunbird
TELEMETRY_SYNC_INTERVAL_IN_SECS=30
APP_ID=prod.sunbirded-plugin.desktop

Data Setup


Code Block
languagejs
onInit(){

// First we will register with the container
Container.Global.register();
// Then we will register with the SDK's 
Container.Global.TelemetrySDK.register();
Container.Global.FileSDK.register();
Container.Global.HTTPSDK.register();
Container.Global.DBSDK.register();


databaseSetup =  function() {

// create new databases

	this.dbSDKInstance.create();

// create/update views 

	this.dbSDKInstance.insert();
	this.dbSDKInstance.update();

// create/update indexes

	this.dbSDKInstance.createIndex();
	this.dbSDKInstance.updateIndex();
	
};

insertStaticData = function(){
	// upsert organizations
	// upsert frameworks
	// upsert forms
	// upsert pages
	// upsert resource bundles
}


}


Code Block
<plugin-dir>
	---------/data/
	----------|----/organizations.json // Organization data which contains channel information as 	----------well
	|----/frameworks.json // Framework configuration
	------|--------/resourceBundles.json 	---------// Resource bundles
	|-----/forms.json
	--------- // Pre-loaded forms. However forms can be configured as well
	|-----/pages.json // Page configurations. This can be configured via API's.

Assumptions:

  1. Versioning is not required
  2. Updates to the static data for the first version is done via app updates. Over the air updates can be designed in phase 2.

Import/Export

Code Block
languagejs
// The method gets the ecar as buffer and stores in /ecars folder
import = function(File file){};

export = function(Object config) : File {};

ExportConfig = {
	fileName: String, // Name of the file to be created
	contents: [{
		type: String, // Type of the content. One of Content/Telemetry/Log/Profile
		identifier?: [String] // id's of the type to be exported. For ex: list of content ids, profile, telemetry packet id etc. If left blank all data is exported
	}]
}

...