CoMPAS OpenSCD (next) migration notes
Work in progress: This is not a definitive or comprehensive list
Identified actions:
Create a component(s) repository within the CoMPAS orgMove Compas-open and Compas save to the same repositoryCompas-loading should maybe be in another repo (util repo?) (define util repo)
Remove CompasUploadVersion? // NoRefactor save/saveAs? (code duplication) (define solution)
Should the compas foundation files and services exist in thet compas-open-scd(next) repository or should they:a) be split between each repo where their dependent on (example: save and open depend on compas-scl-data-service so it’s put under that repo)b) be group into a single repo “compas-oscd-data-core” where all foundation files and services exist
Cleaner API for accessing the database (services) that allows for separating this logic from the compas components (define interfaces)
Move existing tests properly
- New repos to fullfil this migration need to have admins and the admins should be updated before a team member leaves
- Once all of the dependencies are fully extracted from compas-oscd-docops, a review of unused package.json dependencies should be done
- Check if we can extract a file from /compas/foundation.ts that only has the functions needed by compas-oscd-docops components/plugins.
Proposed questions by Jakob Vogelsang :
Question to be answered:
3. are all tests complete, do we need screenshot test?
4. is the API complete, do we need to reduce/add properties, methods slots?
Definition of compas-oscd-docops:
This a web components' repo where the following elemental UI components from compas-open-scd exist alongside a set of interfaces that define the desired inputs/outputs when used within a plugin:
- CompasChangeSetRadiogroup
- CompasCommentElement
- CompasLabelsField
- CompasOpen
- CompasSave
CompasSclListCompasSclTypeListCompasSclTypeSelect
The UI components should be "dumb". No functionality should be defined in them and plugins should provide functionality for these UI components via props/slots and event handlers.