Sneakoscope
current state
server is set up
moss is installed
directories in place
upload page will take tar file and extract to a folder
takes the course and assignment
unzips the tar file into mossinput/course/assignmentname
authenticates via ldap
ta, instructor and acinteg are the only people who can use the form for a course
goal
need to keep track of the instructor for the course
instructor gets email when results are ready
script runs moss after files are unpacked
results are moved to mossoutput/semester/course/assignment
error handling
need to check for tarfile structure ( one folder per student in course with assignment files immediately in that folder, no subfolders)
should alert acinteg team if structure is wrong or if there is a problem with the tarfile
tarfile renamed with course, assignment, date filename and saved somewhere accessible
in order to run moss we need the following info
programming language (dropdown)
supplied files checkbox (on/off)
supplied files folder name
special instructions or requests
generate email to actinteg and not run moss
The script that runs moss must be callable by humans
Two Scripts - Human Run and Cron Run
Human Script calls a “run moss” script with the .ini file as an argument.
The Cron script looks for a “run me” file filled with .ini locations and calls the moss script once for each .ini file
The .ini file should be kept in the root course folder in mossinput, along with the tar files
The .ini file should have the same naming convention as the .tar file
task ownership
Judi will write script that calls moss given inputs and returns the result codes and/or errors
Kyle will clean up his code and make libraries
Kyle will write the code for files, moving things, emailing, error handling, etc.
May 12 online meeting
Config file should be encapsulated in an object
Error Handling (config file errors)
can't open file
can't read something
part of the file is missing
On initial submit - email acinteg with message we've started something
On success - email the instructor with a
URI
, email acinteg with
URI
+ processing notes
On failure - email acinteg with failure notice and processing notes
Use python logging library to handle successes or errors
June 12 meeting
Append course id to tar file when saving from web
special instructions not saving
Permissions for acinteg group/judi is super broken
tarfile module changed in new python version
I will handle flattening submissions after untaring. Judi will send me the code.
add files output path to submission object
check files - if single dir, go one down and check again, if still single ask acinteg for help
create logger object