Uploaded image for project: 'Remote Alfresco API rivet'
  1. Remote Alfresco API rivet
  2. CMA-34

Get specific permissions on a particular node for the currently authenticated session

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Critical
    • Resolution: Completed
    • Affects Version/s: None
    • Fix Version/s: 1.7.0
    • Component/s: CMA Alfresco, CMA API
    • Labels:
      None

      Description

      OBJECTIVE:
      Knowing whether the currently authenticated user can "ReadProperties", "ReadContent", "WriteProperties", etc on the returned nodes, so, we can enable/disable UI functionality based on permissions.

      SPECIFICATION:
      We need a SearchService query method with the following signature:

      public java.util.List<Node> query(Ticket ticket,
                                 org.alfresco.service.cmr.repository.StoreRef store,
                                 SearchService.QueryLanguage queryLanguage,
                                 java.lang.String query,
                                 java.util.List<org.alfresco.service.namespace.QName> requiredProperties,
                                 java.util.List<String> requiredPermissions, // *************** NEW PARAMETER **************
                                 boolean returnPeerAssocs,
                                 boolean returnChildAssocs,
                                 boolean returnAspects,
                                 int maxResults)
                                 throws InvalidTicketException,
                                        CmaRuntimeException

      //**************************************************************************************
      java.util.List<String> requiredPermissions = new java.util.List<String>(5);
      requiredPermissions.add("ReadProperties");
      requiredPermissions.add("ReadContent");
      requiredPermissions.add("Delete");
      requiredPermissions.add("WriteProperties");
      requiredPermissions.add("WriteContent");
      //**************************************************************************************

      The resulting Node elements in java.util.List<Node> should have the requiredPermissions and their status (ALLOWED, DENIED)

      //**************************************************************************************
      node.getPermissions().get(0).getPermission() ---> "ReadProperties"
      node.getPermissions().get(0).getAccessStatus() ---> AccessStatus.ALLOWED

      node.getPermissions().get(1).getPermission() ---> "ReadContent"
      node.getPermissions().get(1).getAccessStatus() ---> AccessStatus.ALLOWED

      node.getPermissions().get(2).getPermission() ---> "Delete"
      node.getPermissions().get(2).getAccessStatus() ---> AccessStatus.DENIED

      node.getPermissions().get(3).getPermission() ---> "WriteProperties"
      node.getPermissions().get(3).getAccessStatus() ---> AccessStatus.ALLOWED

      node.getPermissions().get(4).getPermission() ---> "WriteContent"
      node.getPermissions().get(4).getAccessStatus() ---> AccessStatus.DENIED
      //**************************************************************************************


        Attachments

          Activity

            People

            • Assignee:
              vjalilov vjalilov
              Reporter:
              vjalilov vjalilov
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Zendesk Support