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

[UC] Move between service providers #30

Open
uvdsl opened this issue Dec 9, 2024 · 3 comments
Open

[UC] Move between service providers #30

uvdsl opened this issue Dec 9, 2024 · 3 comments
Labels
triage Issues needing triage usecase LWS Use Case

Comments

@uvdsl
Copy link

uvdsl commented Dec 9, 2024

Status: Draft

As a data provider or data consumer, e.g. user or organisation,
I want to be able to move seamlessly between service providers (including identity, storage and application providers) independently (of each other),
So that I am not locked in to a specific vendor.

Preconditions:

What conditions must be in place or assumed before this use case can begin?

Potential Triggers:

What (user or system) event or action initiates this use case?

  • A user is not satisfied with the service of the corresponding provider.
  • A user must choose a new service provider as its current service provider is going out of business.
  • A user wants to try non-standard features that is only offered by a certain service provider.

Actors:

Describe the primary actor, and any other relevant actors involved in this use case

  • the actor (data provider / data consumer / user / organisation / ...) that moves between service providers
  • the current / old service provider
  • the new service provider

Distinction:

What unique challenges or distinguishing factors (like technical issues, user experience needs, workflow integration, etc.) are associated with this use case?

Move between storage providers: standard interface / protocol for retrieving (from the old service provider) and establishing (at the new data provider) all the stored data (including access rights).

Move between identity providers: a protocol to migrate access rights from the old identity (e.g. WebID) to a new identity (e.g. WebID).

Move between application providers: applications should be able to interoperate on the same data

Scenario:

Describe an ideal or happy-case scenario where this use case would play out as intended.

Happy Path: The moving actor is able to move between providers with just a few clicks, e.g. creating a new storage or identity with the new provider and initiating the move at the old provider, or for applications, granting the new one access and revoking access rights of the old one.

Alternative case(s):

What alternative flows or variations should the system handle for this use case?

Error scenario:

What unexpected issues or errors might arise, and how should the system handle them?

Acceptance Criteria:

What conditions or criteria must be met for this use case to be considered successfully handled? What limitations are acceptable?

References:

List any relevant resources or examples that could inform this use case, possibly from other domains or solutions.

Research projects:

  • MANDAT Project: In a nutshell, MANDAT is about researching methods for exchange of company-related data (in data ecosystems where a data fiduciary may exist) and solving the problems that arise on the way, using the Solid protocol.
    MANDAT is supported by the German Ministry for Education and Research (BMBF) under grant 16DTM107, specifically FKZn 16DTM107A, 16DTM107B, and 16DTM107C, which are funded by the European Union -- NextGenerationEU.
@uvdsl uvdsl added triage Issues needing triage usecase LWS Use Case labels Dec 9, 2024
@hzbarcea
Copy link
Contributor

@uvdsl , from the last sentence in the Distinction section, I would assume that you mean that an owner should be able to move the storage to a different provider without breaking links.

What that means is that storage and data should maintain identity, while addresses/location can be changed. That makes sense as storage/identity is linked to the owner, irrespective of the hosting service (and the provider), whereas addresses are related (and provided by) the hosting provider. That also implies that a resolution phase is necessary.

Please confirm that this is inline with your intent.

@uvdsl
Copy link
Author

uvdsl commented Dec 15, 2024

Thank you for your comment.

Last sentence of the distinction section:

Move between application providers: applications should be able to interoperate on the same data

This just refers to two different applications (re-)using the same data. That is, MyTaxApp and YourTaxApp are both able to crunch my finance data to do my tax reporting.

On the general note of not breaking links, I would like such a feature but I do not think it is required for what I described.
I am even unsure if a "resolution" phase is even necessary or if HTTP redirects would suffice.
I am unsure if an application should even care if or when storage was moved (I assume no).
I rather think that dynamic discovery of the moved storage is a must, e.g. like Solid does via pim:storage .

@uvdsl
Copy link
Author

uvdsl commented Jan 22, 2025

Re portability - seeAlso: https://github.com/pdsinterop/solid-migrator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage Issues needing triage usecase LWS Use Case
Projects
None yet
Development

No branches or pull requests

2 participants