Copy shelf permission to a book when the book is created directly within a shelf #1313

Open
opened 2026-02-05 00:34:32 +03:00 by OVERLORD · 10 comments
Owner

Originally created by @mattstanyon-tall on GitHub (Aug 27, 2019).

Would it be possible to have new books inherit the permissions of the shelf they are created under (assuming they are indeed created under a shelf)?

My understanding is the permissions set on shelves do not propagate unless you use the copy permissions, therefore I don't think this would cause a conflict, but it would mean there is one less step many users need to perform, by default.

Originally created by @mattstanyon-tall on GitHub (Aug 27, 2019). Would it be possible to have new books inherit the permissions of the shelf they are created under (assuming they are indeed created under a shelf)? My understanding is the permissions set on shelves do not propagate unless you use the copy permissions, therefore I don't think this would cause a conflict, but it would mean there is one less step many users need to perform, by default.
OVERLORD added the 🔨 Feature Request label 2026-02-05 00:34:32 +03:00
Author
Owner

@ssddanbrown commented on GitHub (Aug 27, 2019):

Hi @mattstanyon-tall,
Thank you for your request. It'll be worth looking at my comments here:
https://github.com/BookStackApp/BookStack/issues/1091#issuecomment-433408458

Where I detail the complexity in Shelf -> Book auto-permission inheritance.

@ssddanbrown commented on GitHub (Aug 27, 2019): Hi @mattstanyon-tall, Thank you for your request. It'll be worth looking at my comments here: https://github.com/BookStackApp/BookStack/issues/1091#issuecomment-433408458 Where I detail the complexity in Shelf -> Book auto-permission inheritance.
Author
Owner

@mattstanyon-tall commented on GitHub (Aug 28, 2019):

Hi @ssddanbrown

I reviewed this, however, I was wondering if this could be set on initial creation only, which is slightly different from the previous request. Understanding that once a book has been created it could then be a member of various shelves, etc.

However, if you select Shelf > Create a new book, my request is whether this new book could inherit/copy the permissions from the Shelf. Post creation, the permissions on the books might change, and the book might become a member of different shelves etc.

Perhaps we are using the product in a different way from intended, but, if most books are created from within a shelf, rather than added to shelves later, this seems logical (to me!).

I haven't fully got my head around how the permissions on Shelves work in regard to items within that shelf - perhaps this is causing some confusion, in which case, my apologies.

As we push BookStack into the org here, this is one of the items which has come up from various different user groups. Perhaps the command-line tool you mentioned would resolve this, this is just a slightly different use-case/approach.

Finally, the remaining feedback is fantastic. You have a great product, so thank you for the time and effort invested.

@mattstanyon-tall commented on GitHub (Aug 28, 2019): Hi @ssddanbrown I reviewed this, however, I was wondering if this could be set on initial creation only, which is slightly different from the previous request. Understanding that once a book has been created it could then be a member of various shelves, etc. However, if you select Shelf > Create a new book, my request is whether this new book could inherit/copy the permissions from the Shelf. Post creation, the permissions on the books might change, and the book might become a member of different shelves etc. Perhaps we are using the product in a different way from intended, but, if most books are created from within a shelf, rather than added to shelves later, this seems logical (to me!). I haven't fully got my head around how the permissions on Shelves work in regard to items within that shelf - perhaps this is causing some confusion, in which case, my apologies. As we push BookStack into the org here, this is one of the items which has come up from various different user groups. Perhaps the command-line tool you mentioned would resolve this, this is just a slightly different use-case/approach. Finally, the remaining feedback is fantastic. You have a great product, so thank you for the time and effort invested.
Author
Owner

@ssddanbrown commented on GitHub (Sep 1, 2019):

Thanks for the positive feedback.

I get what you mean and can see how this would be helpful. I'll update the issue title to reflect the core request.

@ssddanbrown commented on GitHub (Sep 1, 2019): Thanks for the positive feedback. I get what you mean and can see how this would be helpful. I'll update the issue title to reflect the core request.
Author
Owner

@ssddanbrown commented on GitHub (Oct 30, 2019):

Related comment from #1726

I was maybe thinking about having a checkbox for this when creating a book, if creating from a Shelf, since that moves the option closer to the action and re-enforces the idea this is a one-time thing but I think that implementation would also be confusing since only people with permission to "Manage Permissions" will be able to enact such an option.

We have #1091 targeted for the next release which should help in regards to shelf permissions at some level.

I'm tempted to say we don't add anything, upon #1091, for now in regards to shelf permissions. There's a "Permission System Review" item on the road-map. I intend to switch up the permission system a fair bit for that item, so roles (and potentially users) are selected to be overridden instead of having to override permissions for all roles on a shelf/book/chapter/page. That will probably be a good opportunity to look at real shelf permission inheritance.

