Hi Oleg,
Thanks for posting your frustrations. Many users also have frustrations using old or incorrectly-written (and sometimes very dangerous) plugins too, which is the main problem we are trying to address.
It's by no means perfect yet, but I switched to the new system already because I thought it was important to have something that we could ALL criticise and work on and improve, so thanks for your feedback.
I want this to be a really high-quality and reliable database that we can base automatic upgrades on later, that's the main reason why we have the validation process. Modules that do not conform can still be used and published elsewere, but this database needs to have a high standard to avoid problems in the future. The automatic validation gives this guarantee while also speeding up the initial approval process for new plugins (even so, there are currently 19 plugins with OTHER problems keeping them from being approved).
A few thoughts:
Firstly, the same rules do apply to everyone. All of the plugins in core have been upgraded quite a lot since 1.9 to make them conform, and this is an ongoing process. Nothing new gets into core without conforming. And quite a few of the core developers have also posted their own non-core plugins to the database.
Secondly, yes, our dev documentation sucks. So much so that we have started an internal project at Moodle Pty Ltd to which will devote all our developers for all of January 2012 to rewriting the entire Developer Docs to make them useful, clear and relevant. There are three main legs to this:
- new overviews and introduction docs,
- detailed consistent API docs, and
- an overview/howto for each type of plugin (there will be links to these from each category in moodle.org/plugins)
Thirdly, plugin dependencies were something we added in 2.2, and the Plugins database also supports Sets to link groups of plugins together. I think it makes sense that developers enter and describe them individually, but something to download a set at once would be a good feature, I think.
Fourthly, we require the code to be uploaded to the database to make sure that we always have the exact bytes that are being rated, evaluated, talked about etc. It's like apps in an apps store. Links to auto-zips are just too prone to security problems, regressions and download problems. It's better for users that you have a defined release process, especially once we have the "Check for updates" feature in Moodle 2.3.