-
Notifications
You must be signed in to change notification settings - Fork 22
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
Access Mode Extensions #85
Comments
Documentation of operations and access modes from discussions.
|
The WIP table here can be used to get a deeper understanding of operations and access modes. Operations may be determined by the nature of an HTTP request but they are not strictly limited to HTTP requests. For the time being, the table uses CRUD terms for simplicity and the purpose of this discussion - do not bother to nitpick on this. Happy to switch to use a different variation, RFC terms, or introduce 50 very specific terms. WAC ED loosely uses CRUD terms for common operations but it is not fixed to that.
I'm not sure what to do with this table yet / where to put it but we can figure something out alongside solid/specification#14 (comment) (even if it just serves to catch bugs or our assumptions).
[1] [2] Requires Append (or Write) on [3] Requires Write on [4] [5] Requires Write on |
Very helpful. Just a reminder that there is simple easy to understand argument to remove the Control Mode, with more logical/mathematical arguments to support that in Specification issue #303. Also, it should be possible to model your table using mathematical work on Lenses, to get at precisely why the different modes exist, and how they interact with the HTTP methods. |
From the Solid Practioners meeting 2/6/2025 and health care use case by Marc Haddle, I think an additional WAC mode is needed that allows control access but only for read such that, for example, an xray provider has full control of xray data for a patient (the data owner), but gives the patient control-read of that data such that patient can share it with anyone they choose, but is not able to edit/delete it. I'm thinking as simple as possible here, that medical provider gives patient permanent control-read of their medical data, and that patient is then able to create read authorization for that medical data (and delete those authorizations) as much as they like. Just using WAC as is now, except one more mode, control-read. For anyone with whom access is shared, they can trust the validity of the data as it uses the url of the provider/author directly. From a Server implementer perspective, the current WAC is integrated and cached at the DNA level of all operations, so adding one more mode within that framework is a very simple thing and scales to billions etc. Adding a whole new delegation functionality could be quite involved, but we are not necessarily opposed. Because we are able to control permission at the triple level, we can effectively also support any other approach like ACP where its a higher level abstraction that ultimately controls the WAC at the bottom scaled level. (For example, a permission that expires would simply be a process on server to delete the permission at a certain time, where the permission is standard WAC, etc) So from a systems engineering perspective, the simplest possible base level that scales is ideal for building abstractions on top of. (Our LDH lower ontology is very simple and is the form in which all data is saved) |
The ACL ontology ( http://www.w3.org/ns/auth/acl ) defines
acl:Read
,acl:Write
,acl:Append
, andacl:Control
access modes.This is a general issue, a study, to document common operations and new access modes (based on use cases).
The text was updated successfully, but these errors were encountered: