diff --git a/CHANGELOG.md b/CHANGELOG.md index 726980f4f4..f879534e2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ### Removed - Removed EDC notification asset classes and replaced with IRS lib implementation +- [#528](https://github.com/eclipse-tractusx/traceability-foss/issues/528) Removed sorting tooltip on quality incidents tables on dashboard page ## [10.5.0 - 22.02.2024] diff --git a/docs/RELEASE.md b/docs/RELEASE.md index e976cec640..8df5985220 100644 --- a/docs/RELEASE.md +++ b/docs/RELEASE.md @@ -31,3 +31,7 @@ Make sure eclipse / catena git repositories are in sync 23) Repeat step 8 to 23 for tractus-x: [GitHub Releases page](https://github.com/eclipse-tractusx/traceability-foss/releases) 24) Sync catena and eclipse main branch +// TODO @Martin Maul: +//1 We need to create a branch from the helm-environments branch which reflects the release state +// Create /release/helm-environments- not the helm version +//2 Make sure that the merged release branch will not be deleted diff --git a/docs/concept/#435-display-aspect-models-connected-to-twin-generic/#435-display-aspect-models-connected-to-twin-generic.md b/docs/concept/#435-display-aspect-models-connected-to-twin-generic/#435-display-aspect-models-connected-to-twin-generic.md new file mode 100644 index 0000000000..055d3277f6 --- /dev/null +++ b/docs/concept/#435-display-aspect-models-connected-to-twin-generic/#435-display-aspect-models-connected-to-twin-generic.md @@ -0,0 +1,151 @@ +# #435 Display-Aspect-Models-connected-to-twin-generic + +| Key | Value | +|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Author | @ds-mkanal | +| Creation date | 28.02.2024 | +| Ticket Id | [#435](https://github.com/eclipse-tractusx/traceability-foss/issues/435) [#710](https://github.com/eclipse-tractusx/traceability-foss/issues/710) [#711](https://github.com/eclipse-tractusx/traceability-foss/issues/711) | +| State | DRAFT | + +# Table of Contents +1. [Overview](#overview) +2. [Summary](#summary) +3. [Problem Statement](#problem-statement) +4. [Requirements](#requirements) +5. [NFR](#nfr) +6. [Out of scope](#out-of-scope) +7. [Assumptions](#assumptions) +8. [Concept](#concept) +9. [Glossary](#glossary) +10. [References](#references) +11. [Additional Details](#additional-details) + + +# Overview +Trace-X is an application in which quality issues can be processed. For the processing of these quality issues, both for the correct addressing of the quality incident and for a more in-depth search, a large number of semantic models must be accessed depending on the application. The information gained should not be regulated for Quality Expert working with Trace-X Busines App. All semantic models linked to a digital twin should be available for processing. + +# Summary +Trace-X can currently display a defined number of semantic models of the BOMLifecyles asPlanned and asBuilt. +In the future, it can be assumed that further as yet unspecified semantic models will be developed which will also be represented in Trace-X. +Trace-X will be developed to generically handle different existing and planned semantic models. + +# Problem Statement +- Trace-X can currently display a fixed number of semantic models. +- This involves the well-known semantic models of BOMLifecyle asPlanned and asBuilt (SerialPart, SingleLevelUsage*, SingleLevelBOM, PartAsPlanned, PartSiteInformationAsPlanned, JustInSequence) +- In addition, there is a further set of semantic models which are not currently part of the Trace-X domain model and therefore cannot be displayed at present. +- To avoid having to map every available semantic model in the domain model, there is a requirement to display other semantic models in a more generic form. + +# Requirements +- [ ] All semantic models connected to a digital twin can be viewed by a Trace-X user +- [ ] Display of digital twin connected semantic models raw payload in Trace-X FE +- [ ] Display of digital twin connected semantic models payload as graph view in Trace-X FE +- [ ] Display of digital twin connected semantic models payload as tree view in Trace-X FE +- [ ] Semantic Model is displayed with version of semantic model +- [ ] Line numbering for raw and tree viewer +- [ ] API endpoints response bodies are extended with required attributes version and payload for Semantic Model Detail View Panel + +# NFR +- [ ] Panel with consistent UUX according to C-X Style Guide + +# Out of scope +- Switching between viewer instances in full-screen-mode +- Enabling and disabling of code highlighting (code highlighting is the default) + +# Assumptions +There are further aspect models as the ones currently known (SerialPart, Batch, JiS, PartAsPlanned, PartSiteInformation) in the two BomLifecycle asPlanned and asBuilt which are currently implemented and will be relevant in the future. + +# Concept + +## BE API Extensions +- API GET /assets/as-planned/{assetId} + - add version attribute to detailAspectModels + - add payload (link) of semantic models to detailAspectModels + - add identification attribute to detailAspectModels +- API GET /assets/as-planned/*/children/{childId} + - add version attribute to detailAspectModels + - add payload (link) of semantic models to detailAspectModels + - add identification attribute to detailAspectModels +- API GET /assets/as-built/{assetId} + - add version attribute to detailAspectModels + - add identification attribute to detailAspectModels + - add payload (link) of semantic models to detailAspectModels +- API GET /assets/as-built/*/children/{childId} + - add version attribute to detailAspectModels + - add identification attribute to detailAspectModels + - add payload (link) of semantic models to detailAspectModels + +## UI Mocks +Source: https://miro.com/app/board/uXjVO5JVoho=/?moveToWidget=3458764572353049533&cot=14 + +### Changes in DetailView Overlay + +- [ ] Detail View must be scrollable with vertical scrollbar +- [ ] New Panel "Semantic Models" is added to Detail View (de: Semantische Modelle) +- [ ] Panel "Semantic Models" contains table +- [ ] Table contains all "Semantic Models" for selected asset +- [ ] Table contains columns "Semantic Model Name" (de: refer to current translation) +- [ ] Table contains columns "Version" of semantic model (de: Version) +- [ ] Table contains columns "Semantic Model Id" of semantic model (de: ID Semantisches Modell) /== "Identification" of submodel in IRS response / +- [ ] Table columns are sortable (Name alphanumeric, Version uses numeric, natural sorting!) +- [ ] Table columns are NOT filterable +- [ ] Table with vertical scrollbar (No pagination) +- [ ] Viewer Panel has fixed size +- [ ] User selection of Viewer Instance is stored in User Settings. Last selected Viewer Instance will be used for next semantic model selection. +- [ ] User selected semantic model in table is highlighted in dark grey color + +![DetailView_With_Code_Viewer_Active.png](DetailView_With_Code_Viewer_Active.png) + + +### Json Code Raw Viewer +- Json Raw Viewer +- Code Highlighting +- Line Numbering +- Vertical scrollbar +- Extend Viewer Panel is extendable to full-screen + +![Detail_View_Json_Code_Viewer](Detail_View_Json_Code_Viewer.png) + +### Json Tree Viewer + +Json Tree Viewer is the visualization of a JSON structure in a hierarchical tree format. + +- Json Tree Viewer +- Json is visualized in tree view +- Code Highlighting +- Line Numbering +- Extend Viewer Panel is extendable to full-screen + ![Detail_View_Json_Tree_Viewer](Detail_View_Json_Tree_Viewer.png) + +### Json Graph Viewer +- Json Tree Viewer +- Json is visualized in graph view +- Code Highlighting +- Extend Viewer Panel is extendable to full-screen +![Detail_View_Json_Graph_Viewer](Detail_View_Json_Graph_Viewer.png) + + +## Viewer in full-screen mode +![Viewer Full Screen](Viewer_Full_screen_mode.png) +- Any viewer instance could be extended to full-screen mode +- Full-screen mode is disabled via X button on the right upper side. +- After closing, full-screen former detail view is shown + +## Error View +- Viewer shows error icon +- Viewer show initial message Semantic model cannot be displayed. +- Standard error message: Semantic model cannot be displayed. With detailed user readable message + +![Error View](Error_View.png) + +# Glossary + +| Abbreviation | Name | Description | +|--------------|------|---------------| +| | | | +| | | | + +# References +- https://miro.com/app/board/uXjVO5JVoho=/?moveToWidget=3458764572353049533&cot=14 + +# Additional Details +Given the dynamic nature of ongoing development, there might be variations between the conceptualization and the current implementation. For the latest status, refer to the documentation. diff --git a/docs/concept/#435-display-aspect-models-connected-to-twin-generic/DetailView_With_Code_Viewer_Active.png b/docs/concept/#435-display-aspect-models-connected-to-twin-generic/DetailView_With_Code_Viewer_Active.png new file mode 100644 index 0000000000..659e12f7df Binary files /dev/null and b/docs/concept/#435-display-aspect-models-connected-to-twin-generic/DetailView_With_Code_Viewer_Active.png differ diff --git a/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Detail_View_Json_Code_Viewer.png b/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Detail_View_Json_Code_Viewer.png new file mode 100644 index 0000000000..c2183e883b Binary files /dev/null and b/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Detail_View_Json_Code_Viewer.png differ diff --git a/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Detail_View_Json_Graph_Viewer.png b/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Detail_View_Json_Graph_Viewer.png new file mode 100644 index 0000000000..9d13e54fa2 Binary files /dev/null and b/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Detail_View_Json_Graph_Viewer.png differ diff --git a/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Detail_View_Json_Tree_Viewer.png b/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Detail_View_Json_Tree_Viewer.png new file mode 100644 index 0000000000..9092ec3df6 Binary files /dev/null and b/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Detail_View_Json_Tree_Viewer.png differ diff --git a/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Error_View.png b/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Error_View.png new file mode 100644 index 0000000000..fb43acbb9e Binary files /dev/null and b/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Error_View.png differ diff --git a/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Viewer_Full_screen_mode.png b/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Viewer_Full_screen_mode.png new file mode 100644 index 0000000000..4e2b44f83e Binary files /dev/null and b/docs/concept/#435-display-aspect-models-connected-to-twin-generic/Viewer_Full_screen_mode.png differ diff --git a/docs/src/uml-diagrams/arc42/cross-cutting/domain-model/domain-model.puml b/docs/src/uml-diagrams/arc42/cross-cutting/domain-model/domain-model.puml index fe5f3a922e..6a02f81430 100644 --- a/docs/src/uml-diagrams/arc42/cross-cutting/domain-model/domain-model.puml +++ b/docs/src/uml-diagrams/arc42/cross-cutting/domain-model/domain-model.puml @@ -30,6 +30,8 @@ abstract Asset { manufacturerName : String (max = 255) /' BPN Lookup collection irs.bpns[] '/ nameAtManufacturer : String (max = 255) /' partTypeInformation.nameAtManufacturer '/ manufacturerPartId : String (max = 255) /' partTypeInformation.manufacturerPartId '/ + version: String (max = 20) /' semantic version String 1.1.1'/ + semantic-model-id: String (max = 255) /' identification random id of semantic model '/ assetSyncStatus : AssetSyncStatus /' Status of asset in database'/ owner : OwnerResponse @@ -55,7 +57,8 @@ end note abstract DetailAspectModelModel { - detailSemanticDataModelType : DetailSemanticDataModelType + version: String (max = 20) /' semantic version String 1.1.1'/ + detailSemanticDataModelType : String semanticPayload : SemanticPayload } note left @@ -88,11 +91,6 @@ enum AssetSyncStatus { FORCE_DELETED } -enum DetailSemanticDataModelType { - TRACTIONBATTERYCODE, - PARTSITEINFORMATIONASPLANNED -} - class AsBuiltAspectModel { partId : String /' BatchID , jisNumber , partInstanceID'/ @@ -144,7 +142,6 @@ note left end note SemanticDataModelType <-- Asset AssetSyncStatus <-- Asset -DetailSemanticDataModelType <-- DetailAspectModelModel Asset <|.. AsBuiltAspectModel Asset <|... AsPlannedAspectModel diff --git a/frontend/src/app/modules/shared/components/table/table.component.html b/frontend/src/app/modules/shared/components/table/table.component.html index 9f34475a11..047bddbbcb 100644 --- a/frontend/src/app/modules/shared/components/table/table.component.html +++ b/frontend/src/app/modules/shared/components/table/table.component.html @@ -234,6 +234,7 @@

{{ 'table.noResultFound' | i18n }}

matTooltipPosition="above" [class.mdc-tooltip--multiline]="true" [matTooltipShowDelay]="1000" + matTooltipDisabled="{{labelId?.startsWith('dashboard')}}" [mat-sort-header]="tableConfig.sortableColumns?.[column] ? '' : null" [disabled]="!tableConfig.sortableColumns?.[column]" mat-header-cell