-
Notifications
You must be signed in to change notification settings - Fork 19
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
[UX] Presenting multiple data registries to the user (mostly label) #294
Comments
As indicated in the meeting, I think the most elegant solution would be to just add a label ( (Data Registries might have to link to the Storage on which they are held, in order for Applications to retrieve additional Storage-wide info, such as geographical location, for example.) |
To be honest I would even consider following thought in solid/specification#377 and have a DataRegistry as very specific storage type. In that case DataRegistry would equal Storage. I still can't imagine how (and why) an average user should need to distinguish between a storage and data registry. Most likely the difference will be nuanced and generally confusing when non geek people try to use the solid ecosystem. If at some point we need to add in FAQ for regular users Q: When do I use new solid storage and when new data registry Can we document some reasons for creating multiple data registries in a single solid storage? |
Let's give it a go. I only see issue with propagating this information to Data Grants. Below I describe how it can be done, we should keep in mind that changing that label (which shouldn't happen often) will cause regeneration of all the Data Grants for all the Data Registrations in the Data Registry. As well as any Delegated Data Grants created for those Data Grants. I'm going to implement following in sai-js
PREFIX interop: <http://www.w3.org/ns/solid/interop#>
PREFIX alice-home: <https://home.alice.example/>
alice-home:2d3d97b4-a26d-434e-afa2-e3bc8e8e2b56
a interop:DataRegistry ;
rdfs:label "Home" ;
interop:hasDataRegistration
alice-home:f6ccd3a4-45ea-4f98-8a36-98eac92a6720 ,
alice-home:92f43be4-d12c-4ca3-9bd6-c18e83167b2f . PREFIX acl: <http://www.w3.org/ns/auth/acl#>
PREFIX interop: <http://www.w3.org/ns/solid/interop#>
PREFIX solidtrees: <https://solidshapes.example/trees/>
PREFIX alice-auth: <https://auth.alice.example/>
PREFIX alice-home: <https://home.alice.example/>
alice-auth:d738e710-b06e-4ab6-9159-ee0d7d603402
a interop:DataGrant ;
interop:dataOwner <https://alice.example/#id> ;
interop:registeredShapeTree solidtrees:Project ;
interop:hasDataRegistration alice-home:f6ccd3a4-45ea-4f98-8a36-98eac92a6720 .
# [...]
# include two statements providing Data Registry label
alice-home:2d3d97b4-a26d-434e-afa2-e3bc8e8e2b56
rdfs:label "Home" ;
interop:hasDataRegistration
alice-home:f6ccd3a4-45ea-4f98-8a36-98eac92a6720 ; |
#295 notes: Some issues with approach above:
We lean towards having one data registry per storage, Also |
Fully agree with the Storage = Data Registry correspondence (and keeping label in Storage Description). Objecting to treating Data Registry as only one type of Storage (see solid/specification#377 (comment)). What is the scenario for having a Storage without a Data Registry? |
I plan to keep Authorization Registry and Agent Registry in a single storage, with separate storage for each Data Registry. I'm also considering aligning authorization agent implementation with CSS to be able to run them together. In this case, the authorization agent could have local access to storage with Authorization Registry and Agent Registry. In the case above, any storage with Data Registry would store nothing else besides that single Data Registry. |
Yes, I agree. In the end we are just creating an UMA-like AS with a Solid pod as storage backend. But my question was rather: why would we want a storage that stores anything outside of a Data Registry? A Data Registry is just an abstraction of what is stored (and can be accessed in certain contexts). Having a Storage without a Data Registry boils down to having storage without an interface to what is stored. |
I don't know if we can assume that the whole Solid ecosystem will use SAI. I think there are people who want to explore other approaches and I think Solid Protocol should allow it. Even if eventually we agree that Data Registries are the best approach, we can only conclude it for today and maybe in 3 years we will have a rough consensus on the superiority of some newer approach. Given above:
|
Not sure I follow you. If a Data Registration is an abstraction of 'which data is in a user's pod' (and how it is organised), it should be able to encompass all kinds of approaches to data/pod organisation. SAI should remain the Solid interop interface, not an implementation of it. Otherwise things get even more complex, and we need yet another spec to describe the interoperable interface. #spec-ception |
I marked it as UX since minor lacks in specification affect it.
Short recap of current state:
We can use Shape Tree Descriptions to present the data registration.
What we lack is presenting the data registry, all owned the end user and all owned by each social agent who shares data with the end-user.
Having one data registry per storage can help, since presenting storage would be sufficient to identify the data registry.
There is also the case of data registries owned by other social agents, we need to make sure that user which received access to some data in them can have those registries labeled e.g.
The text was updated successfully, but these errors were encountered: