update getPodRoot() to v.10 solid protocol
bourgeoa opened this issue · 5 comments
getPodRoot() is meant to find a storageRoot.
It actually get the information from the WebID and expect to return one or none among the storage listed in the profile.
This must be updated to :
- profile having 0, 1 or more storages
- when > 1 return as storage the profile storage if available
- when no storage use the new v.10 protocol header link -->
solid:storageDescription
if not available make a recursive research tosolid:Storage
in the root of storage
See https://github.com/SolidOS/solid-ui/blob/3576458f7be53012dc4085b5ae7caee1a511773e/src/utils/keyHelpers/accessData.ts#L7 for reference.
@bourgeoa I want to ask you about the 3rd point of protocol header link when no storages found? Can you point me to more details on this for my understanding?
Root storage container description MUST include this triple
Servers MUST include statements about the storage as part of the storage description resource.
Storage description statements include the properties:
rdf:type
A class whose URI is http://www.w3.org/ns/pim/space#Storage
NSS does this by having the above triple in podRoot/.meta
What does this mean?
when > 1 return as storage the profile storage if available
Does it mean if there are 3 storages listed in the profile and one of them is on the same subdomain as the profile, that is the storage to use?
That is a proposal. Happy that there is a reaction.
Actually the function returns one storage using with match any
. The result is not reproducible. Depending on what you want to do it may be an issue.