Overview
UCW plugin modules allow add-ons to extend the functionality of the UCW Platform. UCW plugin modules are commonly used to extend the platform by support of new devices for management and monitoring, sensor types for data processing, new storage systems for data streams etc. Plugin modules for user interface such as dashboards, gadgets, resources, tabpanels and more can be found here.
Using UCW plugin modules
You can use a UCW plugin module by declaring it in your plugin (add-on) descriptor, with the appropriate properties. For example, the following code uses a device adapter to add support for management and monitoring of RaspberryPi devices.
<device-adapter key="ucw-device-adapter-raspberry-pi" name="UCW RaspberryPi Device Adapter" class="com.unitycloudware.adapter.system.device.RaspberryPiDeviceAdapter" type="native" deviceType="raspberry_pi"> <description>RaspberryPi Device Adapter for UCW Platform.</description> </device-adapter>
List of modules
Device Adapter
Device Adapter plugin module allow plugins to add support for management and monitoring of new device.
<device-adapter key="ucw-device-adapter-arduino" name="UCW Arduino Device Adapter" class="com.unitycloudware.adapter.system.device.ArduinoDeviceAdapter" type="native" deviceType="arduino"> <description>Arduino Device Adapter for UCW Platform.</description> </device-adapter> <device-adapter key="particle-device-adapter" name="Particle Device Adapter" class="com.unitycloudware.adapter.particle.device.ParticleDeviceAdapter" type="remote" deviceType="particle" settingUri="/particle/device-management/settings" importDevicesUri="/particle/device-management/import"> <description>Device Adapter for Particle Cloud.</description> </device-adapter>
The root element for the Device Adapter plugin module is device-adapter
. It allows the following attributes and child elements for configuration:
Attributes
Name | Description |
---|---|
key | The unique identifier of the plugin module. You refer to this key to use the resource from other contexts in your plugin, such as from the plugin Java code or JavaScript resources. |
name | The human-readable name of the plugin module. Only used in the plugin's administrative user interface. |
class | The class which implements this plugin module. The class you need to provide depends on the module type. For device-adapter it has to implement com.unitycloudware.core.adapter.DeviceAdapter interface. |
type | The type of device adapter. The native* is used for adapters managing device directly. The remote** is used in case we have devices controlled by another platform (e.g. Particle Cloud) and device adapter manage this devices indirectly (e.g. remotely over REST API). |
deviceType | The type of device (e.g. generic, raspberry_pi, arduino, particle) |
settingUri | The URI path to the resource for settings of the device adapter within plugin providing the adapter. Only for device adapters of type remote. |
importDevicesUri | The URI path to the resource for import of devices within plugin providing the adapter. Only for device adapters of type remote. |
*key, name, class, type and deviceType attributes are required for type native
*key, name, class, type, deviceType, settingUri and importDevicesUri attributes are required for type remote
Elements
Name | Description |
---|---|
description | The description of the plugin module. Use this element to describe the section. |
Storage Adapter
Storage Adapter plugin module allow plugins to add support for management and monitoring of new storage system for data streams.
<storage-adapter key="ucw-storage-adapter-generic" name="UCW Generic Storage Adapter" class="com.unitycloudware.adapter.system.storage.GenericStorageAdapter" type="native" storageType="generic"> <description>Generic Storage Adapter for UCW Platform.</description> </storage-adapter> <storage-adapter key="azure-iot-hub-storage-adapter" name="Azure IoT Hub Storage Adapter" class="com.unitycloudware.adapter.azure.storage.AzureIoTHubStorageAdapter" type="remote" storageType="azure-iot-hub" settingUri="/azure-iot-hub/storage-management/settings" <description>Storage Adapter for Azure IoT Hub.</description> </storage-adapter>
The root element for the Storage Adapter plugin module is storage-adapter
. It allows the following attributes and child elements for configuration:
Attributes
Name | Description |
---|---|
key | The unique identifier of the plugin module. You refer to this key to use the resource from other contexts in your plugin, such as from the plugin Java code or JavaScript resources. |
name | The human-readable name of the plugin module. Only used in the plugin's administrative user interface. |
class | The class which implements this plugin module. The class you need to provide depends on the module type. For storage-adapter it has to implement com.unitycloudware.core.adapter.StorageAdapter interface. |
type | The type of storage adapter. The native* is used for adapters managing local storage. The remote** is used in case we have storage controlled by another platform (e.g. Azure IoT Hub) and storage adapter manage it remotely over REST API. |
storageType | The type of storage (e.g. generic, postgresql, azure-iot-hub) |
settingUri | The URI path to the resource for settings of the storage adapter within plugin providing the adapter. Only for storage adapters of type remote. |
*key, name, class, type and storageType attributes are required for type native
*key, name, class, type, storageType and settingUri attributes are required for type remote
Elements
Name | Description |
---|---|
description | The description of the plugin module. Use this element to describe the section. |