User Tools

Site Tools


services:submit:submit-setup

Submit Directory Setup

In order to setup a submit directory for your course:

  • The course directory must be under /eecs/course.
  • In the course directory, create a directory called “submit”. That should be accessible by everyone.
  • Under the submit folder, create one directory per assignment. The assignment directory must belong to group submit, and must be writable by group, not by “other”.

For example, to setup a submit directory for course 1021 and assignment a1, use the following commands:

% mkdir /eecs/course/1021 <- this is only necessary if you haven't created it yet!
% chmod 755 /eecs/course/1021
% mkdir /eecs/course/1021/submit
% chmod 755 /eecs/course/1021/submit
% mkdir /eecs/course/1021/submit/a1
% chgrp submit /eecs/course/1020/submit/a1 
% chmod 770 /eecs/course/1021/submit/a1

If you no longer wish to allow submissions for an assignment (e.g. past a due date) then remove write permission from the assignment directory:

chmod g-w /eecs/course/1021/submit/a1

For each student who submits a file, there will be a directory under the assignment directory with that student's Prism login name. Under that directory will be each file that the student has submitted. The date on the file will correspond to the time that the student submitted the file.

Check Scripts

The command line submit tool has support for automatically checking submissions as they are submitted. If an executable file in the assignment subdirectory exists called _check“, then this program will be executed after any successful submission for that assignment. The arguments passed to this program will be course, assignment, and user followed by any paths entered on the command-line by the user, stripped of any leading directories. If a student specifies a directory when submitting files then that directory name will be passed to the check program and not the names of the files in the directory. Note that this program will be executed with the privileges of the user executing the submit program, plus access to the submit group. Care should be taken when building systems for automatically checking programs.

For example, if you create a file /eecs/course/1021/submit/a1/_check, and it is made executable, and user eecs999 makes a successful submission of ~eecs999/a1/foo.c, then the following command would be executed as eecs999:

/cs/course/1020/submit/a1/_check 1020 a1 cs999999 foo.c notes
services/submit/submit-setup.txt · Last modified: 2017/03/29 15:42 by jas