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.