<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Script to update document permissions needed [URGENT]</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=52335081" />
  <subtitle>Script to update document permissions needed [URGENT]</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=52335081</id>
  <updated>2026-06-22T09:31:16Z</updated>
  <dc:date>2026-06-22T09:31:16Z</dc:date>
  <entry>
    <title>RE: Script to update document permissions needed [URGENT]</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=114134004" />
    <author>
      <name>Taruchit Goyal</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=114134004</id>
    <updated>2019-06-26T16:49:05Z</updated>
    <published>2019-06-26T16:49:05Z</published>
    <summary type="html">The issue got resolved by adding following property to portal-ext.properties&lt;br /&gt;permissions.view.dynamic.inheritance=true And then restarted the server.</summary>
    <dc:creator>Taruchit Goyal</dc:creator>
    <dc:date>2019-06-26T16:49:05Z</dc:date>
  </entry>
  <entry>
    <title>RE: Script to update document permissions needed [URGENT]</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=114073661" />
    <author>
      <name>Taruchit Goyal</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=114073661</id>
    <updated>2019-06-20T11:42:29Z</updated>
    <published>2019-06-20T11:42:29Z</published>
    <summary type="html">Hello Mike,&lt;br /&gt;I have Liferay 7.&lt;br /&gt;I have a folder whose permission is set as Owner.That folder consists of multiple documents which are accessible to other users via search functionality in classic theme.As the result, I need to manually revoke permission of each document to prevent its unauthorized access.&lt;br /&gt;Thus, please suggest a Groovy script to revoke permission of multiple documents at once to resolve the issue.&lt;br /&gt;&lt;br /&gt;Thanks &lt;br /&gt;Taruchit Goyal</summary>
    <dc:creator>Taruchit Goyal</dc:creator>
    <dc:date>2019-06-20T11:42:29Z</dc:date>
  </entry>
  <entry>
    <title>Script to update document permissions needed [URGENT]</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=52335080" />
    <author>
      <name>Mike Cunningham</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=52335080</id>
    <updated>2015-04-14T12:46:53Z</updated>
    <published>2015-04-14T12:46:53Z</published>
    <summary type="html">First, let me emphasize that I&amp;#39;m not a programmer/developer.&lt;br /&gt;&lt;br /&gt;I have seven top level file folders in a Documents and Media portlet. (LR CE 6.2 GA3)&lt;br /&gt;Thousands of files were uploaded with permissions set to owner only.&lt;br /&gt;I need a script to assign full permissions to a particular role for all files and subfolders under a top level folder.&lt;br /&gt;i.e. I created a Role and a User Group called Design; one of the top level folders is Design; members of the Design group have full access, BUT all the files and subfolders under Design have full permissions only for Owner...&lt;br /&gt;&lt;br /&gt;I found the following which could be the basis of such a script on Sourceforge - can anyone suggest what changes I&amp;#39;d need to make?:   &lt;br /&gt;&lt;br /&gt;&amp;lt;code&amp;gt;&lt;br /&gt;Groovy script to update document permission    &lt;br /&gt;&lt;br /&gt;I need a quick way to update 20+ permissions among 100+ permissions for each document uploaded. So this script does the job.&lt;br /&gt;&lt;br /&gt;import java.util.ArrayList&lt;br /&gt;import java.util.Iterator&lt;br /&gt;import java.util.List&lt;br /&gt;import java.util.ListIterator&lt;br /&gt;&lt;br /&gt;import com.liferay.portlet.documentlibrary.model.DLFileEntry&lt;br /&gt;import com.liferay.portlet.documentlibrary.model.DLFileEntryModel&lt;br /&gt;import com.liferay.portlet.documentlibrary.model.DLFileEntryType&lt;br /&gt;import com.liferay.portal.service.ResourcePermissionLocalServiceUtil&lt;br /&gt;import com.liferay.portal.service.RoleLocalServiceUtil&lt;br /&gt;import com.liferay.portal.model.ResourceConstants&lt;br /&gt;import com.liferay.portal.model.ResourcePermission&lt;br /&gt;import com.liferay.portal.model.Role&lt;br /&gt;import com.liferay.portal.model.RoleConstants&lt;br /&gt;import com.liferay.portal.security.permission.ActionKeys&lt;br /&gt;&lt;br /&gt;// Replace companyId and fileEntryId&lt;br /&gt;long companyId = 10253&lt;br /&gt;String fileEntryId = 432617&lt;br /&gt;&lt;br /&gt;// Get Guest and Site Member roles&lt;br /&gt;Role guestRole = RoleLocalServiceUtil.getRole(companyId, RoleConstants.GUEST)&lt;br /&gt;Role siteMemberRole = RoleLocalServiceUtil.getRole(companyId, RoleConstants.SITE_MEMBER)&lt;br /&gt;&lt;br /&gt;// Get user created roles&lt;br /&gt;List roles = new ArrayList()&lt;br /&gt;&lt;br /&gt;Role bsmRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Branch Sales Manager&amp;#34;)&lt;br /&gt;Role boaRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Branch Office Admin&amp;#34;)&lt;br /&gt;Role usmRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Unit Sales Manager&amp;#34;)&lt;br /&gt;Role uftRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Unit Field Trainer&amp;#34;)&lt;br /&gt;Role agtRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Agent&amp;#34;)&lt;br /&gt;Role auRole  = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Applied User&amp;#34;)&lt;br /&gt;Role rdRole  = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Regional Director&amp;#34;)&lt;br /&gt;Role usRole  = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Unit Supervisor&amp;#34;)&lt;br /&gt;Role fvpnrRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Field Vice President National Recruiting&amp;#34;)&lt;br /&gt;Role hoaRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Home Office Admin&amp;#34;)&lt;br /&gt;Role houRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Home Office User&amp;#34;)&lt;br /&gt;Role loaRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Leave of Absence User&amp;#34;)&lt;br /&gt;Role mtRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Manager Trainee&amp;#34;)&lt;br /&gt;Role roaRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Regional Office Admin&amp;#34;)&lt;br /&gt;Role soaRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Satellite Office Admin&amp;#34;)&lt;br /&gt;Role svpRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Senior Vice President&amp;#34;)&lt;br /&gt;Role toaRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Territory Office Admin&amp;#34;)&lt;br /&gt;Role tvpRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Territory Vice President&amp;#34;)&lt;br /&gt;Role tdmbRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Territory Development Manager (Branch)&amp;#34;)&lt;br /&gt;Role tdmhRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Territory Development Manager (Home Office)&amp;#34;)&lt;br /&gt;Role tdmtRole = RoleLocalServiceUtil.getRole(companyId, &amp;#34;Territory Development Manager (Territory)&amp;#34;)&lt;br /&gt;&lt;br /&gt;roles.add(bsmRole)&lt;br /&gt;roles.add(boaRole)&lt;br /&gt;roles.add(usmRole)&lt;br /&gt;roles.add(uftRole)&lt;br /&gt;roles.add(agtRole)&lt;br /&gt;roles.add(auRole)&lt;br /&gt;roles.add(rdRole)&lt;br /&gt;roles.add(usRole)&lt;br /&gt;roles.add(fvpnrRole)&lt;br /&gt;roles.add(hoaRole)&lt;br /&gt;roles.add(houRole)&lt;br /&gt;roles.add(loaRole)&lt;br /&gt;roles.add(mtRole)&lt;br /&gt;roles.add(roaRole)&lt;br /&gt;roles.add(soaRole)&lt;br /&gt;roles.add(svpRole)&lt;br /&gt;roles.add(toaRole)&lt;br /&gt;roles.add(tvpRole)&lt;br /&gt;roles.add(tdmbRole)&lt;br /&gt;roles.add(tdmhRole)&lt;br /&gt;roles.add(tdmtRole)&lt;br /&gt;&lt;br /&gt;Iterator roleIterator = null&lt;br /&gt;Role role = null&lt;br /&gt;&lt;br /&gt;String resourceName = DLFileEntry.class.getName()&lt;br /&gt;ResourcePermission permission = null&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* Remove all permissions from guest and site member if they have view permission&lt;br /&gt;*/&lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;    if (ResourcePermissionLocalServiceUtil.hasResourcePermission(companyId, resourceName, ResourceConstants.SCOPE_INDIVIDUAL, fileEntryId, guestRole.getRoleId(), ActionKeys.VIEW)) {&lt;br /&gt;      permission = ResourcePermissionLocalServiceUtil.getResourcePermission(companyId, resourceName, ResourceConstants.SCOPE_INDIVIDUAL, fileEntryId, guestRole.getRoleId());&lt;br /&gt;      permission.setActionIds(0);&lt;br /&gt;      ResourcePermissionLocalServiceUtil.updateResourcePermission(permission, true);            &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    if (ResourcePermissionLocalServiceUtil.hasResourcePermission(companyId, resourceName, ResourceConstants.SCOPE_INDIVIDUAL, fileEntryId, siteMemberRole.getRoleId(), ActionKeys.VIEW)) {&lt;br /&gt;      permission = ResourcePermissionLocalServiceUtil.getResourcePermission(companyId, resourceName, ResourceConstants.SCOPE_INDIVIDUAL, fileEntryId, siteMemberRole.getRoleId());&lt;br /&gt;      permission.setActionIds(0);&lt;br /&gt;      ResourcePermissionLocalServiceUtil.updateResourcePermission(permission, true);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /*&lt;br /&gt;    * Add view permission to each user created role&lt;br /&gt;    */&lt;br /&gt;    roleIterator = roles.iterator();&lt;br /&gt;&lt;br /&gt;    def keys = new String[1]&lt;br /&gt;    keys[0] = ActionKeys.VIEW&lt;br /&gt;&lt;br /&gt;    while (roleIterator.hasNext()) {&lt;br /&gt;      role = roleIterator.next()&lt;br /&gt;      if (!ResourcePermissionLocalServiceUtil.hasResourcePermission(companyId, resourceName, ResourceConstants.SCOPE_INDIVIDUAL, fileEntryId, role.getRoleId(), ActionKeys.VIEW)) {&lt;br /&gt;        ResourcePermissionLocalServiceUtil.setResourcePermissions(companyId, DLFileEntry.class.getName(), 4, fileEntryId,  role.getRoleId(), keys)&lt;br /&gt;      }           &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    out.println(&amp;#34;***** Success *****&amp;#34;);                     &lt;br /&gt;}&lt;br /&gt;catch (e) {&lt;br /&gt;    out.println(&amp;#34;***** Error = &amp;#34; + e.getMessage());&lt;br /&gt;}&lt;br /&gt;&amp;lt;/code&amp;gt;</summary>
    <dc:creator>Mike Cunningham</dc:creator>
    <dc:date>2015-04-14T12:46:53Z</dc:date>
  </entry>
</feed>
