OpenSCD addons
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.