I'd like to get it all done in one big breakage to get to a new structure so the organisation of this crucial code is going to be stable and predictable going forward.
We're also just creating a new "project" in the bug tracker for all those contrib modules, to help them manage feedback and bugs in an orderly way. http://tracker.moodle.org/browse/CONTRIB
Any comments, suggestions, things I've forgotten?
I hope that the database view of the contributions will also get a lift at the same time. I mean the user-end of this. I am talking about, for example, capability to find all contributed modules which work in Moodle 1.5, or seeing all quiz question types available and which version they support, or all blocks that have to do with emails, or all minor patches available for standard modules in Moodle 1.6.
Right now, one has to sleuth through a list of all contributions to answer such questions, and some of the info is simply hidden. For example, the Book module is available for Moodle 1.5 but one can see it only after looking at the description. The database list states 1.6 at least.
I wonder whether it would be worth to distinguish contibutions with on-going support and indicate those which are obsolescent or not supported/developed anymore. It could be just an additional attribute. Right now one can deduce this from links to a forum or a thread but there is no commitment implied and developer contact provided. There is "record added by" but this is not always the developer, cf. the Book module. There is also "maintainer" but at least in some cases this is a submitter rather than developer or maintainer. And while there is a link from person adding record to contact him/her, there is no such a link from maintainer.Since maintainer is not always the developer, these should be listable independently I think.
Rather than creating a new attribute, may be "status" should be expanded to allow more options than standard and 3rd-party. For example, Journal is not really 3rd-party since it used to be part of core Moodle. But then may be "status" should be used to reflect the support status and have a new attribute to indicate contribution type, as in standard or 3rd-party. May be rather core than standard to indicate that a given module is part of the core distribution.
Extending the database module with new features will take some work, however, and might take a while (particularly now with a lot of other work happening).
The quality of the data in there is dependent on the information supplied. if you or anyone else wants to volunteer to have access to update/maintain that data, please let me know. Giving you write access to all records is trivial now with Roles.
Just a note: The maintainer is the developer responsible for final decisions on that module and for prioritising fixes and new features in the tracker (and that is probably the best record of maintainers that we have). It's assumed that there may be many developers contributing.
sounds great! - I Like the place in the tracker for contrib stuff, and the restructuring!
Who will maintain the list of components in the tracker contrib project - will there be a "component" for each item in Contrib?
could we also add a new attribute to the modules and plugins database that links to the tracker items specific to the component? - this would be good for standard items as well as the contrib ones!
The breakdown by item typ (blocks, modules, questions, etc) has got my vote as an absolute 'need to have'. The brancing is also good.
I do agree that the area needs to be maintained. There are so many projects in there that have died, are incorrectly named or that just need a good restructuring themselves.
Possibly the creation of a page in moodledocs on standards for maintaing the cvs would be a good idea.