Plugin Manifest
TagoCore Plugins need a manifest to be to loaded by TagoCore's Plugin Environment. This manifest is defined within the package.json of your project.
Package attributes
To generate a Plugin Manifest, you must add a tagocore
property to it, this is a sample JSON showing all
attributes of the object:
{
"tcore": {
"name": "My Plugin Name",
"short_description": "Explain what your Plugin does in a few words",
"full_description": "./README.md",
"icon": "./assets/icon.png",
"types": [
"service",
"action-type",
"action-trigger",
"database"
"encoder"
],
"permissions": [
"device",
"device-data",
"action",
"analysis"
]
},
}
name
This property must contain the name of your Plugin. This is the same name that will appear in the Plugin Store when you publish your plugin.
short_description
Explain in up to 100 characters what your Plugin does.
full_description
This property should contain a markdown file that will be rendered in the body of your Plugin Configuration. In the
markdown file you explain your Plugin and its API in-depth. Developers usually use the README.md
file in the root
of the project.
TagoCore doesn't support html in the full_description
file.
icon
Set the path of an image file to act as your Plugin's main icon. We recommend you use a PNG
image for the icon.
types
This is an array that should contain all module types used by your Plugin. For instance, if you are using a Service Module and a Payload Encoder Module in your code, you should have an array like this:
["service", "encoder"]
Here are all the types of modules:
- Payload Encoder Module -
encoder
; - Service Module -
service
; - Action Trigger Module -
action-trigger
; - Action Type Module -
action-type
; - Database Module -
database
.
permissions
This array specifies which API calls you will be able to make to TagoCore's API via the core object. For instance, if you wish to create a new Device via the core.createDevice
function, you have need to add the device
property to this permissions array.
These are all the possibilities for this array:
["action", "analysis", "device", "device-data"]