Development:Workshop 2.0 specification
Template:Moodle 2.0 This page tracks and summarizes the progress of my attempt to try and rewrite the Workshop module for Moodle 2.0 (yes, yet another attempt).
PROJECT STATE: Planning
Introduction
TODO: some short summary of what workshop is and what it does. The module with a huge pedagogical potential. The key features are:
- advanced grading methods (criterial evaluation)
- peer-assessment
Current implementation problems
- Very old and unmaintained code - the vast majority of the code is the same as it was in Moodle 1.1. mforms are not used (accessibility). Missing modularity. No unit testing.
- Does not talk with the Gradebook - there are some patches around in forums fixing partial problems.
- User interface and usability
- Grades calculation is kind of dark magic - see this discussion. It is not easy to understand the way how Workshop calculates the grading grade even if you read the code that actually does the calculation. More than that, the whole algorithm depends on a set of strange constants without any explanation or reasoning of the value. The grade calculation must be clear and easy to understand to both teacher and student. Teachers must be always able to explain why students got their final grades. Therefore the plan is to get rid of the fog above the grades calculation, even if it breaks backward compatibility.
- Lack of custom scales support - see this discussion
- Phases overlapping, balancing, overall allocation issues - see this discussion
Project analysis
See the project analysis mindmap
Project schedule
TODO: copy milestones form the mindmap
User interaface mockups
Implementation plan
The structure of the code
Files, libraries, interfaces, classes, unit tests
DB tables
Capabilities
File API integration
How Workshop will use the new File API.
Repository/portfolio API integration
If and how will be implemented.
Grading strategies
Pluggable submodules in mod/workshop/grading/xxxx/. Implement grading_strategy interface. Basically provide grading form and way of grade calculation. During the current phase, four strategies will be implemented (the names are to discuss)
No grading
Just comment(s)
Accumulative
Number of errors
Currently called Error banded
Criterial rubrics
Merges the current Rubrics and Criterion strategy into a single one (basically, current Criterion is an one-dimensional Rubrics)
Out of scope
What are not goals of this project (may be discussed later for 2.1 etc.)
- No new/other grading strategies are to implement in the current phase
- No new Workshop features will be implemented (if possible)
- No group grading support
To be discussed/decided
Other links and resources
- MDL-17827 Workshop upgrade/conversion from 1.9 to 2.0 (META)
- Yet another attempt to rewrite Workshop for 2.0 forum thread
- New Workshop Module forum thread
- the new workshop module forum thread
- a lot of interesting feature requests
Credits
Many thanks to Stephan Rinke for his valuable comments and ideas.