[an error occurred while processing this directive]
Administering the UCS Project Submission System
Requesting a class definition
In order to get started using the project submission system, you must
first request that your class and username be added to the system-wide
submit.class file. This is accomplished by sending mail to
systems@umbc.edu. Please include
your UCE/GL username, as well as your class and section number.
(for classes with multiple sections/instructors, it may be necessary
to include the section number in the class definition, so that
uniqueness of a class name is guaranteed). submit.class entries
last for one semester, so it is necessary to request a new
entry at the beginning of each semester.
What Submit Does
Submit is a perl script that is basically an AFS ACL and directory
tree administrator. It requires no special operating system privs
to run, and as such, will only give away as much access to your
account as you allow it. If you are more interested in what/how
it does what it does, please feel free to view the script (all the
functions of the program are contained in a single script), or
assign it to your students as an excercise to improve :)
Setting Up Your Account
The behaviour of the system is controlled by a file called
.submitrc located in your home directory. The file
is structured into multiple CLASS groups, each of which
can contain specific information for each class the account
is set up to receive submissions for, and one or more PROJECT
groups, which contain information specific to each project. Do
NOT use an editor that uses CR/LF line terminators (like
Microsoft's Notepad) or CR only (like Apple's Macintosh) -- stick
with any of the Unix editors.
.submitrc directives
- CLASS <classname> - Deliniates the beginning of a new
CLASS group.
- DIRECTORY <dirname> (optional) - Specifies the top-level directory
that all files for this class will be placed. It is optional,
as the default submission directory for a class is your
account's pub directory. However, this will most likely
be undesireable, because:
- It will make your pub directory non-public...
...and
- If you have more than one class things could get messy
If the path specified is relative (meaning, doesn't start with a /),
the directory will be based in your pub directory. Many
instructors like to set this value to be the same as their
classname. Use of fully qualified paths are supported,
but not recommended, as their use requrires further knowledge
of AFS, which is beyond the scope of this document.
- STUDENTS <student> [ <student> ... ] (not really optional) - STUDENT
lines define the list of students that are authorized to submit
projects in a class. Multiple STUDENT lines may accompany each
class. Specifying a student's account name that does not exist
on the system may cause submitinit to fail.
The accounts in this list are also made members of the
AFS <username>:submit_<classname> group, which can
be used in AFS ACL's to restrict access to files that you only
wish to be viewable by members of a class. (for more information
on AFS ACL's, please see the AFS documentation.
- GROUP <groupname> (optional) - This defines an
AFS protection group that will be assigned to have read access on
all of the student's submittal directories. This can be used
to give a grader (or group of graders) access to a class's submitted
files. For more information on defining AFS protection groups,
please see the AFS documentation. Specifying
a group name here that is invalid will cause submitinit to fail.
- PROJECT <projname> - This begins a new project,
of the name 'projname'
- DESCRIPTION <descriptiong> (optional) - Allows
a one-line description of the project to be attached to the
project's name (for use in 'submitproj').
- ENDDATE <date> (optional) - Defines a date whereafter
any run of submitinit will place all the submital directories
for this project into a read-only (for the students) state.
The date should be specified MM/DD/YYYY. (two digit years will
be accepted, however, their behaviour after 2000 is undefined :) )
A Sample Submitrc
CLASS cs201
DIRECTORY cs201fall98
STUDENTS bill joe bob bbob1 jspud1 lluser2
STUDENTS ffreed3
GROUP banz:cs201graders
PROJECT proj1
DESCRIPTION An Easy Project
ENDDATE 08/28/98
PROJECT proj2
DESCRIPTION A harder project
ENDDATE 09/21/1998
Running submitinit
Upon first setting up your .submitrc, and after any edits thereafter,
it is necessary to run submitinit for the changes to take
effect. If submitinit fails, it is usually because a student
account name was incorrect, or, an invalid group was specified in
the GROUP directive. After you've checked for these errors,
please send mail to systems@umbc.edu describing your problem,
and we will try to rectify it.
[an error occurred while processing this directive]