-
Notifications
You must be signed in to change notification settings - Fork 103
How to identify/represent federated containers of things? #188
Comments
I don't think I understand that. Could you possibly provide some specific example with data snippet using mentioned |
@elf-pavlik : what we are currently using is similar to the following:
We use a specific endpoint in order to provide the list of known containers of projects, each container of projects being fetched individually when we need to retrieve the federated list of projects. Is that clear enough ? |
Could you give a concrete example of something you want to achieve? Because typically “pods/sources” are not first-class citizens in data land, in the sense that Linked Data documents contain links to folders and documents, but not to pods. |
It seems there may be a conceptual blur here between software-space (which may need to care about multiple pods in order to collect all relevant data) and user-space (which should not typically present pods per se). In other words, from the user's perspective, it should be project- and/or person-based ... but in order for the software to present a unified project view to the user, with all tasks/people in that presentation, the software may need to federate information which has been stored on multiple pods (e.g., each person's tasks might be written to their pod, and not to the project's host-pod) -- so the presenting software must discover those pods and people somehow. |
Isn't @TallTed's case handled by storing a list of webIDs of people on the project with federation consisting of looping through the webIDs, retrieving their profiles, finding their solid:account and visiting the projectname/tasks/ container relative to the account? |
@RubenVerborgh : that is a truly important assertion. I drafted a use case, user oriented. I would define it as follows:
In this use case I am making the assumption that the Project Y is created on the https://paris.happy-dev.fr/ application at https://paris.happy-dev.fr/projects/y/#this How can this project, after its creation on the https://paris.happy-dev.fr web application, be made available on https://nantes.happy-dev.fr through project lists ? How can Alice, when creating this project, first describe that Bob is also a member of this project if there is no kind of federation between https://paris.happy-dev.fr/ and https://nantes.happy-dev.fr/ ? Important to note that Alice WebID won't refer to Bob WebID as this is their first interaction. Is What @jeff-zucker says that we should actually switch from a project oriented view from a user oriented view where belonging to a project is technically creating a project-y/ container to the user data pod (or chosen location) and being given the capabilities to edit information, create tasks and so on ? A really more naive use case would be:
Is there an example of solid-app implementing the use case of being part of an organization, including generation of the needed containers somewhere ? Lots of questions there, thanks in advance for your answers, PS : this issue should probably have been created on solid/solid as it is really more general than the spec. Let me know if there is a better place to discuss this topic. |
My take
More specifically:
So note how we are not identifying pods, but rather a folder of projects.
Two broad options:
Note that these are questions of shapes: is a project folder a flat folder, or can it link to other folders?
Of what project? I'd need a more specific description to answer, but my general answer would be that Alice just states that Bob is a member as an RDF triple in the project.
Can you perhaps sketch a more precise timeline then? Not sure I get the order of steps.
That is possible today, right?
That would also be possible, given the document you describe right above? In summary: I don't see the necessity to identify pods or a federation; quite the contrary, all of the above cases can seemingly be solved by linking domain resources (project, member, …) together. |
Actually there's no need to identify pods, that was a misunderstanding. It could be needed if we wanted to use some kind of discovery, but that's a different subject. The need here is to be able to list all the projects of all the pods that are referenced by Happy Dev. There needs to be a way for Happy Dev to make a list of all the projects containers that contains projects referenced by Happy Dev. The implementation we thought of was a container on https://ldp.happy-dev.fr/projects/ that contains a list of source of projects, which are themselves containers containing projects. Now the question is: what is the best organization for that? Should sub containers be identified with a special @type? Should be in a project container alongside other resources like projects, or should they reside in a dedicated container? We have several use cases among our clients where a trusted server hosts a federated lists of all "allowed" resources of third party entities. We think that whatever implementation we choose, we want to make sure it's seen as the best practice to be sure other editors would do it the same way. |
I think there is no general answer to this. The crucial thing is that everything is linked up, so that a client can find its way from one place to another. That always needs to happen, regardless of structure. How data is structured would be determined by shapes and footprints. An early draft is available here: https://www.w3.org/DesignIssues/Footprints.html; I expect to release a blog post with more details on such mechanisms by the end of the week. |
At StartinBlox, we are working on distributed applications which need to use data coming from different pods and containers.
For example, we are working on the Happy Dev application which aims to provide distributed project management and instant messaging capabilities, to enforce the cooperation between our network of local companies.
We found no information about the proper way to represent the list of pods/sources constituting a federated universe as a LD resource.
Our technical proposal would be to have a specific type of resource that is a link to a container being a source of data. For now, we are using our own custom
@type: sib:source
(vocabulary not defined yet) for that.The client application can then detect these sources and fetch the resources contained by the associated containers.
Any feedback welcome, would love to discuss that with you,
The text was updated successfully, but these errors were encountered: