Skip to content

[Feature] PURIS FOSS does not duplicate contracts on existing EDCs #960

@tom-rm-meyer-ISST

Description

@tom-rm-meyer-ISST

As PURIS FOSS user,
I want to reuse a shared EDC and DTR,
so that I can save expenses while using mutliple applications.

Hints / Details

Work Package Breakown

  • [Story] PURIS FOSS skips DTR asset and contract creation based on parameter #964
  • Migrate DTR assets dynamically from old to new definition
    • Identify EDC Assets, Policies and Contract Definitions correctly
    • Parse logicial fit (does the existing definition fit to the puris usage) - may also be reconsidered for the 964 (exit non-gracefully if DTR definition is not OK.)
    • Create new definitions
    • Terminate and remove old definitions

Target Defintions

The following access and usage policy has been used by other products for the DTR.

Note

These are no direct Connector requests. They are returned from a Gateway application and just show the target creation.

 [
    {
        "id": "DigitalTwinRegistry-Usage",
        "name": "DigitalTwinRegistry-Usage",
        "type": "Usage",
        "payload": [
            {
                "title": "Usage Purpose",
                "technicalKey": "UsagePurpose",
                "field": [
                    {
                        "name": "cx-policy:UsagePurpose",
                        "title": "Usage Purpose",
                        "value": [
                            "cx.core.digitalTwinRegistry:1"
                        ]
                    }
                ]
            },
            {
                "title": "Membership",
                "technicalKey": "Membership",
                "field": [
                    {
                        "name": "cx-policy:Membership",
                        "title": "Membership",
                        "value": [
                            "active"
                        ]
                    }
                ]
            }
        ],
        "target": null,
        "edcPolicyType": null,
        "governanceStatus": "GOVERNED",
        "syncStatus": "IN_SYNC",
        "createdAt": 1755679182504,
        "createdBy": "service-account-ci-4d922b71-be8f-4009-a701-808a5fd624e7",
        "modifiedAt": 1755679184880,
        "modifiedBy": "service-account-ci-4d922b71-be8f-4009-a701-808a5fd624e7",
        "isDeleted": false
    },
    {
        "id": "DigitalTwinRegistry-Access",
        "name": "DigitalTwinRegistry-Access",
        "type": "Access",
        "payload": [
            {
                "title": "Membership",
                "technicalKey": "Membership",
                "field": [
                    {
                        "name": "cx-policy:Membership",
                        "title": "Membership",
                        "value": [
                            "active"
                        ]
                    }
                ]
            }
        ],
        "target": null,
        "edcPolicyType": null,
        "governanceStatus": "GOVERNED",
        "syncStatus": "IN_SYNC",
        "createdAt": 1755679182383,
        "createdBy": "service-account-ci-4d922b71-be8f-4009-a701-808a5fd624e7",
        "modifiedAt": 1755679184878,
        "modifiedBy": "service-account-ci-4d922b71-be8f-4009-a701-808a5fd624e7",
        "isDeleted": false
    }
]

Outcome / Acceptance Criteria

Outcome

  • Connect & Integrate Customers and PURIS FOSS users may use the same DTR and EDC

Acceptance Criteria

  • PURIS FOSS uses the same partner-independent access policy for DTR: Membership only
  • PURIS FOSS uses the same partner-independent contract policy for DTR: Membership + usagePurpose cx.core.digitalTwinRegistry:1.0
  • PURIS FOSS detects other Contract Definitions for the DTR and does NOT create additional ones, if not needed
  • PURIS FOSS migrates the old Policy schemes to the new ones
    • Terminate old contract
    • Delete old contracts, policies
    • Create new contracts, policies
  • Update documentation
    • Arc42 concepts section for new policies
    • Migration Guide
    • Helm Chart if needed

Out of Scope

  • Ensure that we can cope with the scenario that the same submodels are provided by another application.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions