Extension:Assignment Submission

Description
Assignment Submission is an extension to MediaWiki that defines a special page, "Special:AssignmentSubmission", that allows wiki users to submit files for defined assignments. The files are not stored in the MediaWiki image repository, they are just dumped into a directory that must be accessed by some other means such as a network share.

The operation of this extension is very simple. An "assignment submission" link appears next to the "my preferences" link at the top of the browser window. Students visit the special page, select the assignment from a drop-down menu, browse for a file, then click "Submit". They can submit as many times as they like, the submitted file is just overwritten. The submission is logged to a text file, and the student is sent an email receipt.

Limitations:


 * The extension only handles one course.
 * Only one file can be submitted per assignment. If there are multiple files, you will have to define an assignment for each file.
 * There is a "CloseDateTime" setting, but this is currently only used for display, it doesn't actually prevent submission. Due date/time cutoff will be implemented soon.

Code and download
Info coming soon -- if you are interested in using this extension please leave a message on the talk page.

Installation
After you've obtained an 'AssignmentSubmission' directory, place this directory within the main MediaWiki 'extensions' directory. Then, in the file 'LocalSettings.php' in the main MediaWiki directory, add the following line:

Configuration
$wgASDebug = true; $wgDebugLogGroups["assignmentsubmission"] = "d:/Logs/AS/as.log" ; $wgASNotifyEmails = Array("course.supervisor@foo.bar"); $wgASSubmissionLog = "D:/AssignmentSubmission/submissionlog.txt";
 * 1) General settings

$wgASCourseID = "CRSR1001"; $wgASCourseName = "My Course Name";
 * 1) Course

$wgASAssignments = Array ( "Assignment 1", "Assignment 2" );
 * 1) Assignments


 * 1) Assignment 1
 * 2) $wgASDescription["Assignment 1"] = "This is the such and such assignment";
 * 3) $wgASCloseDateTime["Assignment 1"] = "2009-07-29 18:00";
 * 4) $wgASFolder["Assignment 1"] = "D:/AssignmentSubmission/Ass1/";


 * 1) Assignment 2
 * 2) $wgASDescription["Assignment 2"] = "This is the such and such assignment";
 * 3) $wgASCloseDateTime["Assignment 2"] = "2009-08-05 18:00";
 * 4) $wgASFolder["Assignment 2"] = "D:/AssignmentSubmission/Ass2/";