solid-spec
solid-spec copied to clipboard
Provide guidelines for user profile document
It seems to me that the user profile document have the potential to end up as the Windows registry with lots and lots of statements about configurations for different applications. Maybe there should be some sort of best practice for how applications are supposed to store user's preferences.
Example:
-
My web-app registers my pets and store data about each pet in it's own document in a dedicated my-pets container.
-
As a user I can change preferences about sorting of my pets - by name or by birthdate.
Where should such a preference be stored? In the root user profile document? In a random/proprietary app-specific resource (something like /my-pets/preferences.ttl
)? Should the app-developer invent a specific RDF type and register the preferences with the Solid type registry?
@JornWildt typically your profile will point to a type index. In your type index you can tell apps where data is stored.
There is also a preferences file linked which, for example, Tim uses to store chat preferences.
Does this help?
https://github.com/solid/solid/blob/master/proposals/data-discovery.md
For example in my profile I Have :
http://www.w3.org/ns/pim/space#preferencesFile
../settings/prefs.ttl
Maybe there should be some sort of best practice for how applications are supposed to store user's preferences.
Indeed.
Some of us have been calling this "footprints", the idea that some data items have a specific suggested structure. Such footprints would include the intermediate links that need to be set up to make things work.
The longer-term idea is to document such footprints in a machine-readable way, which is needed for both reading and writing.
Continuing your example, a client executing a SPARQL query for all cats, would have to follow a link from your profile to pets, then on that page follow links to cats. A client writing your first cat to your pod would need to make the pets page and link it up, in addition to adding the cat.
For example in my profile I Have :
http://www.w3.org/ns/pim/space#preferencesFile
../settings/prefs.ttl
Yep. But I would still need some guidelines telling me what to store in that prefs.ttl
. Should I store all my app-specific preferences in that file (and what subjects should they then have) or should I rather store only a reference to my app-specific preferences resource? The default prefs.ttl
could potentially grow rather big and I think deciding on a way to organize it could be beneficial.