Private Books (per-user) #601

Closed
opened 2026-02-04 21:23:12 +03:00 by OVERLORD · 4 comments
Owner

Originally created by @ghost on GitHub (Mar 14, 2018).

Is it possible to have a private book per user? Other people should not even know that the book exist. I didn't figure out how it works, so I created another role with the same name as the user name. Then I enabled custom permissions and set permissions only for this role.
Short:
As a normal user I want to have the ability to create a private book(s), that only I can see, without having to ask the administrator to create an extra role for that as a workaround.

Originally created by @ghost on GitHub (Mar 14, 2018). Is it possible to have a private book per user? Other people should not even know that the book exist. I didn't figure out how it works, so I created another role with the same name as the user name. Then I enabled custom permissions and set permissions only for this role. Short: As a normal user I want to have the ability to create a private book(s), that only I can see, without having to ask the administrator to create an extra role for that as a workaround.
OVERLORD added the 🔨 Feature Request label 2026-02-04 21:23:12 +03:00
Author
Owner

@Abijeet commented on GitHub (Mar 15, 2018):

Currently this,

I didn't figure out how it works, so I created another role with the same name as the user name. Then I enabled custom permissions and set permissions only for this role.

Is the only way to do it.

@Abijeet commented on GitHub (Mar 15, 2018): Currently this, > I didn't figure out how it works, so I created another role with the same name as the user name. Then I enabled custom permissions and set permissions only for this role. Is the only way to do it.
Author
Owner

@Shackelford-Arden commented on GitHub (Mar 15, 2018):

@Abijeet Are book permissions only set using groups? Could you not simply replace the group with the name of the user?

In terms of showing this in the UI, would it not be possible to add an option to show when creating a book. For example:

By default the toggle "selects" Public (no permissions override). If user toggles, available group permissions will show. Along with it an option to select "Personal" which simply uses the username of currUser for permissions.

Just spit balling here... Wish I had a better understanding of the innards to really help here.

@Shackelford-Arden commented on GitHub (Mar 15, 2018): @Abijeet Are book permissions only set using groups? Could you not simply replace the group with the name of the user? In terms of showing this in the UI, would it not be possible to add an option to show when creating a book. For example: By default the toggle "selects" Public (no permissions override). If user toggles, available group permissions will show. Along with it an option to select "Personal" which simply uses the username of currUser for permissions. Just spit balling here... Wish I had a better understanding of the innards to really help here.
Author
Owner

@Abijeet commented on GitHub (Mar 27, 2018):

@Shackelford-Arden - Technically, I think this would be possible with the current structure itself. We would create a hidden group with that user and would then give permission to that group to be able to access personal books.

We might have to look at any problems arising out of deleting that user itself. We would not want any orphaned books.

@Abijeet commented on GitHub (Mar 27, 2018): @Shackelford-Arden - Technically, I think this would be possible with the current structure itself. We would create a hidden **group** with that user and would then give permission to that group to be able to access personal books. We might have to look at any problems arising out of deleting that user itself. We would not want any orphaned books.
Author
Owner

@Bolthier commented on GitHub (Nov 14, 2018):

This is an idea I would like to see realized, too!

This task could be split up in two major ones:

  1. Add new attribute "Set Permission" for Custom Permissions (and Asset Permissions)
    Even without special user roles it would allow different roles to moderate different instances like books, chapters and even pages. This could even be applied to the default Asset Permissions. With the current Administrator role unaffected by these changes this shouldn't result in any orphaned instances. @Abijeet

Right now these are the only current permission settings which are applied to every single viewable instance:
A: Manage all book, chapter & page permissions
B: Manage permissions on own book, chapter & pages

  1. Add role type "User" for every user that gets registered
    These special user roles should be viewable in Custom Permissions with two options customizable in the normal role permissions:
    A: Manage custom permissions for all users
    B: Manage custom permissions for themself

Combined this should give users (if allowed by the Administrator role) the option to make any instance private. For this scenario to work as intended the website administrator should use different accounts for administrating and the daily use. Which is like most systems should work. For example in my BookStack application I created an additional Co-Admin role which allows me to "hide" any books or sites I don't want to see on a daily basis while retaining any other major permissions.

@Bolthier commented on GitHub (Nov 14, 2018): This is an idea I would like to see realized, too! This task could be split up in two major ones: 1. Add new attribute "Set Permission" for Custom Permissions (and Asset Permissions) Even without special user roles it would allow different roles to moderate different instances like books, chapters and even pages. This could even be applied to the default Asset Permissions. With the current Administrator role unaffected by these changes this shouldn't result in any orphaned instances. @Abijeet Right now these are the only current permission settings which are applied to every single viewable instance: A: Manage all book, chapter & page permissions B: Manage permissions on own book, chapter & pages 2. Add role type "User" for every user that gets registered These special user roles should be viewable in Custom Permissions with two options customizable in the normal role permissions: A: Manage custom permissions for all users B: Manage custom permissions for themself Combined this should give users (if allowed by the Administrator role) the option to make any instance private. For this scenario to work as intended the website administrator should use different accounts for administrating and the daily use. Which is like most systems should work. For example in my BookStack application I created an additional Co-Admin role which allows me to "hide" any books or sites I don't want to see on a daily basis while retaining any other major permissions.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#601