Multiple User Roles

A particular school can setup unlimited number of school roles and assign users to them. The access to roles can be defined among the list of all actions. By default, the school is added with few fixed roles with common privileges. The default roles are Administrator, Teacher/Instructor, Counselor, Student, Parent and Staff. Each are given the generally required permissions. But the school can always modify these permissions, add new ones and delete the existing ones. You can also reset the permissions to the system default later. With this approach, any kind of personnel or staff can fit into the whole system.