Making edit restrictions inherited
Asked by Ng Ken Jo:

Hi, i'm trying to find out how I can can lock an entire sub-tree from being edited, I refer to this page: <https://confluence.atlassian.com/doc/page-restrictions-139414.html>

Which says "View restrictions are inherited, which means a restriction applied to one page will cascade down to any child pages. Edit restrictions are not inherited, which means pages need to be restricted individually. "

Is there a reason why Edit restrictions do not cascade with no option for them to do so? And is there any workaround to make edit restrictions inherited as well?


Answers:
author: Grigory Salnikov
body: Hi!

It's an interesting and quite old question. Discussion concerning this functionality dates back to 2006. You might be interested to know what other people think, please, take a look:

[CONFSERVER-5095](https://jira.atlassian.com/plugins/servlet/mobile#issue/CONFSERVER-5095)

The're a lot of pro- and counter- arguments.

Hope this helps.

comments: author: Ng Ken Jo
body: Wow seems I opened a big can of worms, thanks for the info i'll have a look.


author: Davin Studer
body: [Power Scripts for Confluence](https://marketplace.atlassian.com/apps/1219507/power-scripts-for-confluence?hosting=server&tab=overview) (free app) was just released recently and I set this script up in our environment. I've set the script to run as a listener (see below screenshot). Whenever a page is created, updated, or moved and is under a certain tree in the navigation an editors restriction will be added to the page for a specified group.

```
string parentPageSpaceKey = "{spacekey}";string parentPageName = "{page name at top of tree}";string editGroup = "{group name}";integer parentPageId = getPage(parentPageSpaceKey, parentPageName);string parentPageIdStr = formatNumber(parentPageId, "#");string cql = "(space=\"" + parentPageSpaceKey + "\" AND title=\"" + parentPageName + "\") OR (ancestor=\"" + parentPageIdStr + "\")";number[] allPages = selectPages(cql);for(number aPage in allPages) {    if(aPage == parent) {        addGroupToContentPermission("Edit", id, editGroup);        break;    }}
```

![Capture.PNG](https://community.atlassian.com/t5/image/serverpage/image-id/39077i3D0BDE3561938DE1/image-size/large?v=v2&px=999 "Capture.PNG")

comments: author: Krasimir Boev
body: Thank you so much [Davin Studer.](https://community.atlassian.com/t5/user/viewprofilepage/user-id/781467)


author: Davin Studer
body: You are welcome.


author: Shannon Meehan _K15t_
body: Hi [@Ng Ken Jo](/t5/user/viewprofilepage/user-id/171772) ,

As Davin said, there are some apps out there that can help you accomplish this. One of those is our [Scroll Documents app](https://marketplace.atlassian.com/apps/1217608/scroll-documents-for-confluence?hosting=cloud&tab=overview&_ga=2.23634488.360078089.1573381583-1743865367.1572885248) that allows you to define a page tree as a single unit -- a document -- and then manage those pages together.

One of the management features is being able to set the restrictions on the page tree from a single UI. When you update the view or edit restrictions for the document, those updates reflect one all of the pages -- edit restrictions as well. You can [read more about it here](https://www.k15t.com/blog/2019/11/how-to-manage-restrictions-across-multiple-confluence-pages).

Of course, this isn't the only functionality of the app. You can also version page trees, set workflow statuses, send read requests, and export to PDF or Word with our Scroll Exporter apps, and more.

If you have any questions, we'd be happy to help or show you a demo of the app. Just get in touch with us: hello@k15t.com.

Cheers,

Shannon (K15t)


author: Grigory Salnikov
body: Oh, there's a bunch of workarounds and suggestions as well.


Tags: child-page

confluence-server

edit

inherit

permission

restriction

server