Ninety-nine Pitchers of Malt

    @netzoio/plugins

    0.2.7 • Public • Published

    Netzo logo

    Netzo Plugin Repository

    Plugin repository for the Netzo WoT Platform, an open Web of Things platform to interconnect IoT devices, platforms and services over the web.

    MIT Licensed Discord Follow on Twitter Visit our Channel

    This repository is still a Work in Progress. In the meantime, feel free to reach out at hello@netzo.io for more information on the Netzo WoT Platform. 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

    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 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 stable, beta, 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": "Button",
      "description": "Button widget for Netzo",
      "keywords": ["button"],
      "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/plugins/main/plugins/widgets/wi-p-button-toggle/src/assets/icon.svg",
        "color": "",
        "screenshots": []
      },
      "links": [],
      "form": {
        "model": {},
        "schema": {},
        "options": {}
      }
    }

    License

    Copyright (c) 2021 Asterisc GmbH

    Licensed under the MIT license

    Install

    npm i @netzoio/plugins

    DownloadsWeekly Downloads

    358

    Version

    0.2.7

    License

    MIT

    Unpacked Size

    3.11 MB

    Total Files

    213

    Last publish

    Collaborators

    • arturork
    • miguelrk