com-pas / compas-architecture

Project's architecture documentation
Creative Commons Attribution 4.0 International
9 stars 5 forks source link

Impact analyses OpenSCD-core #174

Open Sander3003 opened 1 year ago

Sander3003 commented 1 year ago

Investigate the steps needed per plug-in to move to OpenSCD-core.
https://wiki.lfenergy.org/display/SHP/Make+use+of+OpenSCD+core

Activities: Look into the code to see what needs to be changed Make a list of decision that needs to be made Report the finding here: https://wiki.lfenergy.org/display/SHP/Make+use+of+OpenSCD+core

Acceptance criteria: Report findings in the wiki page

compas-oscd-components (GIT Repository / NPM Package):
  compas-open:  
    /src/compas/CompasOpen.ts
    /src/compas-services/CompasSclDataService.ts
    compas-scl-list
    compas-scltype-list
  compas-save:
    /src/compas/CompasSave.ts
    /src/compas-services/CompasSclDataService.ts
    compas-changeset-radiogroup
    compas-scltype-select
    compas-comment
    compas-labels-field
    compas-loading
    CompasExistsIn

  compas-changeset-radiogroup:
    /src/compas/CompasChangeSetRadiogroup.ts
    /src/compas-services/CompasSclDataService.ts (Only for ChangeSet, so maybe just move this)
  compas-comment:
    /src/compas/CompasComment.js
  compas-labels-field:
    /src/compas/CompasLabelsField.ts
  compas-loading:
    /src/compas/CompasLoading.ts
  compas-scl-list:
    /src/compas/CompasSclList.ts
    compas-loading
  compas-scltype-list:
    /src/compas/CompasSclTypeList.ts
    /src/compas-services/CompasSclDataService.ts
    compas-loading
  compas-scltype-select:
    /src/compas/CompasSclTypeSelect.ts
    /src/compas-services/CompasSclDataService.ts
    compas-loading

  CompasExistsIn (Mixin):
    /src/compas/CompasExistsIn.ts
    /src/compas-services/CompasSclDataService.ts

  /src/compas/foundation.ts
  /src/compas/private.ts

compas-oscd-auto-alignment-plugin (GIT Repository):
  CoMPAS Auto Alignment Plugin:
  /src/compas/CompasAutoAlignment.ts                     (Component)
  /src/compas-services/CompasSclAutoAlignmentService.ts  (Service)
  /src/menu/CompasAutoAlignment.ts                       (Menu)
  Maybe combine the menu and component in the new setup.

compas-oscd-import-cim-plugin (GIT Repository):
  CoMPAS Import CIM:
    /src/compas-service/CompasCimMappingService.ts
    /src/menu/CompasCimMapping.ts

compas-oscd-project-plugins (GIT Repository):
  CoMPAS Open:
    /scr/menu/CompasOpen.ts
    compas-open
  CoMPAS Save:
    /scr/menu/CompasSave.ts
    compas-save
    compas-loading
  CoMPAS Save as:
    /scr/menu/CompasSaveAs.ts
    compas-save
    compas-loading
  CoMPAS Save as version:
    /scr/menu/CompasSaveAsVersion.ts
    compas-save
    compas-loading

  - use repository 'compas-oscd-components'

compas-oscd-merge-plugins (GIT Repository):
  CoMPAS Import IED:
    /scr/menu/CompasImportIEDs.ts
    compas-open
  CoMPAS Merge Project:
    /scr/menu/CompasMerge.ts
    compas-open
  CoMPAS Update Substation:
    /scr/menu/CompasUpdateSubstation.ts
    compas-open
  CoMPAS Compare IED:
    /scr/menu/CompasCompareIED.ts
    compas-open

  - These plugins are extending the ones from OpenSCD.
    Only change is how the SCL File is retrieved.
    So this will be a discussion how to deal with this.
  - use repository 'compas-oscd-components'

compas-oscd-editors (GIT Repository):
  CoMPAS Versions:
    /src/compas/CompasUploadVersion.ts
    /src/compas-editor/CompasVersions.ts
    /src/compas-editor/foundation.ts
    /src/compas-wizards/scl.ts
    compas-loading

  - use repository 'compas-oscd-components'

compas-oscd-ocl-validator (GIT Repository):
  Validate using OCL
  /src/compas-services/CompasValidatorService.ts
  /src/validators/CompasValidateSchema.ts

compas-oscd-settings-plugin (GIT Repository):
  CoMPAS Settings
  /src/compas/CompasSettings.ts

compas-oscd-core (GIT Repository / NPM Package):
  /scr/compas-open-scd.ts   (New Component to be used in the distros.)
  /src/compas/Compasing.ts
  /src/compas/CompasNsdoc.ts
  /src/compas/CompasUserInfo.ts
  /src/compas/CompasSessionExpiredDialog.ts
  /src/compas/CompasSessionExpiringDialog.ts

compas-oscd-distro (GIT Repository):
  compas-oscd-core component.
  including all needed plugins.

locamation-vmu-plugin (GIT Repository):
  /src/menu/LocamationVMU.ts
  /src/locamation/*.ts

alliander-import-cim-plugin (GIT Repository):
  Alliander Import CIM (was CoMPAS import from API)
    /src/compas/CompasImportFromApi.ts              (Component)
    /src/compas-service/CompasCimMappingService.ts  (Service)
    /src/menu/CompasImportFromApi.ts                (Menu)
    Maybe combine the menu and component in the new setup.

alliander-oscd-distro (GIT Repository):
  compas-oscd-core component.
  including all needed plugins.

Remark: Remember the use of wizard-divider, wizard-textfield and more.

Open questions: Where to push the NPM packages? Create a CoMPAS organisation on NPM (it that is easy). OpenSCD URL example?

dlabordus commented 1 year ago

Added first setup to the description so everyone can change it.

Sander3003 commented 1 year ago

Todo: create issues to migrate