Versions Compared

Key

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

Context

...

The current setup with mixins leads to:

  • Mixins are extentions on the code (code depends on OpenSCD classes)
  • New mixins are hard to merge back into OpenSCD-Core
  • Change of many OpenSCD-Core variants (all with different mixins)


Decision

We will use OpenSCD-Core addons in order extend the OpenSCD-Core functionality. OpenSCD addons are added to extend core functionality. It allows to experiment (

...

without commit it directly to the core) and add functionality for just a small group of users. Once an

...

addon is used a lot and is considered stable, it can become a part of

...

Decision

...

the

...

core functionality.

...

Consequences

Pro's:

Flexibility

Room for experimentation

Con's:

Risk of having 2 similar Addon's with similar functionality

...


Considered alternatives

Keep using Mixins as done in OpenSCD monolith architecture.

...

  • Mixins are extentions on the code (code depends on OpenSCD classes)
  • New mixins are hard to merge back into OpenSCD-coreCore
  • Change of many OpenSCD-core variants (all with different mixins)

...

Build a permanent solution directly in OpenSCD core-Core

In the alternative, the idea is to add all the functionality directly into OpenSCD-coreCore.


Pro's

  • Easy to use: one single repository with all the needed functionality

...

  • No room for experimentation
  • Limited flexibility (these are the only 

Consequences

Pro's:

Flexibility

Room for experimentation


Con's:

Risk of having 2 similar addons with similar functionality

Keep track of all the addons