These are all the things I was looking forward to considering. (BobRay, your reference to your book is what started this whole process for me... *lightbulb*).
As for manager teachers, the interface would need to have fields to edit modUser data, as well as custom user data in a single screen. So my first thought was that it would be easiest to extend the UserCreate/UserUpdate panels. But as pointed out, this could have impacts on other parts of the site.
If I created a CMP, I would be pulling ModUser data fields anyway which on the surface seems redundant if this type of interface already exists. BUT I am just not very aware of the data access needs/differences between a CMP and extending ModUser.
I know currently all the teachers are represented by a Resource (
http://www.oakhilldayschool.org/school-directory.html), but I am not happy at all with that solution as my Resource tree is out of control with pages.
I will give the extend ModUser + MIGXdb a swing this afternoon, then give the Plugin approach a try to see which fills my need (and can be packaged up for other sites I work on).
BTW: The live site is currently running Revo 2.2.0, but i am developing this EmployeeDirectory 2.0 in Revo 2.2.2