<?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 Re: Want to display user's permission on folder under a site in Alfresco Forum</title>
    <link>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114940#M31920</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;A href="https://migration33.stage.lithium.com/t5/user/viewprofilepage/user-id/36939"&gt;@sanjaybandhniya&lt;/A&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;Thank you for the webscript, can you please tell me where should I place this webscript? . I am using docker version of Alfresco 6 and currently I have placed my webscript in my share docker container at this path "/usr/local/tomcat/shared/classes/alfresco/web-extension/site-webscripts/org/alfresco/training".&lt;/P&gt;&lt;P&gt;One more thing I told you that I got&amp;nbsp; the sites list and I did this through javascript api, didn't call any site Service like you did above. I tried getting the list of sites through siteService&amp;nbsp;but alfresco returned the errror "undefined : siteService", anyways got the site list through site-list api in alfresco api-explorer.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think im not placing my webscript at the right path, therefore alfresco returned undefined on siteService.&lt;/P&gt;&lt;P&gt;This is my current webscript which is getting all sites, Site's users and their roles in site.&lt;/P&gt;&lt;PRE&gt;var siteJSON = {}
var connector = remote.connect("alfresco-api");
var result = connector.get("/-default-/public/alfresco/versions/1/sites");
var final_results = [];
if (result.status.code == status.STATUS_OK) {
  var siteJSON = jsonUtils.toObject(result);
  model.sites = siteJSON["list"]["entries"];
  for (var i = 0; i &amp;lt; model.sites.length; i++){
    var output = connector.get("/-default-/public/alfresco/versions/1/sites/" + model.sites[i].entry.id + "/members");
    if (result.status.code == status.STATUS_OK) {
      siteJSON= jsonUtils.toObject(output);
      model.members = siteJSON["list"]["entries"];
      for (var j = 0; j &amp;lt; model.members.length; j++){
         var final_result = {};
         final_result["role"]=model.members[j].entry.role;
         final_result["user"]=model.members[j].entry.person.firstName;
         final_result["site"]=model.sites[i].entry.title;
         final_results.push(final_result);
      }
    }
  }
model.results = final_results;
}

