OpenSCD monolith architecture

OpenSCD monolith architecture

This page is to document some historic (technical) architecture of OpenSCD. In the current setup; Mixins are used to extend OpenSCD.



Repository: openscd/open-scd: A substation configuration description editor for projects using SCL IEC 61850-6 Edition 2 or greater (github.com)







Q&A

Why using the Lit library?

  • Framework agnostic

  • Lit is easy to use



Downsides of the current architecture

It is almost impossible to add a plug-in without checking out the complete OpenSCD code. This leads to:

  • "Forking" to make the plug-ins work

  • Hard to make your own distribution with your own plug-ins

  • It is technically possible to create your own plug-in, but this is complex and you cannot rely on existing code. You're forced to use the lit framework for your plug-in and should have a very good understanding of OpenSCD inner workings.



Example:

com-pas/compas-open-scd: A substation configuration description editor for projects using SCL IEC 61850-6 Edition 2 or greater (github.com)

In order to make CoMPAS work with OpenSCD; additional code was needed (e.g. login, access to the database, etc). This is why the "fork" exists.