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

Implement storage description resource discovery #1805

Open
csarven opened this issue Dec 2, 2024 · 5 comments
Open

Implement storage description resource discovery #1805

csarven opened this issue Dec 2, 2024 · 5 comments
Assignees
Labels
feature good first issue An issue that should be quite easy for newcomers to fix triage Issues that need team review

Comments

@csarven
Copy link
Member

csarven commented Dec 2, 2024

https://solidproject.org/ED/protocol#server-storage-description details the discovery of the storage description resource.

Servers MUST include the Link header field with rel="http://www.w3.org/ns/solid/terms#storageDescription" targeting the URI of the storage description resource in the response of HTTP GET, HEAD and OPTIONS requests targeting a resource in a storage.


solid/specification#355 (comment) shows how an application (e.g., https://dokie.li/ ) makes use of such resource to discover the features of the storage. Some common use cases are mentioned in solid/specification#355 (comment)

@csarven csarven added feature good first issue An issue that should be quite easy for newcomers to fix triage Issues that need team review labels Dec 2, 2024
@sumeetkolekarr
Copy link

Can I take this issue?

@csarven
Copy link
Member Author

csarven commented Jan 13, 2025

@sumeetkolekarr Please do!

lib/header.js may be one of the places where you want to look into. For example, I've done something like this:

addLink(res, 'https://csarven.localhost:8443/storage-description', 'http://www.w3.org/ns/solid/terms#storageDescription')

Essentially you may want to start with any non-auxiliary resource (i.e., with the exception of resources referred by describedby or acl) to have a storageDescription relation to the description resource that the storage also refers to. (Another way of saying that is that the storage root, e.g., / has link header relations for http://www.w3.org/ns/solid/terms#storageDescription and describedby and they both link to the same resource e.g., https://csarven.localhost:8443/storage-description - they can potentially be different resources, but there is no strong argument to have them separate at this time, so I suggest keeping it simple. If I'm not mistaken, NSS's describedby for the root container / is /.meta, so all containers and non-containers in the storage can simply do this:

addLink(res, 'https://csarven.localhost:8443/.meta', 'http://www.w3.org/ns/solid/terms#storageDescription')

Happy to support further if you have any questions.

@sumeetkolekarr
Copy link

Kindly Assign me and I will work on it right away!

@bourgeoa
Copy link
Member

@sumeetkolekarr branch issue#1805 has been created

@sumeetkolekarr
Copy link

@bourgeoa Perfectly noted!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature good first issue An issue that should be quite easy for newcomers to fix triage Issues that need team review
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

3 participants