Setup Bundle: Utility for Turning in Mutli-File Assignments


Information for instructors and TAs. Bundle is a frontend for the more basic Turnin Utility. The advantages of bundle compared to turnin are:

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

  1. 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
  2. Go to the bin directory:
    cd /home/solaris/ieng9/cs131f/public/bin
  3. 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/ 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.

  4. 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.
    • Note: advanced configuration features such as the ability to specify a maximum file size for the submitted bundle and a time window during which a project may be turned in, are available through turnin project configuration files. See man turnin for details. Here is a small example of a configuration file that might be named turnin.dest/CONFIG.P1
  5. Set permissions on the bundle file and the bin directory so that the script will be executable by the world.
    chmod 755 bundleP1 ../bin
  6. 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)
  7. 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 )
  8. 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 you still have questions or need additional assistance, please contact the ITS Service Desk. You can call us at (858) 246-4357, email us at, or submit a ticket at