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

TypeIndex support #1171

Open
srosset81 opened this issue Oct 5, 2023 · 1 comment
Open

TypeIndex support #1171

srosset81 opened this issue Oct 5, 2023 · 1 comment

Comments

@srosset81
Copy link
Contributor

srosset81 commented Oct 5, 2023

https://github.com/solid/type-indexes

This is a recommended Solid way to identify containers based on the class they contain. This could be used in Pod provider config to replace the VOID endpoint.

Implementation

  • Automatically create a TypeIndex in /solid/type-index
    • Public TypeIndex for containers with public read rights
    • Private TypeIndex for other containers
  • Link it to WebID with solid:publicTypeIndex and solid:privateTypeIndex
  • In the data provider, for pod provider config, read this file instead of the VOID endpoint to find about the available containers.

Example

@prefix solid: <http://www.w3.org/ns/solid/terms#>.

<>
    a solid:TypeIndex ;
    a solid:ListedDocument.

<#ab09fd> a solid:TypeRegistration;
    solid:forClass as:Event;
    solid:instance </as/events>.

Issues

@srosset81 srosset81 changed the title Type indexes TypeIndex support May 22, 2024
@NoelDeMartin
Copy link

Hey, I was going through the spec compliance page for Solid, and I was happy to see that you already support most of the features my apps rely on :D. In particular, there's something I wanted to mention about type indexes. You may already be aware of it, but I thought I'd mention it here just in case.

Type indexes are supposed to be a "client-client" standard; which means servers (ActivityPods in this case) don't even need to know about it. You shouldn't have to do anything special for them to work, if everything else is conforming with the Solid spec. Though of course, there is nothing wrong with creating it for your users automatically. But keep in mind that some people don't want to list everything in their type index, so I'd be wary of automating too much on the server side.

In my experience working with Type Indexes in different PODs, the only pain point I've found is that profiles sometimes are read-only. My apps create the type index when it doesn't exist, but in order to declare the type index I need to update the profile document. So if that isn't possible, I can't mint the type indexes.

The whole topic of whether profiles should be read-only or not is also under discussion, but if the type indexes are minted by the server that shouldn't be a problem.

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

No branches or pull requests

2 participants