solid / solid-spec

Solid specification draft 0.7.0
Creative Commons Zero v1.0 Universal
1.13k stars 103 forks source link

Provide guidelines for user profile document #128

Open JornWildt opened 5 years ago

JornWildt commented 5 years ago

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:

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?

melvincarvalho commented 5 years ago

@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

melvincarvalho commented 5 years ago

For example in my profile I Have :

http://www.w3.org/ns/pim/space#preferencesFile

../settings/prefs.ttl

RubenVerborgh commented 5 years ago

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.

JornWildt commented 5 years ago

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.