0.3.23 • Published 2 years ago

@netzoio/plugins v0.3.23

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

MIT Licensed Contributor Covenant Discord Follow on Twitter Visit our Channel

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:

  1. Fork this repository
  2. Copy a starting template from /_templates into /plugins
  3. Develop your plugin by modifying the copied files accordingly
  4. Add the URL of the plugin.json file to plugins.json
  5. Create a pull request

NOTE: The source code of core thing-importer and widget 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 for thing-models and app 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.

PropertyTypeRequriedDescription
uidStringtrueA unique ID (camel-case) prefixed by the initials of its the plugin type (ti-, tm- or wi)
typeStringtruePlugin type, one of app, thing-importer, thing-model, or widget
versionStringtruePlugin version in semantic version format
statusStringtrueMarks the current development status of the plugin. One of alpha, beta, stable, requested, deprecated
categoryStringtrueMarks the category of the plugin. One of core, community, enterprise
nameStringtrueA human-friendly display name for the plugin
descriptionStringtrueA brief description of the plugin
keywordsString[]falseAn array of relevant keywords (camel-case)
authorsString[]falseAn array of emails of plugin authors or owners (e.g. first.last@sample.com)
licenseStringfalseA string indicating licensing information (e.g. MIT)
mainStringfalseURL to the plugin's main entry point (e.g. @netzoio/plugins/plugins/widgets/wi-p-button-toggle/src/index.js)
displayDisplaytrueA Display object specifying relevant details for rendering the plugin in the UI
linksLink[]falseAn array of link relations to related web resources
formFormfalseA Form object specifiying the model, schema and options to be used in the plugin settings form by the UI

Display

PropertyTypeRequriedDescription
imageUrlStringtrueURL to the plugin's display image (used as logo)
colorObjectfalseString of color in hexadecimal format used by UI in certain places. If none is specified a default will be applied
screenshotsImage[]falseArray of image resource objects specifying sample screenshots of the plugin in action

Image

PropertyTypeRequriedDescription
labelStringfalseThe accessible name for the associated image
sizesStringfalseSpecifies which image is most suitable for each display context
typeStringfalseThe image MIME type for the image resource (e.g. image/png, image/svg, image/jpg)
srcStringtrueURL from wich the image can be fetched from the internet

Link

PropertyTypeRequriedDescription
relStringfalseThe link relation (see possible values here)
nameStringfalseThe human-friendly display name
hrefStringtrueURL to the link resource in the internet

Form

PropertyTypeRequriedDescription
modelStringfalseSpecifies default values for the plugin settings form in the UI
schemaStringfalseSpecifies the expected data format for the plugin settings form in the UI
optionsStringtrueSpecifies 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

0.3.20

2 years ago

0.3.23

2 years ago

0.3.21

2 years ago

0.3.19

2 years ago

0.3.18

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.8

2 years ago

0.3.7

2 years ago

0.3.4

2 years ago

0.3.9

2 years ago

0.3.17

2 years ago

0.3.16

2 years ago

0.3.15

2 years ago

0.3.14

2 years ago

0.3.13

2 years ago

0.3.12

2 years ago

0.3.11

2 years ago

0.3.10

2 years ago

0.2.25

3 years ago

0.2.23

3 years ago

0.2.16

3 years ago

0.2.15

3 years ago

0.3.0

3 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.3

2 years ago

0.2.14

3 years ago

0.2.13

3 years ago

0.2.12

3 years ago

0.2.11

3 years ago

0.2.10

3 years ago

0.2.9

3 years ago

0.2.8

3 years ago

0.2.7

3 years ago

0.2.6

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.1

3 years ago

0.1.0

3 years ago

0.2.0

3 years ago

0.1.22

3 years ago

0.1.20

3 years ago

0.1.21

3 years ago

0.1.17

3 years ago

0.1.18

3 years ago

0.1.19

3 years ago

0.1.16

3 years ago

0.1.10

3 years ago

0.1.11

3 years ago

0.1.12

3 years ago

0.1.13

3 years ago

0.1.14

3 years ago

0.1.15

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.9

3 years ago

0.1.4

3 years ago

0.0.20

3 years ago

0.0.22

3 years ago

0.0.23

3 years ago

0.0.24

3 years ago

0.0.18

3 years ago

0.0.19

3 years ago

0.0.13

3 years ago

0.0.14

3 years ago

0.0.15

3 years ago

0.0.10

3 years ago

0.0.11

3 years ago

0.0.12

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago