New Assign module contains hooks for two types of plugins: "submissions" and "feedback" plugins. In addition, the module offers a "batch grading operations" menu, with only 2/3 hardcoded actions and no provision to extend it.
We at ULPGC do think that such extensibility is needed. In the last 4 years we had developed custom scripts to perform such tasks as import raw grades to an Assignment, copy rawgrades for a subset of students from an Assignment instance to other (for instance, when students should keep grades between several sections of a course), set a grade to a batch of students submissions (for instance, empty submissions). Those are a great time saver for busy teachers. We had added them to the "actions" menu of old assignment grading table. But not in a pluggable way.
Now Assignment refactoring, with several types of subplugins, calls for refactoring this into pluggable code.
"feedback" plugins are supposed to manage new grading methods or
We propose to create a new assign subplugin class in "action" folder. Those plugins will be added to the "batch grading operations" at definition of mod_assign_grading_batch_operations_form (passing new options as array in customdata).
In assign class a new hook will be created in function process_batch_grading_operation() calling to new process_batch_plugin_operation($data) that would take care of calling appropriate methods in action plugins
We are committed to introduce these features on our customized copy of moodle 2.3 to re-implement our old 1.9 customizations to Assignment in this way.