This page is to document some historic (technical) architecture of OpenSCD.
To be documented (ADR's):
Why using the webbrowser for SCL editing?
Why using the Lit library?In the current setup; Mixins are used to extend OpenSCD.
Drawio | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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.