<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic setting READ permission on folder within user's home folder in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/setting-read-permission-on-folder-within-user-s-home-folder/m-p/149158#M104167</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i am writing a application on top of alresco using alfresco java api.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the application creates user using PersonService.createPerson() and also creates one folder "company" in users home directory.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;since the "company" folder is within users home folder user has full permission on it. i have a requirement whereby user should have only READ access on the folder.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;is it possible to achive the same ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;following is the code snippet that i m using&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;final ServiceRegistry serviceRegistry = (ServiceRegistry)this.getServletConfig().getServletContext().getAttribute("SERVICE");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;String fname = request.getParameter("FirstName");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;String lname = request.getParameter("LastName");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;String passw = request.getParameter("Password");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Map&amp;lt;QName, Serializable&amp;gt; contentProps = new HashMap&amp;lt;QName, Serializable&amp;gt;();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;contentProps.put(ContentModel.PROP_FIRSTNAME, fname);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;contentProps.put(ContentModel.PROP_LASTNAME, lname);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;contentProps.put(ContentModel.PROP_USERNAME, "testuser");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;contentProps.put(ContentModel.PROP_PASSWORD, passw);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;NodeRef homeSpaceRef = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;UserTransaction utx = null; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;try{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//login as admin and create user and his folders&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Authentication.login(serviceRegistry, "admin", "admin");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;TransactionService transactionService = serviceRegistry.getTransactionService();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;utx = transactionService.getUserTransaction();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;utx.begin();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;NodeRef personNode = serviceRegistry.getPersonService().createPerson(contentProps);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// ensure the user can access their own Person object&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;serviceRegistry.getPermissionService().setPermission(personNode, "testuser", serviceRegistry.getPermissionService().getAllPermission(), true);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// create the ACEGI Authentication instance for the new user&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;serviceRegistry.getAuthenticationService().createAuthentication("testuser", passw.toCharArray());&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;homeSpaceRef = (NodeRef) serviceRegistry.getNodeService().getProperty(personNode, ContentModel.PROP_HOMEFOLDER);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;String folder = "COMPANY";&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;contentProps = new HashMap&amp;lt;QName, Serializable&amp;gt;();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;contentProps.put(ContentModel.PROP_NAME, folder);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// create folder node&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;NodeService nodeService = serviceRegistry.getNodeService();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ChildAssociationRef association = nodeService.createNode(homeSpaceRef, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ContentModel.ASSOC_CONTAINS, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;QName.createQName(NamespaceService.CONTENT_MODEL_PREFIX, folder),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ContentModel.TYPE_FOLDER,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;contentProps);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//===========================this is though not working===================================================&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//giving READ only permission to testuser on folder company &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;serviceRegistry.getPermissionService().setPermission(association.getChildRef(), "testuser", serviceRegistry.getPermissionService().READ_PERMISSIONS, true);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;utx.commit();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}catch(Exception e){&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;try {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;utx.rollback();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} catch (Exception ex2) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;System.out.print(e.toString());&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;System.out.print(e.toString());&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 27 Apr 2008 18:31:40 GMT</pubDate>
    <dc:creator>awkhan</dc:creator>
    <dc:date>2008-04-27T18:31:40Z</dc:date>
    <item>
      <title>setting READ permission on folder within user's home folder</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/setting-read-permission-on-folder-within-user-s-home-folder/m-p/149158#M104167</link>
      <description>hi,i am writing a application on top of alresco using alfresco java api.the application creates user using PersonService.createPerson() and also creates one folder "company" in users home directory.since the "company" folder is within users home folder user has full permission on it. i have a requir</description>
      <pubDate>Sun, 27 Apr 2008 18:31:40 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/setting-read-permission-on-folder-within-user-s-home-folder/m-p/149158#M104167</guid>
      <dc:creator>awkhan</dc:creator>
      <dc:date>2008-04-27T18:31:40Z</dc:date>
    </item>
    <item>
      <title>Re: setting READ permission on folder within user's home folder</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/setting-read-permission-on-folder-within-user-s-home-folder/m-p/149159#M104168</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;done…i was making a mistake in specifying the permissions .&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i was specifying READ instead of consumer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;serviceRegistry.getPermissionService().setPermission(association.getChildRef(),dname, serviceRegistry.getPermissionService().CONSUMER, true);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;now user is not able to upload any content in the folder even though it is in his home.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 27 Apr 2008 20:26:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/setting-read-permission-on-folder-within-user-s-home-folder/m-p/149159#M104168</guid>
      <dc:creator>awkhan</dc:creator>
      <dc:date>2008-04-27T20:26:39Z</dc:date>
    </item>
  </channel>
</rss>

