I was originally thinking a group’s Roles would be arranged in a hierarchical format, each sub-Role inheriting default permissions from the one above it, with local changes. But it was the local changes that made it too complex.
What if, instead of granting further permissions, a sub-Role took some away. If being in multiple Roles wasn’t forbidden, then it wouldn’t be possible to tell whether a person could or couldn’t do something if they were in one Role that allowed it and one that didn’t.
By going flat, not only is the whole layout easier to see and manipulate (a list instead of a tree structure), but you can go with purely additive permissions, since you never have to take one away that was granted in a higher Role.
I thought I’d give an example of a flat group with members in multiple Roles, just to give a taste of how this would… Well, not look per se, but feel. Here it is, fully expanded. (Normally, each section would be closed until you twiddle it open.)
(I went with an example that didn’t use Second Life permissions, just to keep things clear and abstract.)
- Family (all members)
- Permissions
- Allowed in Living Room
- Members
- Daddy
- Mommy
- Teen
- Toddler
- Cat
- Dog
- Small Ones
- Permissions
- Allowed to Sit in Parents’ Laps
- Members
- Cat
- Dog
- Toddler
- Cats
- Permissions
- Allowed on Couch
- Members
- Cat
- Dogs
- Permissions
- Allowed Outside
- Members
- Dog
- Kids
- Permissions
- Allowed on Couch
- Allowed to Watch TV
- Allowed to Play with Toys
- Members
- Teen
- Toddler
- Teens
- Permissions
- Allowed to Stay Up Later
- Allowed to Borrow Car
- Members
- Teen
- Parents (founders)
- Founders (all permissions)
- Members
- Daddy
- Mommy
- Add New Role
.
And here’s the list again but with just about everything collapsed except the first section. The items with comments in parenthesis next to them are special entries. One is the “(all members)” list that always exists and always contains every member of the group. Removing someone from this Role would open a confirmation box asking if you are sure you want to eject that person from the group. The other special Role is marked with “(founders)” and always exists. When created, only the creator of the group is in this Role, and there always must be someone in it. It has full permission to do everything.
[ I thought about letting the founder permissions be edited, except for the permission to edit the founder permissions themselves, which must alwasys be on (or the group would seize up permanently). This would let the founders turn off certain abilities as a “good faith” gesture to the group’s members… But it would be a hollow gesture, since they could always re-grant such permissions, use them, then turn them off again. Best to keep it clear that they can do anything to the group at any time. After all, SOMEONE has to be able to. ]
Clicking the toggles what’s under that item open, and clicking the closes it again. Shift-clicking a closed section opens it and all of its sub-sections, so you can expand everything quickly. Clicking a will add a new item to that section, either a new permission or new member — each opening a menu to pick from a list. Clicking a will delete that item.
.
- Family (all members)
- Permissions
- Allowed in Living Room
- Members
- Daddy
- Mommy
- Teen
- Toddler
- Cat
- Dog
- Small Ones
- Cats
- Dogs
- Kids
- Teens
- Parents (founders)
- Add New Role
Next: A Lot to Go On
One Comment
Awesome visual representation and this is how I want groups to work too. Would eliminate alot of double groups for one actual group, etc.