User Tools

Site Tools


services:submit:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
services:submit:start [2017/01/25 09:09] seelaservices:submit:start [2020/03/31 09:33] (current) seela
Line 1: Line 1:
-======Setup submit directories for course assignments====== +====== Submit ======
-\\ +
- +
-** This is the manual page for our locally developed Linux submit command.** +
-\\ +
-**Instructions for course instructors on how to setup submit directories are included below in the Configuration section.** +
-\\ +
- +
- +
-**Name** \\ +
-submit - submit files for a report for a course  +
-\\ +
-\\ +
-**Synopsis** +
-\\  +
-\\ +
-submit //[-l]// course assignment file [file ...] submit -l course assignment +
-\\ +
-\\ +
-**Description** +
-\\ +
-\\ +
- submit allows students to submit files as part of a report for an assignment. The name of the course and assignment is up to the professor and will be provided by them. +
-\\ +
-\\ +
-The **-l** option will give a detailed list of all files that you (the student) have submitted for that assignment both through this call to the submit command and through previous calls to the submit command, after the files have been properly submitted. **With the -l option**, you can also choose not to specify any files to be submitted. In this case, the program will simply list out all files that you have previously submitted. +
-\\ +
-\\ +
-At least one file must be submitted, but any number of files may be submitted. If the same file is submitted twice, then the latest file will overwrite the old one. Only the name of the file, not the directory of the file will be used when determining if you are overwriting an old file. For example if you submit dir1/a1.c +
-and then submit \\ +
-**dir2/a1.c** \\ +
-Then the second submission will overwrite the first. In other words, there will only be one copy of a1.c submitted. However, if the names are different: \\ +
-**dir1/a1.c** \\ +
-**dir2/a2.c** \\ +
-\\ +
-then two files a1.c and a2.c will be submitted. +
-\\ +
-\\ +
-If you want a directory structure, then students can also submit directories. For example, if the student has the files: a1/part1/x.c \\ +
-**a1/part2/x.c** \\ +
-**a1/part2/y.c** \\ +
-\\ +
-and **a1 is submitted**, then the whole directory structure starting at a1 will be copied into the submission area. The structure will be preserved (a1/part2/x.c will not overwrite a1/part1/x.c). Any path leading to the original directory will be discarded. For example, if the above directory was located at /cs/home/ugrad2/cs999999/a1 and /cs/home/ugrad2/cs999999/a1 was submitted, only the a1 directory would be created with its contents, not cs/home/ugrad2/cs999999/...". \\ +
-\\ +
-If a file is submitted successfully, then a message will be printed for each file stating that it has been successful, and the size of the file that was submitted. If a file cannot be submitted successfully, then an error message will be printed and no copy, incomplete or not, of that file will be left in the submission directory. If you are submitting multiple files and one of them fails, the program will not process any further files, but any files submitted successfully up until that point will remain submitted. +
-\\ +
-Once you have submitted a file, you cannot take it back. There is no way to list the files you have submitted; you are expected to keep track of this yourself. +
-\\ +
-\\ +
-**Configuration** \\ +
-For professors setting up submission directories. The course directory must be under /cs/course. Under the course directory there must be a directory called submit. For each assignment, there must be one directory per assignment with the name of that assignment. The assignment directory must belong to group submit and must also be writable by the group and not by other". For example, to setup a submit directory for course 1020 and assignment a1, use the following commands (assuming that the course directory already exists and is readable by all): +
-\\ +
-<code> +
-chmod 755 /cs/course/1020 +
-mkdir /cs/course/1020/submit +
-chmod 755 /cs/course/1020/submit +
-mkdir /cs/course/1020/submit/a1 +
-chgrp submit /cs/course/1020/submit/a1 chmod 770 /cs/course/1020/submit/a1 +
-</code> +
-\\ +
-If you have previously created a submit directory, you can omit the first two commands. 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 /cs/course/1020/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. +
-\\ +
-There is experimental 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 the file \\ +
- +
-/cs/course/1020/submit/a1/_check +
-\\ +
-exists and is executable, and user cs999999 makes a successful submission of ~cs999999/a1/foo.c and ~cs999999/notes to this course and assignment, then the following command would be executed (as cs999999): +
-\\ +
-/cs/course/1020/submit/a1/_check 1020 a1 cs999999 foo.c notes +
-\\ +
-**Diagnostics** \\ +
-\\ +
-**cannot find submit directory** ... make path too long Some combination of the course, assignment, and user's login name result in a path that is too long for submit to follow. Check to see that the course and assignment name are both correct. Instructors: if possible, use a shorter assignment name. You will generally not see this error unless you are nesting assignments in subdirectories. +
-\\ +
-\\ +
-**could not execute check program** ... +
-The submit program located the check program but could not execute it for some reason. The most likely reason for failure is improper permissions on the check program. +
-\\ +
-\\ +
-**cannot find source** ... +
-A file specified on the command-line cannot be found. +
-\\ +
-\\ +
-**will not submit** `.' or `..' - specify full path to directory If a directory you specify on the command line has a name of . or .. then submit will fail with this message. This is prevent problems that may occur if you try to submit .*" which will submit many files that you do not want to submit. The best way to submit a directory is to specify the full path to the directory (e.g. if you are in the directory /cs/home/joe/cosc9999/a1/ use the full name: `submit cosc9999 a1 /cs/home/joe/cosc9999/a1'). +
-\\ +
-\\ +
- +
-**cannot read directory** ...  \\ +
-Either a directory you specified on the command-line, or the subdirectory of a directory you specified on the command-line, cannot be read. Check your arguments and the permissions on the directory in question. +
-\\ +
-\\ +
-**cannot submit file/directory** ... name too long The path that is trying to be submitted (combined with the path to the submit directory) is too long. This is usually only a problem if you have several nested subdirectories. Try flattening your directory structure or submit the individual files rather than the directories. +
-\\ +
-\\ +
-**cannot remove existing submission** \\ +
-You are trying to re-submit a file that has already been submitted and submit cannot erase the previous submission. In general practice this should not happen. If you encounter this error, please report it and the circumstances under which it happened. +
-\\ +
-\\ +
-**cannot create destination directory** \\ +
-You are trying to submit a directory but submit cannot create that directory in the submit directory. In general practice this should not happen. If you encounter this error, please report it and the circumstances under which it happened. +
-\\ +
-\\ +
-**source** ... is neither a file nor a directory You are trying to submit something which is neither a file nor a directory (e.g. a pipe, a socket, a device). Only files and directories can be submitted. +
-\\ +
-\\ +
-**cannot write file**  ...  \\ +
-The submit program could not create the submitted file. In general practice this should not happen. If you encounter this error, please report it and the circumstances under which it happened. +
-\\ +
-\\ +
-**copy of file ... failed** \\ +
-The submit program created the file to be submitted in the submit directory but was unable to finish writing to it. The only practical reason this should occur is if the disk on which the submit directories reside runs out of space. +
-\\ +
-\\ +
-**read of file ... failed** \\ +
-The submit program found and opened the file you are trying to submit but failed to read all of the data from it. In general practice this should not happen. If you encounter this error, please report it and the circumstances under which it happened. +
-\\ +
-\\ +
-**course directory for ... does not exist** \\ The submit program cannot find the directory for the given course, which is expected to be /cs/course/xxxx, where xxxx" is the course name specified on the command-line. +
-\\ +
-\\ +
-**course ... has no submit directory** \\ +
-The submit program has found the directory for the given course but cannot find the submit directory. Double check the arguments you specified on the command-line. If these are correct, then either the directory has not been setup, or its permissions are wrong. +
-\\ +
-\\ +
-**course ... has no submit directory for assignment ...** \\ There is no accessible submit directory for the given assignment. Double check the arguments you specified on the command-line. If these are correct, then either the directory has not been setup, or its permissions are wrong. +
-\\ +
-\\ +
-**files may not be submitted for course ..., assignment ...** The submit directory exists for this assignment, but the permissions have been set to disallow submissions. Contact your instructor for further information. +
-\\ +
-\\ +
-**I can't figure out who you are** \\ +
-The submit program cannot determine your login name. In general practice this should never happen. If you encounter this error, please report it and the circumstances under which it happened. +
-\\ +
-\\ +
-**invalid submission entry for ... - contact your professor** \\ +
-There is either a problem with the submit directory or submissions for your account have been disabled. Contact your instructor for further information. +
-\\ +
-\\ +
-**submitted: ... (... bytes)** \\ +
-This message indicates that a file has been successfully submitted. This message is only printed once all data has been successfully written to the destination. +
-\\ +
-<code> +
-Author +
- +
-Matt Robinson +
-Dept. of Computer Science +
-York University +
-matt@cs.yorku.ca +
-</code>+
  
 +  * [[cli-submit]]
 +  * [[websubmit]]
 +  * [[submit-from-home]]
 +  * [[submit-setup]]
 +  * [[websubmit-setup]]
 +  * [[Grading submitted files]]
 + 
  
  
services/submit/start.1485353375.txt.gz · Last modified: by seela