Skip to content

Commit

Permalink
chore: Sync with upstream
Browse files Browse the repository at this point in the history
closes #324, #316
  • Loading branch information
clepski authored Aug 8, 2024
2 parents 22a5385 + cefb543 commit 4e0405e
Show file tree
Hide file tree
Showing 1,154 changed files with 137,642 additions and 111,758 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build-project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,15 @@ jobs:
timeout-minutes: 45
if: ${{ github.event_name == 'push' }}
run: |
cd packages/compas-open-scd
npm ci
npm run-script build
cd packages/compas-open-scd
npm run-script test
- name: Build application with npm
if: ${{ github.event_name == 'pull_request' }}
timeout-minutes: 45
run: |
cd packages/compas-open-scd
npm ci
npm run-script build
- name: Build docker image
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/release-project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ jobs:

- name: Build application with npm
run: |
cd packages/compas-open-scd
npm ci
npm run-script build
- name: Build and push docker image to Docker Hub
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/test-and-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@ jobs:
- name: Use Node.js 18.x
uses: actions/setup-node@v4
with:
node-version: '18.x'
node-version: "18.x"

- name: Install and Build
- name: Install and Test OpenSCD
run: |
cd packages/compas-open-scd
npm ci
npm run-script build
cd packages/compas-open-scd
npm run-script test
7 changes: 5 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ on:
push:
branches-ignore:
- main
paths:
- packages/**

jobs:
test:
Expand All @@ -14,10 +16,11 @@ jobs:
- name: Use Node.js 18.x
uses: actions/setup-node@v4
with:
node-version: '18.x'
node-version: "18.x"

- name: Install and Test
run: |
cd packages/compas-open-scd
npm ci
npm run-script build
cd packages/compas-open-scd
npm run-script test
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,20 @@
## npm
node_modules/
/npm-debug.log

## testing
/coverage/

# build
/locales.ts
/locales
/dist
/custom-elements.json
/.tsbuildinfo
/.rollup.cache
/build

# lerna
/lerna-debug.log

.nx/cache
5 changes: 5 additions & 0 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"packages/openscd": "0.35.0",
"packages/core": "0.1.2",
".": "0.35.0"
}
61 changes: 61 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Changelog

## [0.35.0](https://github.com/openscd/open-scd/compare/v0.34.0...v0.35.0) (2024-07-17)

### Features

* **104:** added descriptions to control ti numbers ([#1400](https://github.com/openscd/open-scd/issues/1400)) ([758a3b8](https://github.com/openscd/open-scd/commit/758a3b887b75b1eabdda7add0b3abf4cbe2df949))
* **104:** added descriptions to ti numbers ([#1378](https://github.com/openscd/open-scd/issues/1378)) ([0e74294](https://github.com/openscd/open-scd/commit/0e742944e4e834c515488ad1f75cecf88d234a8a))
* **104:** implement enc cdc support ([#1391](https://github.com/openscd/open-scd/issues/1391)) ([fa4142b](https://github.com/openscd/open-scd/commit/fa4142b4b85085f092533dd54097d3c4efbf5441))
* **104:** implement wye and del cdc support ([#1390](https://github.com/openscd/open-scd/issues/1390)) ([43b8285](https://github.com/openscd/open-scd/commit/43b82853f877a8eb080db2b4ea99898f861c8418))
* add ISD file extension ([#1351](https://github.com/openscd/open-scd/issues/1351)) ([1c2ef60](https://github.com/openscd/open-scd/commit/1c2ef606a64f1af75af1c88dcdd3a5659b35d2aa))
* add missing editor icons ([#1495](https://github.com/openscd/open-scd/issues/1495)) ([d404464](https://github.com/openscd/open-scd/commit/d404464444a0f03fbe0ca3d0774e1cc1bc704e38))
* added acd as a supported cdc type ([#1371](https://github.com/openscd/open-scd/issues/1371)) ([5ee353c](https://github.com/openscd/open-scd/commit/5ee353cf85e61ce9edd6f48268d198adfdc3f0b2))
* added acd as a supported ens type ([#1384](https://github.com/openscd/open-scd/issues/1384)) ([cebcd37](https://github.com/openscd/open-scd/commit/cebcd37ecbc0230561018c4bb2a8c5e58de3b807))
* Added Settings Addon ([#1441](https://github.com/openscd/open-scd/issues/1441)) ([7ab3553](https://github.com/openscd/open-scd/commit/7ab355340a64cc2afaf6118ea8ca1ea7acc2a319))
* Added Waiter addon ([#1439](https://github.com/openscd/open-scd/issues/1439)) ([91a2ca9](https://github.com/openscd/open-scd/commit/91a2ca97998551aa07e96452ce3c73ddea6b1641))
* Added XML Package for OpenSCD ([#1536](https://github.com/openscd/open-scd/issues/1536)) ([ca60c2a](https://github.com/openscd/open-scd/commit/ca60c2a63c304a5e1c88095ea2f24b597fc5a2ad))
* allow for plugins being passed down as props to `<open-scd>` ([#1486](https://github.com/openscd/open-scd/issues/1486)) ([01bcc01](https://github.com/openscd/open-scd/commit/01bcc017c373185fa34036ea4d80c5ef105d5ee2))
* **editors/ied:** Improve IED editor UI for IED and LN selection ([#1288](https://github.com/openscd/open-scd/issues/1288)) ([e5bc0b8](https://github.com/openscd/open-scd/commit/e5bc0b8509a40950188e2f4bcf52569932309c69))
* make use of lerna nx ([#1462](https://github.com/openscd/open-scd/issues/1462)) ([94d68d7](https://github.com/openscd/open-scd/commit/94d68d7e395b545c699ead584266231085cffeac))
* optional nsd upload button ([#1474](https://github.com/openscd/open-scd/issues/1474)) ([a6c5d3e](https://github.com/openscd/open-scd/commit/a6c5d3e55e7fd13ada773be7f56d7869e06f30c0))
* Provide ability to see Services section XML ([#1346](https://github.com/openscd/open-scd/issues/1346)) ([83d1d61](https://github.com/openscd/open-scd/commit/83d1d611eeeb79082c7f0eb7934ee045b25fe0c2))
* set up PR preview ([#1547](https://github.com/openscd/open-scd/issues/1547)) ([fede42b](https://github.com/openscd/open-scd/commit/fede42b43272e4fbf036e18df299a45fe52741cc))
* support ldname attribute ([#1401](https://github.com/openscd/open-scd/issues/1401)) ([c0972f3](https://github.com/openscd/open-scd/commit/c0972f33b7e386c39a127739b4c2962f9c9a60f4))

### Bug Fixes

* **104:** change options between different tis when selecting a doi ([#1380](https://github.com/openscd/open-scd/issues/1380)) ([cb80080](https://github.com/openscd/open-scd/commit/cb800808e9679e673e987038678e4c9f2da9fdf3))
* **action:** correct source folder ([2ae1cd3](https://github.com/openscd/open-scd/commit/2ae1cd316743b912551c245da15533bcb9ec2426))
* add node release type and core path ([#1437](https://github.com/openscd/open-scd/issues/1437)) ([d1bde4e](https://github.com/openscd/open-scd/commit/d1bde4e8077f378a5f6e1cc6ebc62561be37db04))
* added editcount to reflect made changes ([#1321](https://github.com/openscd/open-scd/issues/1321)) ([802dd41](https://github.com/openscd/open-scd/commit/802dd4174fb49fc969e601ba04f3ca1966adedbb))
* allow address update for new entries ([#1331](https://github.com/openscd/open-scd/issues/1331)) ([d1f4ff9](https://github.com/openscd/open-scd/commit/d1f4ff90e211bc8ba8c2e9fc4e900fb093acfad5))
* **ci:** remove unneeded permission check ([8d5de2d](https://github.com/openscd/open-scd/commit/8d5de2d93714cef7f5a725704a6adf38602b581c))
* do and da wizard lnclass textfield correction ([#1444](https://github.com/openscd/open-scd/issues/1444)) ([ad08ff2](https://github.com/openscd/open-scd/commit/ad08ff2f4ea51655da5fd158c7106680b6b68506))
* **editors/communication,wizards:** Fix P-type names and display of BitRate ([#1277](https://github.com/openscd/open-scd/issues/1277)) ([2706f82](https://github.com/openscd/open-scd/commit/2706f82283cc7a58a8da5ca4cb775bfec7c6b986))
* **editors/IED:** Allow IEDs to be updated after edit count change (closes [#1272](https://github.com/openscd/open-scd/issues/1272)) ([#1275](https://github.com/openscd/open-scd/issues/1275)) ([1df6842](https://github.com/openscd/open-scd/commit/1df6842002891223cf7a58821494731c01be73a5))
* **editors/subscription:** Increase timeout for failing subscriber/fcda-binding-list test, closes [#1257](https://github.com/openscd/open-scd/issues/1257) ([#1274](https://github.com/openscd/open-scd/issues/1274)) ([8c620eb](https://github.com/openscd/open-scd/commit/8c620eb97fb34a0a01e2ac21cefbb87950e5a6b4))
* fixed dotype-wizarding test for correct translation ([#1464](https://github.com/openscd/open-scd/issues/1464)) ([4517106](https://github.com/openscd/open-scd/commit/4517106c3e651d930fd6c53b4df34f6fc7a065f4))
* **gh-action:** build-and-deploy should first build core before building OpenSCD ([#1427](https://github.com/openscd/open-scd/issues/1427)) ([e25e5f8](https://github.com/openscd/open-scd/commit/e25e5f8c94457deeed207891fec3234201fb1a03))
* **menu/importIEDs:** Allow importing multiple IEDs from multiple SCD files ([#1222](https://github.com/openscd/open-scd/issues/1222)) ([8bdd990](https://github.com/openscd/open-scd/commit/8bdd990a1d0c77b50743281d71b61489709e433a))
* Moved towards get function from lit-translate ([#1471](https://github.com/openscd/open-scd/issues/1471)) ([03dabf9](https://github.com/openscd/open-scd/commit/03dabf94bf3e57f012bb078415ba0c284ce7b1e8))
* **open-scd:** Make linear progress bar Github stylez, closes [#1269](https://github.com/openscd/open-scd/issues/1269) ([ebde770](https://github.com/openscd/open-scd/commit/ebde77000373780dccfa6f345126732667be1c43))
* **open-scd:** Make linear progress bar Github stylez, closes [#1269](https://github.com/openscd/open-scd/issues/1269) ([#1276](https://github.com/openscd/open-scd/issues/1276)) ([ebde770](https://github.com/openscd/open-scd/commit/ebde77000373780dccfa6f345126732667be1c43))
* re-enable input fields in custom plugins dialog ([#1541](https://github.com/openscd/open-scd/issues/1541)) ([38b490d](https://github.com/openscd/open-scd/commit/38b490d1ca7988cebef8513fb640eb077c6246a0))
* recover ace editor files in packages/distribution ([#1544](https://github.com/openscd/open-scd/issues/1544)) ([34a58c0](https://github.com/openscd/open-scd/commit/34a58c04e496716f6a7107e082814fbd8ed053fe))
* Removed Custom web components in tests ([#1445](https://github.com/openscd/open-scd/issues/1445)) ([183717b](https://github.com/openscd/open-scd/commit/183717b2aa90a44a6ffc4b404e79b98fd6bcc917))
* splitting up open-scd and plugins ([#1469](https://github.com/openscd/open-scd/issues/1469)) ([200c030](https://github.com/openscd/open-scd/commit/200c0308a96899a7bc06a4f0357423901c1fff49))
* stale issue action ([a170e8b](https://github.com/openscd/open-scd/commit/a170e8b4e06f6871b1895d64dd710ccdcf76bc1a))
* Subscribing on minimal ExtRef definition ([#1551](https://github.com/openscd/open-scd/issues/1551)) ([29483e6](https://github.com/openscd/open-scd/commit/29483e6562061ae1edd69b2dccf33a512a8aef93))
* supervision updates after ied rename ([#1338](https://github.com/openscd/open-scd/issues/1338)) ([2066e4c](https://github.com/openscd/open-scd/commit/2066e4c71d8ab888cc04f1628c30b39582033fcb))
* use materialized icons for primary apparatus ([#1498](https://github.com/openscd/open-scd/issues/1498)) ([fa07ec2](https://github.com/openscd/open-scd/commit/fa07ec2e12392f0973a138f8260837eec746a64d))
* **wizards/doTypes:** Adjust regular expressions for v flag in template editor ([#1273](https://github.com/openscd/open-scd/issues/1273)) ([baa9bdc](https://github.com/openscd/open-scd/commit/baa9bdcd73bb6db9ab2956dfd58344bc8859262d))
* **wizards/foundation:** Added missing DAI bTypes ([#1320](https://github.com/openscd/open-scd/issues/1320)) ([0bff5aa](https://github.com/openscd/open-scd/commit/0bff5aa448bdfd94956aa602b74a3f44099facd1))
* **wizards/foundation:** Escape limit regexes, closes [#1271](https://github.com/openscd/open-scd/issues/1271) ([baa9bdc](https://github.com/openscd/open-scd/commit/baa9bdcd73bb6db9ab2956dfd58344bc8859262d))

### Miscellaneous Chores

* Add @nx/nx-linux-x64-gnu as optional dependency ([#1557](https://github.com/openscd/open-scd/issues/1557)) ([64f73ac](https://github.com/openscd/open-scd/commit/64f73ace8701e17c1a51b335d76735f7793c210c))
* Release 0.34.0, core 0.1.2 ([#1555](https://github.com/openscd/open-scd/issues/1555)) ([e8fe207](https://github.com/openscd/open-scd/commit/e8fe20739267ea14b74c3d2be0fbf5fa4faa546b))
* Release 0.34.0, core 0.1.2 attempt 3 ([#1558](https://github.com/openscd/open-scd/issues/1558)) ([62a7918](https://github.com/openscd/open-scd/commit/62a79183f7f5b6a55c0ebf500d94c05c0d348ac1))
* Release 0.34.0, core 0.1.2 attempt 4 ([#1559](https://github.com/openscd/open-scd/issues/1559)) ([85d6433](https://github.com/openscd/open-scd/commit/85d6433f4105a6b0bc06e8059755e1b9311f4c4f))
32 changes: 32 additions & 0 deletions GLOSSARY.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# OpenSCD Glossary

This glossary introduces terms that have been developed and collectively endorsed by the OpenSCD community. Please note that terms specific to the SCL (Substation Configuration Language) fall outside the scope of this glossary, as they are thoroughly covered and explained by the relevant IEC standards; The goal of the glossary is helping to get a common understanding of the terms introduced into the OpenSCD project, with the aim of enhancing communication.

## Wizard
A wizard is a user-friendly interface that assists individuals in completing complicated tasks by breaking them into simpler, easy-to-follow steps. It typically offers guidance, instructions, and choices, making tasks more manageable and enabling users to accomplish them efficiently.

## Plug-in
An OpenSCD plug-in allows to extend OpenSCD functionality. E.g. support vendeor/organisational specific needs. It's crafted to seamlessly merge with the main OpenSCD-core API, broadening its capabilities without altering its fundamental structure. OpenSCD-core incorporates a selected set of plug-ins and settings (e.g. color scheme) to enhance its functionality.

## Distribution
An OpenSCD distirbution is openSCD-core with a set of user/organsition selected plug-ins, styling and other environmental variables. An OpenSCD distribution allows to meet organisation/user needs. E.g. selection of open source and 3rd party plug-ins or the useage of organisation colors.

## Validator plug-in
The primary role of Validator plug-in is to ensure that the information provided meets certain criteria or requirements. In the context of our tool, this plug-in is essential for validating the IEC 61850 SCL file that's either created or modified by the tool. It acts as a quality checker, ensuring the integrity and compliance of the SCL file according to specified guidelines or standards.

## Menu plug-in
Menu Plug-in in OpenSCD refers to the functionalities accessible directly from the main menu of the tool. These options perform specific tasks within the tool without necessarily adding a new module or plug-in to the workspace. For instance:

- **Save Project:** Saves the current project.
- **Open Project:** Opens an existing project.
- **Create Virtual IED:** Adds a new IED (Intelligent Electronic Device).

These options facilitate essential tasks within OpenSCD without altering the tool's interface or adding new components to the workspace.


## Editor plug-in
**Editor Plug-ins** in OpenSCD are accessed through the Extensions section in the Menu. These plug-ins, found in the Editor tab of the Extensions section, are responsible for adding or removing modules within the tool's workspace. For instance: **IED**, **Substation** and **Single Line Diagram** plug-ins.

Editor Plug-ins extend the functionality of OpenSCD by adding modules or components to the workspace, providing users with additional tools and features for more specialized tasks or configurations.


File renamed without changes.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ to use the CoMPAS Backend Service to open and save SCL Files and more.
This repository is a [↗ monorepo](https://en.wikipedia.org/wiki/Monorepo), made up of several packages.
To find out more about the development of each packages, such as the base distribution or the plugins, please refer to their respective READMEs:

- [open-scd](packages/open-scd/README.md): provides the (upstream) base distribution available on [openscd.github.io](https://openscd.github.io)
- [open-scd](packages/openscd/README.md): provides the (upstream) base distribution available on [openscd.github.io](https://openscd.github.io)
- [compas-open-scd](packages/compas-open-scd/README.md): provides the base distribution available on [demo.compas.energy](https://demo.compas.energy)

## Contributing
Expand Down
File renamed without changes.
58 changes: 58 additions & 0 deletions docs/0001-ADR-Theming.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Theming proposal for Open-SCD

Date: 2023-05-16

## Status

Accepted

## Context
If we want a themable application where plugin authors can rely on a global style, we should make use of css variables. We can also make use of [Design Tokens](https://spectrum.adobe.com/page/design-tokens/).
With design tokens, we can generate css variables.

We can then override the Material css variables, so all the material components (mdc/mwc) will have the same look.

![Proposal](./theming-proposal.png)

### Background
Related links:
- [Adobe Design tokens](https://spectrum.adobe.com/page/design-tokens/)
- [Design Tokens for dummies](https://uxdesign.cc/design-tokens-for-dummies-8acebf010d71)
- [Material Design Tokens](https://m3.material.io/foundations/design-tokens)

### Naming
We should come to a global agreement of naming variables.
My suggestion would be to follow the following standard:

<pre>--{namespace}-[{tier}]-[{prefix}]-{name}-[{suffix}]-[{scale}]</pre>

Implementation of this standard:

#### Example 1
<pre>--oscd-color-primary: #548ea6;</pre>

Namespace: <pre>--<b>oscd</b>-color-primary</pre>
Tier: -<br/>
prefix: -<br/>
name: <pre>--oscd-<b>color</b>-primary</pre>
suffix: <pre>--oscd-color-<b>primary</b></pre>
scale: -<br/>

#### Example 2
<pre>--oscd-dark-color-primary-100: #548ea6;</pre>

Namespace: <pre>--<b>oscd</b>-dark-color-primary-100</pre>
Tier: <pre>--oscd-<b>dark</b>-color-primary-100</pre>
prefix: -<br/>
name: <pre>--oscd-dark-<b>color</b>-primary-100</pre>
suffix: <pre>--oscd-dark-color-<b>primary</b>-100</pre>
scale: <pre>--oscd-dark-color-primary-<b>100</b></pre>

## Decision

T.B.D.


## Consequences
This decision will mean that the current OSCD components will need some extra
css styling to link OSCD css variables to internal styles (or mwc-variables).
39 changes: 39 additions & 0 deletions docs/0002-ADR-Atomic-Design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Atomic Design proposal for Open-SCD

Date: 2023-05-24

## Status

Open

## Context
If we want to build robust reusable components, we should make use of the Atomic Design principal.
This design principal consists of multiple levels of components:
* Atoms
* Molecules
* Organisms
* Templates
* Page

A molecule is a group of atoms together. An organism is a group of molecules together. etc. etc.

#### Example

We have a textfield component (Atom) called @openscd/oscd-textfield.
We also have a button component (Atom) @openscd/oscd-button.

We now can create a search component (Molecule) called @openscd/oscd-search.


### Background
Related links:
- [Atomic Web Design](https://bradfrost.com/blog/post/atomic-web-design/)

## Decision
T.B.D.


## Consequences
This decision will mean that the current OSCD components might need some extra
work to split up components by type (Atoms/Molecules/Organisms).
Also, we might introduce more overhead if we split all the atoms and molecules up by repository.
Loading

0 comments on commit 4e0405e

Please sign in to comment.