@netzoio/plugins v0.3.23
This repository is still a Work in Progress. If you feel like contributing, do let us know!
Quick Start
This repository lists all officially supported plugins listed on netzo.io and used by the Netzo WoT Platform.
We review all plugins before they are published. This means that it may take some time before we can review your plugin.
To submit a plugin for review:
- Fork this repository
- Copy a starting template from
/_templates
into/plugins
- Develop your plugin by modifying the copied files accordingly
- Add the URL of the
plugin.json
file toplugins.json
- Create a pull request
NOTE: The source code of core
thing-importer
andwidget
plugins is still closed source, but feel free to contribute plugin requests. We continuously select popular plugin requests (based on upvotes and other factors) to implement them and make them available in the marketplace as core plugins. The source code forthing-models
andapp
plugins is available directly at the plugin's directory, feel free to contribute the plugin implementation as well. After a quick review they would also appear in the marketplace as community plugins.
plugin.json
To be valid, a plugin.json
file must validate against the plugin.schema.json JSON Schema. You can use a tool like JSON Schema Validator for quickly testing your plugin.json
files. The following table summarizes the fields in a plugin.json
file.
Property | Type | Requried | Description |
---|---|---|---|
uid | String | true | A unique ID (camel-case) prefixed by the initials of its the plugin type (ti- , tm- or wi ) |
type | String | true | Plugin type, one of app , thing-importer , thing-model , or widget |
version | String | true | Plugin version in semantic version format |
status | String | true | Marks the current development status of the plugin. One of alpha , beta , stable , requested , deprecated |
category | String | true | Marks the category of the plugin. One of core , community , enterprise |
name | String | true | A human-friendly display name for the plugin |
description | String | true | A brief description of the plugin |
keywords | String[] | false | An array of relevant keywords (camel-case) |
authors | String[] | false | An array of emails of plugin authors or owners (e.g. first.last@sample.com ) |
license | String | false | A string indicating licensing information (e.g. MIT ) |
main | String | false | URL to the plugin's main entry point (e.g. @netzoio/plugins/plugins/widgets/wi-p-button-toggle/src/index.js ) |
display | Display | true | A Display object specifying relevant details for rendering the plugin in the UI |
links | Link[] | false | An array of link relations to related web resources |
form | Form | false | A Form object specifiying the model , schema and options to be used in the plugin settings form by the UI |
Display
Property | Type | Requried | Description |
---|---|---|---|
imageUrl | String | true | URL to the plugin's display image (used as logo) |
color | Object | false | String of color in hexadecimal format used by UI in certain places. If none is specified a default will be applied |
screenshots | Image[] | false | Array of image resource objects specifying sample screenshots of the plugin in action |
Image
Property | Type | Requried | Description |
---|---|---|---|
label | String | false | The accessible name for the associated image |
sizes | String | false | Specifies which image is most suitable for each display context |
type | String | false | The image MIME type for the image resource (e.g. image/png , image/svg , image/jpg ) |
src | String | true | URL from wich the image can be fetched from the internet |
Link
Property | Type | Requried | Description |
---|---|---|---|
rel | String | false | The link relation (see possible values here) |
name | String | false | The human-friendly display name |
href | String | true | URL to the link resource in the internet |
Form
Property | Type | Requried | Description |
---|---|---|---|
model | String | false | Specifies default values for the plugin settings form in the UI |
schema | String | false | Specifies the expected data format for the plugin settings form in the UI |
options | String | true | Specifies options for the plugin settings form in the UI |
The UI uses @koumoul/vjsf for UI form generation from static JSON schema definitions. For examples and documentation you can look at the
plugin.json
of other plugins or directly in the library documentation.
Example plugin.json
Here's a reduced example of a plugin.json
file. You can also always have a look at other plugins for further reference.
{
"uid": "wi-p-button-toggle",
"type": "widget",
"version": "1.0.0",
"status": "beta",
"category": "core",
"name": "Toggle Button",
"description": "Toggle Button widget for Netzo",
"keywords": ["button-toggle"],
"authors": ["miguel.romero@netzo.io"],
"license": "MIT",
"main": "@netzoio/plugins/plugins/widgets/wi-p-button-toggle/src/index.js",
"display": {
"imageUrl": "https://raw.githubusercontent.com/netzoio/netzo/main/packages/plugins/plugins/widgets/wi-p-button-toggle/src/assets/icon.png",
"color": "",
"screenshots": []
},
"links": [],
"form": {
"model": {},
"schema": {},
"options": {}
}
}
License
Copyright (c) 2021 Asterisc GmbH
Licensed under the MIT license
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago