Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info

This is in DRAFT. Feedback or improvements are welcome using the comment feature in confluence.



Motivation for creating a new generation of OpenSCD:

  1. Make is more easy to build your own distribution
  2. Make is more easy to create custom plug-ins
  3. Less tangled code
  4. Reuseable Reusable code
  5. Faster development speed (once it is ready)
  6. Plug-ins can be build in any code language and framework (as long as they adhere to the specifications)

...

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.




OpenSCD-core architecture overview


The new OpenSCD-core architecture consist of 4 major software components:Major software components in the new architecture

  • OpenSCD-core
  • Plug-ins
  • Components
  • SCL

...

  • manipulation libraries
  • add-ons



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.

OpenSCD Core consists of the open-scd  WebComponent, which is responsible for loading plugins and addons.

The open-scd  WebComponent is the outer shell of OpenSCD, containing limited functionality in order to make it flexible.

Editing of a (SCL) Document should be handled by OpenSCD Core. OpenSCD Core provides an API for Document editing by listening to CustomEvents. These CustomEvents can be dispatched b Plugins.


Functionalitiy of OpenSCD-core:

Loading addons/plug-ins

Display the selected plug-in

Handling SCL edits 





draw.io Diagram
bordertrue
diagramNameOpenSCD Core Overview
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth911
revision2
Moviation for this split