I'm about to start planning and coding a load of enhancements to the assignment module, which will eventually end up being released into the wild and I need to know if anyone has any input on good ways to achieve them.
This is a project funded by the UK Higher Education Funding council, so it's going to be primarily focused on the needs of UK universities, but I'd like it to be flexible enough that it'll meet the needs of any university in the world. The specific focus is on making a configurable workflow so that Moodle can be used to manage all submitted work for a degree course, which in the UK needs to be assessed in ways which Moodle currently can't handle very well, e.g. anonymous marking, marking by multiple tutors, grades only released to students after moderation in an external system etc.
Naturally, I want to do this in a way that can be added cleanly as a new module or assignment sub-type, but this looks like being difficult given the functionality I need to add, so I may end up with quite a chunky core patch and/or a fork of the assignment module. This idea may help to reduce the amount of core hacking significantly of course, but suggestions on how to make integration/maintenance easier are welcome.
So...
Some questions:
- Are there are any current plans for refactoring the core assignment module for 2.1 or beyond?
- Who is currently maintaining the assignment module? The forum doesn't have the usual header saying who to contact.
- I'm more than happy to work with the core team to make these things available for everyone, so which, if any, of the features below look like good candidates for enhancements to the existing assignment module, rather than a fork or a new subtype?
- Any suggestions for the best ways of coding or not coding any of these?
Rough list of features (proper spec to follow)
- Anonymous assignment marking (possibly via an API that any module could make use of)
- Multiple markers for each assignment, with automatic aggregation of the component grades and the facility to override the aggregates if needed
- A single file can be submitted by a group of individuals who will all receive the same marks
- Restrict publishing of grades to students until approved of by a manager e.g. Department head
- Allow the institution to force assignment uploads to be stored in a specific repository (security and diskspace cost management)
- MIS integration (grades export cleanly via webservices etc)
- Assignments can be flagged as contributing X% of the final unit grade, which then automatically triggers multiple marking
- An admin interface to manage the workflow of submit->grade->moderate->publish across the entire site as well as constructing the degree transcript at the end.
All comments appreciated !