nx_metadata_sdk  1.0
Metadata SDK
Analytics Plugin Manifests

// Copyright 2018-present Network Optix, Inc. Licensed under MPL 2.0: www.mozilla.org/MPL/2.0/

This document describes the schemas of JSON Manifests that are returned by various Analytics entities - nx::sdk::analytics::IPlugin, IEngine, and IDeviceAgent.

Each Manifest is a JSON object containing fields which can be of the following semantic types:

The following rules apply to the Manifest as a JSON document:

Examples of Manifests can be found in the Plugin samples included with the SDK: a minimalistic example can be found in Sample Analytics Plugin, and the most comprehensive example covering all possible features can be found in Stub Analytics Plugin.


Identifiers

Various entities declared in the Manifests make use of identifiers, including the Plugin itself and the types of Events and Objects that the Plugin can produce.

Such identifiers, represented in JSON as strings, are intended to be human-readable, English-based, and formed according to the rules similar to that of Java package names - hierarchical domain-based chain of dot-separated camelCase components, starting with the organization name (the java. part is obviously not needed, and the organization type part like com. or org. is not recommended).

The identifiers are intended to be context-local, thus, must be unique only among all identifiers used to denote entities of the same kind. It means that, for example, there is no need to include the word event in an identifier of certain Event type.

For example, for a company called "My Company", an identifier for an Analytics Event type of a Line Crossing event may look like "myCompany.lineCrossing".

Identifiers starting with nx. must not be used for the entities introduced in the Plugins developed by parties other than Nx.

There are special, reserved, parts of the identifier name. Identifiers starting with nx.sys. are used for the VMS internal purposes and as a temporary solution to access certain experimental features. Identifiers with .sys. in the middle are recognized by VMS to have some special behavior.


Plugin Manifest

Plugin Manifest is a JSON Object containing the following fields:

Engine Manifest is a JSON Object containing the following fields:

DeviceAgent Manifest is a JSON Object containing the following fields: