OpenSCD addons are add functionality to extend the core functionality. It allows to experiment (without committing it directly to the core) and add functionality for just a small group of users. Once an addon is used a lot and is considered stable, it can become a part of the core functionality.


Changes compared to the monolith architecture

With the transtion to OpenSCD-Next architecture some mixins are no longer needed compared to OpenSCD monolith architecture:

Hosting => This is solved in OpenSCD-Core.

Editing => This is solved in OpenSCD-Core. Without editing, the app gets useless.

Plugging => This is solved in OpenSCD-Core. Without plug-ins, the app gets useless.



The addon diagram

List of default plug-ins


Setting addon

Takes care of user specific settings. The settings are stored in the local browser cache.

Examples inlcudes: NSD files, NSdoc. 


Wizarding addon

The Wizarding addon takes care of displaying a single wizard in the workflow. The OpenSCD monolith architecture only supports 1 wizard type. With this addon it is possible to support multiple wizards types.

Waiting addon

The waiting addon is responsible for adding progress-like waiting elements to OpenSCD.

This gives the user feedback and disables other functionality while the system is busy.

Logging addon

The logging addon is responsible for keeping tack of log statements in OpenSCD.

Example here include the logging editing actions, errors, warnings and information.


Theming addon

Loads the theming; provides an API for a Theming plug-in. Examples here include the colors and icons.


Example of distribution specific (CoMPAS) addons

Since CoMPAS has backend services, it can require more addons;

Elastic addon

The Elastic addon is responsible for sending log statements and monitoring to the Elastic stack.


Every company/user can have different settings/tags in their monitoring solution. Real User Monitoring (RUM) | APM User Guide [8.8] | Elastic


Single sign-on addon

The SSO addon is responsible for Authentication via SSO for CoMPAS.



  • No labels