From 0a84831ffa6e684b2409bfd34ad27c650a82d0bb Mon Sep 17 00:00:00 2001 From: Mathias Brunkow Moser Date: Thu, 16 May 2024 12:32:44 +0200 Subject: [PATCH 1/3] feat: added details in the main readme --- dpp-tutorial/README.md | 100 +++-- dpp-tutorial/aspect-model.md | 2 +- ...provision.md => digital-twin-provision.md} | 2 +- .../digital-twins/car-dt-template.json | 192 ++++++++++ .../test-data/bomAsBuiltRelationships.json | 356 ++++++++++++++++-- 5 files changed, 580 insertions(+), 72 deletions(-) rename dpp-tutorial/{data-provision.md => digital-twin-provision.md} (99%) create mode 100644 dpp-tutorial/resources/digital-twins/car-dt-template.json diff --git a/dpp-tutorial/README.md b/dpp-tutorial/README.md index 1e1cb717d..13c315e3f 100644 --- a/dpp-tutorial/README.md +++ b/dpp-tutorial/README.md @@ -55,31 +55,41 @@ You are one of the suppliers from Company-X. To maintain your client, you are re ## Preparation -Split into groups of five individuals, ensuring each group receives a sheet of paper containing a distinct Part from the test data [test-data](./resources/test-data/carParts.json). +Split into groups of five individuals, ensuring each group receives a sheet of paper containing a distinct Part from the [test-data](./resources/test-data/carParts.json). -## Phase 1: Data Provision +Group name is defined like this: + +``` + dpp--partName +``` + +> [!NOTE] +> Session number will be provided by the coaches! There are three sessions, values from [1-3]. + +## Phase 1: Deployment + +> [!NOTE] +> The deployment of the [Digital Product Passport application](./deployment.md) is not within the scope of the Workshop, as it has already been deployed for you. + +## Phase 2: Data Provision In this Phase, you as a provider will create a Digital Product Passport of a spectific Part of the Arena-X Car. For this phase, you can use your own computer through Visual Studio Code / Notepad ++ or a given Virtual Machine. ##### Duration: 45 mins -#### Step 1 - Create a Digital Product Pass +#### Step 1 - Create a Digital Product Passport (DPP) -* In this step, you'll create the Digital Product Passport (DPP) by utilizing data from the Product Carbon Footprint and specifications of a specific car part from the Arena. +In this step, you'll create the Digital Product Passport (DPP) by utilizing data from the Product Carbon Footprint and specifications of a specific car part from the Arena. - * Follow the tutorial on "How to create Aspect Model Guide" + * Follow the tutorial on [How to create Aspect Model](./aspect-model.md) -#### Step 2 - Hosting JSON Using Postman - -* Create a new POST request in Postman. Paste the JSON content into the body section, and send the request to the given URL to host the JSON file. - -#### Step 3 - Create a Digital Twin integrating the generated DPP as a submodel +#### Step 2 - Create a Digital Twin integrating the generated DPP as a submodel In this step, you will create a Digital Twin of your provided Car part. - * Follow the tutorial on "How to create a Digital Twin" + * Follow the tutorial on [How to create a Digital Twin](./digital-twin-provision) -#### Step 4 - Upload the Digital Twin in the Digital Twin Registry +#### Step 3 - Upload the Digital Twin in the Digital Twin Registry Provide the Digital Twin and its relations in the Digital Twin Registry. @@ -88,42 +98,41 @@ Provide the Digital Twin and its relations in the Digital Twin Registry. * Manufacturer Part ID * Submodel Reference -#### Step 5 - Generate the QR Code +#### Step 4 - Generate the QR Code - * Follow the tutorial on "How to generate a QR code" + * Follow the tutorial on [How to generate a QR code](./qr-code.md) -#### Step 6 - Print the QR-Code +#### Step 5 - Print the QR-Code Print the QR Code from the nearby printer and paste it in the specific Part in the Arena -X. Ensure that the QR code is securely attached and easily scannable. Test the scanning functionality to verify that the encoded information can be retrieved accurately. +Great! The data provisioning process has been successfully set up. It is now ready for data exchange within the dataspace. This means that all necessary configurations and integrations have been completed, ensuring efficient data sharing. -## Phase 2: Data Consumption - -##### Duration: 45 mins - -#### Step 1 - Digital Product Pass Application Deployment - - * Access the virual Machine (VM) and follow the instructions from the workstream. +## Phase 3: Data Consumption - * Namespace creation - Each group will be allocated a Namespace. +In this phase, you as a consumer, will access the Digital Product Pass (DPP) consumer application and retrieve data from the network by either scanning a QR code or entering an ID. - * Deploy the application using Helm Charts +##### Duration: 45 mins - * Verify and access the deployment using your computer +#### Step 1 - Consumption - Access DPP Application -#### Step 2 - Consumption - Access application using Smartphone using IP address and Ports + * Follow the tutorial on [DPP Data Consumption](./data-consumption.md) - * Access the application using the provided credentials + * You can access the application by using URL and the credentials. - * Scan the QR code of your respective part. + * Scan the available QR Codes on the Car parts or provide the ID. - * Upon scanning, you will obtain the passport. + * Upon scanning, you will obtain the passport of the part. - * Access the UI of the passport to view its details. + * Access the UI of the passport to view its details. -#### Step 3 - Creating the Final Digital Product Passport (DPP) for the Whole Car + * Look for the Product Carbon Footprint (PCF) information for each of the specific car part + + * Calculate and add up the PCF values of all individual parts to obtain the aggregate Carbon Footprint value for the entire car. + +#### Step 2 - Creating the Final Digital Product Passport (DPP) for the Whole Car - * Scan the QR codes from various parts of the car and record the Product Carbon Footprint (PCF) value of each specific part. + * Scan the available QR codes from various parts of the car and record the Product Carbon Footprint (PCF) value of each specific part. * #### Compile the following information to create the DPP: @@ -133,4 +142,31 @@ Print the QR Code from the nearby printer and paste it in the specific Part in t * Aggregate Value: Calculate and add up the PCF values of all individual parts to obtain the aggregate carbon footprint value for the entire car. +For creating the Car passport use [this template](./resources/digital-twins/car-dt-template.json) + +1º - Generate a new UUID4 in this [uuid generator page](https://www.uuidgenerator.net/version4) and copy it to the "id" and "global asset id" part. +2º - Paste it on "globalAssetId" with this format `urn:uuid:` + +3º - As "id" add with this schema: `urn:uuid:` + + +## Links of interest + +| How to Guides | Link | +| -------- | ----- | +| How to deploy DPP Application | [deployment.md](./deployment.md) | +| How to create Aspect Model | [aspect-model.md](./aspect-model.md) | +| How to create a Digital Twin | [digital-twin-provision](. digital-twin-provision) | +| How to generate a QR code | [qr-code.md](./qr-code.md) | +| DPP Data Consumption | [data-consumption.md](./data-consumption.md) | + +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023, 2024 BMW AG +- SPDX-FileCopyrightText: 2023, 2024 CGI Deutschland B.V. & Co. KG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/digital-product-pass diff --git a/dpp-tutorial/aspect-model.md b/dpp-tutorial/aspect-model.md index d68bee986..90dc20a6f 100644 --- a/dpp-tutorial/aspect-model.md +++ b/dpp-tutorial/aspect-model.md @@ -122,7 +122,7 @@ Follow this paths to find where the information is located. |Hazard Materials | critical.left (add elements to list) | | Guarantee | lifespan (Add value and unit for garantee) | -Congratulations! You have successfully created your own digital product pass! +Congratulations! You have successfully created your own digital product pass! > [!TIP] > You can add more relavant data and personalized information at the digital product pass, follow the template and modify the data as you wish! diff --git a/dpp-tutorial/data-provision.md b/dpp-tutorial/digital-twin-provision.md similarity index 99% rename from dpp-tutorial/data-provision.md rename to dpp-tutorial/digital-twin-provision.md index 81e9c81ba..175ec87fb 100644 --- a/dpp-tutorial/data-provision.md +++ b/dpp-tutorial/digital-twin-provision.md @@ -170,7 +170,7 @@ Check if your aspect model is added to the Digital twin. > GET /shell-descriptors//submodel-descriptors ```bash -curl --location --request GET '/semantics/registry/api/v3.0/shell-descriptors//submodel-descriptors' \ +curl --location --request GET '/semantics/registry/api/v3.0/shell-descriptors/\ --header 'Content-Type: application/json' \ --data '@resources/digital-twins/.json' ``` diff --git a/dpp-tutorial/resources/digital-twins/car-dt-template.json b/dpp-tutorial/resources/digital-twins/car-dt-template.json new file mode 100644 index 000000000..6a0ca64c6 --- /dev/null +++ b/dpp-tutorial/resources/digital-twins/car-dt-template.json @@ -0,0 +1,192 @@ +{ + "description": [ + { + "language": "en", + "text": "Car Digital Twin" + } + ], + "displayName": [], + "globalAssetId": "urn:uuid:e5ab3398-bde1-4ef2-bb70-fd6dd1138e59", + "idShort": "Car", + "id": "urn:dt-example-001", + "specificAssetIds": [ + { + "name": "partInstanceId", + "value": "PRT-30002", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "BPNL00000000001" + } + ] + } + }, + { + "name": "manufacturerPartId", + "value": "MFG024", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "BPNL00000000001" + }, + { + "type": "GlobalReference", + "value": "PUBLIC_READABLE" + } + ] + } + }, + { + "name": "manufacturerId", + "value": "BPNL00000000001", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "BPNL00000000001" + } + ] + } + }, + { + "name": "digitalTwinType", + "value": "PartInstance", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "BPNL00000000001" + } + ] + } + } + ], + "submodelDescriptors": [ + { + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "/api/public/data/urn:example-prtnumber", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": ["1.1"], + "subprotocol": "DSP", + "subprotocolBody": "id=dpp-asset;dspEndpoint=", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ], + "idShort": "digitalProductPass", + "id": "urn:example-prtnumber", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:samm:io.catenax.generic.digital_product_passport:2.0.0#DigitalProductPassport" + } + ] + }, + "description": [ + { + "language": "en", + "text": "Digital Product Pass Submodel" + } + ], + "displayName": [] + }, + { + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "https://dpp.int.demo.catena-x.net/BPNL000000000000/api/public/data/urn:uuid:dea9dfe8-77a2-e7f9-ba78-e96ecc54528b", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": ["1.1"], + "subprotocol": "DSP", + "subprotocolBody": "id=dpp-asset;dspEndpoint=https://dpp.int.demo.catena-x.net/BPNL000000000000", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ], + "idShort": "singleLevelBomAsBuilt", + "id": "urn:uuid:dea9dfe8-77a2-e7f9-ba78-e96ecc54528b", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt" + } + ] + }, + "description": [ + { + "language": "en", + "text": "Single level Bom As Built Submodel" + } + ], + "displayName": [] + }, + { + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "https://dpp.int.demo.catena-x.net/BPNL000000000000/api/public/data/urn:uuid:58f2acd1-4c64-6fb1-7390-a340ef712334", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": ["1.1"], + "subprotocol": "DSP", + "subprotocolBody": "id=dpp-asset;dspEndpoint=https://dpp.int.demo.catena-x.net/BPNL000000000000", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ], + "idShort": "SerialPart", + "id": "urn:uuid:58f2acd1-4c64-6fb1-7390-a340ef712334", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart" + } + ] + }, + "description": [ + { + "language": "en", + "text": "DPP SerialPart Submodel" + } + ], + "displayName": [] + } + ] +} diff --git a/dpp-tutorial/resources/test-data/bomAsBuiltRelationships.json b/dpp-tutorial/resources/test-data/bomAsBuiltRelationships.json index 91601d79b..58d016b2e 100644 --- a/dpp-tutorial/resources/test-data/bomAsBuiltRelationships.json +++ b/dpp-tutorial/resources/test-data/bomAsBuiltRelationships.json @@ -1,44 +1,324 @@ - { + "urn:uuid:c28098f6-6996-4a77-be8d-497fd9f60fc6": { + "catenaXId": "urn:uuid:c28098f6-6996-4a77-be8d-497fd9f60fc6", + "childItems": [ + { + "catenaXId": "urn:uuid:0d5d59ab-93b3-49f7-9a8c-48f9b96747ab", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:2120821b-7274-4bf3-8499-31cefc455fa0", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:500388e5-be9a-4c58-8f11-404218f76259", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:fbc89d8d-f60f-4a4f-a553-b379f28eecb6", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:8ac58560-3bbb-4d3a-a55e-a6cebddc6ed9", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:365e997e-d001-4962-b023-f637e43d6444", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:cf80c23e-5dc7-45b8-8de5-16fe09556d63", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:5fc6fa4c-1e79-46bf-a374-fcb77f0c411f", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:ad0677c8-fa6d-47f1-86a5-77c8861111a5", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + }, + "urn:uuid:0d5d59ab-93b3-49f7-9a8c-48f9b96747ab": { + "catenaXId": "urn:uuid:0d5d59ab-93b3-49f7-9a8c-48f9b96747ab", + "childItems": [] + }, + "urn:uuid:2120821b-7274-4bf3-8499-31cefc455fa0": { + "catenaXId": "urn:uuid:2120821b-7274-4bf3-8499-31cefc455fa0", + "childItems": [] + }, + "urn:uuid:500388e5-be9a-4c58-8f11-404218f76259": { + "catenaXId": "urn:uuid:500388e5-be9a-4c58-8f11-404218f76259", + "childItems": [] + }, + "urn:fbc89d8d-f60f-4a4f-a553-b379f28eecb6": { + "catenaXId": "urn:uuid:fbc89d8d-f60f-4a4f-a553-b379f28eecb6", + "childItems": [] + }, + "urn:uuid:8ac58560-3bbb-4d3a-a55e-a6cebddc6ed9": { + "catenaXId": "urn:uuid:8ac58560-3bbb-4d3a-a55e-a6cebddc6ed9", + "childItems": [] + }, + "urn:uuid:365e997e-d001-4962-b023-f637e43d6444": { + "catenaXId": "urn:uuid:365e997e-d001-4962-b023-f637e43d6444", + "childItems": [] + }, + "urn:uuid:cf80c23e-5dc7-45b8-8de5-16fe09556d63": { + "catenaXId": "urn:uuid:cf80c23e-5dc7-45b8-8de5-16fe09556d63", + "childItems": [] + }, + "urn:uuid:5fc6fa4c-1e79-46bf-a374-fcb77f0c411f": { + "catenaXId": "urn:uuid:5fc6fa4c-1e79-46bf-a374-fcb77f0c411f", + "childItems": [] + }, + "urn:uuid:ad0677c8-fa6d-47f1-86a5-77c8861111a5": { + "catenaXId": "urn:uuid:ad0677c8-fa6d-47f1-86a5-77c8861111a5", + "childItems": [] + }, + "urn:uuid:680c4a01-e8a7-4b1a-934f-261449b98206": { + "catenaXId": "urn:uuid:680c4a01-e8a7-4b1a-934f-261449b98206", + "childItems": [] + }, + "urn:uuid:618c2cf5-acfb-4b54-b2ff-a5483f90c8e6": { + "catenaXId": "urn:uuid:618c2cf5-acfb-4b54-b2ff-a5483f90c8e6", + "childItems": [] + }, "urn:uuid:48acc23b-7cb8-4288-b620-9eb3d9dce6bf": { - "catenaXId" : "urn:uuid:48acc23b-7cb8-4288-b620-9eb3d9dce6bf", - "childItems" : [ { - "catenaXId" : "urn:uuid:f10c0181-ce80-4139-81f0-a59226c88bfe", - "quantity" : { - "value" : 1.0, - "unit" : "unit:piece" - }, - "hasAlternatives" : false, - "createdOn" : "2022-02-03T14:48:54.709Z", - "businessPartner" : "BPNL0073928UJ879", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - }, - { - "catenaXId" : "urn:uuid:12e656bb-948e-44eb-9b5e-88d7deedf388", - "quantity" : { - "value" : 1.0, - "unit" : "unit:piece" - }, - "hasAlternatives" : false, - "createdOn" : "2022-02-03T14:48:54.709Z", - "businessPartner" : "BPNL0073928UJ879", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } - ] + "catenaXId": "urn:uuid:48acc23b-7cb8-4288-b620-9eb3d9dce6bf", + "childItems": [ + { + "catenaXId": "urn:uuid:f10c0181-ce80-4139-81f0-a59226c88bfe", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:12e656bb-948e-44eb-9b5e-88d7deedf388", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + }, + "urn:uuid:f10c0181-ce80-4139-81f0-a59226c88bfe": { + "catenaXId": "urn:uuid:f10c0181-ce80-4139-81f0-a59226c88bfe", + "childItems": [] + }, + "urn:uuid:12e656bb-948e-44eb-9b5e-88d7deedf388": { + "catenaXId": "urn:uuid:12e656bb-948e-44eb-9b5e-88d7deedf388", + "childItems": [] }, "urn:uuid:2854cc7b-b815-4db0-ab10-047b4965c867": { - "catenaXId" : "urn:uuid:2854cc7b-b815-4db0-ab10-047b4965c867", - "childItems" : [ { - "catenaXId" : "urn:uuid:0b55ea93-7c5f-4f93-a2c9-9842f327a630", - "quantity" : { - "value" : 1.0, - "unit" : "unit:piece" - }, - "hasAlternatives" : false, - "createdOn" : "2022-02-03T14:48:54.709Z", - "businessPartner" : "BPNL0073928UJ879", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } - ] + "catenaXId": "urn:uuid:2854cc7b-b815-4db0-ab10-047b4965c867", + "childItems": [ + { + "catenaXId": "urn:uuid:0b55ea93-7c5f-4f93-a2c9-9842f327a630", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + }, + "urn:uuid:0b55ea93-7c5f-4f93-a2c9-9842f327a630": { + "catenaXId": "urn:uuid:0b55ea93-7c5f-4f93-a2c9-9842f327a630", + "childItems": [] + }, + "urn:uuid:6512af5a-31dd-4a0f-ae9f-d0814e6f680b": { + "catenaXId": "urn:uuid:6512af5a-31dd-4a0f-ae9f-d0814e6f680b", + "childItems": [ + { + "catenaXId": "urn:uuid:202a175a-2b79-481f-8c4e-8bcc5c478f0e", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + }, + "urn:uuid:202a175a-2b79-481f-8c4e-8bcc5c478f0e": { + "catenaXId": "urn:uuid:202a175a-2b79-481f-8c4e-8bcc5c478f0e", + "childItems": [] + }, + "urn:uuid:3bff7e1c-3297-4a8d-9243-eb0dacf3266e": { + "catenaXId": "urn:uuid:3bff7e1c-3297-4a8d-9243-eb0dacf3266e", + "childItems": [ + { + "catenaXId": "urn:uuid:084eb265-6c63-4fe6-bd7c-b0c697e27354", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + }, + "urn:uuid:084eb265-6c63-4fe6-bd7c-b0c697e27354": { + "catenaXId": "urn:uuid:084eb265-6c63-4fe6-bd7c-b0c697e27354", + "childItems": [] + }, + "urn:uuid:a62faa9a-7a3d-4a02-9fba-186243361350": { + "catenaXId": "urn:uuid:a62faa9a-7a3d-4a02-9fba-186243361350", + "childItems": [ + { + "catenaXId": "urn:uuid:51806f42-c4b5-4fbc-be28-8a4524d4785f", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + }, + "urn:uuid:51806f42-c4b5-4fbc-be28-8a4524d4785f": { + "catenaXId": "urn:uuid:51806f42-c4b5-4fbc-be28-8a4524d4785f", + "childItems": [] + }, + "urn:uuid:97568dae-4691-4a10-9c15-1ef7338490eb": { + "catenaXId": "urn:uuid:97568dae-4691-4a10-9c15-1ef7338490eb", + "childItems": [] + }, + "urn:uuid:5cfc51b0-0a57-42da-9411-1e02d7154c49": { + "catenaXId": "urn:uuid:5cfc51b0-0a57-42da-9411-1e02d7154c49", + "childItems": [] + }, + "urn:uuid:77311eb4-36bd-4d3c-b7b2-fd6e51433887": { + "catenaXId": "urn:uuid:77311eb4-36bd-4d3c-b7b2-fd6e51433887", + "childItems": [] + }, + "urn:uuid:8c407040-ef41-4241-8b7a-c45695e879a7": { + "catenaXId": "urn:uuid:8c407040-ef41-4241-8b7a-c45695e879a7", + "childItems": [] + }, + "urn:uuid:adc5d909-8a9e-4f04-9237-131863096cae": { + "catenaXId": "urn:uuid:adc5d909-8a9e-4f04-9237-131863096cae", + "childItems": [] + }, + "urn:uuid:ea781f61-33b0-4ddb-a4c1-767d9a1c6f41": { + "catenaXId": "urn:uuid:ea781f61-33b0-4ddb-a4c1-767d9a1c6f41", + "childItems": [] + }, + "urn:uuid:f748848c-f6dc-4d84-be34-e26e5deb0189": { + "catenaXId": "urn:uuid:f748848c-f6dc-4d84-be34-e26e5deb0189", + "childItems": [ + { + "catenaXId": "urn:uuid:a2aa762f-84e0-4689-b310-55b9d539974f", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + }, + { + "catenaXId": "urn:uuid:e7ffe0cd-7a6d-45f8-a6c6-44fca3053319", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03T14:48:54.709Z", + "businessPartner": "BPNL0073928UJ879", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] + }, + "urn:uuid:a2aa762f-84e0-4689-b310-55b9d539974f": { + "catenaXId": "urn:uuid:a2aa762f-84e0-4689-b310-55b9d539974f", + "childItems": [] + }, + "urn:uuid:e7ffe0cd-7a6d-45f8-a6c6-44fca3053319": { + "catenaXId": "urn:uuid:e7ffe0cd-7a6d-45f8-a6c6-44fca3053319", + "childItems": [] } } \ No newline at end of file From 65dc45fcfacb93e88bf787180d0fed2f609624e0 Mon Sep 17 00:00:00 2001 From: Mathias Brunkow Moser Date: Thu, 16 May 2024 12:52:55 +0200 Subject: [PATCH 2/3] chore: update readme --- dpp-tutorial/README.md | 23 +++++++++++++++---- dpp-tutorial/aspect-model.md | 1 - .../digital-twins/car-dt-template.json | 4 ++-- .../resources/digital-twins/example-dt.json | 2 +- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/dpp-tutorial/README.md b/dpp-tutorial/README.md index 13c315e3f..de940c22e 100644 --- a/dpp-tutorial/README.md +++ b/dpp-tutorial/README.md @@ -66,12 +66,12 @@ Group name is defined like this: > [!NOTE] > Session number will be provided by the coaches! There are three sessions, values from [1-3]. -## Phase 1: Deployment +## Phase 1: Deployment -> [!NOTE] +> [!NOTE] > The deployment of the [Digital Product Passport application](./deployment.md) is not within the scope of the Workshop, as it has already been deployed for you. -## Phase 2: Data Provision +## Phase 2: Data Provision In this Phase, you as a provider will create a Digital Product Passport of a spectific Part of the Arena-X Car. For this phase, you can use your own computer through Visual Studio Code / Notepad ++ or a given Virtual Machine. @@ -141,7 +141,6 @@ In this phase, you as a consumer, will access the Digital Product Pass (DPP) con * ID: Assign a unique identifier for the car. * Aggregate Value: Calculate and add up the PCF values of all individual parts to obtain the aggregate carbon footprint value for the entire car. - For creating the Car passport use [this template](./resources/digital-twins/car-dt-template.json) 1º - Generate a new UUID4 in this [uuid generator page](https://www.uuidgenerator.net/version4) and copy it to the "id" and "global asset id" part. @@ -150,6 +149,22 @@ For creating the Car passport use [this template](./resources/digital-twins/car- 3º - As "id" add with this schema: `urn:uuid:` +4º - Create Part Instance Id of your choice and add to `specificAssetIds["name=partInstanceId"].value + +>[!IMPORTANT] +> Remember the part instance id for proving the QR code + +5º -> For `manufacturerPartId` use MPI0012 + +6º -> Add the submodel as specified in the [digital-twin-provision](. digital-twin-provision) guide to the twin. + +7º -> Upload your payload to the data service as specified in the [digital-twin-provision](. digital-twin-provision) guide. + +8º -> Generate a QR code as specified in the [qr code guide](./qr-code.md) + +9º -> Scan it and access it with the app. + +10º -> Add your QR code to the board! ## Links of interest diff --git a/dpp-tutorial/aspect-model.md b/dpp-tutorial/aspect-model.md index 90dc20a6f..2f8520641 100644 --- a/dpp-tutorial/aspect-model.md +++ b/dpp-tutorial/aspect-model.md @@ -101,7 +101,6 @@ Example: ![PCF](./resources/screenshots/pcf-update.png) - #### Where to substitute the data? Follow this paths to find where the information is located. diff --git a/dpp-tutorial/resources/digital-twins/car-dt-template.json b/dpp-tutorial/resources/digital-twins/car-dt-template.json index 6a0ca64c6..350e2b13a 100644 --- a/dpp-tutorial/resources/digital-twins/car-dt-template.json +++ b/dpp-tutorial/resources/digital-twins/car-dt-template.json @@ -25,7 +25,7 @@ }, { "name": "manufacturerPartId", - "value": "MFG024", + "value": "MPI0012", "externalSubjectId": { "type": "ExternalReference", "keys": [ @@ -136,7 +136,7 @@ "keys": [ { "type": "Submodel", - "value": "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt" + "value": "urn:bamm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt" } ] }, diff --git a/dpp-tutorial/resources/digital-twins/example-dt.json b/dpp-tutorial/resources/digital-twins/example-dt.json index 13a9a887c..2fcc19a8b 100644 --- a/dpp-tutorial/resources/digital-twins/example-dt.json +++ b/dpp-tutorial/resources/digital-twins/example-dt.json @@ -25,7 +25,7 @@ }, { "name": "manufacturerPartId", - "value": "MFG024", + "value": "MPI0012", "externalSubjectId": { "type": "ExternalReference", "keys": [ From d3446316897c968938ece5caac82982de091f9ba Mon Sep 17 00:00:00 2001 From: Mathias Brunkow Moser Date: Thu, 16 May 2024 12:54:07 +0200 Subject: [PATCH 3/3] chore: updated the docs --- dpp-tutorial/data-consumption.md | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/dpp-tutorial/data-consumption.md b/dpp-tutorial/data-consumption.md index 3be2895a2..2faae053a 100644 --- a/dpp-tutorial/data-consumption.md +++ b/dpp-tutorial/data-consumption.md @@ -22,25 +22,24 @@ SPDX-License-Identifier: Apache-2.0 --> + # DPP Consumption Guide This guide provides a simple way of accessing the digital product pass consumer application and retrieving data from the network scanning a QR code or introducing an ID. DATA CONSUMER DPP APP ___________________ - | ___________________ __________________ | | | + | ___________________ __________________ | | | | | | | | | --> | | | | DPP Frontend | <---> | DPP Backend | | | DATA PROVIDER | - | |___________________| |__________________| | <-- | | - | | |___________________| - + | |___________________| |__________________| | <-- | | + | | |___________________| - ## Prerequisites You must have the following tools installed and configured: - DPP Application with Backend and Frontend components deployed. -- Login credentials to the DPP Frontned component +- Login credentials to the DPP Frontend component - Web Browser - Catena-X Central Service Running (Federated IAM, Discovery Finder, BPN Discovery and EDC Discovery) @@ -62,11 +61,11 @@ https:///passport ``` -And a login page from Catena-X will pop up. For doing the login follow this steps: +And a login page from Catena-X will pop up. To perform the login follow this steps: ### 1º Introduce Company Name -``` +``` CX-Operator ``` @@ -78,6 +77,7 @@ CX-Operator Username: cx-operator@tx.test ``` + ``` Pass: tractusx-umbr3lla! @@ -85,7 +85,6 @@ tractusx-umbr3lla! ![test login](./resources/screenshots/test-login.png) - ### 3º A Search by ID Change the `` and `` to the actual values in the part specification. @@ -108,8 +107,7 @@ Give permissions to the camera, and position the window over the QR code frame. ![QR code scanning](./resources/screenshots/qrcode-scanning.png) - -### 5º Wait some seconds for the policy selection popup to appear +### 5º Wait a few seconds for the policy selection pop-up to appear When the digital twin registries are being searched in the complete network, the digital product pass will call the following service to find where the digital twin registy with the digital twin data is located: @@ -127,11 +125,10 @@ This steps are done: - 5º -> Retrieve digital twin and find submodel for the digital product pass. -- 6º -> Query with the EDC Consumer the Catalog from the EDC Provider looking fro the asset +- 6º -> Query with the EDC Consumer the Catalog from the EDC Provider looking for the asset - (This information is found in the Digital Twin) -Once the asset policy is found you will get a pop up more or less like this: - +Once the asset policy is found you will get a pop-up similar to this one: ![Popup policy selection](./resources/screenshots/policy-selectionpopup.png) @@ -143,7 +140,7 @@ Click on agree to accept the policy you have selected: > [!IMPORTANT] > The new Digital Product Pass version (v3.0.0) that will be released in R24.05 allows you to configure the policies in the Backend application. -> There is a [policy configuration guide](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/data-sovereignty/PolicyConfigGuide.md) that can help you understanding that better! +> There is a [policy configuration guide](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/data-sovereignty/PolicyConfigGuide.md) that can help you understanding this better! ### 7º Wait until contract negotiation is done @@ -155,19 +152,17 @@ In some seconds it should start updating with the latest status of your applicat ![Visualization](./resources/screenshots/visualization.png) - #### Look for the PCF Information ![PCF Information](./resources/screenshots/pcf-info.png) - #### Check characteristics and many more! ![characteristics](./resources/screenshots/characteristics.png) Congratulations! Now you are able to access the information regarding digital product passports and many more! ->[!TIP] +> [!TIP] > Other models like the Battery Passport and the Transmission Passport are also available to be visualized in the app. You can follow the [CX-0096 Digital Product Pass Triangle Standard](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_Maerz_2024/CX-0096-TriangleForDigitalProductPass-v1.1.0.pdf) to configure the other models in the digital twin. For providing data read the [Data Provision Guide](data-provision.md) ## NOTICE