This page is accessible from linux.student.cs.uwaterloo.ca with "man submitrc"

Name

.submitrc - course account configuration file for submit

Synopsis

/u/csNNN/.submitrc

Description

This file is used by the submit program, and many supporting programs currently found under /u/cssystems. The versions of the supporting programs reside under diverse /u/csNNN accounts, usually in /u/csNNN/bin.

The .submitrc file is a collection of variable assignments which parameterize the behaviour of the submit command for a particular course. Sh-style comments, beginning with a "#" may also be included. As implied above, the behaviour of other supporting programs may be affected by values of some variables. submit may also make use of the .submitrc file.

Useful Variables

The following variables can usefully be set to customize the behaviour to suit the course.

course information

homeac - the home or course account to receive the assignments, e.g. cs246; submit defaults this to its first command-line argument, but by convention this tends to be set again (that is, to the same value) in a course account .submitrc

testac - the account where automated tests will be conducted; submit defaults this to its first command-line argument, but it really is often appropriate to change that

maxlates - the maximum number of late assignments each student may submit

merge - may be set to "yes" or "no" to indicate, respectively, whether new submissions should be added to files previously submitted, or whether all old files for that submitter for the particular assignment should be deleted; see more extensive notes below. The default value is "yes".

names of administrative files

The following variable has a default value, but it may be appropriate to set it to a different value in some cases.

classlist - the absolute pathname of the file containing the list of students in the course; usually this is under the home directory of homeac; default is the CSCF-supplied list of students in the course .classlist immediately beneath homeac. In the case of a cross-listed course, including cs400/cs600 it might be appropriate to set this to a dif- ferent file to have appropriate merged contents.

The following variables have no default values, and so must be set if the facility is required.

file_filter - may optionally be set to the absolute pathname of an executable program; if this generates output for a given file name that file is rejected, and the output dis- played as a message to the user

final_filter - may optionally be set to the absolute pathname of an executable program; it is called as a last step to provide flexible processing of the submission.

Variable which must be set

For historical reasons, the following variable must be set.

submit_version - This must alway be set to "2".

MORE ABOUT THE "merge" VARIABLE

The variable "merge", as briefly noted above, may be set to "yes" or "no". It may also be set to equivalent boolean values, "true" or "false", or "1" or "0".

If "merge" is set to "no" then previously submitted files for the same assignment will be deleted as a new submission is made. If set to "yes" then the files of a new submission will be added to (merged with) the files previously submitted for the particular assignment.

By default, this variable is set to "yes", if the list of required files contains no patterns, and to "no" if the list does contain patterns.

Note that setting "merge" to "yes" can necessitate that the submitting students use the messy "-delete" option of submit if the list of filenames is not, in fact, fixed, and students decide not to submit a previously submitted file.

EXTRA MESSAGE FILES

The following files, if placed in the handin directory for a particular assignment (beside ".subfiles") will be displayed at the appropriate times as their names indicate. In most, but not all, cases they replace the default message.

.message .message-nolonger .message-ontime .message-need-t .message-late .message-maxlates .message-mismatch .message-match

Note that there is no way to replace the messages on a per-course basis (although symlinks could be used to avoid multiple copies of the same text).

USELESS VARIABLES

While submit was being developed, it seemed appropriate to allow very fine-detailed choices for all relevant directories and files. In hindsight, this is just confusingly overwhelm- ing. In fact, many of these variables must not be changed because other scripts sometimes used to process the submit data are not always aware of their existence, and assume the default values instead.

That is, the following variables can be set to other than default values, but doing so is not recommended.

submit_version - version number of submit command the course wishes to work with. To all intents and purposes this must alway be set to "2".

directory names

The following variables can be set to other than default values, but doing so is definitely not recommended.

coursedir - the directory where adminstrative files and directories are kept

handindir - the directory where submitted files are kept

latedir - element of directory in coursedir and handindir used to record late submissions

listdir - directory where administrative files for each assignment are kept; actually, it was in past the "pathname prefix of the administrative files for each assignment" --that is, if it included no trailing slash, directories corresponding to assignments would have a final component different from those in "handindir". This behaviour will be retained until there is consensus to alter it.

But the default value is "$coursedir/" and there is no real reason to use anything different.

names of administrative files

The following variables can be set to other than default values, but doing so is definitely not recommended.

ontimelist - the name of the file in the per-assignment directory under listdir to contain the list of userids of submitters who submitted before the on-time deadline; default is "handin.lst".

fixedlist - the name of the file in the per-assignment directory under listdir to contain the list of userids of submitters who submitted only before the on-time deadline, and not after; default is the value of variable ontimelist.

latelist - the name of the file in the per-assignment directory under listdir to contain the list of userids of submitters who submitted an assignment after the on-time deadline; default is "handin_late.lst".

nonelist - the name of the file in the per-assignment directory under listdir to contain the list of userids of students who made no submission; default is "handin_none.lst".

hidelist - the name of the file in the per-assignment directory under listdir whose existence makes the assignment invisible to users; default is "handin_hide.lst".

sublist - the name of the file in the per-assignment directory under handindir wherein are listed filename-matching patterns of files expected for that assignment

message - set by default to ".message", this can optionally be used to change the name of the extra message files.

See Also

submit (1) - on-line course-assignment submission mechanism subfiles (4) - assignment configuration file for submit file_filter(4) - optional file rejection program for submit /u/cssystems/submit/ - in the CS teaching environment Cameron Shelley, On-line submission with SUBMIT, August 1993.

Bugs

Historically, this used to be a theoretically arbitrary file of sh(1) commands. In all observed cases it was actually a collection only of assignment statements. Now, any attempts to use any other sh (1) statements will cause the new submit command to fail.

Furthermore, there may be some variations of assignment statements which will not be recognized by the new submit command.

Topic revision: r1 - 2016-02-03 - YiLee
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback