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

Screenshots

Sep. 14th, 2004

Click on one of the links below for screenshots of miscellaneous FastFrame applications.

  • Version 1.0 - The initial look.
  • Version 2.0 - This version featured a major UI rewrite.
  • Version 3.0 - Similar in many ways to version 2.0, but you’ll notice some subtle differences.
Filed under: Jason @ 2:46 pm

Docs

Sep. 10th, 2004

Documentation is still in the works, but this is what we have so far:

  • The main INSTALL file for getting FastFrame up and running. Note that there are INSTALL files in each applicaton’s docs/ directory that explain the details of setting up a specific app.
  • An FAQ for checkout has been written. It focuses on how to use checkout in shopper mode.
  • Basic Documentation for using checkout.
  • A Video explaining the basics of Mayday! is available. Note that it is Brooks centric, but should still be useful.
  • API Documentation is available for developers who are beginning to plumb the internals of FastFrame.
Filed under: Jason @ 2:33 pm

Contribute

Sep. 3rd, 2004

Many thanks to all the developers and users of FastFrame, Mayday etc. for their contributions of code, coffee and kind words.

Because these are open source projects, it means anybody can make a valuable contribution, thus making it better for all the users. If you can code then check out the bug list to see if you can fix any of them. End-user and developer documentation is sorely lacking, so if you can write you can help! (update: take a look at the new documentaion!)
Just testing and reporting bugs is a valuable contribution.

Also, most of the developers have wish lists ;)

Filed under: Greg @ 3:54 pm

Support

Sep. 3rd, 2004

Having problems with getting FastFrame set up? In dire need of a new feature in Mayday! or Checkout? Need a completely custom application written using the FastFrame application framework but don’t have a clue where to begin?

If you are interested in hiring one of the core developers as a FastFrame consultant then email codejanitor@rustyparts.com with a description of what you need done. Please note that this is for those wishing to inquire about paid support only. All others should direct their questions to the mailing lists.

Filed under: Jason @ 3:53 pm

About Codejanitor

Sep. 3rd, 2004

So who is behind all the code at codejanitor.com?
Jason Rust
Greg Gilbert
Greg Lawler
John Rodkey
Anne Anderson

Why are we coding FastFrame and its apps?
Necessity for the most part. Nearly all the applications developed thus far are used on a daily basis here at Brooks. We did search quite a bit to make sure there were no suitable Open Source alternatives out there, but we found that IT software tailored to an IT department at a school is not all that prevalent, and what software we did find was usually in beta stage or designed back in NS4 days.

Why is FastFrame and its apps Open Source?
With a small coding crew, we have been able to produce an array of quality applications because we have been able to build upon the extensive trove of Open Source libraries available on the net.
Many thanks to the PEAR, PHP, Apache, Horde and other teams committed to Open Source development.

History
Mayday was first written in Perl by Anne Anderson at Westmont College where Greg Lawler was working at the time (Both Greg Gilbert and Jason Rust worked for Greg Lawler as students while studying at Westmont). Greg, Greg and Jason are now all co-workers at Brooks Institute of Photography.)

When Greg Lawler moved to Brooks in late 2000, he ported the concept and wrote the first PHP version of Mayday (version 1.0). Greg L. lured Greg G. from his post-Westmont job and version 2.0 was created in conjunction with the first checkout release. A year or so later, Jason also moved to Brooks and v3.0 (a total re-write) of Mayday, Checkout and FastFrame was created.

John Rodkey and Westmont still generously donate the bandwidth and colocation needed to host codejanitor.com.

And for fun?
Well, there’s always badgerbadgerbadger.

Filed under: Greg @ 3:50 pm