One of my pet peeves with SharePoint is the People and Groups pages. These are pretty damn complicated.
You typically get groups for:
- Owners
- Members
- Visitors
And often you can have
- Approvers
- Moderators
- Designers
- Individual users granted rights directly on the site (rather than being in a group)
… and so on. And if individual sites start to break from inheritance and define their own groups, you get even more groups. It’s possible (especially if the administrator of the system doesn’t understand what they’re doing – which is often the case) to end up with 3 times as many groups as sites!
Frankly, this is enough to confuse me, never mind users. Trips into the People and Groups pages often takes me some time to understand what I’m seeing. And the worst part is that often users just want to be able ‘Give Fred access to this site’. They don’t care about other groups or other sites, permissions levels, or any of that jazz.
The case management system we’re working on at the moment has this sort of requirement. Each case is a site, and we want ‘Case Owners‘ to be able to add/remove ‘Case Owners‘ or ‘Case Workers‘. They don’t need access to other groups. They don’t need the ability to send emails, call people, remove users from the site collection, or any of the other (confusing) options on the menus. So, I built my own administration pages…
It appears similar, initially – but the navigation on the left is the same as for the rest of our case site. Only the relevant groups (“Case Workers” and “Case Owners“) are linked to on the left, and these links are only shown to users who can edit the groups (Home and Audit aren’t related to people and groups). Also, the menus on this page only let users add or remove users – which is all they should need to do.
I’ve also simplified the ‘Add User’ page. Normally it looks like:
Yup – big and confusing, asking what rights to give the users, and so on. But all our ‘Case Owners’ want to do is ‘Add Fred to Case Workers’; knowledge of the individual rights would just confuse. So, I built a simpler ‘Add User’ page:
It just adds users to the appropriate group; you don’t have to worry about sending emails, or assigning individual permissions, and so on. Much tidier.
Obviously, you can still use the SharePoint People and Groups pages, but I think this offers an interesting way of providing a much simpler experience for users. Naturally, you need to consider if such a solution would actually work in your solution, too. And this stuff doesn’t even look at List/Item level permissions. But I hope that stimulates some thoughts…
Andy,
Great concept. I like the screenshots with South Park figures. Can you speak more about how you did it? I like the end result, but I’m too lazy to try to figure out where you are making the changes.
Thanks, Tom
Sure. I’ll try and knock up a blog post about it over the weekend. And yup, I’m pretty happy with it too.
Turns out I’m not the first person to consider how to simplify the permissions stuff: Ton Stegeman has an couple pf interesting posts, but providing a different sort of solution.
http://www.tonstegeman.com/Blog/Lists/Posts/Post.aspx?ID=100
http://www.tonstegeman.com/Blog/Lists/Posts/Post.aspx?ID=105
Is it possible to view a list of groups that a person is a member of? For example, can SharePoint User C get a list of groups he is a member of?
Thank you, nice job.
Hmm. Not sure that you can do that through the user interface, out of the box, but the SPUser.Groups property does let you get this information through the object model. You could write your own control for it.
http://msdn.microsoft.com/en-us/library/dd586389(office.11).aspx
Or, according to this link, maybe SPUser.Groups isn’t the best idea:
http://social.msdn.microsoft.com/forums/en-US/sharepointdevelopment/thread/1c623803-7b46-4528-8526-6ae97ada0067
This is fantastic, Andy. I’m all in favor of simplifying the SharePoint UI. Can you give a quick hint as to how you did this? I’m about to embark on a similar task, and I’m curious how far I’d be able to get without cracking open Visual Studio.