The resource contains manifest.json files for two different roles.
Type 1. Project manifest(root)
The project-related information is within the manifest.json file, which is included in the project folder. And the resource is contained within the Project Assets folder.
Type 2. Module manifest
User Module(Dart-Platform)
The module-related information is within the manifest.json file included in the folder with the module name inserted by the user. Also, library and resource files are included in libs and src folders respectively.
Framework Module(Dart-Framework)
In the manifest.json of the Dart-Framework module package, information necessary for installing and executing the Dart-Framework module package should be defined in JSON format.
Info.
You can find manifest.json file in EXPLORER window
Project manifest : Project name ▸ manifest.json
Module manifest : Project name ▸ Package name ▸manifest.json
For example, Project Manifest includes the name and package name, version, icon, etc.
In case of the module manifest, it includes the package information like the main javascript file, permissions, supported language, and screen information.
1. Project manifest(root)
In the manifest.json of the integrated module package, the following information should be defined in JSON format.
You can find manifest.json (root) by the following link:
1) Classification of modules according to permission (User module package)
In each method of DART-API, '@system' and '@permission' annotations related to permission are defined as shown below.
CODE
// dart-api.ts
/**
* System manager for managing module packages.
* Through this you can retrieve various kinds of information related to the module packages that are currently installed on the DART-Platform.
*
* @api-version 1
* @user
*/
export interface IModulePackageManager extends ISystemManager {
/**
* Install the given module package file or data.
* If already module package which has same package name has been installed, then the operation will be failed.
* This operation will be failed as below situation:
* - Already module package which has same package name has been installed
* - Requested module package's sdkVersion is not valid on system.
*
* @param modulePackageFile A .dm file path or data of the module package to install.
* @param name A name of a requested module package.
* @param dispatch A dispatching function (or simply dispatch function) is a function that accepts an action or an async action.
* @return {@link IModulePackageInfo} object after installation the module successfully, otherwise null.
*
* @api-version 1
* @system
* @permission {@link Manifest.PERMISSION_INSTALL_MODULE_PACKAGE}
*/
install(modulePackageFile: string | Uint8Array, name: string, dispatch: Dispatch): Promise<IModulePackageInfo>;
}
According to the '@system' API permission, modules are classified as follows.
Type
Explanation
System module
System permission modules that can use ‘@system' and '@user' APIs.
If 'dart.permission.SYSTEM_MODULE' is declared in manifest.json (for DART-Platform) - usePermissions, it is considered a system module.
Only developers certified by DART-IDE should be able to develop system modules.
User module
User permission module that can only use ‘@user' APIs.
2) Classification of modules according to the purpose (User module package)
Modules are classified according to purpose as follows.
Type
Explanation
Permission
Launched by
Screen type
Home
Provides functions for displaying module icons installed on DART-Platform and provide execution a Module’s Screen component.
System
Home Nav.
Full screen
Store
Provides functions for displaying, installing and deleting modules registered in DART-Store.
System
Store Nav.
Full screen
Recovery
Provides functions for recovering SW and robot.
System
Recovery Nav.
Full screen
Setting
Provides software setting and robot setting functions.
System
Setting Nav.
Full screen
Process
Module that can easily create and execute settings for a specific process step-by-step.
User
Home / Shorcut
Full screen
Task Editor
Module that can create environment settings and tasks required for robot operation.
User
Home / Shorcut
Full screen
Device Setting
Robot peripheral devices (End Effector, Machine, Peripheral) information module required for task creation in Task Editor module.
User
Menu in ‘Robot Parameter' App
Sub-view in 'Robot Parameter' app
User Command
Skill information module required for task creation in Task Editor module.
User
Menu in Task Editor type Module
Sub-view in Task Editor type Module
Jog
Provide functions for jogging a robot.
User
Home / Shorcut
Full screen
Dashboard
Module for displaying robot status and real-time monitoring information.
User
Home / Shorcut
Full screen
Etc
Other user custom modules
User
Home / Shorcut
Full screen / Service
2-1. Module manifest(Dart-Platform)
In the manifest.json of the DART-Platform module package, information necessary for installing and executing the DART-Platform module package should be defined in JSON format.
You can find manifest.json (for DART-Platform) by the following link:
In the manifest.json of the Dart-Framework module package, information necessary for installing and executing the Dart-Framework module package should be defined in JSON format.