=== 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