Note:

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

Assignment: Difference between revisions

From MoodleDocs
No edit summary
Line 1: Line 1:
This page describes development work on the Assignment module, hopefully for Moodle 2.2.
{{Work in progress}}
{{Infobox Project
|name = Assignment module
|state = Scoping
|tracker = TBA
|discussion = TBA
|assignee = Netspot
}}
{{Moodle 2.3}}


==Overview==
== 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.


===Problem 1===
The following four problems have been highlighted requiring attention:
The four core subtypes we have are really confusing from a GUI point of view for new users, and are in fact all very similar.
* 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


SOLUTION:
These goals are to be achieved by collapsing the four assignment subtypes into one assignment type which supports:
Collapse all these four into a single new assignment module that can support any or all of these at once:
* Teacher-written text to students  
* Teacher-written text to students  
* Teacher-supplied files to students
* Teacher-supplied files to students
Line 13: Line 24:
* Student-supplied files 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.


===Problem 2===
Logging of activity in the assignment module will be even more important than previously if multiple students can modify each others' (common) work.
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.


SOLUTION:
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.
# Remove subtypes from the default assignment module and implement all core features as above.
# Allow normal activity modules to declare themselves as "Assignment" modules (similar to resource modules) so that the GUI can group them if required.
# Provide lib/assignmentlib.php with some core classes to help the migration of subtypes to become full modules.


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.


===Problem 3===
The Assignment module needs to provide web services which allow other tools to view, contribute, submit and grade assignments.
We have no good support for team-based assignments.


SOLUTION:


# Support course groups and groupings.
== Use Cases ==
# Add a switch to settings to "Enable team assignments" which will allow users in groups to share one file area and one text response per group. 
# Add good logging of changes made by the users.




===Problem 4===
Implement web services for all functionality of Moodle to support LightWork and mobile


==Details==
 
 
 
== Mock-Ups ==
 
 
 
== Implementation Plan ==
 
 
 
== Database Schema ==

Revision as of 05:36, 22 November 2011

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