...
Configuration
Code Block | ||||
---|---|---|---|---|
| ||||
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 | ||
---|---|---|
| ||
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:
- Versioning is not required
- 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 | ||
---|---|---|
| ||
// 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 }] } |
...