enter image description hereI am developing a user management dashboard for a client and part of the use cases will be to assign roles to newly uploaded users. For example user A could be a buyer on the platform and or seller. I am trying to work around the best way to make it user friendly as you could have multiple users with the same attribute and having to select the same attribute for each and every user would be tedious. If I am to put an apply all feature how would I go about it in the best possible way?

EDIT :I added a sketch of what i have been able to come up with so far, hopefully that helps. The Top panel would be populated by all the available attributes which can be applied on one go to the all the columns in the table however the user would still have to go through each and every record selecting roles that might be unique to that particular record for example as illustrated James is an admin user.

  • 2
    What have you tried so far? Please show some visual work (sketches or something similar).
    – Nash
    Commented May 31, 2021 at 19:06
  • Hie Nash ,apologies for the late reply ,hope thats helps
    – boomeran
    Commented Jun 1, 2021 at 8:15

1 Answer 1


There are a number of solutions, and your app may implement more than one to provide greatest convenience to your users.

Role Groups. If there are a relatively small number of common combinations of roles (as determined by user research), you can include canned “role groups”. Each role group represents one combination, such as “buyer” and “seller,” which together make an “exchanger” role group. The system lists role groups with individual roles, and the admin adds a role group to a user record just like a role, only doing so adds all the constituent roles to the user. You can expand on this by supplementing the "default" role groups with an ability for admins to create and edit their own role groups, borrowing UI designs for making email groups. This only works if there are certain groups that are repeatedly used across sessions. It doesn’t make much sense if the admins have to create yet-another-role-group each time they add some users.

Tag and Assign. This is good when the task is typically copying a one or a few roles to many users. The system allows the admin to “tag” or check off one or more users (e.g., with a Tag menu item or a checkbox), then a centralized “Assign Role” menu allows the admin to select roles to assign all tagged users. This can be done one role at a time through menu items, but you could also provide an ability to open a dialog box where the admin can select multiple roles (with checkboxes) to assign to all tagged users. This fits well if the system is going to have a tagging ability anyway for other commands (e.g., delete users, deactivate users).

Copy and Paste Users. This is good when the task is to copy many roles to a one or a few new users. The admin sets up one user with a certain set of roles, and maybe other attributes, then copies that user to make new identical users. This can be convenient because often there already is a user with the right combination of roles (a user who is retiring) that the new user (his/her replacement) should have. The system could allow the admin to paste an existing user to a “blank” user to create a new user with the same attributes. Assuming your admins are familiar with desktop conventions, copying and pasting is best be done with the standard Copy and Paste menu items in the Edit menu (along with Ctrl-C, Ctrl-V). You’ll need some way to select an entire user for copying (e.g., an object control). However, if this is a web app, you may not want to mess with the browsers Edit functionality for technical reasons, and thus need to create and display explicit buttons or menu items specifically for user-record-copy-and-pasting, perhaps using the same tagging feature as above to specify the user record to copy.

Tag and Duplicate. Sometimes you only need to copy a subset of roles from one exemplar user to multiple new users. With Tag and Duplicate, the admin tags the new users as described above, then scrolls to the exemplar user, puts the cursor in each role to duplicate and selects a Duplicate menu item or button. This adds the current role to all tagged users. The admin repeats this for every role to duplicate from either same exemplar user or another user. If you have a keyboard shortcut key for duplicating (like Ctrl-D), this can be relative easy even for several roles. It can be in addition to Tag and Assign, where its main advantage is the admins can be sure they’re getting all the right roles from the exemplar users to the new users. It can also be instead of the relatively space-intensive Tag and Assign feature: the admin sets up one user “manually” then tag and dupes to all remaining users. It is, however, a relatively unusual design, so it’s probably best if admins are well-train and/or experienced with it.

Copy and Paste Roles. The system represents the roles as selectable (and multi-selectable) objects which the admin can copy and paste to other users. The admin creates an exemplar user “manually,” if it doesn’t already exist, the selects or multi-selects (by Ctrl-click, shift-click, or dragging) the roles to copy. The admin the selects or multi-selects the new users and a single paste copies the role(s) to the new user(s). This provides the ultimate flexibility: one role to many user, many roles to one user, many roles to many users. To avoid a proliferation of controls, this ideally should again work with the standard Copy and Paste menu items and shortcuts. The system needs to make it clear what’s selected, then what gets copied is whatever is selected, whether it’s a whole user record (Copy and Paste Users), one or more roles (Copy and Paste Roles), or a block of text. However, this can be technically challenging to implement in a web app, and again, you may have no choice but make explicit dedicated controls.

Copy and Paste User and Copy and Paste Roles can be generalize to all pages/windows throughout the app to support general copying and pasting of multiple attributes and whole records/objects. IMO, every intensively-used database front end should have these features.

  • Thanks a lot Michael , That was really helpful , i think i will try going with the tag and assign option and see how it goes, Thanks again!
    – boomeran
    Commented Jun 1, 2021 at 16:57

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.