-
Notifications
You must be signed in to change notification settings - Fork 25
Add AAS Commander #890
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add AAS Commander #890
Conversation
|
Shall we close this and wait for the implementation in BaSyx Studio? |
|
No, please keep this open. I still want to resolve the merge conflicts and merge the PR in the new year. The component will probably be 99% reusable for the BaSyx Studio. |
|
Alright, sounds good! |
|
For now, I have reverted all changes to stores and composables. These changes were causing merge conflicts with the new multi-infrastructure architecture. This new architecture also changes how the commander works regarding copying from one repository to another. I will implement the necessary changes to enable the commander to work with the new multi-infrastructure architecture of the BaSyx UI. |
|
Happy new year @aaronzi and thanks for your work "between the years"! |
|
Thanks @wiresio. I also wish you a happy new year :) This PR seems to be a bit of a rabbit hole if I want to implement everything that I added to the PR description. I will probably only implement the "Infrastructure Layer" and the "AAS Layer" and add the rest in a separate PR. |
Description of Changes
Often, there is a need for copying or moving shells from one repository to another one. Therefore it would be great to have a "Norton Commander" like functionality in the UI.
Related Issue
Closes #853
Design
The AAS commander is divided in two panes (left and right, similar to what the "Norton Commander" looks like). Each side represents a selected AAS Infrastructure (AAS Server like the AAS/SM/CD Repos). A user can move Shells, Submodels and SubmodelElements from one infrastructure to the other (left to right or vice versa). Each side consists of 4 main layers (top to bottom, only one layer visible per pane at a time):
Each pane has its own:
Rules:
Selection rules
Navigation rules
levelset tocoreto reduce the amount of data fetched (not the entire nesting) -> expanding in the treeview fetches the next layer (same for opening an element with double clickDrag & drop rules
Acceptance criteria:
Assumptions:
Conflict handling:
BaSyx Configuration for Testing
See docker-compose in directory: examples/AASCommander
AAS Files Used for Testing
Should work with any AAS.