Odyssey Local App: Assignment Submission


This is a web interface to the command-line submit command. Implementation is in Java class uw.unix.SubmitHandler.

This application is installed at a specific base URL, which we will call BASE. This URL corresponds to a list of courses which may be configured for electronic submission. Contained directories correspond to individual courses and assignments.

Feature Description

Course Listing

Upon creation, an installation is passed a map of course names and descriptions. This is displayed as a list at BASE/, with each course's description linking to that course's assignment listing. This part is done without reference to the command-line submit command, as it has no feature to list which courses are using the mechanism.

Assignment Listing

The URL BASE/COURSE/ gives a list of the assignments for that course. This is obtained by running submit $COURSE -L and parsing the results. Each assignment is linked to the assignment information page.

The assignment listing can be requested for any course, regardless of whether or not it is listed on the course listing page.

Assignment Information

The URL BASE/COURSE/ASSIGN gives information about the specified assignment. It shows generic information about the assignment by invoking submit $COURSE -L $ASSIGN and displaying the results. Below this it shows student-specific information by invoking submit $COURSE -L $ASSIGN and displaying the results.

Assignment Submission

Additionally there is a form to submit the assignment. This consists of a tickbox authorizing a late submission, and a submit button. There is also explanatory text which includes a link to the correct submission directory for that assignment in OdysseyLocalAppFileAccess.

Upon form submission, submit $COURSE $ASSIGN ~/$COURSE/$ASSIGN is invoked to perform the actual submission. The -t flag is specified if the user requested late submission. The results of running the program are displayed to the user.

Bugs & Enhancements


None known at present.


  • Ability to submit from different directories: ISG keeps asking for the ability to submit assignments from a directory different from the designated one based on the course and assignment. This needs to be split into two parts:
    • Subdirectories: The old version of this system allowed submitting from any subdirectory of ~/$COURSE/$ASSIGN. This seems obviously useful.
    • Other directories: Apparently it is desirable for people to be able to put their submission files anywhere within their personal home directory. It is not at all clear to me why this is considered desirable or even something that one would consider. Some courses' current literature asks the students to work in specific directories that are different from the ones wanted by this system, but the course literature is not engraved in stone and the submit assignment names aren't either. So harmonizing these seems like it should be quite feasible. Nevertheless, if an appropriately simple interface for choosing the alternate directory can be found, this should not be ruled out as an enhancement. I would suggest an absolute ceiling on complexity of the same amount of complexity currently found in the submission form.
      • A method of late assignment handling provides a reason to want to submit files from another directory. Sometimes when an assignment becomes late, courses want the students to submit a different assignment, typically "a#late". However, the content will be the same as the non-late assignment. That is, students who become late will need to transfer their files from the ontime assignment location to the late assignment location. If the file system interface allowed rename of directories, it might be easy to do it that way, but that does seem dangerous and/or confusing.

-- IsaacMorland - 09 Feb 2007

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r4 - 2013-02-22 - DrewPilcher
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