Iteration 1 : The Code
The Code Viewer
My journey into Object Oriented Programming (OOP) and ColdFusion is a programmatic adventure. That means the fun is in the meat of it, not just the start and the end. Come along with me people. You can't just sit there and wait for iteration after iteration to be finished. You have to be in the trenches, learning with me. 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 1 : Code Updates
Download the updated code (ZIP file)
I have broken the design template out into an html page. I have a basic layout looking nice in FireFox and Internet Explorer. I have decided that I am going to keep it fairly simple as I don't want to concentrate on the design too much. Remember, this is about code, people.
I have also gotten a preliminary flat-file xml database up and running. The DatabaseService.cfc is fairly simple (relatively speaking). I have tried to abstract it out by initializing the component with a passed-in database schema. It can handle some sql data types that it automatically maps to the data types used in Java casting and QueryNew() method calls, but it doesn't really do any data validation. I am leaving that up to the data access objects (that I have not even begun to think about).
You can see a little sample of the way the database service component is instantiated with a database table schema in the test.cfm file.
It can add a single record at a time. It can only delete records by ID. It allows the passing in of a single ID or a comma delimited list of IDs. I figure this will be easy enough to manage since the data access objects will have access to things like ValueList() for deleting multiple records.
Some people have suggested using WDDX for the flat file storage. The one reason I didn't do that is to try to keep the XML files as small and tight as possible. Maybe I can do better than WDDX, maybe I cannot. Hopefully someone will point it out if I cannot. One of the things I do for optimization is to alias the table columns (ex. column 1 = "name", aliased to be "c1"). That way, the full column names are not repeated in each row. Maybe this is how WDDX does it, maybe not. You can see that in the xml data files.
Iteration One Updates
Oct 12, 06 Code Update
Oct 10, 06 Code Update
Oct 7, 06 Code Update
Oct 4, 06 Code Update
Oct 3, 06 Code Update
Oct 1, 06 Code Update
Sep 29, 06 Code Update
Sep 27, 06 Code Update
Sep 24, 06 Code Update