&lt;/PRE&gt;&lt;P&gt;Want to try your pruposed solution but don't know where to place the webscript.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
    <pubDate>Fri, 04 Dec 2020 11:47:44 GMT</pubDate>
    <dc:creator>Syedjunaid</dc:creator>
    <dc:date>2020-12-04T11:47:44Z</dc:date>
    <item>
      <title>Want to display user's permission on folder under a site</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114936#M31916</link>
      <description>&lt;P&gt;Hello Everyone,&lt;/P&gt;&lt;P&gt;I am using Alfresco 6 (dockerized). I&amp;nbsp;have deployed Alfresco in a production enviornment and my clients wants me to create a reporting page (separate surf page for a specific report) , now in that reporting page I want to call a webscript which displays the folders of site and a user's permissions on these folders.&lt;/P&gt;&lt;P&gt;What would be the api or is there any tool that does the same things like my requirement. Any help would be&amp;nbsp;highly appreciated. Looking into that tool will&amp;nbsp;help me to get an idea of what could be done to get my desired outputs.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Regards,&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Syed Junaid&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 01 Dec 2020 07:03:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114936#M31916</guid>
      <dc:creator>Syedjunaid</dc:creator>
      <dc:date>2020-12-01T07:03:47Z</dc:date>
    </item>
    <item>
      <title>Re: Want to display user's permission on folder under a site</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114937#M31917</link>
      <description>&lt;P&gt;You can create custom webscript which can return folder's list&amp;nbsp; with permission and you can use that in surf page.&lt;/P&gt;</description>
      <pubDate>Tue, 01 Dec 2020 13:01:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114937#M31917</guid>
      <dc:creator>sp2</dc:creator>
      <dc:date>2020-12-01T13:01:39Z</dc:date>
    </item>
    <item>
      <title>Re: Want to display user's permission on folder under a site</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114938#M31918</link>
      <description>&lt;P&gt;Dear&amp;nbsp;&lt;A href="https://migration33.stage.lithium.com/t5/user/viewprofilepage/user-id/36939"&gt;@sanjaybandhniya&lt;/A&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;I am doing exactly as you're saying&amp;nbsp;but the problem is to get folders and its permissions, it is essential to&amp;nbsp;have a your folder's node id, which is understandable.But I want my webscript to work in a manner that it should display all sites, it's users, those user's role, specifics Folders in that site and the user's permissions which are listed with sites. I&amp;nbsp;have got the data of all Sites,Users and Their Role in Site... but cannot get the remaining data. As&amp;nbsp; I&amp;nbsp;have multiple sites im unable to understand that&amp;nbsp;how can&amp;nbsp;I associate a site folder's node id with it's associated site.&lt;/P&gt;&lt;P&gt;Take a look at this picture of my custom report, you may get an idea of my requirement. The "Not Fetched Yet" is&amp;nbsp;hardcoded in my webscript's&amp;nbsp;html.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="userreports.png" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="image"&gt;&lt;img src="https://connect.hyland.com/t5/image/serverpage/image-id/924i1DE2B7A99F322BB1/image-size/large?v=v2&amp;amp;px=999" role="button" title="image" alt="image" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Dec 2020 12:59:18 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114938#M31918</guid>
      <dc:creator>Syedjunaid</dc:creator>
      <dc:date>2020-12-02T12:59:18Z</dc:date>
    </item>
    <item>
      <title>Re: Want to display user's permission on folder under a site</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114939#M31919</link>
      <description>&lt;P&gt;Check This. You will get idea how to get folder's of site.&lt;/P&gt;&lt;PRE&gt;private void listSites() {

		List&amp;lt;SiteInfo&amp;gt; sites = siteService.listSites(null, null);
		for (SiteInfo site : sites) {
			System.out.println(site.getShortName());
			listFolder(site.getShortName());

		}

	}

	private void listFolder(String siteName) {

		String str = "PATH:\"/app:company_home/st:sites/cm:" + siteName
				+ "/cm:documentLibrary//*\" AND TYPE:\"cm:folder\"";

		StoreRef storeRef = new StoreRef(StoreRef.PROTOCOL_WORKSPACE, "SpacesStore");
		SearchParameters sp = new SearchParameters();
		sp.addStore(storeRef);
		sp.setLanguage(SearchService.LANGUAGE_FTS_ALFRESCO);
		sp.setQuery(str);
		ResultSet rs = searchService.query(sp);
		if (rs != null &amp;amp;&amp;amp; rs.length() &amp;gt; 0) {
			List&amp;lt;NodeRef&amp;gt; list = rs.getNodeRefs();
			list.forEach(folder -&amp;gt; {
				System.out.println(nodeService.getProperty(folder, ContentModel.PROP_NAME));
				Set&amp;lt;AccessPermission&amp;gt; accessPermission = permissionService.getAllSetPermissions(folder);
				accessPermission.forEach(permission -&amp;gt; {
					System.out.println(permission);
				});

			});
		}

	}&lt;/PRE&gt;</description>
      <pubDate>Wed, 02 Dec 2020 14:13:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114939#M31919</guid>
      <dc:creator>sp2</dc:creator>
      <dc:date>2020-12-02T14:13:47Z</dc:date>
    </item>
    <item>
      <title>Re: Want to display user's permission on folder under a site</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114940#M31920</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;A href="https://migration33.stage.lithium.com/t5/user/viewprofilepage/user-id/36939"&gt;@sanjaybandhniya&lt;/A&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;Thank you for the webscript, can you please tell me where should I place this webscript? . I am using docker version of Alfresco 6 and currently I have placed my webscript in my share docker container at this path "/usr/local/tomcat/shared/classes/alfresco/web-extension/site-webscripts/org/alfresco/training".&lt;/P&gt;&lt;P&gt;One more thing I told you that I got&amp;nbsp; the sites list and I did this through javascript api, didn't call any site Service like you did above. I tried getting the list of sites through siteService&amp;nbsp;but alfresco returned the errror "undefined : siteService", anyways got the site list through site-list api in alfresco api-explorer.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think im not placing my webscript at the right path, therefore alfresco returned undefined on siteService.&lt;/P&gt;&lt;P&gt;This is my current webscript which is getting all sites, Site's users and their roles in site.&lt;/P&gt;&lt;PRE&gt;var siteJSON = {}
var connector = remote.connect("alfresco-api");
var result = connector.get("/-default-/public/alfresco/versions/1/sites");
var final_results = [];
if (result.status.code == status.STATUS_OK) {
  var siteJSON = jsonUtils.toObject(result);
  model.sites = siteJSON["list"]["entries"];
  for (var i = 0; i &amp;lt; model.sites.length; i++){
    var output = connector.get("/-default-/public/alfresco/versions/1/sites/" + model.sites[i].entry.id + "/members");
    if (result.status.code == status.STATUS_OK) {
      siteJSON= jsonUtils.toObject(output);
      model.members = siteJSON["list"]["entries"];
      for (var j = 0; j &amp;lt; model.members.length; j++){
         var final_result = {};
         final_result["role"]=model.members[j].entry.role;
         final_result["user"]=model.members[j].entry.person.firstName;
         final_result["site"]=model.sites[i].entry.title;
         final_results.push(final_result);
      }
    }
  }
model.results = final_results;
}

