...
Info |
---|
This is in DRAFT. Feedback or improvements are welcome using the comment feature in confluence. |
To solve some limitation with the OpenSCD monolith architecture; and improved architecture is created. The Motivation for creating a new generation of OpenSCD next architecture:
- Make is more easy to build your own distribution
- Make is more easy to create custom plug-ins
- Less tangled code
- Reusable code
- Faster development speed (once it is ready)
- Plug-ins can be build in any code language and framework (as long as they adhere to the specifications)
...
Info | ||
---|---|---|
| ||
Practical example for CoMPAS. CoMPAS currently relies on "fork" of OpenSCD in order to add the needed functionality: The goal for CoMPAS would be to add the CoMPAS specific code as add-on to OpenSCD-next in form of plug-ins. The current "fork" will no longer be needed. CoMPAS will just make a distribution of OpenSCD including the CoMPAS plugins/extensions. |
Architecture principles for OpenSCD-core
Some architecture principles are written in order to guide the architecture and implementation.
- Use the standard webAPI as much as possible (developer.mozilla.org)
- It should be easy to write a plug-in
- Clear API's for plug-in authorsĀ
- Plug-in author can use components to speedup the development and give a consist look and feel (optional)
OpenSCD-core architecture overview
The OpenSCD next architecture consist of 5 4 major software components:
...
Drawio | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
OpenSCD-Core
OpenSCD-core is main application of OpenSCD-next. OpenSCD-core will be loaded once people open the application. OpenSCD-core sets the requirements for the plug-ins.
...