This consists of several PHP files, working in conjunction with LocalMarmosetSubmissionMirror, which help implement the goals of MarkersMimickingMarmoset.
The proper directory structure is shown below:
Note: When downloading the attached files, be sure to rename the extensions to .php where appropriate.
public_html
directory. This will display a list of the assignments currently being handmarked, with a link to each assignment. Details on editing this file in the WebSubmissionFeedback#NewAssns section below.
Under public_html
, create a handmarking
directory and place all of the following files inside:
.htaccess
file with contents combining the requirements of HtaccessForPHP and RequireUseridsForSecureWebAccess. See attached file for an example.
coursestaff.term
file to exist in order to work. This file must be created manually under your course's home directory. For details on the format of this file, see ClassListPerlModule.
For documentation on the PHP file itself, and the up-to-date official contents of the file, see RestrictingWebAccessToCourse.
NOTE: There were some issues with sending mail through php during the W11 term, so the alternative mail_script.sh
was used (see attached).
Sends an email to the students with their mark, along with TA comments on their submission. This also saves a copy of the TA's comments in the markingcache
directory and adds a file corresponding to the marked student in the processed
directory. (For more details on these directories, see the WebSubmissionFeedback#DirStruct section below.)
handin
directory. This is not a PHP program, but should be in the handmarking
directory with the other files.
handmarking.php
Follow the instructions on LocalMarmosetSubmissionMirror to create a subdirectory under handin
for each project that will be handmarked. When you have created all the appropriate subdirectories for the assignment (i.e. one per question), edit the available
array in handmarking.php
by adding a new Bundle
object as follows:
new Bundle("Assignment Name", "Question 1", "Question 2", ..., "Question n")
where the first argument is the name of the assignment, and each subsequent argument is the name of the questions being handmarked for the assignment. Note that the question names must match the names of the corresponding subdirectories in handin
.
The above scripts will create a file structure under /~csXXX/course/ta_marmoset/
that looks like the following for each project (i.e. question):
Below is an explanation of these directories:
[TA id]_[student id]-[submission number]
.
currently_marking
.
See TroubleshootingPHP.
submit
nicely, too.
Adapt the following public test code to sort submissions by date?
#!/usr/bin/env perl # Find all files in the directory ending with .request, and sort them # by date. print STDERR "Usage: $0\n" and exit 1 unless @ARGV == 1; my $path = shift; opendir my($dir), $path; my @files = sort { (stat($a))[9] <=> (stat($b))[9] } grep { -f "$path/$_" and /\.request$/ } readdir $dir; closedir $dir; print join("\n", @files) . "\n";
I | Attachment | History | Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|---|
![]() |
do_mail.txt | r1 | manage | 1.7 K | 2010-06-20 - 13:01 | HumaZafar | RENAME TO do_mail.php |
![]() |
grab_submission | r1 | manage | 3.1 K | 2010-06-20 - 13:02 | HumaZafar | |
![]() |
helpers.txt | r1 | manage | 4.0 K | 2010-06-20 - 13:02 | HumaZafar | RENAME TO helpers.php |
![]() |
htaccess_example | r1 | manage | 0.2 K | 2010-06-20 - 13:14 | HumaZafar | Should be saved as .htaccess |
![]() |
mail_script.sh | r1 | manage | 0.4 K | 2011-04-25 - 12:17 | HumaZafar | Shell script for emailing handmarking results. |
![]() |
permissions.txt | r2 r1 | manage | 0.1 K | 2010-10-08 - 10:32 | TerryVaskor | DO NOT USE THIS FILE; see https://www.cs.uwaterloo.ca/twiki/view/ISG/RestrictingWebAccessToCourse![]() |
![]() |
show_submission.txt | r1 | manage | 2.2 K | 2010-06-20 - 13:03 | HumaZafar | RENAME TO show_submission.php |