As the discussion here seems more on a usability level then development level I am not sure if these comments go here or should go elsewhere (Dev forum, MDL issue?), so feel free to point me elsewhere.
What I am missing is the extensibility of the new assignment module.
All I found was that it was deemed an 'Optional requirement'.
The system I currently work on has quite a bit of core changes.
A good number of these are in the code that handles the way an assignment is implemented.
All of that was done, just so I could change part of the mod_form for an assignment, have it submit to my slightly changed submit/data processor and restyle the L&F of the form.
I had to tinker with the /course/mod_edit.php because there are hardcoded paths in there like;
$modlib = "$CFG->dirroot/mod/$module->name/lib.php";
$modmoodleform = "$CFG->dirroot/mod/$module->name/mod_form.php";
redirect("$CFG->wwwroot/mod/$module->name/view.php?id=$cm->id");
I had to add code to change the value of $module->name back and forth in specific places.
Because of this I also had to create a new module which extends the standard assignment module. But because there is no real way to extend the standard assignment, I had to copy a lot of code and make it call the standard code. The lib.php of this newly created module is a good example of what I would have liked to avoid;
require_once(dirname(dirname(__FILE__)).'/assignment/lib.php');
function mymodulenameassignment_supports($feature) {
return assignment_supports($feature);
Now if I could have extended the assignment module class, only change those parts I needed to, and if there would have been 'factory functions' to generate the above mentioned hardcoded paths, which I could then also have overridden where needed,
my guess is that the assignment module would have been flexible enough to easily extend it to do just about whatever without needing full copies or the subtypes.
Oh, and another feature I would like is to have the mod_form use a renderer I can override where needed
Is any of this implemented, if not are there plans to, or am I just missing something and is this flexibility/extensibility really not needed?
Anne.