&lt;/PRE&gt;&lt;P&gt;Want to try your pruposed solution but don't know where to place the webscript.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Fri, 04 Dec 2020 11:47:44 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114940#M31920</guid>
      <dc:creator>Syedjunaid</dc:creator>
      <dc:date>2020-12-04T11:47:44Z</dc:date>
    </item>
    <item>
      <title>Re: Want to display user's permission on folder under a site</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114941#M31921</link>
      <description>&lt;P&gt;You need to use sdk for this.&lt;/P&gt;&lt;P&gt;For Java backed Webscript you need to register it.&lt;/P&gt;</description>
      <pubDate>Fri, 04 Dec 2020 13:24:17 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114941#M31921</guid>
      <dc:creator>sp2</dc:creator>
      <dc:date>2020-12-04T13:24:17Z</dc:date>
    </item>
    <item>
      <title>Re: Want to display user's permission on folder under a site</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114942#M31922</link>
      <description>&lt;P&gt;Dear&amp;nbsp;&lt;A href="https://migration33.stage.lithium.com/t5/user/viewprofilepage/user-id/36939"&gt;@sanjaybandhniya&lt;/A&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;Thank you for proving your java code, it&amp;nbsp;helped me alot for getting sites,users,roles and site's folder.&lt;/P&gt;&lt;P&gt;Can you pleaase tell me&amp;nbsp;how can I get the permissions on those folders? like whose the Site 's Manager/Collaborator/Contributor/Consumer on these folders that I got through your webscript. What would be the change in your webscript that will get me these permissions I mentioned.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Dec 2020 15:05:09 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114942#M31922</guid>
      <dc:creator>Syedjunaid</dc:creator>
      <dc:date>2020-12-15T15:05:09Z</dc:date>
    </item>
    <item>
      <title>Re: Want to display user's permission on folder under a site</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114943#M31923</link>
      <description>&lt;P&gt;If you find useful you can use this piece of code i found on &lt;A href="https://github.com/loftuxab/permission-label/blob/master/src/main/amp/web/components/documentlibrary/permission-label.js" target="_blank" rel="nofollow noopener noreferrer"&gt;https://github.com/loftuxab/permission-label/blob/master/src/main/amp/web/components/documentlibrary/permission-label.js&lt;/A&gt; :&lt;/P&gt;&lt;PRE&gt;function getRolefromNodeRecord(record) {
    //CancelCheckOut	ChangePermissions	CreateChildren	Delete	Unlock	Write
    //Collaborator     0	0	1	0	0	1
    //Contributor	   0	0	1	0	0	0
    //Consumer	       0	0	0	0	0	0
    //Manager	       0	1	1	1	0	1
    var decisionRow = "";
    decisionRow += record.jsNode.permissions.user.CancelCheckOut ? "1" : "0";
    decisionRow += record.jsNode.permissions.user.ChangePermissions ? "1" : "0";
    decisionRow += record.jsNode.permissions.user.CreateChildren ? "1" : "0";
    decisionRow += record.jsNode.permissions.user.Delete ? "1" : "0";
    decisionRow += record.jsNode.permissions.user.Unlock ? "1" : "0";
    decisionRow += record.jsNode.permissions.user.Write ? "1" : "0";

    var roleKey = "";

    switch (decisionRow) {
        case "001001":
            roleKey = "role.SiteCollaborator";
            break;
        case "001000":
            roleKey = "role.SiteContributor";
            break;
        case "000000":
            roleKey = "role.SiteConsumer";
            break;
        case "011101":
            roleKey = "role.SiteManager";
            break;
        //below are almost never available.
        case "111111":
            roleKey = "role.SiteOwner";
            break;
        default:
            roleKey = "role.SiteOther";
            break;
    }
    return Alfresco.util.message(roleKey);
}&lt;/PRE&gt;</description>
      <pubDate>Wed, 16 Dec 2020 09:32:23 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/want-to-display-user-s-permission-on-folder-under-a-site/m-p/114943#M31923</guid>
      <dc:creator>AlfrescoZZZ</dc:creator>
      <dc:date>2020-12-16T09:32:23Z</dc:date>
    </item>
  </channel>
</rss>

