I'm trying to give certain users the ability to change the membership of certain teams. For example, a department head oversees several workers, all of whom are part of various teams in order to direct notifications and ownership of records. The membership of these teams can change often, so the department head needs to be able to change them without contacting an admin each time.

Here are the possibilities I have so far:

  1. Give permissions via a "Team Editor" role. However, we only have on business unit, so anyone with this role would be able to edit teams with more security in place and I need them to only be able to edit certain teams that they oversee.
  2. Edit the Ribbon for the Team Members subgrid so that the Add/Remove buttons only appear for certain users (i.e., users in a "Team Editors" team) AND only if they are members of the department team (i.e., department head is in the DEPT Team and can control DEPT Sub-Team1, DEPT Sub-Team2, etc., but not other teams).
  3. Create a new table specifically for editing teams. The user will choose from a list of users in their DEPT Team and a list of Sub-Teams to add/remove people. An HTML/Ribbon button will run JS that will do the adding/removing.
  4. Same as #3 except just create new fields in an existing table (Team/Contact/User/etc) that do the same thing.

Any thoughts? Obviously the simpler the better but this seems like it will be somewhat complicated no matter what.