The new messaging system is based on the idea that the user should be able to control which of the messages they receive go through with route. (If you are not familiar with this, in your Moodle 2.0 test install, go to your profile, then click on the messaging link in the settings block.
That is OK, so far as it goes, but there are some situations where the admin legitimately needs some control. Here are the two scenarios I have in mind:
A. According to instituational policy, notification of quiz submissions need to be sent through a custom messaging system that integrates with the student portal and logs all messages, so it can be verified that a students have been sent the "you have successfully completed your quiz" email.
B. The institution has signed up an SMS service, so that students can receive some notifications on their mobile. However, this service has a cost attached, so users should never be allowed to ask for forum notifications, or other high-volume things, to be sent over SMS.
I think that these are both reasonable requirements. My proposal for how to implement them is:
1. Create a new bit in the admin menu: Admin -> Plugins -> Notification methods -> Manage notification methods. (Why does this not exist already?)
2. Once that exists, move the settings that are currently on Admin -> Server -> Email and Admin -> Server -> Jabber, to Admin -> Plugins-> Notification methods -> Email and Admin -> Plugins-> Notification methods -> Jabber. (This is not strictly necessary, but seems logical.)
3. The Manage notification methods page should be a big grid, laid out the same as as the messaging settings in the user profile. That is, there is a list of message types down the side, and Notification methods across the top. Inside each cell of the grid the grid, instead of a checkbox, there should be chice of 4 options: Not allowed / Allowed, off by default / Allowed, on by default / Always used.
4. The messaging settings page in a user's profile must be updated to behave appropriately when the admin has set some combinations to Not allowed or Always used.
5. The messaging library must be updated to ensure that the admin settings are always enforced.
6. Extend the format for .../db/messages.php files in each plugin, so that the plugin can set defaults for the admin settings described in 3. above. (Not sure if this is necessary. If it is done, it must be done in a backwards-compatible way.)
Does this seem sensible? If we do this, would it be accepted into Moodle 2.1?