CSE Core Plugins
CSE core plugins are plugins that are used to implement runtime functionalities of the CSE, such as the statistics functionality, the web UI, or the console. They are loaded and managed by the PluginManager just like any other plugin, but they are used in a special way by the CSE to provide runtime functionalities.
When the CSE starts up, it loads all the core plugins for enabled core functionalities from the internal plugins directory. This helps to keep the resource usage of the CSE low, as only the internal and third-party Python packages that are actually needed are loaded.
The following sections lists the currently available core plugins, the functionalities they provid, and the configuration settings that are responsible for enabling them.
Protocol Bindings
| Plugin Name | Functionality | Responsible Configuration Setting |
|---|---|---|
| acme.plugins.bindings.CoAPServer | Provides the CoAP protocol binding. | [coap]:enable |
| acme.plugins.bindings.HttpServer | Provides the HTTP protocol binding. | [http]:enable |
| acme.plugins.bindings.MQTTClient | Provides the MQTT protocol binding. | [mqtt]:enable |
| acme.plugins.bindings.WebSocketServer | Provides the WebSocket protocol binding. | [websocket]:enable |
Note
At least one protocol binding plugin must be enabled for the CSE to function properly, as the CSE relies on protocol bindings to receive and process requests.
Console & UIs
| Plugin Name | Functionality | Responsible Configuration Setting |
|---|---|---|
| acme.plugins.bindings.http.HttpWebUI | Provides the web UI functionality. Runs together with the HTTP server. |
[webui]:enable |
| acme.plugins.runtime.Console | Provides the console functionality. Runs together with the CSE core and provides a rich console UI for interacting with the CSE. This is the CSE's default console. |
[basic.config]:consoleType = rich |
| acme.plugins.runtime.MinimalConsole | Provides a minimal console functionality. Runs together with the CSE core and provides a minimal console UI for interacting with the CSE. This is an alternative, less resource-intensive console. |
[basic.config]:consoleType = simple |
| acme.plugins.runtime.TextUI | Provides the text UI functionality. Runs together with the CSE core and provides a text-based user interface for interacting with the CSE. |
[textui]:enable |
Runtime
| Plugin Name | Functionality | Responsible Configuration Setting |
|---|---|---|
| acme.plugins.runtime.Statistics | Provides the statistics functionality. Runs together with the CSE core and collects runtime statistics. |
[cse.statistics]:enable |
Services
| Plugin Name | Functionality | Responsible Configuration Setting |
|---|---|---|
| acme.plugins.services.LocationManager | Provides the location management functionality. Runs together with the CSE core and manages location-based features. |
[cse.service.location]:enable |
Note
By disabling a service plugin, the corresponding oneM2M service will not be available in the CSE. The related oneM2M resource types may still be available, but they will operate in a limited way.
For example, when disabling the LocationManager plugin, the <LocationPolicy> resource may still be available, but its functionality will be very limited or even disabled.
Management & Testing
| Plugin Name | Functionality | Responsible Configuration Setting |
|---|---|---|
| acme.plugins.bindings.http.HttpManagement | Provides the HTTP management API functionality. This plugin requires the HTTP Server to be enabled. |
[http]:enableManagementEndpoint |
| acme.plugins.bindings.http.HttpStructure | Provides the HTTP structure API functionality. This plugin requires the HTTP Server to be enabled. |
[http]:enableStructureEndpoint |
| acme.plugins.bindings.http.HttpUpperTester | Provides the HTTP Upper Tester functionality. This plugin requires the HTTP Server to be enabled. It is usually only needed for testing purposes. |
[http]:enableUpperTesterEndpoint |
Note
The HTTP management API, structure API and upper tester functionalities are only available if the HTTP Server plugin is enabled, as they rely on the HTTP protocol to provide their functionalities.