OpenSCD monolith architecture
This page is to document some historic (technical) architecture of OpenSCD. In the current setup; Mixins are used to extend OpenSCD.
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:
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.