I’m trying to set up a system where an admin can edit the permissions of many users in an app. There may be 1000 users in the app and there may be 10-20 permissions. Permissions would be things like:

  • Can a user edit files
  • Can a user delete files
  • Can a user create discussions
  • etc.

So usually the permissions are yes/no when phrased as questions — so a checkbox can be used here.

The idea at the moment is to use a table which would display a left column with the list of users, and a table header that would display the permissions horizontally.

The table header would be fixed so you could scroll vertically and still see the permission that is checked/unchecked. The left column with the users would also be fixed so when scrolling horizontally you can see which permissions apply to which user.

Here is a mockup to illustrate this idea:


I think this is a good idea but I was wondering of there was any other effective approaches to this type of problem? Any suggestions on how I could improve this/approach it a different way would be great.

  • Also, what's the program you used to mock-up your idea? I'd like to check that out. – Tyzoid Aug 11 '14 at 22:07
  • You could consider grouping permissions by read/write/execute (like Apache) or read/write/delete (like Windows) – ArtOfCode Aug 11 '14 at 22:30
  • @Tyzoid I used Balsamiq Mockups to create the mockup. – jean_canneberge Aug 12 '14 at 8:07

Funny you should ask this, because this is almost exactly the same approach I have in my web application.

To make it easier on your administrator, have a search box at the top that accepts either username (i.e. email username/login username) or full name. Then, when the administrator needs to manage a particular user, he/she searches for the user's name and adds it.

Also, ask yourself if you will only have a limited number of permissions. If your permission count goes up, will you be able to fit everything in one table?

In my application, I have a modular concept of groups, where a group can be added/removed at any time. Permissions are assigned to the groups, and users are assigned to the groups. It looks roughly like this:

| Permission | Group A | B | C |
| Edit Files |     ☑   | ☑ | ☑ |
|Delete Files|     ☑   | ☑ | ☑ |
| Add Files  |     ☑   | ☑ | ☑ |

Then, the users/group matrix looks exactly like you have in your mock-up, except where you have permissions, I have groups of permissions.

| improve this answer | |
  • Okay thanks. I would vote your answer up but I only have a reputation of 11 :-D – jean_canneberge Aug 12 '14 at 8:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.