Skip to content
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

Create/Edit/Delete AAS #10

Open
4 tasks
Tracked by #8
aaronzi opened this issue Aug 23, 2024 · 4 comments
Open
4 tasks
Tracked by #8

Create/Edit/Delete AAS #10

aaronzi opened this issue Aug 23, 2024 · 4 comments
Labels
enhancement New feature or request

Comments

@aaronzi
Copy link
Member

aaronzi commented Aug 23, 2024

As a BaSyx user,
I want to be able to create, edit and delete Asset Administration Shells.

Rules

  • A button to create new AASs should only be available if the editor mode is enabled via the respective environment variable
  • Editing/Deleting AASs should only be available if the editor mode is enabled via the respective environment variable
  • Authorization is out of scope for this ticket as well
  • The button to create new shells should be located in the AASList component [1]
  • Clicking the button should open a dialog with an input mask for entering AAS information
  • Editing/deleting an AAS should be available via action buttons in the AAS List at the respective shell [2]
  • All AAS traits should be supported in the input mask (see meta-model v3 [4] p. 59)
  • The input mask for creating an AAS should be its own component in a new directory called "AASEditor" which should be located in [3]
  • The input mask for AASs should be the same for create and edit
  • The input mask should include validation respecting the specific requirements for the respective trait (if it's mandatory, should follow specific rules, ...)
  • There should be different language options to select for Description and DisplayName
  • Options for the Category select should be CONSTANT, PARAMETER, VARIABLE
  • DELETE BLOCK should remove all input fields
  • If a block is empty, a button called ADD BLOCK will be displayed
  • Vuetify's v-expansion-panels [5], v-text-field [6], v-select [7], v-btn [8] and v-dialog [9] should be used
  • Vuetifies rule attribute for v-text-field and v-select should be leveraged for validation including form validation [10] before saving

Entry Points

[1] https://github.com/eclipse-basyx/basyx-applications/blob/main/aas-gui/Frontend/aas-web-gui/src/components/AppNavigation/AASList.vue
[2] https://github.com/eclipse-basyx/basyx-applications/blob/7331647a2ca0ad978d78ce1fecd165c42b33c6ff/aas-gui/Frontend/aas-web-gui/src/components/AppNavigation/AASList.vue#L52-L61
[3] https://github.com/eclipse-basyx/basyx-applications/tree/main/aas-gui/Frontend/aas-web-gui/src/components

Acceptance Criteria

  • New component that includes an input mask for creating/editing all relevant AAS properties [4] p. 59
  • Adding new AASs is possible via a button located in [1] using the mentioned input mask
  • Updating AAS information is possible via an action button located in [2] by using the input mask as well
  • Deleting an AAS is possible via an action button located in [2]

Risks and Assumptions

  • The AAS Registry integration should be enabled (see AAS Repository documentation)
  • The implementation for the DisplayName is the same in regards to UI/UX

References and Notes

[4] https://industrialdigitaltwin.org/wp-content/uploads/2023/06/IDTA-01001-3-0_SpecificationAssetAdministrationShell_Part1_Metamodel.pdf
[5] https://vuetifyjs.com/en/components/expansion-panels/#usage
[6] https://vuetifyjs.com/en/components/text-fields/#usage
[7] https://vuetifyjs.com/en/components/selects/#usage
[8] https://vuetifyjs.com/en/components/buttons/#usage
[9] https://vuetifyjs.com/en/components/dialogs/#usage
[10] https://vuetifyjs.com/en/components/forms/#rules

ℹ The delete functionality for AASs is already implemented

Image

Dependencies and Blockers

Env variable to disable the editor mode was implemented before in #8

@aaronzi aaronzi mentioned this issue Aug 23, 2024
18 tasks
@aaronzi aaronzi added the enhancement New feature or request label Aug 23, 2024
@aaronzi aaronzi transferred this issue from eclipse-basyx/basyx-applications Aug 30, 2024
@mrentsch65
Copy link

As a user I would like to have as much software support as possible to fill in the AAS content. Thus I would like propose some more helper functionalities similar to the one behind the Button "Generate ID (IRI)". i.e. for the administrative information elements as much values as possible should be proposed and pre-filled from the backend. The user can then change or accept them.
I also believe that for each dialog a "help" button or the like would be good. Are there already some basics for such a help facility implemented in BaSyx?

@aaronzi
Copy link
Member Author

aaronzi commented Sep 8, 2024

Hi Markus,

This is a very good idea. I have thought about it before but never had the time to implement it.
It would be great to have a help system like this to make it easier for the user to enter data.
It would require a lot of knowledge about the AAS and it's API.
But I'm sure it would be possible to create a first draft that could be implemented for all input fields later.

Best regards,
Aaron

@mrentsch65
Copy link

@aaronzi : What do you think of adopting the Excel-like Editor-Layout of the AAS-Manager for the AAS-Editor? I believe it could provide a good usability when an AAS has lots of properties that must be navigated.

@aaronzi
Copy link
Member Author

aaronzi commented Sep 23, 2024

That could be an option but would also require to change a big part of the already existing code. You would have to replace the entire treeview logic and visuals with the table functionality. For now would say this is out of scope. Maybe later as an alternative view. But the form dialogs for creating and editing objects could be a good template for how the BaSyx editor could look like.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

No branches or pull requests

2 participants