I am currently developing a User management Form.

Each User can be assigned to multiple Roles. I would create this as 2 Listboxes with one showing all selected Roles and the other all unselected ones.

Now while there some standard roles (Admin etc.), there are some Roles that require a Parameter. For example: A User should have write access for Product A and Product C but not for Product B, without having a Role for each Product (we got a lot of Products). So my thought was to simply have a Role called "Write Access For Product" and have that Role parameterized with the Product. This Role can be applied multiple times for a User.

How should such a form be designed?

  • How many products are there, approximately?
    – Matt Obee
    Oct 12, 2012 at 10:10
  • Between 30 and 50 but there are often new products added
    – TheJoeIaut
    Oct 12, 2012 at 10:13

2 Answers 2


I would do something like the below. When editing a user, allow individual (multiple) roles to be selected. For roles that require individual product selection, reveal a list of products. I would include a keyword search/filter to make this easier if the list of products grows much longer.


download bmml source – Wireframes created with Balsamiq Mockups


How you solve this depends on what the most common cases are.

What you have is a three dimensional problem. People, products and roles. Showing all three dimensions at once though probably isn't necessary. I'm guessing roles are pretty static, but people and products will come and go. When you get a new person, you'll want to assign a bunch of roles over a range of products, and when you get a new product you'll want to assign the roles for it to a bunch of people.

This sort of interface would work so long as you don't have too many roles. You show one or other of the panels below. So lets say adding a product you'd link to the right hand view from the add product interface, but you could flip to the left hand view just by clicking a person link, which would take you to the left hand interface. The add user interface would take you directly to the left hand view in a similar way.

I've used this for an interface with about a dozen roles. Past that it can become a little cumbersome. Non-product specific roles would appear on the person view, like the admin checkbox for Bob below.


download bmml source – Wireframes created with Balsamiq Mockups

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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