Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Next challenges

Recent achievements

  • Global
  • Personal


  • Give kudos
  • Received
  • Given


  • Global

Trophy case

Kudos (beta program)

Kudos logo

You've been invited into the Kudos (beta program) private group. Chat with others in the program, or give feedback to Atlassian.

View group

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Making edit restrictions inherited

Hi, i'm trying to find out how I can can lock an entire sub-tree from being edited, I refer to this page:

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? 

4 answers

1 accepted

2 votes
Answer accepted


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:


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

Hope this helps.

Wow seems I opened a big can of worms, thanks for the info i'll have a look.

1 vote
Davin Studer Community Leader Nov 30, 2018

Power Scripts for Confluence (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);


Like Davin Studer likes this
Davin Studer Community Leader Dec 09, 2019

You are welcome.

Like Krasimir Boev likes this

Oh, there's a bunch of workarounds and suggestions as well.

Hi @Ng Ken Jo , 

As Davin said, there are some apps out there that can help you accomplish this. One of those is our Scroll Documents app 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.

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:


Shannon (K15t)

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted in Confluence

What do you think is the most *delightful* Confluence feature? Comment for a prize!

- Create your own custom emoji 🔥 - "Shake for Feedback" on mobile 📱 - An endless supply of GIFs via GIPHY 🤩 Is there anything quite as nice as a pleasant surprise? Comment below with what...

323 views 23 8
Join discussion

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you