Overview
Information for instructors and TAs. Bundle is a frontend for the more basic Turnin Utility. The advantages of bundle compared to turnin are:
- The student can submit an assignment consisting of multiple files with a very simple command. Typically the command would be something like "bundleP1".
- The instructor specifies the list of files required and the student is notified if any are missing.
- The student receives a warning if they are about to overwrite a previously submitted assignment.
- By creating separate instances of bundle, the instructor can arrange to receive more than one assignment from students in the same time frame. Submissions for projects are given distinguishing suffix labels, e.g.:
jdoe.P1
jdoe.P2
Bundle is a Perl script that is designed to be adapted by the instructor. After editing the Perl script to configure it for the class and the assignment, the instructor will need to install the script in such a way as to make it executable by student accounts.
Steps to Take
Outline of Setup Procedure
- Create a "bin" directory for the class. One possible location is within the "public" directory in the class umbrella. (Examples are based on a hypothetical /home/solaris/ieng9/cs131f umbrella directory.)
mkdir /home/solaris/ieng9/cs131f/public/bin
- Go to the bin directory:
cd /home/solaris/ieng9/cs131f/public/bin
- Make a copy of the prototype bundle script, where "bundleP1" is the name that you choose for the command and is the command that students will run:
cp /software/common/lib/bundle.pl bundleP1
- Note: We strongly recommend that you NOT name the copy "turnin" or any variant of that. Students may need to use the basic turnin command in other classes and it will be very confusing if these utilities with their different properties are not kept distinct in their minds.
You can make additional copies of the bundle prototype (bundleP2, bundleP3, ...) if you want the students to be able to hand in various assignments (P1, P2, P3, ...) in the same time frame.
- Edit the bundleP1 script, configure the script for your class following the guide comments in the top part of the file. This step includes specifying the list of files needed for the (P1) assignment.
- Set permissions on the bundle file and the bin directory so that the script will be executable by the world.
chmod 755 bundleP1 ../bin
- Add the bin directory to the student's PATH. Where and how this is done depends on whether or not the class is OCE compatible (i.e. if most of the students use their OCE account for the class, then you will need to modify the class "prepfile"). Otherwise, modify the class "locallogin" file. The appropriate file (prepfile or locallogin) can be found in the "public" directory under the umbrella. Example file names:
/home/solaris/ieng9/cs131f/public/prepfile (for OCE compatible)
/home/solaris/ieng9/cs131f/public/locallogin (for non-OCE-compatible class)
- In the appropriate file (prepfile or locallogin) insert a command like the following to add the class bin directory to the student's path.
set path = ( $path /home/solaris/ieng9/cs131f/public/bin )
- Finally, set up the turnin.dest directory
Giving Students Instructions for Using Bundle
After you, as the instructor or TA, have set up one or more instances of the bundle script (bundleP1, bundleP2, ...) for your class, tell the students that they can hand in assignments as follows:
- If it is an OCE class, do the prep command for the class, e.g.
prep cs131f
- Go to the directory that contains the files for the assignment.
- Enter the command name that the instructor established, e.g.:
bundleP1