Skip to content

Extends the infrastructure config to include component integration flags#1104

Merged
aaronzi merged 4 commits intoeclipse-basyx:mainfrom
aaronzi:main
Mar 12, 2026
Merged

Extends the infrastructure config to include component integration flags#1104
aaronzi merged 4 commits intoeclipse-basyx:mainfrom
aaronzi:main

Conversation

@aaronzi
Copy link
Member

@aaronzi aaronzi commented Mar 12, 2026

This pull request introduces infrastructure-aware synchronization options for descriptor and discovery asset link management, making the UI and backend behavior more flexible and accurate based on the current infrastructure configuration. The changes allow users to specify whether descriptor and discovery synchronization should be handled automatically by the backend or manually via the UI, and the application adapts its behavior and warnings accordingly.

The most important changes are:

Infrastructure configuration enhancements:

  • Added new optional flags (hasRegistryIntegration, hasDiscoveryIntegration) to the infrastructure configuration (basyx-infra.yml) to indicate whether backend services automatically handle descriptor and discovery asset link synchronization. [1] [2]

UI for infrastructure settings:

  • Updated the ComponentConfigPanel.vue and InfrastructureManagement.vue components to allow users to configure these new flags via checkboxes in the UI, and propagate changes to the infrastructure store. [1] [2] [3] [4] [5]

Descriptor and discovery sync logic:

  • Modified the delete and upload flows (DeleteAAS.vue, UploadAAS.vue) to check the new infrastructure flags and conditionally perform manual descriptor and discovery asset link synchronization only if required. Appropriate warnings are shown if synchronization is skipped due to connectivity or configuration. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]

User feedback improvements:

  • Added more detailed warnings and snackbar notifications to inform users when manual synchronization is required, skipped, or fails, based on the infrastructure settings and connection status. [1] [2] [3]

These changes make the application more robust and user-friendly when dealing with various backend integration scenarios.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds infrastructure-driven “manual sync” behavior for AAS/Submodel descriptors and AAS discovery asset links when the backend does not automatically keep registries/discovery in sync, and exposes these integration toggles in the infrastructure settings and YAML config.

Changes:

  • Introduce per-component integration flags (hasRegistryIntegration, hasDiscoveryIntegration) in types, YAML config, default infrastructure config, and the settings UI.
  • Add/extend client logic to create/update/delete AAS/Submodel descriptors and discovery asset links when manual synchronization is required (including upload and delete flows).
  • Improve request handling for JSON responses that may legitimately be empty.

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
aas-web-ui/src/types/Infrastructure.ts Adds optional integration flags to component config types.
aas-web-ui/src/types/Descriptors.ts Renames AAS descriptor field to specificAssetIds (plural).
aas-web-ui/src/pages/modules/DPPDemo/index.vue Adjusts product image rendering and thumbnail URL resolution logic.
aas-web-ui/src/composables/RequestHandling.ts Adds parseJsonIfPresent and treats empty JSON bodies as successful.
aas-web-ui/src/composables/Infrastructure/useInfrastructureYamlParser.ts Parses integration flags from YAML into infrastructure config.
aas-web-ui/src/composables/Infrastructure/useInfrastructureStorage.ts Sets default integration flags for newly created infrastructures.
aas-web-ui/src/composables/Client/SMRegistryClient.ts Adds deleteSubmodelDescriptor and extends descriptor construction.
aas-web-ui/src/composables/Client/AASRegistryClient.ts Adds deleteAasDescriptor.
aas-web-ui/src/composables/Client/AASDiscoveryClient.ts Adds helpers + upsert/delete for discovery asset links.
aas-web-ui/src/components/EditorComponents/SubmodelForm.vue Adds conditional manual Submodel descriptor synchronization.
aas-web-ui/src/components/EditorComponents/JsonInsert.vue Adds conditional manual Submodel descriptor synchronization for JSON insert flow.
aas-web-ui/src/components/EditorComponents/DeleteDialog.vue Updates Submodel deletion to account for infrastructure integration flags.
aas-web-ui/src/components/EditorComponents/AASForm.vue Adds conditional manual AAS descriptor + discovery asset link synchronization.
aas-web-ui/src/components/AppNavigation/UploadAAS.vue Performs descriptor/discovery sync post-import when required by infrastructure flags.
aas-web-ui/src/components/AppNavigation/Settings/InfrastructureManagement.vue Wires new integration toggle events from component panels into edited infrastructure state.
aas-web-ui/src/components/AppNavigation/Settings/ComponentConfigPanel.vue Adds UI checkboxes to edit the new integration flags.
aas-web-ui/src/components/AppNavigation/DeleteAAS.vue Adds conditional deletion of AAS/Submodel descriptors and discovery asset links.
aas-web-ui/public/config/basyx-infra.yml Documents and provides example defaults for the new integration flags.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@aaronzi aaronzi merged commit 4da3683 into eclipse-basyx:main Mar 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants