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
Line 46: Line 46:


{| class="nicetable"
{| class="nicetable"
|'''Field'''
!Field
|'''Type'''
!Type
|'''Default'''
!Default  
|'''Info'''
!Info


|-
|-

Revision as of 09:59, 3 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 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).

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