mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-06 09:09:38 +03:00
Users can edit and rename shelves #5160
Closed
opened 2026-02-05 09:45:10 +03:00 by OVERLORD
·
5 comments
No Branch/Tag Specified
development
further_theme_development
l10n_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#5160
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Salla205 on GitHub (Jan 31, 2025).
Describe the Bug
The Asset Permissions set under Settings → Roles do not automatically apply to added shelves. A shelf will only become visible to users and its functions will be activated once one of the options "View," "Create," "Update," or "Delete" is selected. The specific permissions assigned to a shelf override the general role settings and can render them ineffective.
Here are a few images for better understanding.
Background on Company Usage
We plan to introduce BookStack company-wide and provide each department with its own shelf. Additionally, the IT department will provide shelves containing central documentation.
Department Shelves: Visible only to the respective department and admins – not to other departments.
Permissions in Department Shelves: Users can create books but cannot edit the shelf itself. Within their own department, users are allowed to delete books, chapters, and pages.
IT Department Shelves: Documentation with view-only permissions must not be copied.
Additionally, only shelves should be displayed, and users should not be able to create books via "Book", as these are only visible to themselves.
Steps to Reproduce
Go to Settings → Roles and create a new role.
Assign Asset Permissions as shown in the image above. No System Permissions are selected.
Now, add this role to a shelf under Shelves → Add Role, but do not check "View," "Create," "Update," or "Delete." The shelf will not be visible to the user.
Expected Behaviour
Either the "Create" permission must be enabled to allow book creation, or the specific shelf permissions should not override the Asset Permissions.
Additionally, there should be a button to hide Books in the top navigation bar and display only Shelves, since users should not create their own books. This option should only be available to Admins or IT users.
Screenshots or Additional Context
No response
Browser Details
No response
Exact BookStack Version
BookStack v24.10
@ssddanbrown commented on GitHub (Jan 31, 2025):
Hi @Salla205,
I'm not really sure I see a bug here.
Quoting the reproduction steps:
I don't have full visibility of the permissions at play via the screenshots provided, but this is expected. Users will need some form of view permission to see items. Lack of view via overrides will take precedence.
Yes, they are only used for copying as mentioned in the permissions page, denoted by the
*.Update affects the ability to update the shelf in any way. The details and contents (assigned books) are both considered part of the shelf.
I don't know what is meant by that tbh.
Shelves are only really meant to be a high-level-categorization option around books. Books do not belong to them, but are on them. Where permissions are managed, keeping things at book level is generally much simpler and easier in regards to permission management.
@Salla205 commented on GitHub (Feb 3, 2025):
I try to explain it.
My idea was to create a shelf for each department in our company. On this shelf, employees of the respective department can create, update, and delete books, and the same applies to chapters and pages in the books. However, the shelf itself should not be editable. For each department, I will create a role that includes only "Asset Permissions" (see first screenshot) and no "System Permissions." I will then assign this role to the respective shelf.
The additional permissions "View," "Create *," "Update," and "Delete" on the shelf confused me. Without making a selection, nothing happens. However, when one of these additional permissions is selected, the "Asset Permissions" of the role are ignored.
I then tried it at the book level. The shelf level represented a higher-level area, and each department was assigned at the book level. Again, I added the role (only "Asset Permissions" and no "System Permissions"). At this level, chapters and pages could be created, but not deleted. It was only after I added the "Delete" permission at the book level that chapters and pages could be deleted – but also the book itself.
@ssddanbrown commented on GitHub (Feb 25, 2025):
Yeah, that's all expected to be honest.
I appreciate the permission can be a little course for some scenarios though, but we do have to strike a balance between maintenance/supported complexity and flexibility.
@steven-loscheider commented on GitHub (Feb 26, 2025):
I am curious about this because we would want to use Bookstack in the same manner. Meaning we have different departments that we want to assign to a specific shelf (or book idk) so they can only(!) see and work in their own area. Meaning Finance for example cannot view and edit Books/shelves etc from the IT department. How do I do this?
@ssddanbrown commented on GitHub (Mar 13, 2025):
I'm going to go ahead and close off this issue and I don't see much to action here.
@steven-loscheider The approach I'd advise would be: