I have a situation where I need users to be flagged as "Instructors" on a site. That role should basically be whatever the user's current role is with the added capability to see comments from students on a custom post type called "Questions".
I'm struggling with how to implement this conceptually. Should I just add a new capability and have it assigned by itself, or should I add it and assign it to a new role as well?
From kaiser's resources, it appears I should just add the custom capability and assign it to users on an individual basis, perhaps from my own plugin's options/settings admin page, as opposed to creating a specific role[/edit]
What happens if I change the user's role to something else (say from Admin to Editor) but still want them to have that capability? Is this a fairly easy thing to program in a custom plugin (which is where I'm doing all of this from), or is this going to be a monumental undertaking?
The following are my main questions;
What is the underlying logic when switching user roles from one to another?
Do custom capabilities that were assigned carry over when switching user roles, or does the new role assignment overwrite anything else?