codejanitor

Virtual FTP & Digital Homework Submission

Nov. 18th, 2005

It may look quiet around here, but that’s because we’ve been working on a new project utilizing the FastFrame framework. Under the applications page you may have noticed an FTP Homework page that can only be via SVN. FTP Homework is a cool little application that we developed to meet the needs of our Visual Journalism department who decided they wanted homework to be submitted electronically instead of the traditional method of submitting prints. Typical digital homework programs only allow 1 file to be submitted at a time per assignment and these instructors typically assign 15-20 shots per assignment. The web just isn’t a good UI for uploading and downloading lots of files. Additionally, these instructors wanted to use FTP since it’s an industry standard. However, FTP isn’t dynamic which we needed if we were going to show the students virtual folders. So, after we research we decided to implement a hybrid program that utilizes the FastFrame for the web interface and the Perl module Net::FTPServer as the FTP backend.

So what does the program do? Here’s the typical workflow:

  1. The instructor creates the assignments for their class via the web interface. They choose the assignment name, the course code, the open date (when the assignment becomes visible to the students), the late date (when the assignment is marked as late), and the close date (when the assignment disappears from the students).
  2. The students and faculty log in to the FTP server and they see a set of virtual folders.
  3. At the top level is the list of classes
  4. The next level is Assignments, Graded Assignments, and Resources (where the instructor can place class materials)
  5. In the Assignments and Graded Assignments directory are the list of assignments created by the instructor
  6. The students upload their work into the assignment folder
  7. The instructor sees a list of students inside each assignment folder who have submitted work. If the work was submitted late the folder is marked Late
  8. The instructors can return graded work for the student in the Graded Assignments folder.

But what about security? We use GlubTech’s Secure FTP Wrapper which wraps our Perl FTP server in a secure wrapper so usernames and passwords are encrypted.

Unfortunately, we probably won’t release it officially (although you can download the code via SVN) because it’s so tightly integrated into our Student Information database and it would be pretty difficult to abstract it (though you’re welcome to try!). So, there you have it, what we’ve been doing.

Filed under: Jason @ 5:46 pm

Comments are closed.