Note:

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

Course completion: Difference between revisions

From MoodleDocs
No edit summary
Line 29: Line 29:
===Manual===
===Manual===


The teacher controls completion via a special page which is simply a list of all students with checkboxes next to their page.  I suppose this might be useful as something separate from the gradebook (and just manually putting in 100 or something for each student as an override grade).
The teacher controls completion via a special page which is simply a list of all students enrolled in the course with checkboxes next to their name.  I suppose this might be useful as something separate from the gradebook (and just manually putting in 100 or something for each student as an override grade). Also, the list of users should be sortable, searchable, and filterable (by group, groupings, and/or user profile fields).


===Any combination of the above===
===Any combination of the above===

Revision as of 09:18, 12 February 2009

Moodle 2.0

This is a SPECIFICATION for a feature in Moodle 2.0 that is still under development

Overview

We need a way to flag when a user has finished a course.  :-)

Interface

This can be simply done by adding some small settings to the course settings page (perhaps on a tab).

Methods

Date

When a certain date has passed, the course can be considered completed for all users.

Unenrolment

When a user is unenrolled, the course can be considered completed for that user.

Grade

When the total course grade is above a certain value/percentage, the course can be considered completed. The value is set using the "passing grade" feature in the gradebook.

Activity done

When a particular activity is done (see Conditional_activities)

Manual

The teacher controls completion via a special page which is simply a list of all students enrolled in the course with checkboxes next to their name. I suppose this might be useful as something separate from the gradebook (and just manually putting in 100 or something for each student as an override grade). Also, the list of users should be sortable, searchable, and filterable (by group, groupings, and/or user profile fields).

Any combination of the above

These all need to be able to be combined using ORs. Not sure where best to store these.

Cron

There will need to be a cron job to check all these conditions and add/remove entries from the table as necessary. Can this be made very efficient?


Table

course_completion

This table records when a user has completed a whole course.

Field Type Default Info
id int(10) Auto incrementing
userid int(10) The user who has completed the course
courseid int(10) The course that has been completed
timecompleted int(10) The time the user completed the course
I can see a bit more metadata being nice here. What about start date (or enrolment duration) and final grade?--Tim Hunt 04:00, 3 February 2009 (CST)