@ssddanbrown commented on GitHub (Oct 30, 2019): [Related comment from #1726](https://github.com/BookStackApp/BookStack/pull/1726#pullrequestreview-308881616) > I was maybe thinking about having a checkbox for this when creating a book, if creating from a Shelf, since that moves the option closer to the action and re-enforces the idea this is a one-time thing but I think that implementation would also be confusing since only people with permission to "Manage Permissions" will be able to enact such an option. > We have #1091 targeted for the next release which should help in regards to shelf permissions at some level. > I'm tempted to say we don't add anything, upon #1091, for now in regards to shelf permissions. There's a "Permission System Review" item on the road-map. I intend to switch up the permission system a fair bit for that item, so roles (and potentially users) are selected to be overridden instead of having to override permissions for all roles on a shelf/book/chapter/page. That will probably be a good opportunity to look at real shelf permission inheritance.
Author
Owner

@alexphillips-dev commented on GitHub (Jun 18, 2022):

Please add an option to copy permissions during book creation via shelf context. Or enable an inheritance option ;)

@alexphillips-dev commented on GitHub (Jun 18, 2022): Please add an option to copy permissions during book creation via shelf context. Or enable an inheritance option ;)
Author
Owner

@tacerus commented on GitHub (Sep 24, 2022):

Hi,

I'd like to add that this would be very interesting from a security perspective as well - currently, if someone creates a new book, it is temporarily publicly visible until the owner goes into the Permissions menu and clicks the copy button.
Unfortunately I'm not that proficient with PHP myself and only use this for a private project, but I'd be happy to pay someone a couple of beers for implementing such a "Apply Permissions from Shelf" checkbox on the book-creation page.

@tacerus commented on GitHub (Sep 24, 2022): Hi, I'd like to add that this would be very interesting from a security perspective as well - currently, if someone creates a new book, it is temporarily publicly visible until the owner goes into the Permissions menu and clicks the copy button. Unfortunately I'm not that proficient with PHP myself and only use this for a private project, but I'd be happy to pay someone a couple of beers for implementing such a "Apply Permissions from Shelf" checkbox on the book-creation page.
Author
Owner

@Ronald4300 commented on GitHub (Oct 4, 2022):

Hi
I think this would be very useful, too. Most - if not all - books we created up so far were created within the shelf context. So if a newly created book could inherit the shelf permissions, this would help a lot.

@Ronald4300 commented on GitHub (Oct 4, 2022): Hi I think this would be very useful, too. Most - if not all - books we created up so far were created within the shelf context. So if a newly created book could inherit the shelf permissions, this would help a lot.
Author
Owner

@nightsparc commented on GitHub (Oct 7, 2022):

Full ACK to @tacerus and @Ronald4300.

We're currently forced to heavily restrict the shelf/book creation, as we had a lot of permissions problems in the past. This is a real pity, as we are generally are very happy with Bookstack and especially appreciate its simplicity and ease of use.

So, either having a checkbox Copy permissions from parent in the book/shelf creation process or automatically deduce permissions (maybe de-/activatable and configurable in the settings) would help a lot.

@nightsparc commented on GitHub (Oct 7, 2022): Full ACK to @tacerus and @Ronald4300. We're currently forced to heavily restrict the shelf/book creation, as we had a lot of permissions problems in the past. This is a real pity, as we are generally are very happy with Bookstack and especially appreciate its simplicity and ease of use. So, either having a checkbox `Copy permissions from parent` in the book/shelf creation process or automatically deduce permissions (maybe de-/activatable and configurable in the settings) would help a lot.
Author
Owner

@Sulkar commented on GitHub (Feb 24, 2024):

Here is an easy Logical Theme solution: #4411

@Sulkar commented on GitHub (Feb 24, 2024): Here is an easy Logical Theme solution: #4411
Author
Owner

@kobaz commented on GitHub (Jul 25, 2024):

This is 100% needed. It looks like the same sort of issue from another post I found when researching this problem:
https://www.reddit.com/r/BookStack/comments/tea7ez/permissions_issue_looking_for_some_advice_please/

Why allow a user to create books but then disallow them to be able to access it once it's created (assuming they also have edit permission).

It seems really really really limiting to allow a user to create a book but they can't see it once they create it. It really destroys self-sufficiency.

@kobaz commented on GitHub (Jul 25, 2024): This is 100% needed. It looks like the same sort of issue from another post I found when researching this problem: https://www.reddit.com/r/BookStack/comments/tea7ez/permissions_issue_looking_for_some_advice_please/ Why allow a user to create books but then disallow them to be able to access it once it's created (assuming they also have edit permission). It seems really really really limiting to allow a user to create a book but they can't see it once they create it. It really destroys self-sufficiency.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#1313