Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Assignment

From MoodleDocs
Revision as of 05:36, 22 November 2011 by Minh-Tam Nguyen (talk | contribs)

Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.

Assignment module
Project state Scoping
Tracker issue TBA
Discussion TBA
Assignee Netspot

Moodle 2.3


Project goals

To redevelop the Moodle Assignment Module to address common problems around usability and extensibility and to implement web services to ease integration with third party tools.

The following four problems have been highlighted requiring attention:

  • The four core subtypes are confusing to new users, and are in fact all very similar.
  • There is no good support for team-based assignments.
  • The support of subtypes makes it slightly easier to write new assignment types but also makes them less flexible, and so people tend to create hacks
  • Third party tools such as Lightwork and the Moodle mobile app require the use of web services to be able to access all functionality of Moodle

These goals are to be achieved by collapsing the four assignment subtypes into one assignment type which supports:

  • Teacher-written text to students
  • Teacher-supplied files to students
  • Student-written text for teacher
  • Student-supplied files for teacher

The assignment activity should support groups and groupings not just from the teacher perspective (for grading purposes) but also for students, such that, if desired, teams of students can submit assignments by sharing uploading to a common file area and entering text into a shared text response. A grade for a group submission would apply to all students but would allow manual overriding for individual students. This may be achieved though a new setting in the assignment module.

Logging of activity in the assignment module will be even more important than previously if multiple students can modify each others' (common) work.

The framework of the assignment module should allow for other activity modules to declare themselves "Assignments" such that they can be grouped in the UI if required.

A facility will need to be provided (through lib/assignmentlib.php) to convert assignment from the old four-pronged Assignment module to the new Assignment module with the appropriate settings.

The Assignment module needs to provide web services which allow other tools to view, contribute, submit and grade assignments.


Use Cases

Mock-Ups

Implementation Plan

Database Schema