Skip to content

Software Use Manual

Ryan Endacott edited this page Jun 2, 2014 · 1 revision

Introduction

This manual will briefly describe how to use the submission system.

Web Application

The web application is currently hosted in two locations. There is a test/staging server, and there is a production server. The production server uses the actual Mizzou LDAP server to authenticate, and the testing server allows anyone to log in as any user (passwords are not checked). This allows us to log onto the test system as a professor in order to create courses and assignments, as well as add TAs. The two run on separate Postgres databases, so testing will not affect production data. Note that because the servers are hosted on Heroku, they may take a few moments to load the first time.

If you wish to run the web server, you can find instructions to do so here.

Web Application Use (Professors and Teaching Assistants)

Log in

To log in as an instructor, simply type a professor pawprint and password (not needed for test server) into the navigation bar sign in prompt. A list of pre-populated professor pawprints can be found here. For example, log in with the pawprint 'prof' without quotes to log in as an instructor.

To log in as a teaching assistant, simply sign in with a pawprint that is associated as a teaching assistant to a course. Creating teaching assistants for a class is detailed below.

Course Management

As an instructor or TA, click the 'courses' link at the top of the site to get to the courses interface. You can then see a list of courses as well as buttons to create, delete, or edit courses. Note that TAs cannot create, delete, or edit courses, but they can still see a list of courses they have been assigned to teach. Each button should be fairly self-explanatory. The create button leads to an interface to create a course, the edit button to edit a course, and the delete button to delete a course. All course data is validated server-side. For example, a server

Click on a course's name to be taken to the interface to manage its assignments, sections, and TAs.

Assignment Management

In the course interface, all assignments are listed in the first table at the top with their due date. There are buttons to create, edit, and delete assignments, as well as a button to collect all submissions for a given assignment. As with the course interface, all data is validated, and each button does what one would expect.

Section Management

All of a course's sections are listed on the course's page. There are buttons to create new sections and delete existing sections. A course must have at least one section at any given time. This is validated along with other small things one would expect (no duplicate section names, for example).

Teaching Assistant Management

All of a course's TAs are listed on the course's page. There are buttons to create new TAs and remove existing TAs. When a teaching assistant is added to a course, they are automatically given access to the course interface. This access has some restrictions. For example, a TA cannot edit a course or edit the TAs for a course. Of course, this access is revoked when the TA is removed from the course.

Collection

To collect all of the submissions for a given assignment, click the collect button and a zip file will begin to download (it may take a moment to start). The submissions will be organized in the following hierarchy:

Course > Section > Assignment > Pawprint > attempt#_(LATE?)_submittime

Web Application Use (Students)

Upon login, students can view their previous assignment submissions or create a new assignment submission. Both links are available in the navigation bar.

Previous Submissions

The previous submission view shows a table of previous submissions with the most recent first. It shows information like the course, assignment, submit time, number of files in the submission and the submission receipt token for a given submission. It also allows you to download any previous submission to verify its contents.

Create a New Submission

The create submission view lets you input a course name, assignment name, section name, and multiple files. It validates file size, and it also does validation to make sure the course name exists, etc. Upon submission you are redirected to the previous submissions view where you can see the submission.

Command Line Submission Use (Students)

Git clone a copy of the code and cd into the submission_system directory. Type make to compile the code, then run it using ./submit course_name course_section assignment_name file1 file2 file3 .... You will then be prompted for your password (to keep the web service secure and prevent fake submissions). Then you will receive either a successful submission token or a helpful error message like 'Could not find course with that name.' Logs will also be written describing the request.

Note that in a production scenario, this executable would already be compiled on Babbage.