Skip to content
This repository was archived by the owner on Apr 13, 2022. It is now read-only.
This repository was archived by the owner on Apr 13, 2022. It is now read-only.

When deleting a resource, should the corresponding ACL document also be deleted? #187

Closed

Description

@michielbdejong

In other words, would nodeSolidServer/node-solid-server#1180 be a violation of the spec?

Activity

  1. michielbdejong commented on Jun 5, 2019

    @michielbdejong
    ContributorAuthor

    This is a complicated topic, related to #172.

    A cleaner solution would, I think, be to say ACL documents should just show up in container member listings?

  2. michielbdejong commented on Jun 6, 2019

    @michielbdejong
    ContributorAuthor

    @jaxoncreed what do you think of the solution where acl docs show up as container members so that it's not such a pain to guess their paths when trying to delete a container (in other words, give the app the ability to see whether a container is empty or not, and if not, which members still exist)

  3. jaxoncreed commented on Jun 10, 2019

    @jaxoncreed

    @michielbdejong I personally don't like it. I think that .acl files are essentially metadata and not documents themselves. I can see how this becomes easier for certain operations like delete, but other operations would require you to differentiate between acl files and regular ones for access control. Plus, I think it would be confusing on the user's end.

  4. RubenVerborgh commented on Jun 10, 2019

    @RubenVerborgh
    Contributor

    I think that .acl files are essentially metadata and not documents themselves.

    The spec does not support that interpretation though. Quite the contrary: ACL files are RDF documents, that can contain arbitrary triples. The only differences are that a) some of those triples will determine access control to other documents and b) viewing or editing them requires Control permissions instead of Read or Write.

  5. jeff-zucker commented on Jun 10, 2019

    @jeff-zucker
    Member

    How about the equivalent of ls -al? In other words .acl and .meta are invisible to a regular GET on a container but visible with a special GET?

    Or on a different track : always delete all .acl and .meta when deleting an otherwise empty container. This would prevent the current possibility of undeletable containers filled with undiscoverable .acl files.

  6. humont commented on Aug 17, 2019

    @humont

    For what it's worth, in my current implementation I treat a DELETE request to a container as acceptable if the container if all it contains are it's own .acl and .meta file - I did pause to reflect at the time of implementing, but it struck me as an intuitive way of going forward.

    Given that .acl and .meta files are not files with which a user will routinely interact, requiring the user to delete them (or throwing an error when the user attempts to delete a container which stll contains them) seems like it would produce additional friction to the UX in a way that is not immediatley transparent.

    In line with this, I am currently parsing a DELETE request for a resource by fetching any "describedBy" and "constrainedBy" files that concern only it (quite easily verifiable by traversing the graph contained within these files).

  7. dmitrizagidulin commented on Sep 24, 2019

    @dmitrizagidulin
    Member

    Semi-duplicate of solid/solid#251

    Will be tackled in solid/specification#58, closing this one.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions