I'm considering setting up Drupal for use by a school. I wanted the teachers to be able to post information to keep the parents "on board" with what is going on in the classroom (assignments, events, etc). I thought that the blog feature of Drupal would be particularly useful for this purpose. I'm not that familiar with the permission scheme in Drupal, so I'm going to borrow some terminology from Linux. (PS I have several years experience in LAMP web applications, so go ahead and get technical).
I need to have all content be moderated by a school-level admin. Generally, this person would not be involved unless there was a need to get him her involved (inappropriate content, for example). They would have the power to set up a page for each classroom and/or special project and assign permissions as described in the next paragraph.
I would like to have each classroom as a "group" with one classroom_admin responsible for administering their classroom's content (creating the content on the main page for the classroom, etc.), and several possible "users" (classroom_contributors?) who would be allowed to post content to the pages that classroom "owns" only. A possible variation of this idea would be that the classroom_admin would preview all posts before making them public.
I need to have each blog protected from other classroom_admins/contributors.
This could be scaled out to host all of the schools in our town, eventually, so I'd like to set out with that in mind. I'm thinking that I would need just a couple roles defined, one for the school_admin to oversee all posts for that school, a classroom_admin as described above, and classroom_contributors.