Allow users to create groups of other users and grant permissions on objects to them
My idea is basically to be able to set groups for users and in the model/collection/library/etc you can specify which group can see what.
Example User 1 has group 1 User 2 has group 2 User 3 has group 1 and 2 User 4 has group 3 Model 1 is only visible for group 1 Model 2 is only visible for group 2
Expected behavior: User 1 can see model 1 but not model 2 User 2 can see model 2 but not model 1 User 3 can see model 1 and 2 User 4 can't see model 1 nor 2
Describe alternatives you've considered The more work intensive alternative would be, to add/remove in every single model the users.
So, the underlying code can do this already, we have built-in roles which have permissions. So we'd need to add a way to create new roles and then assign permissions to them, then a way to manage users and groups that's friendlier than the advanced admin UI. Would certainly be a nice feature!
True. Now where you mention it. But yeah having custom roles would be great.
This will definitely be needed for commercial creators to be able to manage groups of users who've bought various levels of access.
https://deadsuperhero.com/the-fediverse-and-content-creation-monetization/ wrote about this stuff, and prompted a link in my head between permissions and circles (or groups), so I think I will actually implement this NOT using the current role system - we'll keep that exclusively for permission grants. Then we can add a new Group type and make that available to users to manage. Groups can have permissions on things, but also users can have permissions on them, so people can share management responsibilities.