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

Explore pod JS client #6

Open
windley opened this issue Jan 24, 2024 · 2 comments
Open

Explore pod JS client #6

windley opened this issue Jan 24, 2024 · 2 comments
Assignees

Comments

@windley
Copy link
Member

windley commented Jan 24, 2024

JS client: https://github.com/inrupt/solid-client-js
Docs: https://docs.inrupt.com/developer-tools/javascript/client-libraries/

Write 1-page document with findings.

@windley
Copy link
Member Author

windley commented Jan 25, 2024

Use this client to interact with your Docker pod instance running on your machine.

@keylanjensen
Copy link
Collaborator

Our Report:

The Pod identifies valid accessors via a Solid Identity Provider (redirecting unverified accessors to the identity provider). The client login process redirects to the Solid Identity Provider and awaits a response.
The Pod itself has an URL, and each file gets a sub-URL inside the Pod. Files are identified by their URL. Files can be stored inside Containers which are analogous to folders for the purposes of the Pod’s sub-URLs. Containers can be stored inside other Containers.
Raw data such as numbers and text is stored as Things inside SolidDatasets inside a Container which can be inside other Containers. Things must be inside SolidDatasets.
SolidPods has a universal access control API. Using this API, each file/Thing can be set to either private access (only the owner can access it by default) or public access (anyone can access it by default). In addition, individual users/agents can be given access. Access is divided into three aspects: reading, writing, and appending. Read access allows an agent to view the resource, write access allows an agent to change the resource and add new data to a resource, and append access allows an agent to add new data to a resource (and is thus a limited version of write access).
SolidPods JS Client also has two APIs for access control, ACP and WAC. It is not recommended to use these specific APIs and we will follow this guidance.
The solid-client import includes several functions to ease the process of retrieving, modifying, and uploading datasets. They reduce the required parameters to the created dataset and the URL associated with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants