ACE should be able to contain 1 or more permissions

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major
    • None
    • Affects Version/s: None
    • Component/s: Domain Model
    • None
    • Hide

      We should update the spec to say that an ACE should be able to support one or more permissions.

      Repositories that natively store only one permission per ACE can then do an easy ACE expansion at set-time in their CMIS implementation (i.e. take one CMIS and expand into multiple ACEs), rather than making other repositories do more complicted transformations.

      Show
      We should update the spec to say that an ACE should be able to support one or more permissions. Repositories that natively store only one permission per ACE can then do an easy ACE expansion at set-time in their CMIS implementation (i.e. take one CMIS and expand into multiple ACEs), rather than making other repositories do more complicted transformations.

      The current definition of ACE in the CMIS domain model (section 2.8.3, line 583) specifies that an ACE contains exactly one permission.

      This is problematic because in some products (or at least in SharePoint) a single ACE (in the native implementation) actually can have multiple permissions assigned to it. (I.e. a single ACE can say "Ethan can (read, delete)".)

      To conform to the CMIS spec as currently written, we'll have to do some clunky/inefficient things via our CMIS implementation (e.g. at "get" time we'll have to transform a single SharePoint ACE into multiple CMIS ACEs, and at "set" time we'll have to either do a normalization/transform to condense multiple CMIS ACEs into a single SharePoint ACE OR store more ACEs than necessary in our native implementation.)

            Assignee:
            Ethan Gur-esh (Inactive)
            Reporter:
            Ethan Gur-esh (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: