Iteration 2 : The Code

The Code Viewer

My journey into Object Oriented Programming (OOP) and ColdFusion is well under way. We have completed Iteration One which was a shot-gun approach to web application development. This iteration is about refactoring and getting the application to work in a cleaner, more efficient way. There will be touches of OOP, but this is more about making the application better now that we have a good sense of usability issues and what we actually want it to do.

As always, this code viewer allows you to look at my progress on this project on a day-by-day basis. See how I am updating individual files. See where new methodologies are getting applied. See how OOP can help you.

Note: The code viewer works better in FireFox (big suprise), but is functional in both FireFox and IE.

The Application

For every code update, I will update the live application. The live application will always have the most recently updated code. Click here to launch the latest version of the application.

Iteration 2 : Code Updates

View the updated code

Download the updated code (ZIP file)

This is a small update but one that is very good for the usability of the system. I have added the ability to auto-tag videos as they are being downloaded. This removes a lot of manual work that the user would have to do in order to categorize the downloaded videos.

In order to accomplish this, I only had to make a few small changes. First, I updated the XML database schema in the ColdFusion configuration bean, Config.cfc. I added the column "keywords" to the tag.xml data file configuration. This column will hold the keywords that are used to auto tag videos.

Then, I updated the edit_tag.cfm ColdFusion template. I merely added a new form field and the code that commits it to the database. That took about 2 minutes. The form field is an (X)HTML TextArea. It is designed such that each keyword is on a single line. This allows the user to enter multiple keywords per line as a phrase. I thought about using quotes to denote phrases, but that just increases the complexity of what we are doing in a highly unnecessary way. Doing it this way allows us to use the ascii characters 13 and 10 to be used at list delimiters that naturally break up the keywords whether they are a single word or a group of words.

Then, the final step was to update the spider_video.cfm ColdFusion template. Again, this was a fairly easy task. I get the gallery name of the video that is currently being spidered. If you can remember, I pass in a gallery ID to the spider_video.cfm page to help the template figure out which video to spider. Anyway, I get the gallery name based on that passed in ID. Then, once I have downloaded the video, I loop over every keyword and match it against the title using a FindNoCase(). For any keyword that matches the gallery title, I automatically tag that video with the current tag.

It's nice. I think this very small update will make a big difference in the user's experience of the application.

What I have noticed as I test this feature is that many of galleries have really poor titles. This will lead to bad auto-tagging. I think that as I get more into it, I will have to figure out more ways to gather information about the video and gallery. Perhaps the meta descriptions and keywords, although, I am not sure the this type of web page uses those effectively either. We shall see. Baby steps to the ultimate application.


Reader Comments

none

Posted by john carlos on Mar 1, 2007 at 11:34 PM


Post Comment


Iteration Two Updates

Nov 30, 06 Code Update
Nov 21, 06 Code Update
Nov 20, 06 Code Update
Nov 15, 06 Code Update
Nov 14, 06 Code Update
Nov 10, 06 Code Update
Nov 9, 06 Code Update
Nov 6, 06 Code Update
Nov 5, 06 Code Update
Nov 2, 06 Code Update
Oct 31, 06 Code Update
Oct 30, 06 Code Update
Oct 27, 06 Code Update
Oct 25, 06 Code Update
Oct 23, 06 Code Update