Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

ADR

Alternatives for Add-ons are

  • Mixins
  • Wait to solve it in OpenSCD-core (thus long discussions, testing etc)

Possible Addons:

  • Setting
  • Wizarding
  • Waiting
  • Logging

Since the functionanlity is not fledged out. The idea is to start with an add-on. Once the are stabel, they can be merged into OpenSCD-core itself.

...


Info
titleChanges 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 new setupaddon diagram

List of default plug-ins

draw.io Diagram
bordertrue
diagramNameAddons in OpenSCD-next
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth1751
revision23


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 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 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 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 addon is responsible for sending Log log statements and monitoring to the Elastic stack.


Info

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 addon is responsible for Authentication via SSO for CoMPAS.

...